lib/strv: add strv_extendv()

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2015-10-01 14:43:05 +02:00
parent d5358bbb6b
commit de8d3863c8
2 changed files with 12 additions and 0 deletions

View File

@ -13,6 +13,7 @@ unsigned strv_length(char * const *l);
int strv_extend_strv(char ***a, char **b);
int strv_extend_strv_concat(char ***a, char **b, const char *suffix);
int strv_extend(char ***l, const char *value);
int strv_extendv(char ***l, const char *format, va_list ap);
int strv_extendf(char ***l, const char *format, ...)
__attribute__ ((__format__ (__printf__, 2, 0)));
int strv_push(char ***l, char *value);

View File

@ -373,6 +373,17 @@ int strv_extendf(char ***l, const char *format, ...) {
return strv_consume(l, x);
}
int strv_extendv(char ***l, const char *format, va_list ap) {
char *x;
int r;
r = vasprintf(&x, format, ap);
if (r < 0)
return -ENOMEM;
return strv_consume(l, x);
}
char **strv_reverse(char **l) {
unsigned n, i;