]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lib/strv: add strv_extendv()
authorKarel Zak <kzak@redhat.com>
Thu, 1 Oct 2015 12:43:05 +0000 (14:43 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 1 Oct 2015 12:43:05 +0000 (14:43 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
include/strv.h
lib/strv.c

index 52862989a17fb45ebc951819536e325cbf2e4c9f..260ad12d553397897f8e3af436dfbec2c0a48010 100644 (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);
index e030033b6677de16149584c2657e2345e7e9dc32..ddc2a0c5dddb4d637b0cab041896d35e974b92db 100644 (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;