]> arthur.barton.de Git - netdata.git/blobdiff - src/common.c
escape chart titles to have proper JSON formatted output; fixes #1390
[netdata.git] / src / common.c
index 24aa4af60a47ab6b8180bf62793a0a4c51fc1bc2..78e5896e98babc1ef91f67630256a2128ce7d6d4 100644 (file)
@@ -197,6 +197,21 @@ void freez(void *ptr) {
     free(ptr);
 }
 
+void json_escape_string(char *dst, const char *src, size_t size) {
+    const char *t;
+    char *d = dst, *e = &dst[size - 1];
+
+    for(t = src; *t && d < e ;t++) {
+        if(unlikely(*t == '\\' || *t == '"')) {
+            if(unlikely(d + 1 >= e)) break;
+            *d++ = '\\';
+        }
+        *d++ = *t;
+    }
+
+    *d = '\0';
+}
+
 int sleep_usec(usec_t usec) {
 
 #ifndef NETDATA_WITH_USLEEP