From: Martin Sperl Date: Thu, 2 Oct 2014 09:31:28 +0000 (+0000) Subject: fixed 0-byte issue in add_to_wbuf X-Git-Tag: v1.5.0-rc1~24^2^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cf273a06e2798b39fc69d26c0a35d4bce12fc36d;p=thirdparty%2Frrdtool-1.x.git fixed 0-byte issue in add_to_wbuf changed output format to the version that tobi preferrs --- diff --git a/src/rrd_daemon.c b/src/rrd_daemon.c index 8dad4ee1..f5d7761b 100644 --- a/src/rrd_daemon.c +++ b/src/rrd_daemon.c @@ -607,11 +607,13 @@ static int add_to_wbuf(listen_socket_t *sock, char *str, size_t len) /* {{{ */ return -1; } - strncpy(new_buf + sock->wbuf_len, str, len + 1); + memcpy(new_buf + sock->wbuf_len, str, len); sock->wbuf = new_buf; sock->wbuf_len += len; + *(sock->wbuf + sock->wbuf_len)=0; + return 0; } /* }}} static int add_to_wbuf */ @@ -1879,17 +1881,20 @@ static int handle_request_fetchbin (HANDLER_PROTO) /* {{{ */ add_response_info (sock, "End: %lu\n", (unsigned long) parsed.end_tm); add_response_info (sock, "Step: %lu\n", parsed.step); add_response_info (sock, "DSCount: %lu\n", parsed.field_cnt); + add_response_info (sock, + "BinaryByteOrder: " +#ifdef WORDS_BIGENDIAN + "BIG" +#else + "LITTLE" +#endif + "\n"); /* now iterate the parsed fields */ for (i = 0; i < parsed.field_cnt; i++) { add_response_info (sock, - "DSBINDATA%s: %s %i\n", -#ifdef WORDS_BIGENDIAN - "BIG" -#else - "LITTLE", -#endif + "DSBinaryData: %s %i\n", parsed.ds_namv[parsed.field_idx[i]], dbuffer_size );