From: Ferry Huberts Date: Mon, 7 Mar 2016 13:20:52 +0000 (+0100) Subject: jsoninfo: simplify output_error by using an abuf X-Git-Tag: v0.9.5~302 X-Git-Url: http://olsr.org/git/?p=olsrd.git;a=commitdiff_plain;h=a6d2a9ede9f8003a5963a449da770b181e7daab9;hp=9a1477b2b453ba1920a96ef1f5bb034c8b889493 jsoninfo: simplify output_error by using an abuf Signed-off-by: Ferry Huberts --- diff --git a/lib/jsoninfo/src/olsrd_jsoninfo.c b/lib/jsoninfo/src/olsrd_jsoninfo.c index 59f10621..6f27790b 100644 --- a/lib/jsoninfo/src/olsrd_jsoninfo.c +++ b/lib/jsoninfo/src/olsrd_jsoninfo.c @@ -176,19 +176,20 @@ void output_end(struct autobuf *abuf) { } void output_error(struct autobuf *abuf, unsigned int status, const char * req, bool http_headers) { - char buf[1024]; + struct autobuf abufInternal; if (http_headers || (status == INFO_HTTP_OK)) { return; } + abuf_init(&abufInternal, 1024); + output_start(abuf); switch (status) { case INFO_HTTP_NOTFOUND: - snprintf(buf, sizeof(buf) - 1, "Invalid request '%s'", req); - buf[sizeof(buf) - 1] = '\0'; - abuf_json_string(abuf, "error", buf); + abuf_appendf(&abufInternal, "Invalid request '%s'", req); + abuf_json_string(abuf, "error", abufInternal.buf); break; case INFO_HTTP_NOCONTENT: @@ -196,9 +197,8 @@ void output_error(struct autobuf *abuf, unsigned int status, const char * req, b break; default: - snprintf(buf, sizeof(buf) - 1, "Unknown status %d for request '%s'", status, req); - buf[sizeof(buf) - 1] = '\0'; - abuf_json_string(abuf, "error", buf); + abuf_appendf(&abufInternal, "Unknown status %d for request '%s'", status, req); + abuf_json_string(abuf, "error", abufInternal.buf); break; }