getopt_ulflags: formatting fixes
This commit is contained in:
@@ -74,6 +74,7 @@ const struct option *bb_applet_long_options
|
|||||||
(see getopt(3))
|
(see getopt(3))
|
||||||
|
|
||||||
static const struct option applet_long_options[] = {
|
static const struct option applet_long_options[] = {
|
||||||
|
//name,has_arg,flag,val
|
||||||
{ "verbose", 0, 0, 'v' },
|
{ "verbose", 0, 0, 'v' },
|
||||||
{ 0, 0, 0, 0 }
|
{ 0, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
@@ -207,6 +208,9 @@ Special characters:
|
|||||||
if (flags & BB_GETOPT_ERROR)
|
if (flags & BB_GETOPT_ERROR)
|
||||||
bb_show_usage();
|
bb_show_usage();
|
||||||
|
|
||||||
|
"x--x" Variation of the above, it means that -x option should occur
|
||||||
|
at most once.
|
||||||
|
|
||||||
"?" A "?" as the first char in a bb_opt_complementally group means:
|
"?" A "?" as the first char in a bb_opt_complementally group means:
|
||||||
if BB_GETOPT_ERROR is detected, don't return, call bb_show_usage
|
if BB_GETOPT_ERROR is detected, don't return, call bb_show_usage
|
||||||
and exit instead. Next char after '?' can't be a digit.
|
and exit instead. Next char after '?' can't be a digit.
|
||||||
@@ -255,7 +259,7 @@ Special characters:
|
|||||||
$ id; id -u; id -g; id -ru; id -nu; id -rg; id -ng; id -rnu; id -rng
|
$ id; id -u; id -g; id -ru; id -nu; id -rg; id -ng; id -rnu; id -rng
|
||||||
|
|
||||||
"X" A bb_opt_complementally group with just a single letter means
|
"X" A bb_opt_complementally group with just a single letter means
|
||||||
that this this option is required. If more than one such group exists,
|
that this option is required. If more than one such group exists,
|
||||||
at least one option is required to occur (not all of them).
|
at least one option is required to occur (not all of them).
|
||||||
For example from "start-stop-daemon" applet:
|
For example from "start-stop-daemon" applet:
|
||||||
|
|
||||||
@@ -263,9 +267,6 @@ Special characters:
|
|||||||
bb_opt_complementally = "K:S:?K--S:S--K";
|
bb_opt_complementally = "K:S:?K--S:S--K";
|
||||||
flags = bb_getopt_ulflags(argc, argv, "KS...);
|
flags = bb_getopt_ulflags(argc, argv, "KS...);
|
||||||
|
|
||||||
|
|
||||||
"x--x" give error if double or more used -x option
|
|
||||||
|
|
||||||
Don't forget to use ':'. For example "?322-22-23X-x-a" is interpreted as
|
Don't forget to use ':'. For example "?322-22-23X-x-a" is interpreted as
|
||||||
"?3:22:-2:2-2:2-3Xa:2--x": max 3 args; count uses of '-2'; min 2 args;
|
"?3:22:-2:2-2:2-3Xa:2--x": max 3 args; count uses of '-2'; min 2 args;
|
||||||
if there is a '-2' option then unset '-3', '-X' and '-a'; if there is
|
if there is a '-2' option then unset '-3', '-X' and '-a'; if there is
|
||||||
@@ -439,8 +440,8 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
|
|||||||
}
|
}
|
||||||
va_end (p);
|
va_end (p);
|
||||||
|
|
||||||
#if defined(CONFIG_AR) || defined(CONFIG_TAR)
|
#if ENABLE_AR || ENABLE_TAR
|
||||||
if((spec_flgs & FIRST_ARGV_IS_OPT)) {
|
if (spec_flgs & FIRST_ARGV_IS_OPT) {
|
||||||
if (argv[1] && argv[1][0] != '-' && argv[1][0] != '\0') {
|
if (argv[1] && argv[1][0] != '-' && argv[1][0] != '\0') {
|
||||||
argv[1] = xasprintf("-%s", argv[1]);
|
argv[1] = xasprintf("-%s", argv[1]);
|
||||||
if (ENABLE_FEATURE_CLEAN_UP)
|
if (ENABLE_FEATURE_CLEAN_UP)
|
||||||
@@ -454,7 +455,7 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
|
|||||||
#else
|
#else
|
||||||
while ((c = getopt(argc, argv, applet_opts)) >= 0) {
|
while ((c = getopt(argc, argv, applet_opts)) >= 0) {
|
||||||
#endif /* ENABLE_GETOPT_LONG */
|
#endif /* ENABLE_GETOPT_LONG */
|
||||||
#ifdef CONFIG_PS
|
#if ENABLE_PS
|
||||||
loop_arg_is_opt:
|
loop_arg_is_opt:
|
||||||
#endif
|
#endif
|
||||||
for (on_off = complementally; on_off->opt != c; on_off++) {
|
for (on_off = complementally; on_off->opt != c; on_off++) {
|
||||||
@@ -478,14 +479,14 @@ loop_arg_is_opt:
|
|||||||
} else if (on_off->optarg) {
|
} else if (on_off->optarg) {
|
||||||
*(char **)(on_off->optarg) = optarg;
|
*(char **)(on_off->optarg) = optarg;
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_PS
|
#if ENABLE_PS
|
||||||
if (pargv != NULL)
|
if (pargv != NULL)
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PS
|
#if ENABLE_PS
|
||||||
if((spec_flgs & ALL_ARGV_IS_OPTS)) {
|
if (spec_flgs & ALL_ARGV_IS_OPTS) {
|
||||||
/* process argv is option, for example "ps" applet */
|
/* process argv is option, for example "ps" applet */
|
||||||
if (pargv == NULL)
|
if (pargv == NULL)
|
||||||
pargv = argv + optind;
|
pargv = argv + optind;
|
||||||
@@ -501,9 +502,8 @@ loop_arg_is_opt:
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(CONFIG_AR) || defined(CONFIG_TAR)) && \
|
#if (ENABLE_AR || ENABLE_TAR) && ENABLE_FEATURE_CLEAN_UP
|
||||||
defined(CONFIG_FEATURE_CLEAN_UP)
|
if (spec_flgs & FREE_FIRST_ARGV_IS_OPT)
|
||||||
if((spec_flgs & FREE_FIRST_ARGV_IS_OPT))
|
|
||||||
free(argv[1]);
|
free(argv[1]);
|
||||||
#endif
|
#endif
|
||||||
/* check depending requires for given options */
|
/* check depending requires for given options */
|
||||||
|
Reference in New Issue
Block a user