Add support for long options to cmp
In order to improve compatibility with GNU cmp add support for long
options to busybox cmp.
function old new delta
static.cmp_longopts - 36 +36
cmp_main 589 594 +5
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 41/0) Total: 41 bytes
Signed-off-by: Walter Lozano <walter.lozano@collabora.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/editors/cmp.c b/editors/cmp.c
index 6d2b0c6..b89e519 100644
--- a/editors/cmp.c
+++ b/editors/cmp.c
@@ -54,6 +54,7 @@
int retval = 0;
int max_count = -1;
+#if !ENABLE_LONG_OPTS
opt = getopt32(argv, "^"
OPT_STR
"\0" "-1"
@@ -62,6 +63,23 @@
":l--s:s--l",
&max_count
);
+#else
+ static const char cmp_longopts[] ALIGN1 =
+ "bytes\0" Required_argument "n"
+ "quiet\0" No_argument "s"
+ "silent\0" No_argument "s"
+ "verbose\0" No_argument "l"
+ ;
+ opt = getopt32long(argv, "^"
+ OPT_STR
+ "\0" "-1"
+ IF_DESKTOP(":?4")
+ IF_NOT_DESKTOP(":?2")
+ ":l--s:s--l",
+ cmp_longopts,
+ &max_count
+ );
+#endif
argv += optind;
filename1 = *argv;