mv: accept but ignore -v
function old new delta mv_longopts 36 46 +10 Signed-off-by: Simon B <sburnet@hotmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		| @@ -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! */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user