From bcccd459775f2d92496fee93d553019cadb069ba Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sat, 26 Aug 2017 16:53:40 +0200 Subject: [PATCH] spawn: parse arguments - accept arguments inside '' or like does shell --- src/spawn.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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') -- 2.47.2