fix !ENABLE_FEATURE_GETOPT_LONG build. Closes 3775
No binary (build failed)
—
(log yok)
| @@ -679,11 +679,10 @@ line in the midst of your #includes, if you need to parse long options: | |
| Then have long options defined: | |
| - | static const struct option <applet>_long_options[] = { |
| - | { "list", 0, NULL, 't' }, |
| - | { "extract", 0, NULL, 'x' }, |
| - | { NULL, 0, NULL, 0 } |
| - | }; |
| + | static const char <applet>_longopts[] ALIGN1 = |
| + | "list\0" No_argument "t" |
| + | "extract\0" No_argument "x" |
| + | ; |
| And a code block similar to the following near the top of your applet_main() | |
| routine: | |
| @@ -691,7 +690,7 @@ routine: | |
| char *str_b; | |
| opt_complementary = "cryptic_string"; | |
| - | applet_long_options = <applet>_long_options; /* if you have them */ |
| + | applet_long_options = <applet>_longopts; /* if you have them */ |
| opt = getopt32(argc, argv, "ab:c", &str_b); | |
| if (opt & 1) { | |
| handle_option_a(); | |
| @@ -7,7 +7,9 @@ | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| */ | |
| - | #include <getopt.h> |
| + | #if ENABLE_LONG_OPTS || ENABLE_FEATURE_GETOPT_LONG |
| + | # include <getopt.h> |
| + | #endif |
| #include "libbb.h" | |
| /* Documentation | |
| @@ -40,7 +40,6 @@ | |
| //usage: "\n -R Recurse" | |
| //usage: ) | |
| - | #include <getopt.h> |
| #include <selinux/context.h> | |
| #include "libbb.h" | |
| @@ -50,7 +50,6 @@ | |
| //usage: "\n -l RNG Levelrange" | |
| //usage: ) | |
| - | #include <getopt.h> |
| #include <selinux/context.h> | |
| #include <selinux/flask.h> | |
| @@ -25,7 +25,7 @@ | |
| * Added NLS support (partly written by Arkadiusz Mickiewicz | |
| * <[email protected]>) | |
| * Ported to Busybox - Alfred M. Szmidt <[email protected]> | |
| - | * Removed --version/-V and --help/-h in |
| + | * Removed --version/-V and --help/-h |
| * Removed parse_error(), using bb_error_msg() from Busybox instead | |
| * Replaced our_malloc with xmalloc and our_realloc with xrealloc | |
| * | |
| @@ -79,7 +79,9 @@ | |
| //usage: " esac\n" | |
| //usage: "done\n" | |
| - | #include <getopt.h> |
| + | #if ENABLE_FEATURE_GETOPT_LONG |
| + | # include <getopt.h> |
| + | #endif |
| #include "libbb.h" | |
| /* NON_OPT is the code that is returned when a non-option is found in '+' | |