summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/mv.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/coreutils/mv.c b/coreutils/mv.c
index 87f4cd5..f127dfa 100644
--- a/coreutils/mv.c
+++ b/coreutils/mv.c
@@ -33,12 +33,13 @@ static const char mv_longopts[] ALIGN1 =
"interactive\0" No_argument "i"
"force\0" No_argument "f"
"no-clobber\0" No_argument "n"
+ "verbose\0" No_argument "v"
;
#endif
-#define OPT_FILEUTILS_FORCE 1
-#define OPT_FILEUTILS_INTERACTIVE 2
-#define OPT_FILEUTILS_NOCLOBBER 4
+#define OPT_FORCE (1 << 0)
+#define OPT_INTERACTIVE (1 << 1)
+#define OPT_NOCLOBBER (1 << 2)
int mv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int mv_main(int argc, char **argv)
@@ -56,9 +57,11 @@ int mv_main(int argc, char **argv)
#endif
/* Need at least two arguments.
* If more than one of -f, -i, -n is specified , only the final one
- * takes effect (it unsets previous options). */
+ * takes effect (it unsets previous options).
+ * -v is accepted but ignored.
+ */
opt_complementary = "-2:f-in:i-fn:n-fi";
- flags = getopt32(argv, "fin");
+ flags = getopt32(argv, "finv");
argc -= optind;
argv += optind;
last = argv[argc - 1];
@@ -84,11 +87,11 @@ int mv_main(int argc, char **argv)
DO_MOVE:
if (dest_exists) {
- if (flags & OPT_FILEUTILS_NOCLOBBER)
+ if (flags & OPT_NOCLOBBER)
goto RET_0;
- if (!(flags & OPT_FILEUTILS_FORCE)
+ if (!(flags & OPT_FORCE)
&& ((access(dest, W_OK) < 0 && isatty(0))
- || (flags & OPT_FILEUTILS_INTERACTIVE))
+ || (flags & OPT_INTERACTIVE))
) {
if (fprintf(stderr, "mv: overwrite '%s'? ", dest) < 0) {
goto RET_1; /* Ouch! fprintf failed! */