From: Joel Rosdahl Date: Sat, 17 Jul 2010 16:49:12 +0000 (+0200) Subject: Implement args_extend function X-Git-Tag: v3.1~157 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4e07d0ea7deedf9ef345d5067aaf3f13f49c502f;p=thirdparty%2Fccache.git Implement args_extend function --- diff --git a/args.c b/args.c index 6cb14a19f..ce0c41609 100644 --- a/args.c +++ b/args.c @@ -82,6 +82,16 @@ args_add(struct args *args, const char *s) args->argv[args->argc] = NULL; } +/* Add all arguments in to_append to args. */ +void +args_extend(struct args *args, struct args *to_append) +{ + int i; + for (i = 0; i < to_append->argc; i++) { + args_add(args, to_append->argv[i]); + } +} + /* pop the last element off the args list */ void args_pop(struct args *args, int n) diff --git a/ccache.h b/ccache.h index 03a5ae1ca..dfc4f7e21 100644 --- a/ccache.h +++ b/ccache.h @@ -169,6 +169,7 @@ struct args *args_copy(struct args *args); void args_free(struct args *args); void args_add(struct args *args, const char *s); void args_add_prefix(struct args *args, const char *s); +void args_extend(struct args *args, struct args *to_append); void args_pop(struct args *args, int n); void args_strip(struct args *args, const char *prefix); void args_remove_first(struct args *args);