aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2006-05-31 14:12:51 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2006-05-31 14:12:51 +0000
commitf9437aaf5b92766260988e508607e193b0cfa29d (patch)
tree45b520d6c2c950adc8c1d8812955ccc631765e87
parent8d3a6f7aaf04b09d185652f87cb924702e700c51 (diff)
downloadbusybox-f9437aaf5b92766260988e508607e193b0cfa29d.tar.gz
- make getopt_ulflags aware of CONFIG_GETOPT_LONG
-rw-r--r--libbb/getopt_ulflags.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/libbb/getopt_ulflags.c b/libbb/getopt_ulflags.c
index dc40095ee..d569d7079 100644
--- a/libbb/getopt_ulflags.c
+++ b/libbb/getopt_ulflags.c
@@ -298,13 +298,14 @@ typedef struct {
} t_complementally;
/* You can set bb_applet_long_options for parse called long options */
-
+#if ENABLE_GETOPT_LONG
static const struct option bb_default_long_options[] = {
/* { "help", 0, NULL, '?' }, */
{ 0, 0, 0, 0 }
};
const struct option *bb_applet_long_options = bb_default_long_options;
+#endif
unsigned long
bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
@@ -316,7 +317,9 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
const unsigned char *s;
t_complementally *on_off;
va_list p;
+#if ENABLE_GETOPT_LONG
const struct option *l_o;
+#endif
unsigned long trigger;
#ifdef CONFIG_PS
char **pargv = NULL;
@@ -355,6 +358,7 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
c++;
}
+#if ENABLE_GETOPT_LONG
for(l_o = bb_applet_long_options; l_o->name; l_o++) {
if(l_o->flag)
continue;
@@ -371,6 +375,7 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
c++;
}
}
+#endif /* ENABLE_GETOPT_LONG */
for (s = (const unsigned char *)bb_opt_complementally; s && *s; s++) {
t_complementally *pair;
unsigned long *pair_switch;
@@ -452,8 +457,12 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
}
}
#endif
+#if ENABLE_GETOPT_LONG
while ((c = getopt_long (argc, argv, applet_opts,
bb_applet_long_options, NULL)) >= 0) {
+#else
+ while ((c = getopt (argc, argv, applet_opts)) >= 0) {
+#endif /* ENABLE_GETOPT_LONG */
#ifdef CONFIG_PS
loop_arg_is_opt:
#endif