diff options
author | John Keeping <john@keeping.me.uk> | 2013-04-06 11:23:52 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2013-04-08 16:11:29 +0200 |
commit | ed5bd30ebe6921dd22948a3f33a314283f043606 (patch) | |
tree | 494f1ac8aae7c2147146fefc9aebcdb1bfa671c0 /ui-shared.c | |
parent | shared.c: add strbuf_ensure_end (diff) | |
download | cgit-pink-ed5bd30ebe6921dd22948a3f33a314283f043606.tar.gz cgit-pink-ed5bd30ebe6921dd22948a3f33a314283f043606.zip |
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 '')
-rw-r--r-- | ui-shared.c | 15 |
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"); } |