From d674630d241ae86c769afbbef1e6969a8e00f3b2 Mon Sep 17 00:00:00 2001 From: Joel Rosdahl Date: Thu, 15 Jul 2010 16:57:28 +0200 Subject: [PATCH] Add args_init_from_string function --- args.c | 17 +++++++++++++++++ ccache.h | 1 + 2 files changed, 18 insertions(+) diff --git a/args.c b/args.c index bb7797ae9..81709b8fd 100644 --- a/args.c +++ b/args.c @@ -35,6 +35,23 @@ ARGS *args_init(int init_argc, char **init_args) return args; } +ARGS *args_init_from_string(const char *command) +{ + ARGS *args; + char *p = x_strdup(command); + char *q = p; + char *word; + + args = args_init(0, NULL); + while ((word = strtok(q, " "))) { + args_add(args, word); + q = NULL; + } + + free(p); + return args; +} + ARGS *args_copy(ARGS *args) { return args_init(args->argc, args->argv); diff --git a/ccache.h b/ccache.h index b3febfb53..35bfdc605 100644 --- a/ccache.h +++ b/ccache.h @@ -157,6 +157,7 @@ typedef struct { ARGS *args_init(int , char **); +ARGS *args_init_from_string(const char *); ARGS *args_copy(ARGS *args); void args_free(ARGS *args); void args_add(ARGS *args, const char *s); -- 2.47.3