(main): When failing to create a directory, give only
authorJim Meyering <jim@meyering.net>
Sat, 18 Nov 2000 13:49:44 +0000 (13:49 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 18 Nov 2000 13:49:44 +0000 (13:49 +0000)
one diagnostic, not two.  Reported by Volker Borchert.

src/mkdir.c

index c597f35..c9d03ed 100644 (file)
@@ -169,11 +169,15 @@ main (int argc, char **argv)
          int t_errno;
          fail = make_dir (dir, dir, newmode, &dir_created);
          t_errno = errno;
-         /* If make_dir `succeeds' because the directory already exists,
-            then fail unless --parents (-p) was specified.  */
-         if (fail ||
-             (!create_parents && !dir_created && (t_errno = EEXIST)))
+         if (fail)
            {
+             /* make_dir already gave a diagnostic.  */
+           }
+         else if (!create_parents && !dir_created && (t_errno = EEXIST))
+           {
+             /* make_dir `succeeds' when DIR already exists.
+                In that case, mkdir must fail, unless --parents (-p)
+                was specified.  */
              error (0, t_errno, _("cannot create directory %s"),
                     quote (dir));
              fail = 1;