Escaping the slash when dump
authorJuan Basso <jrbasso@gmail.com>
Thu, 28 Jun 2012 03:50:01 +0000 (23:50 -0400)
committerJuan Basso <jrbasso@gmail.com>
Thu, 28 Jun 2012 03:54:08 +0000 (23:54 -0400)
src/dump.c
test/suites/valid/string-escapes/output

index e39197a..7ff5708 100644 (file)
@@ -84,7 +84,7 @@ static int dump_string(const char *str, int ascii, json_dump_callback_t dump, vo
                 return -1;
 
             /* mandatory escape or control char */
-            if(codepoint == '\\' || codepoint == '"' || codepoint < 0x20)
+            if(codepoint == '\\' || codepoint == '/' || codepoint == '"' || codepoint < 0x20)
                 break;
 
             /* non-ASCII */
@@ -102,11 +102,12 @@ static int dump_string(const char *str, int ascii, json_dump_callback_t dump, vo
         if(end == pos)
             break;
 
-        /* handle \, ", and control codes */
+        /* handle \, /, ", and control codes */
         length = 2;
         switch(codepoint)
         {
             case '\\': text = "\\\\"; break;
+            case '/': text = "\\/"; break;
             case '\"': text = "\\\""; break;
             case '\b': text = "\\b"; break;
             case '\f': text = "\\f"; break;
index ca5c1c6..7f49553 100644 (file)
@@ -1 +1 @@
-["\"\\/\b\f\n\r\t"]
\ No newline at end of file
+["\"\\\/\b\f\n\r\t"]
\ No newline at end of file