Hi Peff, On Tue, Sep 13, 2011 at 11:57 PM, Jeff King <peff@xxxxxxxx> wrote: > diff --git a/argv-array.c b/argv-array.c > new file mode 100644 > index 0000000..a50507a > --- /dev/null > +++ b/argv-array.c > @@ -0,0 +1,52 @@ > +#include "cache.h" > +#include "argv-array.h" > +#include "strbuf.h" > + > +static const char *empty_argv_storage = NULL; > +const char **empty_argv = &empty_argv_storage; > + > +void argv_array_init(struct argv_array *array) > +{ > + array->argv = empty_argv; > + array->argc = 0; > + array->alloc = 0; > +} > + > +static void argv_array_push_nodup(struct argv_array *array, const char *value) > +{ > + if (array->argv == empty_argv) > + array->argv = NULL; > + > + ALLOC_GROW(array->argv, array->argc + 2, array->alloc); > + array->argv[array->argc++] = value; > + array->argv[array->argc] = NULL; > +} > + > +void argv_array_push(struct argv_array *array, const char *value) > +{ > + argv_array_push_nodup(array, xstrdup(value)); > +} > + > +void argv_array_pushf(struct argv_array *array, const char *fmt, ...) > +{ > + va_list ap; > + struct strbuf v = STRBUF_INIT; > + > + va_start(ap, fmt); > + strbuf_vaddf(&v, fmt, ap); > + va_end(ap); > + > + argv_array_push_nodup(array, strbuf_detach(&v, NULL)); > +} In sha1-array you called the "push" function "sha1_array_append" instead of "sha1_array_push", so I wonder why here you call them "*_push*" instead of "*_append*"? Thanks for doing this anyway, Christian. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html