浏览代码

reformatting: cJSON_ParseWithOpts

Max Bruckner 8 年之前
父节点
当前提交
e809022349
共有 1 个文件被更改,包括 37 次插入13 次删除
  1. 37 13
      cJSON.c

+ 37 - 13
cJSON.c

@@ -785,21 +785,45 @@ static const char *skip(const char *in)
 }
 
 /* Parse an object - create a new root, and populate. */
-cJSON *cJSON_ParseWithOpts(const char *value,const char **return_parse_end,int require_null_terminated)
+cJSON *cJSON_ParseWithOpts(const char *value, const char **return_parse_end, int require_null_terminated)
 {
-	const char *end=0,**ep=return_parse_end?return_parse_end:&global_ep;
-	cJSON *c=cJSON_New_Item();
-	*ep=0;
-	if (!c) return 0;       /* memory fail */
-
-	end=parse_value(c,skip(value),ep);
-	if (!end)	{cJSON_Delete(c);return 0;}	/* parse failure. ep is set. */
-
-	/* if we require null-terminated JSON without appended garbage, skip and then check for a null terminator */
-	if (require_null_terminated) {end=skip(end);if (*end) {cJSON_Delete(c);*ep=end;return 0;}}
-	if (return_parse_end) *return_parse_end=end;
-	return c;
+    const char *end = 0;
+    /* use global error pointer if no specific one was given */
+    const char **ep = return_parse_end ? return_parse_end : &global_ep;
+    cJSON *c = cJSON_New_Item();
+    *ep = 0;
+    if (!c) /* memory fail */
+    {
+        return 0;
+    }
+
+    end = parse_value(c, skip(value), ep);
+    if (!end)
+    {
+        /* parse failure. ep is set. */
+        cJSON_Delete(c);
+        return 0;
+    }
+
+    /* if we require null-terminated JSON without appended garbage, skip and then check for a null terminator */
+    if (require_null_terminated)
+    {
+        end = skip(end);
+        if (*end)
+        {
+            cJSON_Delete(c);
+            *ep = end;
+            return 0;
+        }
+    }
+    if (return_parse_end)
+    {
+        *return_parse_end = end;
+    }
+
+    return c;
 }
+
 /* Default options for cJSON_Parse */
 cJSON *cJSON_Parse(const char *value) {return cJSON_ParseWithOpts(value,0,0);}