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);
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);
}