]> git.ipfire.org Git - pakfire.git/commitdiff
transaction: Fix writing the separator line
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 25 Sep 2023 15:33:42 +0000 (15:33 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 25 Sep 2023 15:33:42 +0000 (15:33 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/transaction.c

index 841ed0b87f84a9bd75a406897546f98d694625fc..43904e6d41b1e86bd091c9eb8341e746214de002 100644 (file)
@@ -963,13 +963,21 @@ static int pakfire_transaction_add_package_change(char** s, size_t width,
 }
 
 static int pakfire_transaction_add_separator(char** s, size_t width) {
-       char* separator = alloca(width + 1);
+       int r;
+
+       // Write line of =
+       for (unsigned int i = 0; i < width; i++) {
+               r = asprintf(s, "%s=", *s);
+               if (r < 0)
+                       return r;
+       }
 
-       for (unsigned int i = 0; i < width; i++)
-               separator[i] = '=';
-       separator[width] = '\0';
+       // Append newline
+       r = asprintf(s, "%s\n", *s);
+       if (r < 0)
+               return r;
 
-       return pakfire_transaction_append_line(s, "%s%s\n", *s, separator);
+       return 0;
 }
 
 static int pakfire_transaction_add_usage_line(char** s, size_t width,