argv-array: add a new "pushl" method
It can be convenient to push many strings in a single line (e.g., if you are initializing an array with defaults). This patch provides a convenience wrapper to allow this. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
fd93d2e60e
commit
d15bbe1379
11
argv-array.c
11
argv-array.c
@ -38,6 +38,17 @@ void argv_array_pushf(struct argv_array *array, const char *fmt, ...)
|
||||
argv_array_push_nodup(array, strbuf_detach(&v, NULL));
|
||||
}
|
||||
|
||||
void argv_array_pushl(struct argv_array *array, ...)
|
||||
{
|
||||
va_list ap;
|
||||
const char *arg;
|
||||
|
||||
va_start(ap, array);
|
||||
while((arg = va_arg(ap, const char *)))
|
||||
argv_array_push(array, arg);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
void argv_array_clear(struct argv_array *array)
|
||||
{
|
||||
if (array->argv != empty_argv) {
|
||||
|
Reference in New Issue
Block a user