summaryrefslogtreecommitdiff
path: root/src/mkdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mkdir.c')
-rw-r--r--src/mkdir.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/mkdir.c b/src/mkdir.c
index c9d03eddd..3a92cfc4f 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)