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>
This commit is contained in:
parent
e2e4cc249d
commit
f3b92d3856
@ -114,7 +114,7 @@ config LOCALE_SUPPORT
|
||||
Enable this if your system has locale support and you would like
|
||||
busybox to support locale settings.
|
||||
|
||||
config GETOPT_LONG
|
||||
config LONG_OPTS
|
||||
bool "Support for --long-options"
|
||||
default y
|
||||
help
|
||||
|
@ -23,7 +23,7 @@ CONFIG_FEATURE_VERBOSE_USAGE=y
|
||||
CONFIG_FEATURE_COMPRESS_USAGE=y
|
||||
CONFIG_FEATURE_INSTALLER=y
|
||||
# CONFIG_LOCALE_SUPPORT is not set
|
||||
CONFIG_GETOPT_LONG=y
|
||||
CONFIG_LONG_OPTS=y
|
||||
CONFIG_FEATURE_DEVPTS=y
|
||||
# CONFIG_FEATURE_CLEAN_UP is not set
|
||||
CONFIG_FEATURE_PIDFILE=y
|
||||
|
@ -256,7 +256,7 @@ config FEATURE_TAR_GNU_EXTENSIONS
|
||||
config FEATURE_TAR_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on TAR && GETOPT_LONG
|
||||
depends on TAR && LONG_OPTS
|
||||
help
|
||||
Enable use of long options, increases size by about 400 Bytes
|
||||
|
||||
|
@ -273,7 +273,7 @@ int cpio_main(int argc UNUSED_PARAM, char **argv)
|
||||
IF_FEATURE_CPIO_O(const char *cpio_fmt = "";)
|
||||
unsigned opt;
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
applet_long_options =
|
||||
"extract\0" No_argument "i"
|
||||
"list\0" No_argument "t"
|
||||
|
@ -91,7 +91,7 @@ config SETCONSOLE
|
||||
config FEATURE_SETCONSOLE_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on SETCONSOLE && GETOPT_LONG
|
||||
depends on SETCONSOLE && LONG_OPTS
|
||||
help
|
||||
Support long options for the setconsole applet.
|
||||
|
||||
|
@ -204,7 +204,7 @@ config ENV
|
||||
config FEATURE_ENV_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on ENV && GETOPT_LONG
|
||||
depends on ENV && LONG_OPTS
|
||||
help
|
||||
Support long options for the env applet.
|
||||
|
||||
@ -217,7 +217,7 @@ config EXPAND
|
||||
config FEATURE_EXPAND_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on EXPAND && GETOPT_LONG
|
||||
depends on EXPAND && LONG_OPTS
|
||||
help
|
||||
Support long options for the expand applet.
|
||||
|
||||
@ -291,7 +291,7 @@ config INSTALL
|
||||
config FEATURE_INSTALL_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on INSTALL && GETOPT_LONG
|
||||
depends on INSTALL && LONG_OPTS
|
||||
help
|
||||
Support long options for the install applet.
|
||||
|
||||
@ -364,7 +364,7 @@ config FEATURE_LS_USERNAME
|
||||
config FEATURE_LS_COLOR
|
||||
bool "Allow use of color to identify file types"
|
||||
default y
|
||||
depends on LS && GETOPT_LONG
|
||||
depends on LS && LONG_OPTS
|
||||
help
|
||||
This enables the --color option to ls.
|
||||
|
||||
@ -394,7 +394,7 @@ config MKDIR
|
||||
config FEATURE_MKDIR_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on MKDIR && GETOPT_LONG
|
||||
depends on MKDIR && LONG_OPTS
|
||||
help
|
||||
Support long options for the mkdir applet.
|
||||
|
||||
@ -421,7 +421,7 @@ config MV
|
||||
config FEATURE_MV_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on MV && GETOPT_LONG
|
||||
depends on MV && LONG_OPTS
|
||||
help
|
||||
Support long options for the mv applet.
|
||||
|
||||
@ -498,7 +498,7 @@ config RMDIR
|
||||
config FEATURE_RMDIR_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on RMDIR && GETOPT_LONG
|
||||
depends on RMDIR && LONG_OPTS
|
||||
help
|
||||
Support long options for the rmdir applet, including
|
||||
--ignore-fail-on-non-empty for compatibility with GNU rmdir.
|
||||
@ -732,7 +732,7 @@ config UNEXPAND
|
||||
config FEATURE_UNEXPAND_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on UNEXPAND && GETOPT_LONG
|
||||
depends on UNEXPAND && LONG_OPTS
|
||||
help
|
||||
Support long options for the unexpand applet.
|
||||
|
||||
|
@ -832,7 +832,7 @@ format_address_std(off_t address, char c)
|
||||
printf(address_fmt, address);
|
||||
}
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
/* only used with --traditional */
|
||||
static void
|
||||
format_address_paren(off_t address, char c)
|
||||
@ -953,7 +953,7 @@ get_lcm(void)
|
||||
return l_c_m;
|
||||
}
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
/* If S is a valid traditional offset specification with an optional
|
||||
leading '+' return nonzero and set *OFFSET to the offset it denotes. */
|
||||
|
||||
@ -1199,9 +1199,9 @@ int od_main(int argc, char **argv)
|
||||
OPT_s = 1 << 15,
|
||||
OPT_S = 1 << 16,
|
||||
OPT_w = 1 << 17,
|
||||
OPT_traditional = (1 << 18) * ENABLE_GETOPT_LONG,
|
||||
OPT_traditional = (1 << 18) * ENABLE_LONG_OPTS,
|
||||
};
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char od_longopts[] ALIGN1 =
|
||||
"skip-bytes\0" Required_argument "j"
|
||||
"address-radix\0" Required_argument "A"
|
||||
@ -1235,7 +1235,7 @@ int od_main(int argc, char **argv)
|
||||
|
||||
/* Parse command line */
|
||||
opt_complementary = "w+:t::"; /* -w N, -t is a list */
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
applet_long_options = od_longopts;
|
||||
#endif
|
||||
opt = getopt32(argv, "A:N:abcdfhij:lot:vxsS:"
|
||||
@ -1306,7 +1306,7 @@ int od_main(int argc, char **argv)
|
||||
* FIXME: POSIX 1003.1-2001 with XSI requires support for the
|
||||
* traditional syntax even if --traditional is not given. */
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
if (opt & OPT_traditional) {
|
||||
off_t o1, o2;
|
||||
|
||||
|
@ -41,7 +41,7 @@ int touch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int touch_main(int argc UNUSED_PARAM, char **argv)
|
||||
{
|
||||
#if ENABLE_DESKTOP
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char longopts[] ALIGN1 =
|
||||
/* name, has_arg, val */
|
||||
"no-create\0" No_argument "c"
|
||||
@ -59,7 +59,7 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
|
||||
int opts;
|
||||
|
||||
#if ENABLE_DESKTOP
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
applet_long_options = longopts;
|
||||
#endif
|
||||
#endif
|
||||
|
@ -73,7 +73,7 @@ static const unsigned short utsname_offset[] = {
|
||||
int uname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int uname_main(int argc UNUSED_PARAM, char **argv)
|
||||
{
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char longopts[] ALIGN1 =
|
||||
/* name, has_arg, val */
|
||||
"all\0" No_argument "a"
|
||||
@ -97,7 +97,7 @@ int uname_main(int argc UNUSED_PARAM, char **argv)
|
||||
const unsigned short *delta;
|
||||
unsigned toprint;
|
||||
|
||||
IF_GETOPT_LONG(applet_long_options = longopts);
|
||||
IF_LONG_OPTS(applet_long_options = longopts);
|
||||
toprint = getopt32(argv, options);
|
||||
|
||||
if (argv[optind]) { /* coreutils-6.9 compat */
|
||||
|
@ -35,7 +35,7 @@ config RUN_PARTS
|
||||
config FEATURE_RUN_PARTS_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on RUN_PARTS && GETOPT_LONG
|
||||
depends on RUN_PARTS && LONG_OPTS
|
||||
help
|
||||
Support long options for the run-parts applet.
|
||||
|
||||
@ -69,7 +69,7 @@ config FEATURE_START_STOP_DAEMON_FANCY
|
||||
config FEATURE_START_STOP_DAEMON_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on START_STOP_DAEMON && GETOPT_LONG
|
||||
depends on START_STOP_DAEMON && LONG_OPTS
|
||||
help
|
||||
Support long options for the start-stop-daemon applet.
|
||||
|
||||
|
@ -835,7 +835,7 @@ int sanitize_env_if_suid(void) FAST_FUNC;
|
||||
|
||||
extern const char *const bb_argv_dash[]; /* "-", NULL */
|
||||
extern const char *opt_complementary;
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS || ENABLE_FEATURE_GETOPT_LONG
|
||||
#define No_argument "\0"
|
||||
#define Required_argument "\001"
|
||||
#define Optional_argument "\002"
|
||||
|
@ -610,13 +610,13 @@
|
||||
#define cryptpw_full_usage "\n\n" \
|
||||
"Crypt the PASSWORD using crypt(3)\n" \
|
||||
"\nOptions:" \
|
||||
IF_GETOPT_LONG( \
|
||||
IF_LONG_OPTS( \
|
||||
"\n -P,--password-fd=NUM Read password from fd NUM" \
|
||||
/* "\n -s,--stdin Use stdin; like -P0" */ \
|
||||
"\n -m,--method=TYPE Encryption method TYPE" \
|
||||
"\n -S,--salt=SALT" \
|
||||
) \
|
||||
IF_NOT_GETOPT_LONG( \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
"\n -P NUM Read password from fd NUM" \
|
||||
/* "\n -s Use stdin; like -P0" */ \
|
||||
"\n -m TYPE Encryption method TYPE" \
|
||||
@ -631,13 +631,13 @@
|
||||
#define mkpasswd_full_usage "\n\n" \
|
||||
"Crypt the PASSWORD using crypt(3)\n" \
|
||||
"\nOptions:" \
|
||||
IF_GETOPT_LONG( \
|
||||
IF_LONG_OPTS( \
|
||||
"\n -P,--password-fd=NUM Read password from fd NUM" \
|
||||
/* "\n -s,--stdin Use stdin; like -P0" */ \
|
||||
"\n -m,--method=TYPE Encryption method TYPE" \
|
||||
"\n -S,--salt=SALT" \
|
||||
) \
|
||||
IF_NOT_GETOPT_LONG( \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
"\n -P NUM Read password from fd NUM" \
|
||||
/* "\n -s Use stdin; like -P0" */ \
|
||||
"\n -m TYPE Encryption method TYPE" \
|
||||
@ -969,12 +969,12 @@
|
||||
#define dumpleases_full_usage "\n\n" \
|
||||
"Display DHCP leases granted by udhcpd\n" \
|
||||
"\nOptions:" \
|
||||
IF_GETOPT_LONG( \
|
||||
IF_LONG_OPTS( \
|
||||
"\n -f,--file=FILE Leases file to load" \
|
||||
"\n -r,--remaining Interpret lease times as time remaining" \
|
||||
"\n -a,--absolute Interpret lease times as expire time" \
|
||||
) \
|
||||
IF_NOT_GETOPT_LONG( \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
"\n -f FILE Leases file to load" \
|
||||
"\n -r Interpret lease times as time remaining" \
|
||||
"\n -a Interpret lease times as expire time" \
|
||||
@ -1396,7 +1396,7 @@
|
||||
"[OPTIONS]..."
|
||||
#define getopt_full_usage "\n\n" \
|
||||
"Parse command options\n" \
|
||||
IF_GETOPT_LONG( \
|
||||
IF_LONG_OPTS( \
|
||||
"\n -a,--alternative Allow long options starting with single -" \
|
||||
"\n -l,--longoptions=longopts Long options to be recognized" \
|
||||
"\n -n,--name=progname The name under which errors are reported" \
|
||||
@ -1407,7 +1407,7 @@
|
||||
"\n -T,--test Test for getopt(1) version" \
|
||||
"\n -u,--unquoted Don't quote the output" \
|
||||
) \
|
||||
IF_NOT_GETOPT_LONG( \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
"\n -a Allow long options starting with single -" \
|
||||
"\n -l longopts Long options to be recognized" \
|
||||
"\n -n progname The name under which errors are reported" \
|
||||
@ -3184,16 +3184,16 @@
|
||||
"\n -u Unlock (re-enable) account" \
|
||||
|
||||
#define chpasswd_trivial_usage \
|
||||
IF_GETOPT_LONG("[--md5|--encrypted]") IF_NOT_GETOPT_LONG("[-m|-e]")
|
||||
IF_LONG_OPTS("[--md5|--encrypted]") IF_NOT_LONG_OPTS("[-m|-e]")
|
||||
#define chpasswd_full_usage "\n\n" \
|
||||
"Read user:password information from stdin " \
|
||||
"and update /etc/passwd accordingly.\n" \
|
||||
"\nOptions:" \
|
||||
IF_GETOPT_LONG( \
|
||||
IF_LONG_OPTS( \
|
||||
"\n -e,--encrypted Supplied passwords are in encrypted form" \
|
||||
"\n -m,--md5 Use MD5 encryption instead of DES" \
|
||||
) \
|
||||
IF_NOT_GETOPT_LONG( \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
"\n -e Supplied passwords are in encrypted form" \
|
||||
"\n -m Use MD5 encryption instead of DES" \
|
||||
)
|
||||
@ -3632,7 +3632,7 @@
|
||||
"[-a | -l | -u] [-d DEV] [-m MODE] [-s SEC | -t TIME]"
|
||||
#define rtcwake_full_usage "\n\n" \
|
||||
"Enter a system sleep state until specified wakeup time\n" \
|
||||
IF_GETOPT_LONG( \
|
||||
IF_LONG_OPTS( \
|
||||
"\n -a,--auto Read clock mode from adjtime" \
|
||||
"\n -l,--local Clock is set to local time" \
|
||||
"\n -u,--utc Clock is set to UTC time" \
|
||||
@ -3641,7 +3641,7 @@
|
||||
"\n -s,--seconds=SEC Set the timeout in SEC seconds from now" \
|
||||
"\n -t,--time=TIME Set the timeout to TIME seconds from epoch" \
|
||||
) \
|
||||
IF_NOT_GETOPT_LONG( \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
"\n -a Read clock mode from adjtime" \
|
||||
"\n -l Clock is set to local time" \
|
||||
"\n -u Clock is set to UTC time" \
|
||||
@ -4640,7 +4640,7 @@ IF_FEATURE_TUNCTL_UG( \
|
||||
"[-Cfbnqtvo] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]\n" \
|
||||
" [-p pidfile] [-r IP] [-s script] [-O dhcp-option]..." IF_FEATURE_UDHCP_PORT(" [-P N]")
|
||||
#define udhcpc_full_usage "\n\n" \
|
||||
IF_GETOPT_LONG( \
|
||||
IF_LONG_OPTS( \
|
||||
" -V,--vendorclass=CLASSID Vendor class identifier" \
|
||||
"\n -i,--interface=INTERFACE Interface to use (default eth0)" \
|
||||
"\n -H,-h,--hostname=HOSTNAME Client hostname" \
|
||||
@ -4669,7 +4669,7 @@ IF_FEATURE_TUNCTL_UG( \
|
||||
"\n -a,--arping Use arping to validate offered address" \
|
||||
) \
|
||||
) \
|
||||
IF_NOT_GETOPT_LONG( \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
" -V CLASSID Vendor class identifier" \
|
||||
"\n -i INTERFACE Interface to use (default: eth0)" \
|
||||
"\n -H,-h HOSTNAME Client hostname" \
|
||||
|
@ -314,7 +314,7 @@ typedef struct {
|
||||
} t_complementary;
|
||||
|
||||
/* You can set applet_long_options for parse called long options */
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS || ENABLE_FEATURE_GETOPT_LONG
|
||||
static const struct option bb_null_long_options[1] = {
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
@ -335,7 +335,7 @@ getopt32(char **argv, const char *applet_opts, ...)
|
||||
const unsigned char *s;
|
||||
t_complementary *on_off;
|
||||
va_list p;
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS || ENABLE_FEATURE_GETOPT_LONG
|
||||
const struct option *l_o;
|
||||
struct option *long_options = (struct option *) &bb_null_long_options;
|
||||
#endif
|
||||
@ -384,7 +384,7 @@ getopt32(char **argv, const char *applet_opts, ...)
|
||||
c++;
|
||||
}
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS || ENABLE_FEATURE_GETOPT_LONG
|
||||
if (applet_long_options) {
|
||||
const char *optstr;
|
||||
unsigned i, count;
|
||||
@ -424,7 +424,7 @@ getopt32(char **argv, const char *applet_opts, ...)
|
||||
next_long: ;
|
||||
}
|
||||
}
|
||||
#endif /* ENABLE_GETOPT_LONG */
|
||||
#endif /* ENABLE_LONG_OPTS || ENABLE_FEATURE_GETOPT_LONG */
|
||||
for (s = (const unsigned char *)opt_complementary; s && *s; s++) {
|
||||
t_complementary *pair;
|
||||
unsigned *pair_switch;
|
||||
@ -543,7 +543,7 @@ getopt32(char **argv, const char *applet_opts, ...)
|
||||
* "fake" short options, like this one:
|
||||
* wget $'-\203' "Test: test" http://kernel.org/
|
||||
* (supposed to act as --header, but doesn't) */
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS || ENABLE_FEATURE_GETOPT_LONG
|
||||
while ((c = getopt_long(argc, argv, applet_opts,
|
||||
long_options, NULL)) != -1) {
|
||||
#else
|
||||
|
@ -100,7 +100,7 @@ config ADDGROUP
|
||||
config FEATURE_ADDGROUP_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on ADDGROUP && GETOPT_LONG
|
||||
depends on ADDGROUP && LONG_OPTS
|
||||
help
|
||||
Support long options for the addgroup applet.
|
||||
|
||||
@ -148,7 +148,7 @@ config ADDUSER
|
||||
config FEATURE_ADDUSER_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on ADDUSER && GETOPT_LONG
|
||||
depends on ADDUSER && LONG_OPTS
|
||||
help
|
||||
Support long options for the adduser applet.
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
*/
|
||||
#include "libbb.h"
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char chpasswd_longopts[] ALIGN1 =
|
||||
"encrypted\0" No_argument "e"
|
||||
"md5\0" No_argument "m"
|
||||
@ -29,7 +29,7 @@ int chpasswd_main(int argc UNUSED_PARAM, char **argv)
|
||||
bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
|
||||
|
||||
opt_complementary = "m--e:e--m";
|
||||
IF_GETOPT_LONG(applet_long_options = chpasswd_longopts;)
|
||||
IF_LONG_OPTS(applet_long_options = chpasswd_longopts;)
|
||||
opt = getopt32(argv, "em");
|
||||
|
||||
while ((name = xmalloc_fgetline(stdin)) != NULL) {
|
||||
|
@ -60,7 +60,7 @@ int cryptpw_main(int argc UNUSED_PARAM, char **argv)
|
||||
int len;
|
||||
int fd;
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char mkpasswd_longopts[] ALIGN1 =
|
||||
"stdin\0" No_argument "s"
|
||||
"password-fd\0" Required_argument "P"
|
||||
|
@ -132,7 +132,7 @@ config FTPPUT
|
||||
config FEATURE_FTPGETPUT_LONG_OPTIONS
|
||||
bool "Enable long options in ftpget/ftpput"
|
||||
default n
|
||||
depends on GETOPT_LONG && (FTPGET || FTPPUT)
|
||||
depends on LONG_OPTS && (FTPGET || FTPPUT)
|
||||
help
|
||||
Support long options for the ftpget/ftpput applet.
|
||||
|
||||
@ -578,7 +578,7 @@ config FEATURE_IPCALC_FANCY
|
||||
config FEATURE_IPCALC_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on IPCALC && GETOPT_LONG
|
||||
depends on IPCALC && LONG_OPTS
|
||||
help
|
||||
Support long options for the ipcalc applet.
|
||||
|
||||
@ -910,7 +910,7 @@ config FEATURE_WGET_AUTHENTICATION
|
||||
config FEATURE_WGET_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on WGET && GETOPT_LONG
|
||||
depends on WGET && LONG_OPTS
|
||||
help
|
||||
Support long options for the wget applet.
|
||||
|
||||
|
@ -457,7 +457,7 @@ int ifenslave_main(int argc UNUSED_PARAM, char **argv)
|
||||
OPT_d = (1 << 1),
|
||||
OPT_f = (1 << 2),
|
||||
};
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char ifenslave_longopts[] ALIGN1 =
|
||||
"change-active\0" No_argument "c"
|
||||
"detach\0" No_argument "d"
|
||||
|
@ -152,7 +152,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|
||||
struct dhcp_packet packet;
|
||||
fd_set rfds;
|
||||
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char udhcpc_longopts[] ALIGN1 =
|
||||
"clientid\0" Required_argument "c"
|
||||
"clientid-none\0" No_argument "C"
|
||||
@ -223,7 +223,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|
||||
":vv"
|
||||
#endif
|
||||
;
|
||||
IF_GETOPT_LONG(applet_long_options = udhcpc_longopts;)
|
||||
IF_LONG_OPTS(applet_long_options = udhcpc_longopts;)
|
||||
opt = getopt32(argv, "c:CV:H:h:F:i:np:qRr:s:T:t:SA:O:of"
|
||||
USE_FOR_MMU("b")
|
||||
IF_FEATURE_UDHCPC_ARPING("a")
|
||||
|
@ -33,7 +33,7 @@ int dumpleases_main(int argc UNUSED_PARAM, char **argv)
|
||||
OPT_r = 0x2, // -r
|
||||
OPT_f = 0x4, // -f
|
||||
};
|
||||
#if ENABLE_GETOPT_LONG
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char dumpleases_longopts[] ALIGN1 =
|
||||
"absolute\0" No_argument "a"
|
||||
"remaining\0" No_argument "r"
|
||||
|
@ -23,7 +23,7 @@ CONFIG_FEATURE_VERBOSE_USAGE=y
|
||||
CONFIG_FEATURE_COMPRESS_USAGE=y
|
||||
CONFIG_FEATURE_INSTALLER=y
|
||||
CONFIG_LOCALE_SUPPORT=y
|
||||
CONFIG_GETOPT_LONG=y
|
||||
CONFIG_LONG_OPTS=y
|
||||
CONFIG_FEATURE_DEVPTS=y
|
||||
# CONFIG_FEATURE_CLEAN_UP is not set
|
||||
CONFIG_FEATURE_PIDFILE=y
|
||||
@ -485,6 +485,7 @@ CONFIG_MKFS_MINIX=y
|
||||
CONFIG_FEATURE_MINIX2=y
|
||||
CONFIG_MKFS_VFAT=y
|
||||
CONFIG_GETOPT=y
|
||||
CONFIG_FEATURE_GETOPT_LONG=y
|
||||
CONFIG_HEXDUMP=y
|
||||
CONFIG_FEATURE_HEXDUMP_REVERSE=y
|
||||
CONFIG_HD=y
|
||||
|
@ -16,7 +16,7 @@ config CHCON
|
||||
config FEATURE_CHCON_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default y
|
||||
depends on CHCON && GETOPT_LONG
|
||||
depends on CHCON && LONG_OPTS
|
||||
help
|
||||
Support long options for the chcon applet.
|
||||
|
||||
@ -67,7 +67,7 @@ config RUNCON
|
||||
config FEATURE_RUNCON_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default y
|
||||
depends on RUNCON && GETOPT_LONG
|
||||
depends on RUNCON && LONG_OPTS
|
||||
help
|
||||
Support long options for the runcon applet.
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user