diff options
Diffstat (limited to 'coreutils/mv.c')
-rw-r--r-- | coreutils/mv.c | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/coreutils/mv.c b/coreutils/mv.c index 147dd3bb2..7f6e9fef5 100644 --- a/coreutils/mv.c +++ b/coreutils/mv.c | |||
@@ -16,11 +16,6 @@ | |||
16 | //config: default y | 16 | //config: default y |
17 | //config: help | 17 | //config: help |
18 | //config: mv is used to move or rename files or directories. | 18 | //config: mv is used to move or rename files or directories. |
19 | //config: | ||
20 | //config:config FEATURE_MV_LONG_OPTIONS | ||
21 | //config: bool "Enable long options" | ||
22 | //config: default y | ||
23 | //config: depends on MV && LONG_OPTS | ||
24 | 19 | ||
25 | //applet:IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP)) | 20 | //applet:IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP)) |
26 | 21 | ||
@@ -41,23 +36,6 @@ | |||
41 | #include "libbb.h" | 36 | #include "libbb.h" |
42 | #include "libcoreutils/coreutils.h" | 37 | #include "libcoreutils/coreutils.h" |
43 | 38 | ||
44 | #if ENABLE_FEATURE_MV_LONG_OPTIONS | ||
45 | static const char mv_longopts[] ALIGN1 = | ||
46 | "interactive\0" No_argument "i" | ||
47 | "force\0" No_argument "f" | ||
48 | "no-clobber\0" No_argument "n" | ||
49 | IF_FEATURE_VERBOSE( | ||
50 | "verbose\0" No_argument "v" | ||
51 | ) | ||
52 | ; | ||
53 | #endif | ||
54 | |||
55 | #define OPT_FORCE (1 << 0) | ||
56 | #define OPT_INTERACTIVE (1 << 1) | ||
57 | #define OPT_NOCLOBBER (1 << 2) | ||
58 | #define OPT_VERBOSE ((1 << 3) * ENABLE_FEATURE_VERBOSE) | ||
59 | |||
60 | |||
61 | int mv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 39 | int mv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
62 | int mv_main(int argc, char **argv) | 40 | int mv_main(int argc, char **argv) |
63 | { | 41 | { |
@@ -69,15 +47,23 @@ int mv_main(int argc, char **argv) | |||
69 | int status = 0; | 47 | int status = 0; |
70 | int copy_flag = 0; | 48 | int copy_flag = 0; |
71 | 49 | ||
72 | #if ENABLE_FEATURE_MV_LONG_OPTIONS | 50 | #define OPT_FORCE (1 << 0) |
73 | applet_long_options = mv_longopts; | 51 | #define OPT_INTERACTIVE (1 << 1) |
74 | #endif | 52 | #define OPT_NOCLOBBER (1 << 2) |
53 | #define OPT_VERBOSE ((1 << 3) * ENABLE_FEATURE_VERBOSE) | ||
75 | /* Need at least two arguments. | 54 | /* Need at least two arguments. |
76 | * If more than one of -f, -i, -n is specified , only the final one | 55 | * If more than one of -f, -i, -n is specified , only the final one |
77 | * takes effect (it unsets previous options). | 56 | * takes effect (it unsets previous options). |
78 | */ | 57 | */ |
79 | opt_complementary = "-2:f-in:i-fn:n-fi"; | 58 | opt_complementary = "-2:f-in:i-fn:n-fi"; |
80 | flags = getopt32(argv, "finv"); | 59 | flags = getopt32long(argv, "finv", |
60 | "interactive\0" No_argument "i" | ||
61 | "force\0" No_argument "f" | ||
62 | "no-clobber\0" No_argument "n" | ||
63 | IF_FEATURE_VERBOSE( | ||
64 | "verbose\0" No_argument "v" | ||
65 | ) | ||
66 | ); | ||
81 | argc -= optind; | 67 | argc -= optind; |
82 | argv += optind; | 68 | argv += optind; |
83 | last = argv[argc - 1]; | 69 | last = argv[argc - 1]; |