X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fpwd.pl;h=6b429eb5a6849d4c2975bd425fe5069e8c2323f1;hb=cd4eab350f31b452f88e849e0c9d1309692f544f;hp=0cc3d4e96eb35b5d9d727a726bd4631bf7baf99b;hpb=a0d0e21ea6ea90a22318550944fe6cb09ae10cda;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/pwd.pl b/lib/pwd.pl index 0cc3d4e..6b429eb 100644 --- a/lib/pwd.pl +++ b/lib/pwd.pl @@ -1,5 +1,14 @@ ;# pwd.pl - keeps track of current working directory in PWD environment var ;# +# +# This library is no longer being maintained, and is included for backward +# compatibility with Perl 4 programs which may require it. +# +# In particular, this should not be used as an example of modern Perl +# programming techniques. +# +# Suggested alternative: Cwd +# ;# $RCSfile: pwd.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:24:11 $ ;# ;# $Log: pwd.pl,v $ @@ -16,7 +25,7 @@ sub main'initpwd { if ($ENV{'PWD'}) { local($dd,$di) = stat('.'); local($pd,$pi) = stat($ENV{'PWD'}); - if ($di != $pi || $dd != $pd) { + if (!defined $dd or !defined $pd or $di != $pi or $dd != $pd) { chop($ENV{'PWD'} = `pwd`); } } @@ -26,7 +35,7 @@ sub main'initpwd { if ($ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|) { local($pd,$pi) = stat($2); local($dd,$di) = stat($1); - if ($di == $pi && $dd == $pd) { + if (defined $pd and defined $dd and $di == $pi and $dd == $pd) { $ENV{'PWD'}="$2$3"; } } @@ -34,6 +43,7 @@ sub main'initpwd { sub main'chdir { local($newdir) = shift; + $newdir =~ s|/{2,}|/|g; if (chdir $newdir) { if ($newdir =~ m#^/#) { $ENV{'PWD'} = $newdir;