(std_longopts): Add an entry for "--a" in order to prevent getopt_long_only()

from considering -a as an abbreviation for --alternate.
(parse_args): Fix the parsing of -a=<file>.
This commit is contained in:
Nick Clifton 2005-01-20 15:35:57 +00:00
parent 9c18318347
commit fb7679136e
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2005-01-20 Nick Clifton <nickc@redhat.com>
* as.c (std_longopts): Add an entry for "--a" in order to prevent
getopt_long_only() from considering -a as an abbreviation for
--alternate.
(parse_args): Fix the parsing of -a=<file>.
2005-01-20 Alan Modra <amodra@bigpond.net.au>
PR gas/684

View File

@ -437,6 +437,11 @@ parse_args (int * pargc, char *** pargv)
the end of the preceeding line so that it is simpler to
selectively add and remove lines from this list. */
{"alternate", no_argument, NULL, OPTION_ALTERNATE}
/* The entry for "a" is here to prevent getopt_long_only() from
considering that -a is an abbreviation for --alternate. This is
necessary because -a=<FILE> is a valid switch but getopt would
normally reject it since --alternate does not take an argument. */
,{"a", optional_argument, NULL, 'a'}
,{"defsym", required_argument, NULL, OPTION_DEFSYM}
,{"dump-config", no_argument, NULL, OPTION_DUMPCONFIG}
,{"emulation", required_argument, NULL, OPTION_EMULATION}
@ -786,6 +791,9 @@ the GNU General Public License. This program has absolutely no warranty.\n"));
case 'a':
if (optarg)
{
if (optarg != old_argv[optind] && optarg[-1] == '=')
--optarg;
if (md_parse_option (optc, optarg) != 0)
break;