When getopt usage was added (plus long options) in the
patch shown below, top no longer returned EXIT_FAILURE
when the error message was generated by getopt itself.
This commit will restore the proper behavior no matter
who might issue a command line argument error message.
Thanks to Bastian Bittorf for discovering this buglet.
Reference(s):
https://gitlab.com/procps-ng/procps/-/issues/273
. sep, 2021 - getopt with long form args
commit
c91b371485b7ffaea3a7c669b080328d141dfb6b
Signed-off-by: Jim Warner <james.warner@comcast.net>
}
/* we'll only have a 'str' if called by error_exit() |
- not ever from the sig_endpgm() signal handler ... | */
+ and parse_args(), never from a signal handler ... | */
if (str) {
fputs(str, stderr);
exit(EXIT_FAILURE);
Width_mode = (int)tmp;
continue;
default:
- // we'll rely on getopt for any error message ...
- bye_bye(NULL);
+ /* we'll rely on getopt for any error message while
+ forcing an EXIT_FAILURE with an empty string ... */
+ bye_bye("");
} // end: switch (ch)
#ifndef GETOPTFIX_NO
if (cp) error_exit(fmtmk(N_fmt(UNKNOWN_opts_fmt), cp));