From a8220ab2d293bb7f4b014b79d16b2fb05090fa93 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Feb 2021 12:45:55 +0100 Subject: Adding upstream version 1.29.0. Signed-off-by: Daniel Baumann --- libnetdata/buffer/buffer.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'libnetdata/buffer/buffer.c') diff --git a/libnetdata/buffer/buffer.c b/libnetdata/buffer/buffer.c index 50672324b..c37da21e1 100644 --- a/libnetdata/buffer/buffer.c +++ b/libnetdata/buffer/buffer.c @@ -160,6 +160,31 @@ void buffer_strcat(BUFFER *wb, const char *txt) } } +void buffer_strcat_jsonescape(BUFFER *wb, const char *txt) +{ + while(*txt) { + switch(*txt) { + case '\\': + buffer_need_bytes(wb, 2); + wb->buffer[wb->len++] = '\\'; + wb->buffer[wb->len++] = '\\'; + break; + case '"': + buffer_need_bytes(wb, 2); + wb->buffer[wb->len++] = '\\'; + wb->buffer[wb->len++] = '"'; + break; + default: { + buffer_need_bytes(wb, 1); + wb->buffer[wb->len++] = *txt; + } + } + txt++; + } + + buffer_overflow_check(wb); +} + void buffer_strcat_htmlescape(BUFFER *wb, const char *txt) { while(*txt) { -- cgit v1.2.3