From: Jim Meyering Date: Sat, 2 Dec 2000 13:20:37 +0000 (+0000) Subject: (main): Remove any trailing slash unconditionally. X-Git-Tag: TEXTUTILS-2_0_9~45 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cc27b86c6046e0144b7a8491e51ca63463ac4633;p=thirdparty%2Fcoreutils.git (main): Remove any trailing slash unconditionally. Reported by Volker Borchert. --- diff --git a/src/mkdir.c b/src/mkdir.c index c9d03eddd4..3a92cfc4f2 100644 --- a/src/mkdir.c +++ b/src/mkdir.c @@ -143,23 +143,19 @@ main (int argc, char **argv) for (; optind < argc; ++optind) { int fail = 0; + + /* Remove any trailing slashes. Not removing them would lead to calling + `mkdir ("dir/", mode)' for e.g., the commands `mkdir dir/' and + `mkdir -p dir/', and such a call fails on NetBSD systems when `dir' + doesn't already exist. */ + strip_trailing_slashes (argv[optind]); + if (create_parents) { char *parents = dir_name (argv[optind]); fail = make_path (parents, parent_mode, parent_mode, -1, -1, 1, verbose_fmt_string); free (parents); - - /* If we're creating parent directories, then it's ok to remove - trailing slashes. In fact, *not* removing them would lead - to calling `mkdir ("dir/", mode)' for the command `mkdir -p dir/', - and such a call fails on NetBSD systems if `dir' doesn't already - exist. */ - /* An alternate approach would be to change make_path to interpret - an argument with a trailing slash as if it also had a trailing - `.'. In fact, that would be more consistent with POSIX, so - FIXME: some day. */ - strip_trailing_slashes (argv[optind]); } if (fail == 0)