- add central knob to turn off getopt_long everywhere. EXPERIMENTAL!

Adds "Enable getopt long" under "General options", default y.
  Send patches to fix getopt_ulflags and run_parts.c if you turn this off..
  See http://busybox.net/lists/busybox/2006-May/021828.html for a start to run-parts
This commit is contained in:
Bernhard Reutner-Fischer
2006-05-26 20:19:22 +00:00
parent d29337580e
commit 01d23ade57
18 changed files with 118 additions and 12 deletions

View File

@ -49,6 +49,13 @@ config CONFIG_FTPPUT
help
Store a remote file via FTP.
config CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
bool "Enable long options in ftpget/ftpput"
default n
depends on CONFIG_GETOPT_LONG && (CONFIG_FTPGET || CONFIG_FTPPUT)
help
Support long options for the ftpget/ftpput applet.
config CONFIG_HOSTNAME
bool "hostname"
default n
@ -411,6 +418,13 @@ config CONFIG_FEATURE_IPCALC_FANCY
help
Adds the options hostname, prefix and silent to the output of "ipcalc".
config CONFIG_FEATURE_IPCALC_LONG_OPTIONS
bool "Enable long options"
default n
depends on CONFIG_IPCALC && CONFIG_GETOPT_LONG
help
Support long options for the ipcalc applet.
config CONFIG_NAMEIF
bool "nameif"
default n

View File

@ -278,6 +278,7 @@ static int ftp_send(ftp_host_info_t *server, FILE *control_stream,
#define FTPGETPUT_OPT_PASSWORD 8
#define FTPGETPUT_OPT_PORT 16
#if ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS
static const struct option ftpgetput_long_options[] = {
{"continue", 1, NULL, 'c'},
{"verbose", 0, NULL, 'v'},
@ -286,6 +287,7 @@ static const struct option ftpgetput_long_options[] = {
{"port", 1, NULL, 'P'},
{0, 0, 0, 0}
};
#endif
int ftpgetput_main(int argc, char **argv)
{
@ -319,7 +321,9 @@ int ftpgetput_main(int argc, char **argv)
/*
* Decipher the command line
*/
#if ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS
bb_applet_long_options = ftpgetput_long_options;
#endif
opt = bb_getopt_ulflags(argc, argv, "cvu:p:P:", &server->user, &server->password, &port);
/* Process the non-option command line arguments */

View File

@ -82,6 +82,7 @@ int ipcalc_main(int argc, char **argv)
char *ipstr, *prefixstr;
#endif
#if ENABLE_FEATURE_IPCALC_LONG_OPTIONS
static const struct option long_options[] = {
{"netmask", no_argument, NULL, 'm'},
{"broadcast", no_argument, NULL, 'b'},
@ -95,6 +96,7 @@ int ipcalc_main(int argc, char **argv)
};
bb_applet_long_options = long_options;
#endif
mode = bb_getopt_ulflags(argc, argv,
#ifdef CONFIG_FEATURE_IPCALC_FANCY
"mbnphs"