getopt: refactor long-option handling
commitdfbea09f96ce9e7a56f88c47d1593f07dc55c53c
authorZack Weinberg <zackw@panix.com>
Sat, 1 Apr 2017 20:19:50 +0000 (1 16:19 -0400)
committerZack Weinberg <zackw@panix.com>
Fri, 7 Apr 2017 11:51:28 +0000 (7 07:51 -0400)
treebbe379b210cf4bdcaceaf77ba80e046635ed81a3
parentc1af8775f2de694bd567813af51164e2d978a78d
getopt: refactor long-option handling

There were two copies of the bulk of the code to handle long options.
Now there is only one.  (Yes, this is in aid of merging from gnulib.)

The change to bug-getopt4.c clarifies the error messages when the test
fails.

* posix/getopt.c (process_long_option): New function split out
from _getopt_internal_r.
(_getopt_internal_r): Replace both copies of the long-option
processing code with calls to process_long_option.
* posix/bug-getopt4.c (one_test): Print argv[0] in error messages.
(do_test): Differentiate argv[0] in the two subtests.
ChangeLog
posix/bug-getopt4.c
posix/getopt.c