]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
json encoder: Correctly encode \t and \r. Ticket #163
authorAndreas Öman <andreas@lonelycoder.com>
Tue, 4 Jan 2011 20:12:54 +0000 (21:12 +0100)
committerAndreas Öman <andreas@lonelycoder.com>
Tue, 4 Jan 2011 20:12:54 +0000 (21:12 +0100)
src/htsmsg_json.c

index 0517de1c2f836e5c67a83a98ee31bff11541a00d..88cd0e31369879a8e8a59666767f73e1676b8733 100644 (file)
@@ -37,13 +37,17 @@ htsmsg_json_encode_string(const char *str, htsbuf_queue_t *hq)
   htsbuf_append(hq, "\"", 1);
 
   while(*s != 0) {
-    if(*s == '"' || *s == '\\' || *s == '\n') {
+    if(*s == '"' || *s == '\\' || *s == '\n' || *s == '\t' || *s == '\r') {
       htsbuf_append(hq, str, s - str);
 
       if(*s == '"')
        htsbuf_append(hq, "\\\"", 2);
       else if(*s == '\n') 
        htsbuf_append(hq, "\\n", 2);
+      else if(*s == '\t') 
+       htsbuf_append(hq, "\\t", 2);
+      else if(*s == '\r')
+       htsbuf_append(hq, "\\r", 2);
       else
        htsbuf_append(hq, "\\\\", 2);
       s++;