}
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,