*o = '\0';
}
-#define SGL_QUOTE_JESCAPE "\\'"
#define DBL_QUOTE_JESCAPE "\\\""
#define BACKSLASH_JESCAPE "\\\\"
#define SLASH_JESCAPE "\\/"
for (b = buf; *b; ++b) {
unsigned char c = *b;
switch (c) {
- case '\'':
- ret += SSTRL(SGL_QUOTE_JESCAPE);
- break;
case '"':
ret += SSTRL(DBL_QUOTE_JESCAPE);
break;
for (b = buf; *b; ++b) {
unsigned char c = *b;
switch (c) {
- case '\'':
- memcpy(o, SGL_QUOTE_JESCAPE, SSTRL(SGL_QUOTE_JESCAPE));
- o += SSTRL(SGL_QUOTE_JESCAPE);
- break;
case '"':
memcpy(o, DBL_QUOTE_JESCAPE, SSTRL(DBL_QUOTE_JESCAPE));
o += SSTRL(DBL_QUOTE_JESCAPE);
"JSON calls a slash / backslash a solidus / reverse solidus"),
"JSON calls a slash \\/ backslash a solidus \\/ reverse solidus");
ASSERT_EQ(escape_json_attrs("Some 'single' \"quotes\" here"),
- "Some \\'single\\' \\\"quotes\\\" here");
+ "Some 'single' \\\"quotes\\\" here");
ASSERT_EQ(escape_json_attrs("tabs\tand\tnewlines\n, oh my"),
"tabs\\tand\\tnewlines\\n, oh my");
}