diff options
-rw-r--r-- | pp_sys.c | 2 | ||||
-rwxr-xr-x | t/op/mkdir.t | 7 |
2 files changed, 7 insertions, 2 deletions
@@ -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 37da9c34b3..b9c4df785a 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"); |