openwrt/toolchain/musl/patches/052-fix-getopt_long_only-misinterpreting-as-an-option.patch
Koen Vandeputte 2912f9f2a2 musl: backport various post-1.1.15 fixes
Backport most important fixes up to latest HEAD

- Taken post-commit reverts/fixes into account

Compile tested
Run-tested on cns3xxx & imx6 targets

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2016-12-26 11:17:33 +01:00

25 lines
844 B
Diff

From b24f1d2520c87077cef21e085893e5f3c565a6df Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Thu, 20 Oct 2016 12:13:33 -0400
Subject: fix getopt_long_only misinterpreting "--" as an option
---
src/misc/getopt_long.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/misc/getopt_long.c b/src/misc/getopt_long.c
index 480c001..c6e1462 100644
--- a/src/misc/getopt_long.c
+++ b/src/misc/getopt_long.c
@@ -53,7 +53,7 @@ static int __getopt_long_core(int argc, char *const *argv, const char *optstring
{
optarg = 0;
if (longopts && argv[optind][0] == '-' &&
- ((longonly && argv[optind][1]) ||
+ ((longonly && argv[optind][1] && argv[optind][1] != '-') ||
(argv[optind][1] == '-' && argv[optind][2])))
{
int colon = optstring[optstring[0]=='+'||optstring[0]=='-']==':';
--
cgit v0.11.2