From: Slaven Rezic Date: Mon, 14 Oct 2002 09:37:18 +0000 (+0200) Subject: Re: [perl #17892] Perl's mkdir() doesn't remove trailing slashes X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6143965086c75022cc1d4d1f3746302780985947;p=p5sagit%2Fp5-mst-13.2.git Re: [perl #17892] Perl's mkdir() doesn't remove trailing slashes Message-ID: <8765w5wjwx.fsf@vran.herceg.de> p4raw-id: //depot/perl@18036 --- diff --git a/pp_sys.c b/pp_sys.c index 0245a35..8e03168 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -3711,7 +3711,7 @@ PP(pp_mkdir) * -d, chdir(), chmod(), chown(), chroot(), fcntl()?, * (mkdir()), opendir(), rename(), rmdir(), stat(). --jhi */ if (len > 1 && tmps[len-1] == '/') { - while (tmps[len] == '/' && len > 1) + while (tmps[len-1] == '/' && len > 1) len--; tmps = savepvn(tmps, len); copy = TRUE; diff --git a/t/op/mkdir.t b/t/op/mkdir.t index 37da9c3..b9c4df7 100755 --- a/t/op/mkdir.t +++ b/t/op/mkdir.t @@ -1,6 +1,6 @@ #!./perl -print "1..9\n"; +print "1..13\n"; BEGIN { chdir 't' if -d 't'; @@ -23,3 +23,8 @@ print (rmdir('blurfl') ? "not ok 6\n" : "ok 6\n"); print ($! =~ /cannot find|such|exist|not found|not a directory/i ? "ok 7\n" : "# $!\nnot ok 7\n"); print (mkdir('blurfl') ? "ok 8\n" : "not ok 8\n"); print (rmdir('blurfl') ? "ok 9\n" : "not ok 9\n"); +# trailing slashes will be removed before the system call to mkdir +print (mkdir('blurfl///') ? "ok 10\n" : "not ok 10\n"); +print (-d 'blurfl' ? "ok 11\n" : "not ok 11\n"); +print (rmdir('blurfl///') ? "ok 12\n" : "not ok 12\n"); +print (!-d 'blurfl' ? "ok 13\n" : "not ok 13\n");