about summary refs log tree commit diff
path: root/ui-shared.c
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-04-06 11:23:52 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2013-04-08 16:11:29 +0200
commited5bd30ebe6921dd22948a3f33a314283f043606 (patch)
tree494f1ac8aae7c2147146fefc9aebcdb1bfa671c0 /ui-shared.c
parentshared.c: add strbuf_ensure_end (diff)
downloadcgit-magenta-ed5bd30ebe6921dd22948a3f33a314283f043606.tar.xz
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>
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c15
1 files changed, 13 insertions, 2 deletions
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 @@ static char *http_date(time_t t) 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"); }