Convert cgit_print_error to a variadic function
This removes many uses of "fmt" which uses a fixed size static pool of
fixed size buffers. Instead of relying on these, we now pass around
argument lists for as long as possible before using a strbuf to render
content of an arbitrary size.
Signed-off-by: John Keeping <john@keeping.me.uk>
diff --git a/ui-shared.c b/ui-shared.c
index c1f3c20..b93b77a 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -28,10 +28,21 @@
tm->tm_hour, tm->tm_min, tm->tm_sec);
}
-void cgit_print_error(const char *msg)
+void cgit_print_error(const char *fmt, ...)
{
+ va_list ap;
+ va_start(ap, fmt);
+ cgit_vprint_error(fmt, ap);
+ va_end(ap);
+}
+
+void cgit_vprint_error(const char *fmt, va_list ap)
+{
+ va_list cp;
html("<div class='error'>");
- html_txt(msg);
+ va_copy(cp, ap);
+ html_vtxtf(fmt, cp);
+ va_end(cp);
html("</div>\n");
}