(main): Give the correct diagnostic when using the
authorJim Meyering <jim@meyering.net>
Mon, 12 Jun 2000 06:09:32 +0000 (06:09 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 12 Jun 2000 06:09:32 +0000 (06:09 +0000)
--target-dir=DIR option, but no arguments.
Patch from Michael Stone.  Reported by herbert@gondor.apana.org.au.

src/mv.c

index 796a9ebce36a2b42a109b67a8376717d3ddd6c1e..390393e4a19ceb1d4be10c28e99f68963e5cc6c9 100644 (file)
--- a/src/mv.c
+++ b/src/mv.c
@@ -472,6 +472,12 @@ main (int argc, char **argv)
 
   dest_is_dir = (n_files > 0 && isdir (target_directory));
 
+  if (n_files == 0 || (n_files == 1 && !target_directory_specified))
+    {
+      error (0, 0, "%s", _("missing file argument"));
+      usage (1);
+    }
+
   if (target_directory_specified)
     {
       if (!dest_is_dir)
@@ -480,29 +486,12 @@ main (int argc, char **argv)
                 target_directory);
          usage (1);
        }
-
-      if (n_files == 0)
-       {
-         error (0, 0, "%s", _("missing file argument"));
-         usage (1);
-       }
     }
-  else
+  else if (n_files > 2 && !dest_is_dir)
     {
-      if (n_files < 2)
-       {
-         error (0, 0, "%s", (n_files == 0
-                             ? _("missing file arguments")
-                             : _("missing file argument")));
-         usage (1);
-       }
-
-      if (n_files > 2 && !dest_is_dir)
-       {
-         error (0, 0,
-          _("when moving multiple files, last argument must be a directory"));
-         usage (1);
-       }
+      error (0, 0,
+           _("when moving multiple files, last argument must be a directory"));
+      usage (1);
     }
 
   if (backup_suffix_string)