Forráskód Böngészése

reformatting: parse_value

Max Bruckner 8 éve
szülő
commit
c5f635d24a
1 módosított fájl, 42 hozzáadás és 11 törlés
  1. 42 11
      cJSON.c

+ 42 - 11
cJSON.c

@@ -853,18 +853,49 @@ char *cJSON_PrintBuffered(cJSON *item, int prebuffer, int fmt)
 
 
 /* Parser core - when encountering text, process appropriately. */
-static const char *parse_value(cJSON *item,const char *value,const char **ep)
+static const char *parse_value(cJSON *item, const char *value, const char **ep)
 {
-	if (!value)						return 0;	/* Fail on null. */
-	if (!strncmp(value,"null",4))	{ item->type=cJSON_NULL;  return value+4; }
-	if (!strncmp(value,"false",5))	{ item->type=cJSON_False; return value+5; }
-	if (!strncmp(value,"true",4))	{ item->type=cJSON_True; item->valueint=1;	return value+4; }
-	if (*value=='\"')				{ return parse_string(item,value,ep); }
-	if (*value=='-' || (*value>='0' && *value<='9'))	{ return parse_number(item,value); }
-	if (*value=='[')				{ return parse_array(item,value,ep); }
-	if (*value=='{')				{ return parse_object(item,value,ep); }
-
-	*ep=value;return 0;	/* failure. */
+    if (!value)
+    {
+        /* Fail on null. */
+        return 0;
+    }
+
+    /* parse the different types of values */
+    if (!strncmp(value, "null", 4))
+    {
+        item->type = cJSON_NULL;
+        return value + 4;
+    }
+    if (!strncmp(value, "false", 5))
+    {
+        item->type = cJSON_False;
+        return value + 5;
+    }
+    if (!strncmp(value, "true", 4))
+    {
+        item->type = cJSON_True;
+        item->valueint = 1;
+        return value + 4;
+    }
+    if (*value == '\"')
+    {
+        return parse_string(item, value, ep);
+    }
+    if ((*value == '-') || ((*value >= '0') && (*value <= '9')))
+    {
+        return parse_number(item, value);
+    }
+    if (*value == '[')
+    {
+        return parse_array(item, value, ep);
+    }
+    if (*value == '{')
+    {
+        return parse_object(item, value, ep);
+    }
+
+    *ep=value;return 0;	/* failure. */
 }
 
 /* Render a value to text. */