X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=string.c;h=2bdc7e89687cfe31235efb63b9a2af77469d460b;hp=78b862c933ced61396aadb6df04f43d8185eee21;hb=b3fd38bd1965ca8fec37cdd94552dc0f62f41372;hpb=69f0930489da9ace5af8aee104ad21d188aed387 diff --git a/string.c b/string.c index 78b862c9..2bdc7e89 100644 --- a/string.c +++ b/string.c @@ -389,14 +389,19 @@ __must_check unsigned split_args(char *args, char ***argv_ptr, const char *delim char **argv; size_t n = 0, i, j; - while ((i = strcspn(p, delim)) && (p += i)) { - p += strspn(p, delim); + p = args + strspn(args, delim); + for (;;) { + i = strcspn(p, delim); + if (!i) + break; + p += i; n++; + p += strspn(p, delim); } *argv_ptr = para_malloc((n + 1) * sizeof(char *)); argv = *argv_ptr; i = 0; - p = args; + p = args + strspn(args, delim); while (p) { argv[i] = p; j = strcspn(p, delim);