]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxccontainer: split_init_cmd()
authorChristian Brauner <christian.brauner@ubuntu.com>
Sat, 24 Feb 2018 14:24:29 +0000 (15:24 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Thu, 23 Aug 2018 20:28:47 +0000 (22:28 +0200)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/lxccontainer.c

index af693ca4dd65aae1efd3de58ff6e80631a2b263e..7d8e4103a1b2630ee96c6fd006694ea886794716 100644 (file)
@@ -700,9 +700,10 @@ static void push_arg(char ***argp, char *arg, int *nargs)
 static char **split_init_cmd(const char *incmd)
 {
        size_t len;
-       int nargs = 0;
-       char *copy, *p, *saveptr = NULL;
+       char *copy, *p;
        char **argv;
+       int nargs = 0;
+       char *saveptr = NULL;
 
        if (!incmd)
                return NULL;
@@ -710,20 +711,21 @@ static char **split_init_cmd(const char *incmd)
        len = strlen(incmd) + 1;
        copy = alloca(len);
        strncpy(copy, incmd, len);
-       copy[len-1] = '\0';
+       copy[len - 1] = '\0';
 
        do {
                argv = malloc(sizeof(char *));
        } while (!argv);
+
        argv[0] = NULL;
-       for (p = strtok_r(copy, " ", &saveptr); p != NULL;
-                       p = strtok_r(NULL, " ", &saveptr))
+       for (; (p = strtok_r(copy, " ", &saveptr)); copy = NULL)
                push_arg(&argv, p, &nargs);
 
        if (nargs == 0) {
                free(argv);
                return NULL;
        }
+
        return argv;
 }