|
|
|
@ -102,7 +102,9 @@ ucl_elt_string_write_json (const char *str, size_t size, |
|
|
|
func->ucl_emitter_append_character ('"', 1, func->ud); |
|
|
|
|
|
|
|
while (size) { |
|
|
|
if (ucl_test_character (*p, UCL_CHARACTER_JSON_UNSAFE|UCL_CHARACTER_DENIED)) { |
|
|
|
if (ucl_test_character (*p, (UCL_CHARACTER_JSON_UNSAFE| |
|
|
|
UCL_CHARACTER_DENIED| |
|
|
|
UCL_CHARACTER_WHITESPACE_UNSAFE))) { |
|
|
|
if (len > 0) { |
|
|
|
func->ucl_emitter_append_len (c, len, func->ud); |
|
|
|
} |
|
|
|
@ -122,9 +124,15 @@ ucl_elt_string_write_json (const char *str, size_t size, |
|
|
|
case '\f': |
|
|
|
func->ucl_emitter_append_len ("\\f", 2, func->ud); |
|
|
|
break; |
|
|
|
case '\v': |
|
|
|
func->ucl_emitter_append_len ("\\v", 2, func->ud); |
|
|
|
break; |
|
|
|
case '\\': |
|
|
|
func->ucl_emitter_append_len ("\\\\", 2, func->ud); |
|
|
|
break; |
|
|
|
case ' ': |
|
|
|
func->ucl_emitter_append_character (' ', 1, func->ud); |
|
|
|
break; |
|
|
|
case '"': |
|
|
|
func->ucl_emitter_append_len ("\\\"", 2, func->ud); |
|
|
|
break; |
|
|
|
|