From: Michael Tremer Date: Tue, 6 Apr 2021 14:14:02 +0000 (+0000) Subject: progressbar: Use string formatting functions for strings X-Git-Tag: 0.9.28~1285^2~437 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3745c5acbee8e2bf37d06f2cab03e04a67b3891f;p=pakfire.git progressbar: Use string formatting functions for strings Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/include/pakfire/progressbar.h b/src/libpakfire/include/pakfire/progressbar.h index b10daf40c..2242cb161 100644 --- a/src/libpakfire/include/pakfire/progressbar.h +++ b/src/libpakfire/include/pakfire/progressbar.h @@ -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); diff --git a/src/libpakfire/progressbar.c b/src/libpakfire/progressbar.c index 26b890dd2..8c4a4f689 100644 --- a/src/libpakfire/progressbar.c +++ b/src/libpakfire/progressbar.c @@ -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); }