From: Guy Harris Date: Sat, 15 Sep 2018 01:05:55 +0000 (-0700) Subject: Revert "Clean up the code a bit." X-Git-Tag: tcpdump-4.99-bp~1012 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/ec11595998eb44b6ad129d0a4b4ac4c301770e64 Revert "Clean up the code a bit." This reverts commit a5eca2cbbfa991c0ae26d0b039bf303fa92734ac. MSVC doesn't complain about it, so leave it alone. --- diff --git a/missing/getopt_long.c b/missing/getopt_long.c index 37062404..80857369 100644 --- a/missing/getopt_long.c +++ b/missing/getopt_long.c @@ -495,32 +495,16 @@ start: } } - optchar = (int)*place++; - /* - * If the user specified "-" and '-' isn't listed in - * options, return -1 (non-option) as per POSIX. - */ - if (optchar == (int)'-' && *place == '\0') - return (-1); - if (optchar == (int)':') { - if (!*place) - ++optind; -#ifdef GNU_COMPATIBLE - if (PRINT_ERROR) - warnx(posixly_correct ? illoptchar : gnuoptchar, - optchar); -#else - if (PRINT_ERROR) - warnx(illoptchar, optchar); -#endif - optopt = optchar; - return (BADCH); - } - oli = strchr(options, optchar); - if (oli == NULL) { + if ((optchar = (int)*place++) == (int)':' || + (optchar == (int)'-' && *place != '\0') || + (oli = strchr(options, optchar)) == NULL) { /* - * Unknown option character. + * If the user specified "-" and '-' isn't listed in + * options, return -1 (non-option) as per POSIX. + * Otherwise, it is an unknown option character (or ':'). */ + if (optchar == (int)'-' && *place == '\0') + return (-1); if (!*place) ++optind; #ifdef GNU_COMPATIBLE