/* Hierarchial argument parsing, layered over getopt
- Copyright (C) 1995-2000, 2002-2004, 2009-2010 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>.
struct group *groups;
/* The end of the GROUPS array. */
struct group *egroup;
- /* An 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
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. */