Quotes fixed, see also perl #36079
[p5sagit/p5-mst-13.2.git] / lib / Cwd.pm
index 002b7c1..d00c8fe 100644 (file)
@@ -170,7 +170,7 @@ use strict;
 use Exporter;
 use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
 
-$VERSION = '3.05';
+$VERSION = '3.08';
 
 @ISA = qw/ Exporter /;
 @EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
@@ -330,8 +330,9 @@ sub _backtick_pwd {
 unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) {
     # The pwd command is not available in some chroot(2)'ed environments
     my $sep = $Config::Config{path_sep} || ':';
-    if( $^O eq 'MacOS' || (defined $ENV{PATH} &&
-                          $^O ne 'MSWin32' &&  # no pwd on Windows
+    my $os = $^O;  # Protect $^O from tainting
+    if( $os eq 'MacOS' || (defined $ENV{PATH} &&
+                          $os ne 'MSWin32' &&  # no pwd on Windows
                           grep { -x "$_/pwd" } split($sep, $ENV{PATH})) )
     {
        *cwd = \&_backtick_pwd;
@@ -584,9 +585,7 @@ sub fast_abs_path {
            return fast_abs_path($link_target);
        }
        
-       my $tdir = $dir;
-       $tdir =~ s!\\!/!g if $^O eq 'MSWin32';
-       return $tdir eq File::Spec->rootdir
+       return $dir eq File::Spec->rootdir
          ? File::Spec->catpath($vol, $dir, $file)
          : fast_abs_path(File::Spec->catpath($vol, $dir, '')) . '/' . $file;
     }