From 46e021e3acc74b26c9b028822466598556e391d8 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 10 Jan 2025 15:12:23 +0000 Subject: [PATCH] strings: Add a function to dump a string array Signed-off-by: Michael Tremer --- src/pakfire/string.c | 29 +++++++++++++++++++++++++++++ src/pakfire/string.h | 2 ++ 2 files changed, 31 insertions(+) diff --git a/src/pakfire/string.c b/src/pakfire/string.c index d1ca24c02..e44b7b3aa 100644 --- a/src/pakfire/string.c +++ b/src/pakfire/string.c @@ -490,6 +490,35 @@ int pakfire_strings_appendm(char*** array, const char** strings) { return r; } +/* + This function dumps the string array to the console. This is useful for debugging only. +*/ +int pakfire_strings_dump(char** array) { + int r; + + // Check inputs + if (!array) + return -EINVAL; + + // Determine the length of the array + size_t length = pakfire_strings_length(array); + + // If the array is empty, we return a message + if (!length) { + printf("Empty string array\n"); + return 0; + } + + // Dump the array + for (unsigned int i = 0; i < length; i++) { + r = printf("array[%u] : %s\n", i, array[i]); + if (r < 0) + return r; + } + + return 0; +} + #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 6e3cd6526..91dd1b618 100644 --- a/src/pakfire/string.h +++ b/src/pakfire/string.h @@ -100,6 +100,8 @@ int pakfire_strings_appendf(char*** array, const char* format, ...) __attribute__((format(printf, 2, 3))); int pakfire_strings_appendm(char*** array, const char** strings); +int pakfire_strings_dump(char** array); + #define TIME_STRING_MAX 32 #define pakfire_format_size(dst, value) \ -- 2.47.3