From 9945f5e8362ca02f16da43cc587add5862ab5f28 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 11 Jan 2025 12:27:49 +0000 Subject: [PATCH] parser: Refactor joining strings Signed-off-by: Michael Tremer --- src/pakfire/parser.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/pakfire/parser.c b/src/pakfire/parser.c index 74a3f6c6b..6ece68982 100644 --- a/src/pakfire/parser.c +++ b/src/pakfire/parser.c @@ -265,11 +265,18 @@ static char* pakfire_parser_join(const char* c, const char* val1, const char* va char* result = NULL; int r; + if (!val1) + val1 = ""; + + if (!val2) + val2 = ""; + + // Reset the delimiter if we don't need it + if (!*val1 || !*val2) + c = ""; + // Join both strings - r = asprintf(&result, "%s%s%s", - (val1) ? val1 : "", - (val1 && *val1 && val2 && *val2) ? c : "", - (val2) ? val2 : ""); + r = asprintf(&result, "%s%s%s", val1, c, val2); if (r < 0) return NULL; -- 2.47.3