From d04aa6866cbea57c4a81b033cd60586a9436ac6b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 14 Jul 2017 13:20:05 -0700
Subject: [PATCH 3/3] v4l2-ctl: Do not use getsubopt

POSIX says that behavior when subopts list is empty is undefined.
musl libs will set value to NULL which leads to crash.

Taken from AlpineLinux

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
index 3ea6cd3..291fb3e 100644
--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg)
 
 static bool parse_next_subopt(char **subs, char **value)
 {
-	static char *const subopts[] = {
-	    NULL
-	};
-	int opt = getsubopt(subs, subopts, value);
+	char *p = *subs;
+	*value = *subs;
 
-	if (opt < 0 || *value)
-		return false;
-	fprintf(stderr, "No value given to suboption <%s>\n",
-			subopts[opt]);
-	return true;
+	while (*p && *p != ',')
+		p++;
+
+	if (*p)
+		*p++ = '\0';
+
+	*subs = p;
+	return false;
 }
 
 void common_cmd(int ch, char *optarg)
-- 
2.13.3

