From: Michael Tremer Date: Sat, 26 Oct 2024 13:37:53 +0000 (+0000) Subject: string: Constify inputs when joining strings X-Git-Tag: 0.9.30~820 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d3ad5426d758f27172abda9e357c2fe43977428f;p=pakfire.git string: Constify inputs when joining strings Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/db.c b/src/libpakfire/db.c index 997cbbaea..72cf819af 100644 --- a/src/libpakfire/db.c +++ b/src/libpakfire/db.c @@ -1432,7 +1432,7 @@ int pakfire_db_add_package(struct pakfire_db* db, groups = pakfire_package_get_strings(pkg, PAKFIRE_PKG_GROUPS); if (groups) { // Join everything together as SQLite doesn't support arrays - __groups = pakfire_string_join(groups, " "); + __groups = pakfire_string_join((const char**)groups, " "); if (!__groups) { r = 1; goto ERROR; diff --git a/src/libpakfire/include/pakfire/string.h b/src/libpakfire/include/pakfire/string.h index b88b1fbb8..e3974e90a 100644 --- a/src/libpakfire/include/pakfire/string.h +++ b/src/libpakfire/include/pakfire/string.h @@ -60,7 +60,7 @@ void pakfire_string_unquote(char* s); int pakfire_string_partition(const char* s, const char* delim, char** s1, char** s2); char* pakfire_string_replace(const char* s, const char* pattern, const char* repl); -char* pakfire_string_join(char** list, const char* delim); +char* pakfire_string_join(const char** list, const char* delim); /* Simple operations, usually used in the linter... diff --git a/src/libpakfire/solution.c b/src/libpakfire/solution.c index cc69e3a7b..1ed93e6e6 100644 --- a/src/libpakfire/solution.c +++ b/src/libpakfire/solution.c @@ -196,7 +196,7 @@ static char* pakfire_solution_make_string(struct pakfire_solution* solution) { elements[count] = NULL; // All okay, concat result string - s = pakfire_string_join(elements, "\n"); + s = pakfire_string_join((const char**)elements, "\n"); ERROR: if (transaction) diff --git a/src/libpakfire/string.c b/src/libpakfire/string.c index eba971164..10348ca44 100644 --- a/src/libpakfire/string.c +++ b/src/libpakfire/string.c @@ -257,7 +257,7 @@ ERROR: return NULL; } -char* pakfire_string_join(char** list, const char* delim) { +char* pakfire_string_join(const char** list, const char* delim) { // Validate input if (!list || !delim) { errno = EINVAL; @@ -268,7 +268,7 @@ char* pakfire_string_join(char** list, const char* delim) { unsigned int elements = 0; // Count the number of elements and the total length - for (char** item = list; *item; item++) { + for (const char** item = list; *item; item++) { length += strlen(*item); elements++; } @@ -291,7 +291,7 @@ char* pakfire_string_join(char** list, const char* delim) { size_t bytes_left = length + 1; size_t bytes_written; - for (char** item = list; *item; item++) { + for (const char** item = list; *item; item++) { bytes_written = snprintf(p, bytes_left, "%s", *item); bytes_left -= bytes_written; diff --git a/tests/libpakfire/string.c b/tests/libpakfire/string.c index 4bab17327..0412b47f0 100644 --- a/tests/libpakfire/string.c +++ b/tests/libpakfire/string.c @@ -169,7 +169,7 @@ static int test_string_join(const struct test* t) { char* s = NULL; // Some test elements - char* elements1[] = { + const char* elements1[] = { "A", "B", "C", @@ -194,7 +194,7 @@ static int test_string_join(const struct test* t) { s = NULL; } - char* elements2[] = { + const char* elements2[] = { "", "", "", @@ -220,7 +220,7 @@ static int test_string_join(const struct test* t) { s = pakfire_string_join(NULL, "\n"); ASSERT_ERRNO(!s, EINVAL); - char* elements3[] = { + const char* elements3[] = { NULL, };