aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0022-accept-null-longopts-pointer-in-getopt_long.patch
blob: 7ac5486e6ce8e9ad5b7ed423b7f50f7e8a1a10b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From b4ef1830b7863bfba1da4bdad56a20ef398672a8 Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Thu, 11 Dec 2014 01:07:02 -0500
Subject: [PATCH] accept null longopts pointer in getopt_long

this is an undocumented feature of GNU getopt_long that the BSD
version also mimics, and is reportedly needed by some programs.
---
 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 469ee92..c3cf7f9 100644
--- a/src/misc/getopt_long.c
+++ b/src/misc/getopt_long.c
@@ -52,7 +52,7 @@ static int __getopt_long(int argc, char *const *argv, const char *optstring, con
 static int __getopt_long_core(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *idx, int longonly)
 {
 
-	if (argv[optind][0] == '-' &&
+	if (longopts && argv[optind][0] == '-' &&
 		((longonly && argv[optind][1]) ||
 		 (argv[optind][1] == '-' && argv[optind][2])))
 	{
-- 
2.2.0