projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
open: Remove call-in from fchdir.m4.
[gnulib.git]
/
lib
/
argp-parse.c
diff --git
a/lib/argp-parse.c
b/lib/argp-parse.c
index
47ae7ef
..
5cab8ce
100644
(file)
--- a/
lib/argp-parse.c
+++ b/
lib/argp-parse.c
@@
-1,5
+1,5
@@
/* Hierarchial argument parsing, layered over getopt
/* Hierarchial argument parsing, layered over getopt
- Copyright (C) 1995-2000, 2002
, 2003, 2004
Free Software Foundation, Inc.
+ Copyright (C) 1995-2000, 2002
-2004, 2009-2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
@@
-254,7
+254,7
@@
struct parser
struct group *groups;
/* The end of the GROUPS array. */
struct group *egroup;
struct group *groups;
/* The end of the GROUPS array. */
struct group *egroup;
- /* A
n
vector containing storage for the CHILD_INPUTS field in all groups. */
+ /* A vector containing storage for the CHILD_INPUTS field in all groups. */
void **child_inputs;
/* True if we think using getopt is still useful; if false, then
void **child_inputs;
/* True if we think using getopt is still useful; if false, then
@@
-339,7
+339,7
@@
convert_options (const struct argp *argp,
values (the sign of the lower bits is preserved
however)... */
cvt->long_end->val =
values (the sign of the lower bits is preserved
however)... */
cvt->long_end->val =
- ((opt->key
|
real->key) & USER_MASK)
+ ((opt->key
? opt->key :
real->key) & USER_MASK)
+ (((group - cvt->parser->groups) + 1) << USER_BITS);
/* Keep the LONG_OPTS list terminated. */
+ (((group - cvt->parser->groups) + 1) << USER_BITS);
/* Keep the LONG_OPTS list terminated. */