summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--docs/style-guide.txt11
-rw-r--r--libbb/getopt32.c4
-rw-r--r--selinux/chcon.c1
-rw-r--r--selinux/runcon.c1
-rw-r--r--util-linux/getopt.c6
5 files changed, 12 insertions, 11 deletions
diff --git a/docs/style-guide.txt b/docs/style-guide.txt
index fdf6cfe4d..10ed893dc 100644
--- a/docs/style-guide.txt
+++ b/docs/style-guide.txt
@@ -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();
diff --git a/libbb/getopt32.c b/libbb/getopt32.c
index 18f33c704..c7c4079c2 100644
--- a/libbb/getopt32.c
+++ b/libbb/getopt32.c
@@ -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
diff --git a/selinux/chcon.c b/selinux/chcon.c
index 8644502b5..88d0cfec6 100644
--- a/selinux/chcon.c
+++ b/selinux/chcon.c
@@ -40,7 +40,6 @@
//usage: "\n -R Recurse"
//usage: )
-#include <getopt.h>
#include <selinux/context.h>
#include "libbb.h"
diff --git a/selinux/runcon.c b/selinux/runcon.c
index f0b21269f..3183a2274 100644
--- a/selinux/runcon.c
+++ b/selinux/runcon.c
@@ -50,7 +50,6 @@
//usage: "\n -l RNG Levelrange"
//usage: )
-#include <getopt.h>
#include <selinux/context.h>
#include <selinux/flask.h>
diff --git a/util-linux/getopt.c b/util-linux/getopt.c
index 10e1dc49b..85ff76189 100644
--- a/util-linux/getopt.c
+++ b/util-linux/getopt.c
@@ -25,7 +25,7 @@
* Added NLS support (partly written by Arkadiusz Mickiewicz
* <misiek@misiek.eu.org>)
* Ported to Busybox - Alfred M. Szmidt <ams@trillian.itslinux.org>
- * 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 '+'