aboutsummaryrefslogtreecommitdiff
path: root/loader/cJSON.c
diff options
context:
space:
mode:
authorMark Young <marky@lunarg.com>2016-06-14 14:59:44 -0600
committerMark Young <marky@lunarg.com>2016-06-14 15:02:53 -0600
commitdb8517fa8168419bc3a410b499b108a920b82e65 (patch)
tree636f4df323d233c11c376904a22177a4b83240fc /loader/cJSON.c
parenta3e077801c33c943553e9de9e7370f93169a0dc8 (diff)
downloadusermoji-db8517fa8168419bc3a410b499b108a920b82e65.tar.xz
loader: GH362 - Fix json output of escape chars
The strings from the JSON file already add escape characters. So, \ becomes \\ in the JSON file strings. However, the cJSON library was adding \\ for ever encountered \ when converting to a string. This became messy as C:\\vulkanSDK\\layerfile.json became C:\\\\vulkanSDK\\\\layerfile.json. Change-Id: I006252e33d6e91e2bef704dd5dee0777105388a7
Diffstat (limited to 'loader/cJSON.c')
-rw-r--r--loader/cJSON.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/loader/cJSON.c b/loader/cJSON.c
index f28eadb7..fc3ba049 100644
--- a/loader/cJSON.c
+++ b/loader/cJSON.c
@@ -423,7 +423,6 @@ static char *print_string_ptr(const char *str, printbuffer *p) {
if ((unsigned char)*ptr > 31 && *ptr != '\"' && *ptr != '\\')
*ptr2++ = *ptr++;
else {
- *ptr2++ = '\\';
switch (token = *ptr++) {
case '\\':
*ptr2++ = '\\';
@@ -432,19 +431,19 @@ static char *print_string_ptr(const char *str, printbuffer *p) {
*ptr2++ = '\"';
break;
case '\b':
- *ptr2++ = 'b';
+ *ptr2++ = '\b';
break;
case '\f':
- *ptr2++ = 'f';
+ *ptr2++ = '\f';
break;
case '\n':
- *ptr2++ = 'n';
+ *ptr2++ = '\n';
break;
case '\r':
- *ptr2++ = 'r';
+ *ptr2++ = '\r';
break;
case '\t':
- *ptr2++ = 't';
+ *ptr2++ = '\t';
break;
default:
sprintf(ptr2, "u%04x", token);