diff options
| author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2006-05-26 20:19:22 +0000 |
|---|---|---|
| committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2006-05-26 20:19:22 +0000 |
| commit | 01d23ade577b94a1ab1fde54f69a3ce5f7399f3c (patch) | |
| tree | 4071ca983cbd5a3912501bd1467dc063b3592aa9 /console-tools | |
| parent | d29337580e6ad49ca3353a22b9099e9e47a4bd17 (diff) | |
| download | busybox-w32-01d23ade577b94a1ab1fde54f69a3ce5f7399f3c.tar.gz busybox-w32-01d23ade577b94a1ab1fde54f69a3ce5f7399f3c.tar.bz2 busybox-w32-01d23ade577b94a1ab1fde54f69a3ce5f7399f3c.zip | |
- 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
Diffstat (limited to 'console-tools')
| -rw-r--r-- | console-tools/Config.in | 7 | ||||
| -rw-r--r-- | console-tools/setconsole.c | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/console-tools/Config.in b/console-tools/Config.in index 34e83e194..ec2273c35 100644 --- a/console-tools/Config.in +++ b/console-tools/Config.in | |||
| @@ -65,6 +65,13 @@ config CONFIG_SETCONSOLE | |||
| 65 | This program redirects the system console to another device, | 65 | This program redirects the system console to another device, |
| 66 | like the current tty while logged in via telnet. | 66 | like the current tty while logged in via telnet. |
| 67 | 67 | ||
| 68 | config CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS | ||
| 69 | bool "Enable long options" | ||
| 70 | default n | ||
| 71 | depends on CONFIG_SET_CONSOLE && CONFIG_GETOPT_LONG | ||
| 72 | help | ||
| 73 | Support long options for the setconsole applet. | ||
| 74 | |||
| 68 | config CONFIG_SETKEYCODES | 75 | config CONFIG_SETKEYCODES |
| 69 | bool "setkeycodes" | 76 | bool "setkeycodes" |
| 70 | default n | 77 | default n |
diff --git a/console-tools/setconsole.c b/console-tools/setconsole.c index bf06cc530..79a4313f0 100644 --- a/console-tools/setconsole.c +++ b/console-tools/setconsole.c | |||
| @@ -16,10 +16,12 @@ | |||
| 16 | 16 | ||
| 17 | #include "busybox.h" | 17 | #include "busybox.h" |
| 18 | 18 | ||
| 19 | #if ENABLE_FEATURE_SETCONSOLE_LONG_OPTIONS | ||
| 19 | static const struct option setconsole_long_options[] = { | 20 | static const struct option setconsole_long_options[] = { |
| 20 | { "reset", 0, NULL, 'r' }, | 21 | { "reset", 0, NULL, 'r' }, |
| 21 | { 0, 0, 0, 0 } | 22 | { 0, 0, 0, 0 } |
| 22 | }; | 23 | }; |
| 24 | #endif | ||
| 23 | 25 | ||
| 24 | #define OPT_SETCONS_RESET 1 | 26 | #define OPT_SETCONS_RESET 1 |
| 25 | 27 | ||
| @@ -28,7 +30,9 @@ int setconsole_main(int argc, char **argv) | |||
| 28 | unsigned long flags; | 30 | unsigned long flags; |
| 29 | const char *device = CURRENT_TTY; | 31 | const char *device = CURRENT_TTY; |
| 30 | 32 | ||
| 33 | #if ENABLE_FEATURE_SETCONSOLE_LONG_OPTIONS | ||
| 31 | bb_applet_long_options = setconsole_long_options; | 34 | bb_applet_long_options = setconsole_long_options; |
| 35 | #endif | ||
| 32 | flags = bb_getopt_ulflags(argc, argv, "r"); | 36 | flags = bb_getopt_ulflags(argc, argv, "r"); |
| 33 | 37 | ||
| 34 | if (argc - optind > 1) | 38 | if (argc - optind > 1) |
