aboutsummaryrefslogtreecommitdiffstats
path: root/community/v4l-utils/getsubopt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/v4l-utils/getsubopt.patch')
-rw-r--r--community/v4l-utils/getsubopt.patch33
1 files changed, 0 insertions, 33 deletions
diff --git a/community/v4l-utils/getsubopt.patch b/community/v4l-utils/getsubopt.patch
deleted file mode 100644
index 8ac87a8c7a7..00000000000
--- a/community/v4l-utils/getsubopt.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-POSIX says that behavior when subopts list is empty is undefined.
-musl libs will set value to NULL which leads to crash.
-
-Simply avoid getsubopt, since we cannot rely on it.
-
---- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
-+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
-@@ -782,15 +782,17 @@
-
- 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, "Missing suboption value\n");
-- return true;
-+ while (*p && *p != ',')
-+ p++;
-+
-+ if (*p)
-+ *p++ = '\0';
-+
-+ *subs = p;
-+ return false;
- }
-
- void common_cmd(const std::string &media_bus_info, int ch, char *optarg)