mirror of https://github.com/mirror/busybox.git
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>1_21_stable
parent
3698ed1ca1
commit
f1f8fcaad5
|
@ -33,12 +33,13 @@ static const char mv_longopts[] ALIGN1 =
|
||||||
"interactive\0" No_argument "i"
|
"interactive\0" No_argument "i"
|
||||||
"force\0" No_argument "f"
|
"force\0" No_argument "f"
|
||||||
"no-clobber\0" No_argument "n"
|
"no-clobber\0" No_argument "n"
|
||||||
|
"verbose\0" No_argument "v"
|
||||||
;
|
;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define OPT_FILEUTILS_FORCE 1
|
#define OPT_FORCE (1 << 0)
|
||||||
#define OPT_FILEUTILS_INTERACTIVE 2
|
#define OPT_INTERACTIVE (1 << 1)
|
||||||
#define OPT_FILEUTILS_NOCLOBBER 4
|
#define OPT_NOCLOBBER (1 << 2)
|
||||||
|
|
||||||
int mv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
int mv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||||
int mv_main(int argc, char **argv)
|
int mv_main(int argc, char **argv)
|
||||||
|
@ -56,9 +57,11 @@ int mv_main(int argc, char **argv)
|
||||||
#endif
|
#endif
|
||||||
/* Need at least two arguments.
|
/* Need at least two arguments.
|
||||||
* If more than one of -f, -i, -n is specified , only the final one
|
* 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";
|
opt_complementary = "-2:f-in:i-fn:n-fi";
|
||||||
flags = getopt32(argv, "fin");
|
flags = getopt32(argv, "finv");
|
||||||
argc -= optind;
|
argc -= optind;
|
||||||
argv += optind;
|
argv += optind;
|
||||||
last = argv[argc - 1];
|
last = argv[argc - 1];
|
||||||
|
@ -84,11 +87,11 @@ int mv_main(int argc, char **argv)
|
||||||
|
|
||||||
DO_MOVE:
|
DO_MOVE:
|
||||||
if (dest_exists) {
|
if (dest_exists) {
|
||||||
if (flags & OPT_FILEUTILS_NOCLOBBER)
|
if (flags & OPT_NOCLOBBER)
|
||||||
goto RET_0;
|
goto RET_0;
|
||||||
if (!(flags & OPT_FILEUTILS_FORCE)
|
if (!(flags & OPT_FORCE)
|
||||||
&& ((access(dest, W_OK) < 0 && isatty(0))
|
&& ((access(dest, W_OK) < 0 && isatty(0))
|
||||||
|| (flags & OPT_FILEUTILS_INTERACTIVE))
|
|| (flags & OPT_INTERACTIVE))
|
||||||
) {
|
) {
|
||||||
if (fprintf(stderr, "mv: overwrite '%s'? ", dest) < 0) {
|
if (fprintf(stderr, "mv: overwrite '%s'? ", dest) < 0) {
|
||||||
goto RET_1; /* Ouch! fprintf failed! */
|
goto RET_1; /* Ouch! fprintf failed! */
|
||||||
|
|
Loading…
Reference in New Issue