Changeset 25674
- Timestamp:
- 12/02/08 14:01:59 (5 weeks ago)
- Location:
- lang/perl/Path-Class-URI/trunk/lib/Path/Class
- Files:
-
- 2 modified
-
URI.pm (modified) (1 diff)
-
Unicode.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Path-Class-URI/trunk/lib/Path/Class/URI.pm
r25665 r25674 23 23 sub Path::Class::Entity::uri { 24 24 my $self = shift; 25 my $path = $self->stringify; 26 if ($^O eq "MSWin32") { 27 # can't use backslash as separator 28 $path =~ tr!\\!/!; 29 # make "file:///x:/foo/bar/" if path is absolute 30 $path = "/$path" if $self->is_absolute && $path !~ /^\//; 31 } 25 32 if ($self->is_absolute) { 26 return URI->new("file:// " . $self->as_foreign('Unix'));33 return URI->new("file://$path"); 27 34 } else { 28 return URI->new("file: " . $self->as_foreign('Unix'));35 return URI->new("file:$path"); 29 36 } 30 37 } -
lang/perl/Path-Class-URI/trunk/lib/Path/Class/Unicode.pm
r25665 r25674 23 23 sub ufile_from_uri { 24 24 my $uri = shift; 25 $uri = URI->new($uri) unless blessed $uri; 26 ufile(Encode::decode_utf8($uri->file('unix'))); 25 if ($^O eq "MSWin32") { 26 $uri =~ s!^file:///!file://!g; # remove leading slash for absolute 27 $uri = URI->new($uri) unless blessed $uri; 28 ufile(Encode::decode_utf8($uri->file('win32'))); 29 } else { 30 $uri = URI->new($uri) unless blessed $uri; 31 ufile(Encode::decode_utf8($uri->file('unix'))); 32 } 27 33 } 28 34 29 35 sub udir_from_uri { 30 36 my $uri = shift; 31 $uri = URI->new($uri) unless blessed $uri; 32 udir(Encode::decode_utf8($uri->file('unix'))); 37 if ($^O eq "MSWin32") { 38 $uri =~ s!^file:///!file://!g; # remove leading slash for absolute 39 $uri = URI->new($uri) unless blessed $uri; 40 udir(Encode::decode_utf8($uri->file('win32'))); 41 } else { 42 $uri = URI->new($uri) unless blessed $uri; 43 udir(Encode::decode_utf8($uri->file('unix'))); 44 } 33 45 } 34 46 … … 40 52 sub uri { 41 53 my $self = shift; 42 my $path = Encode::encode_utf8($self->{path}->as_foreign('Unix')->stringify); 54 my $path = Encode::encode_utf8($self->{path}->stringify); 55 if ($^O eq "MSWin32") { 56 $path =~ tr!\\!/!; # can't use backslash as separator 57 $path = "/$path" if $self->is_absolute; # make "file:///x:/foo/bar/" 58 } 43 59 if ($self->is_absolute) { 44 60 return URI->new("file://$path");
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)