From db8517fa8168419bc3a410b499b108a920b82e65 Mon Sep 17 00:00:00 2001 From: Mark Young Date: Tue, 14 Jun 2016 14:59:44 -0600 Subject: 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 --- loader/cJSON.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'loader/cJSON.c') 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); -- cgit v1.2.3