From: Jaroslav Kysela Date: Sat, 26 Aug 2017 14:53:40 +0000 (+0200) Subject: spawn: parse arguments - accept arguments inside '' or like does shell X-Git-Tag: v4.2.4~61 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bcccd459775f2d92496fee93d553019cadb069ba;p=thirdparty%2Ftvheadend.git spawn: parse arguments - accept arguments inside '' or like does shell --- diff --git a/src/spawn.c b/src/spawn.c index 731852431..f1625e34d 100644 --- a/src/spawn.c +++ b/src/spawn.c @@ -362,7 +362,7 @@ spawn_parse_args(char ***argv, int argc, const char *cmd, const char **replace) { char *s, *f, *p, *a; const char **r; - int i = 0, l; + int i = 0, l, eow = 0; if (!argv || !cmd) return -1; @@ -374,7 +374,8 @@ spawn_parse_args(char ***argv, int argc, const char *cmd, const char **replace) while (*s == ' ') s++; f = s; - while (*s && *s != ' ') { + eow = *s == '\'' || *s == '"' ? *s++ : ' '; + while (*s && *s != eow) { if (*s == '\\') { l = *(s + 1); if (l == 'b')