From 86513ecc5ea94b4e90ca4659722712044d074aa8 Mon Sep 17 00:00:00 2001 From: vodz Date: Thu, 2 Feb 2006 14:48:54 +0000 Subject: destroy bug 679, use getopt_ulflags with new feature: usage option. Removed two strdup git-svn-id: svn://busybox.net/trunk/busybox@13797 69ca8d6d-28ef-0310-b511-8ec308f3f277 --- libbb/getopt_ulflags.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libbb') diff --git a/libbb/getopt_ulflags.c b/libbb/getopt_ulflags.c index f18ee2d2d..3e77bbfea 100644 --- a/libbb/getopt_ulflags.c +++ b/libbb/getopt_ulflags.c @@ -182,6 +182,10 @@ Special characters: "-N" A dash as the first char in a bb_opt_complementally group with number 0-9 as one char is means check minimal arguments required. + "V-" A option with dash before colon or end line indicate: call + bb_show_usage if this option give, for example verbose + usage option. + "--" A double dash between two options, or between an option and a group of options, means that they are mutually exclusive. Unlike the "-" case above, an error will be forced if the options @@ -387,6 +391,12 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...) requires |= on_off->switch_on; continue; } + if(c == '-' && (s[2] == ':' || s[2] == '\0')) { + flags |= on_off->switch_on; + on_off->incongruously |= on_off->switch_on; + s++; + continue; + } if(c == *s) { on_off->counter = va_arg (p, int *); s++; -- cgit v1.2.3-55-g6feb