From: Michael Tremer Date: Wed, 8 Jan 2025 15:23:05 +0000 (+0000) Subject: strings: Add function to merge multiple strings into an array X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=90b6662b49e86e90c49b43673f1633481810fee2;p=people%2Fric9%2Fpakfire.git strings: Add function to merge multiple strings into an array Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/string.c b/src/pakfire/string.c index 74992a9ac..d1ca24c02 100644 --- a/src/pakfire/string.c +++ b/src/pakfire/string.c @@ -471,6 +471,25 @@ int pakfire_strings_appendf(char*** array, const char* format, ...) { return r; } +/* + Copies all strings into the array +*/ +int pakfire_strings_appendm(char*** array, const char** strings) { + int r = 0; + + // Check inputs + if (!strings) + return -EINVAL; + + for (const char** s = strings; *s; s++) { + r = pakfire_strings_append(array, *s); + if (r < 0) + return r; + } + + return r; +} + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wformat-nonliteral" int __pakfire_format_size(char* dst, size_t length, double value) { diff --git a/src/pakfire/string.h b/src/pakfire/string.h index 2fbccd145..6e3cd6526 100644 --- a/src/pakfire/string.h +++ b/src/pakfire/string.h @@ -98,6 +98,7 @@ void pakfire_strings_free(char** array); int pakfire_strings_append(char*** array, const char* s); int pakfire_strings_appendf(char*** array, const char* format, ...) __attribute__((format(printf, 2, 3))); +int pakfire_strings_appendm(char*** array, const char** strings); #define TIME_STRING_MAX 32