|
@@ -248,22 +248,12 @@ static const char *parse_string(cJSON *item,const char *str)
|
|
|
return ptr;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-static int escapable[256]={ 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1,
|
|
|
- 0,0,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
|
|
|
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0,
|
|
|
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
|
|
|
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
|
|
|
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
|
|
|
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
|
|
|
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};
|
|
|
-
|
|
|
/* Render the cstring provided to an escaped version that can be printed. */
|
|
|
static char *print_string_ptr(const char *str,printbuffer *p)
|
|
|
{
|
|
|
const char *ptr;char *ptr2,*out;int len=0,flag=0;unsigned char token;
|
|
|
|
|
|
- ptr=str;while (*ptr) flag|=escapable[*ptr++];
|
|
|
+ for (ptr=str;*ptr;ptr++) flag|=((*ptr>=0 && *ptr<32)||(*ptr=='\"')||(*ptr=='\\'))?1:0;
|
|
|
if (!flag)
|
|
|
{
|
|
|
len=ptr-str;
|