diff options
Diffstat (limited to '')
-rw-r--r-- | jnlib/ChangeLog | 4 | ||||
-rw-r--r-- | jnlib/argparse.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/jnlib/ChangeLog b/jnlib/ChangeLog index 8b6404d8b..4a420744e 100644 --- a/jnlib/ChangeLog +++ b/jnlib/ChangeLog @@ -1,3 +1,7 @@ +2008-11-20 Werner Koch <[email protected]> + + * argparse.c (arg_parse): Fix last change. + 2008-11-11 Werner Koch <[email protected]> * argparse.h: Add a bunch of macros and constants. diff --git a/jnlib/argparse.c b/jnlib/argparse.c index e9905e385..22133f410 100644 --- a/jnlib/argparse.c +++ b/jnlib/argparse.c @@ -585,7 +585,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) s = *argv; arg->internal.last = s; - if (arg->internal.stopped && (arg->flags & ARGPARSE_FLAG_KEEP)) + if (arg->internal.stopped && (arg->flags & ARGPARSE_FLAG_ALL)) { arg->r_opt = ARGPARSE_IS_ARG; /* Not an option but an argument. */ arg->r_type = 2; @@ -603,7 +603,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) char *argpos; arg->internal.inarg = 0; - if (!s[2] && !(arg->flags & ARGPARSE_FLAG_MIXED)) + if (!s[2] && !(arg->flags & ARGPARSE_FLAG_NOSTOP)) { /* Stop option processing. */ arg->internal.stopped = 1; @@ -786,7 +786,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) argc--; argv++; idx++; } } - else if ( arg->flags & ARGPARSE_FLAG_ALL ) + else if ( arg->flags & ARGPARSE_FLAG_MIXED ) { arg->r_opt = ARGPARSE_IS_ARG; arg->r_type = 2; |