mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 13:27:09 +02:00
31 lines
980 B
Diff
31 lines
980 B
Diff
From b123f2395266a44176e49cee251fb776e97f26e1 Mon Sep 17 00:00:00 2001
|
|
From: Rich Felker <dalias@aerifal.cx>
|
|
Date: Sat, 24 Feb 2018 10:26:26 -0500
|
|
Subject: [PATCH] fix getopt wrongly treating colons in optstring as valid
|
|
option chars
|
|
|
|
the ':' in optstring has special meaning as a flag applying to the
|
|
previous option character, or to getopt's error handling behavior when
|
|
it appears at the beginning. don't also accept a "-:" option based on
|
|
its presence.
|
|
---
|
|
src/misc/getopt.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/misc/getopt.c b/src/misc/getopt.c
|
|
index e9bab41c..e921a60e 100644
|
|
--- a/src/misc/getopt.c
|
|
+++ b/src/misc/getopt.c
|
|
@@ -77,7 +77,7 @@ int getopt(int argc, char * const argv[], const char *optstring)
|
|
if (l>0) i+=l; else i++;
|
|
} while (l && d != c);
|
|
|
|
- if (d != c) {
|
|
+ if (d != c || c == ':') {
|
|
optopt = c;
|
|
if (optstring[0] != ':' && opterr)
|
|
__getopt_msg(argv[0], ": unrecognized option: ", optchar, k);
|
|
--
|
|
2.16.2
|
|
|