|
@@ -2127,17 +2127,64 @@ cJSON *cJSON_Duplicate(cJSON *item, int recurse)
|
|
|
|
|
|
void cJSON_Minify(char *json)
|
|
|
{
|
|
|
- char *into=json;
|
|
|
- while (*json)
|
|
|
- {
|
|
|
- if (*json==' ') json++;
|
|
|
- else if (*json=='\t') json++; /* Whitespace characters. */
|
|
|
- else if (*json=='\r') json++;
|
|
|
- else if (*json=='\n') json++;
|
|
|
- else if (*json=='/' && json[1]=='/') while (*json && *json!='\n') json++; /* double-slash comments, to end of line. */
|
|
|
- else if (*json=='/' && json[1]=='*') {while (*json && !(*json=='*' && json[1]=='/')) json++;json+=2;} /* multiline comments. */
|
|
|
- else if (*json=='\"'){*into++=*json++;while (*json && *json!='\"'){if (*json=='\\') *into++=*json++;*into++=*json++;}*into++=*json++;} /* string literals, which are \" sensitive. */
|
|
|
- else *into++=*json++; /* All other characters. */
|
|
|
- }
|
|
|
- *into=0; /* and null-terminate. */
|
|
|
+ char *into = json;
|
|
|
+ while (*json)
|
|
|
+ {
|
|
|
+ if (*json == ' ')
|
|
|
+ {
|
|
|
+ json++;
|
|
|
+ }
|
|
|
+ else if (*json == '\t')
|
|
|
+ {
|
|
|
+ /* Whitespace characters. */
|
|
|
+ json++;
|
|
|
+ }
|
|
|
+ else if (*json == '\r')
|
|
|
+ {
|
|
|
+ json++;
|
|
|
+ }
|
|
|
+ else if (*json=='\n')
|
|
|
+ {
|
|
|
+ json++;
|
|
|
+ }
|
|
|
+ else if ((*json == '/') && (json[1] == '/'))
|
|
|
+ {
|
|
|
+ /* double-slash comments, to end of line. */
|
|
|
+ while (*json && (*json != '\n'))
|
|
|
+ {
|
|
|
+ json++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if ((*json == '/') && (json[1] == '*'))
|
|
|
+ {
|
|
|
+ /* multiline comments. */
|
|
|
+ while (*json && !((*json == '*') && (json[1] == '/')))
|
|
|
+ {
|
|
|
+ json++;
|
|
|
+ }
|
|
|
+ json += 2;
|
|
|
+ }
|
|
|
+ else if (*json == '\"')
|
|
|
+ {
|
|
|
+ /* string literals, which are \" sensitive. */
|
|
|
+ *into++ = *json++;
|
|
|
+ while (*json && (*json != '\"'))
|
|
|
+ {
|
|
|
+ if (*json == '\\')
|
|
|
+ {
|
|
|
+ *into++=*json++;
|
|
|
+ }
|
|
|
+ *into++ = *json++;
|
|
|
+ }
|
|
|
+ *into++ = *json++;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ /* All other characters. */
|
|
|
+ *into++ = *json++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /* and null-terminate. */
|
|
|
+ *into = '\0';
|
|
|
}
|