X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCwd.pm;h=df40649a427f9261f6dbfeafd9b0fc363aedd188;hb=054b02d6604bb3beeebed2d8a040d025b131c9a6;hp=72937e25d8df4a38491625189388628fc3926e54;hpb=bd3fa61ce4cf706aee95ff3241fb1c7b94ddf61a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/Cwd.pm b/lib/Cwd.pm index 72937e2..df40649 100644 --- a/lib/Cwd.pm +++ b/lib/Cwd.pm @@ -32,7 +32,7 @@ The getcwd() function re-implements the getcwd(3) (or getwd(3)) functions in Perl. The abs_path() function takes a single argument and returns the -absolute pathname for that argument. It uses the same algoritm as +absolute pathname for that argument. It uses the same algorithm as getcwd(). (actually getcwd() is abs_path(".")) The fastcwd() function looks the same as getcwd(), but runs faster. @@ -136,6 +136,7 @@ sub fastcwd { unshift(@path, $direntry); } $path = '/' . join('/', @path); + if ($^O eq 'apollo') { $path = "/".$path; } # At this point $path may be tainted (if tainting) and chdir would fail. # To be more useful we untaint it then check that we landed where we started. $path = $1 if $path =~ /^(.*)$/; # untaint @@ -208,6 +209,8 @@ sub abs_path my $start = @_ ? shift : '.'; my($dotdots, $cwd, @pst, @cst, $dir, @tst); + return cwd() if ( $^O =~ /cygwin/ ); + unless (@cst = stat( $start )) { carp "stat($start): $!";