]> git.ipfire.org Git - pakfire.git/commitdiff
progressbar: Use string formatting functions for strings
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 6 Apr 2021 14:14:02 +0000 (14:14 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 6 Apr 2021 14:14:02 +0000 (14:14 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/include/pakfire/progressbar.h
src/libpakfire/progressbar.c

index b10daf40c7f7a37eb075e5700e7e86dadda6d48a..2242cb161f874d2487f6a9bf1ecaf2605064d470 100644 (file)
@@ -40,7 +40,7 @@ int pakfire_progressbar_update(struct pakfire_progressbar* p, unsigned long valu
 int pakfire_progressbar_increment(struct pakfire_progressbar* p);
 int pakfire_progressbar_finish(struct pakfire_progressbar* p);
 
-int pakfire_progressbar_add_string(struct pakfire_progressbar* p, const char* string);
+int pakfire_progressbar_add_string(struct pakfire_progressbar* p, const char* format, ...);
 int pakfire_progressbar_add_counter(struct pakfire_progressbar* p);
 int pakfire_progressbar_add_percentage(struct pakfire_progressbar* p);
 int pakfire_progressbar_add_bar(struct pakfire_progressbar* p);
index 26b890dd23e5c4ecaa47ed77b305cb033a114ae5..8c4a4f6894373767d265ee7a63a8dab74b2d0afb 100644 (file)
@@ -377,10 +377,16 @@ const char* pakfire_progressbar_string(struct pakfire_progressbar* p,
        return (const char*)data;
 }
 
-int pakfire_progressbar_add_string(struct pakfire_progressbar* p, const char* string) {
-       char* s = strdup(string);
-       if (!s)
-               return ENOMEM;
+int pakfire_progressbar_add_string(struct pakfire_progressbar* p, const char* format, ...) {
+       char* s = NULL;
+       va_list args;
+
+       va_start(args, format);
+       int r = vasprintf(&s, format, args);
+       va_end(args);
+
+       if (r < 0)
+               return r;
 
        return pakfire_progressbar_add_widget(p, pakfire_progressbar_string, free, 0, s);
 }