diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-19 12:10:38 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-19 12:10:38 +0200 |
commit | f3b92d385695aecefd93d5f199be1f64270c2687 (patch) | |
tree | 5d6b2308ceafea6040bd78ea8401a91eb65d376b /util-linux | |
parent | e2e4cc249dc1bd4b280846f55a36208674eadd55 (diff) | |
download | busybox-f3b92d385695aecefd93d5f199be1f64270c2687.tar.gz |
getopt: FEATURE_GETOPT_LONG for -l; rename GETOPT_LONG to LONG_OPTS
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/Config.in | 9 | ||||
-rw-r--r-- | util-linux/getopt.c | 20 | ||||
-rw-r--r-- | util-linux/rtcwake.c | 2 | ||||
-rw-r--r-- | util-linux/script.c | 2 |
4 files changed, 20 insertions, 13 deletions
diff --git a/util-linux/Config.in b/util-linux/Config.in index 024550172..bfd51bc7b 100644 --- a/util-linux/Config.in +++ b/util-linux/Config.in @@ -250,6 +250,13 @@ config GETOPT written by others, this utility may be for you. Most people will wisely leave this disabled. +config FEATURE_GETOPT_LONG + bool "Support option -l" + default y if LONG_OPTS + help + Enable support for recognising long options using the -l option to + getopt. + config HEXDUMP bool "hexdump" default n @@ -286,7 +293,7 @@ config HWCLOCK config FEATURE_HWCLOCK_LONG_OPTIONS bool "Support long options (--hctosys,...)" default n - depends on HWCLOCK && GETOPT_LONG + depends on HWCLOCK && LONG_OPTS help By default, the hwclock utility only uses short options. If you are overly fond of its long options, such as --hctosys, --utc, etc) diff --git a/util-linux/getopt.c b/util-linux/getopt.c index fd6728731..adb96751f 100644 --- a/util-linux/getopt.c +++ b/util-linux/getopt.c @@ -38,7 +38,7 @@ mode */ enum { NON_OPT = 1, -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG /* LONG_OPT is the code that is returned when a long option is found. */ LONG_OPT = 2 #endif @@ -53,7 +53,7 @@ enum { OPT_s = 0x10, // -s OPT_T = 0x20, // -T OPT_u = 0x40, // -u -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG OPT_a = 0x80, // -a OPT_l = 0x100, // -l #endif @@ -141,7 +141,7 @@ static const char *normalize(const char *arg) * optstr must contain the short options, and longopts the long options. * Other settings are found in global variables. */ -#if !ENABLE_GETOPT_LONG +#if !ENABLE_FEATURE_GETOPT_LONG #define generate_output(argv,argc,optstr,longopts) \ generate_output(argv,argc,optstr) #endif @@ -149,7 +149,7 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru { int exit_code = 0; /* We assume everything will be OK */ int opt; -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG int longindex; #endif const char *charptr; @@ -168,7 +168,7 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru while (1) { opt = -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG alternative ? getopt_long_only(argc, argv, optstr, longopts, &longindex) : getopt_long(argc, argv, optstr, longopts, &longindex); @@ -180,7 +180,7 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru if (opt == '?' || opt == ':' ) exit_code = 1; else if (!quiet_output) { -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG if (opt == LONG_OPT) { printf(" --%s", longopts[longindex].name); if (longopts[longindex].has_arg) @@ -209,7 +209,7 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru return exit_code; } -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG /* * Register several long options. options is a string of long options, * separated by commas or whitespace. @@ -273,7 +273,7 @@ static void set_shell(const char *new_shell) * 4) Returned for -T */ -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG static const char getopt_longopts[] ALIGN1 = "options\0" Required_argument "o" "longoptions\0" Required_argument "l" @@ -295,7 +295,7 @@ int getopt_main(int argc, char **argv) unsigned opt; const char *compatible; char *s_arg; -#if ENABLE_GETOPT_LONG +#if ENABLE_FEATURE_GETOPT_LONG struct option *long_options = NULL; llist_t *l_arg = NULL; #endif @@ -321,7 +321,7 @@ int getopt_main(int argc, char **argv) return generate_output(argv+1, argc-1, s, long_options); } -#if !ENABLE_GETOPT_LONG +#if !ENABLE_FEATURE_GETOPT_LONG opt = getopt32(argv, "+o:n:qQs:Tu", &optstr, &name, &s_arg); #else applet_long_options = getopt_longopts; diff --git a/util-linux/rtcwake.c b/util-linux/rtcwake.c index 9a73ba29c..278acf347 100644 --- a/util-linux/rtcwake.c +++ b/util-linux/rtcwake.c @@ -114,7 +114,7 @@ int rtcwake_main(int argc UNUSED_PARAM, char **argv) int utc = -1; int fd; -#if ENABLE_GETOPT_LONG +#if ENABLE_LONG_OPTS static const char rtcwake_longopts[] ALIGN1 = "auto\0" No_argument "a" "local\0" No_argument "l" diff --git a/util-linux/script.c b/util-linux/script.c index 2e2be33e7..d9a62fbfe 100644 --- a/util-linux/script.c +++ b/util-linux/script.c @@ -36,7 +36,7 @@ int script_main(int argc UNUSED_PARAM, char **argv) OPT_t = (1 << 4), }; -#if ENABLE_GETOPT_LONG +#if ENABLE_LONG_OPTS static const char getopt_longopts[] ALIGN1 = "append\0" No_argument "a" "command\0" Required_argument "c" |