From 861184b72519d0116d06ee09557ff64076624e3e Mon Sep 17 00:00:00 2001 From: Joel Rosdahl Date: Fri, 13 Aug 2010 23:03:37 +0200 Subject: [PATCH] Add args_set() function --- args.c | 10 ++++++++++ ccache.h | 1 + 2 files changed, 11 insertions(+) diff --git a/args.c b/args.c index 49d14812b..af9d75f33 100644 --- a/args.c +++ b/args.c @@ -18,6 +18,7 @@ #include "ccache.h" +#include #include #include @@ -104,6 +105,15 @@ args_pop(struct args *args, int n) } } +/* set argument at given index */ +void +args_set(struct args *args, int index, const char *value) +{ + assert(index < args->argc); + free(args->argv[index]); + args->argv[index] = x_strdup(value); +} + /* remove the first element of the argument list */ void args_remove_first(struct args *args) diff --git a/ccache.h b/ccache.h index 8ddc533b2..884812941 100644 --- a/ccache.h +++ b/ccache.h @@ -204,6 +204,7 @@ 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_set(struct args *args, int index, const char *value); void args_strip(struct args *args, const char *prefix); void args_remove_first(struct args *args); char *args_to_string(struct args *args); -- 2.47.3