diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2003-10-06 17:23:06 +0400 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2003-10-06 17:23:06 +0400 |
commit | 9d1a33c6904846b0518d3b260900784aa3c5c754 (patch) | |
tree | e3129e67f53adeb991ce768352e238824607181e /libbb/getopt_ulflags.c | |
parent | add3eadc4691a1870980abb925a7424e13fde344 (diff) |
Vodz last_patch_105 without his xargs patch which doenst apply cleanly
Diffstat (limited to 'libbb/getopt_ulflags.c')
-rw-r--r-- | libbb/getopt_ulflags.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libbb/getopt_ulflags.c b/libbb/getopt_ulflags.c index 9bf8c0559..04d1e669f 100644 --- a/libbb/getopt_ulflags.c +++ b/libbb/getopt_ulflags.c @@ -90,7 +90,12 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...) va_start (p, applet_opts); - for (s = applet_opts; *s; s++) { + /* skip GNU extension */ + s = applet_opts; + if(*s == '+' || *s == '-') + s++; + + for (; *s; s++) { c++; while (s[1] == ':') { /* check GNU extension "o::" - optional arg */ @@ -99,7 +104,12 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...) } complementaly = xcalloc (c + 1, sizeof (t_complementaly)); c = 0; - for (s = applet_opts; *s; s++) { + /* skip GNU extension */ + s = applet_opts; + if(*s == '+' || *s == '-') + s++; + + for (; *s; s++) { complementaly->opt = *s; complementaly->switch_on |= (1 << c); c++; |