From cf1770b0ea219520a316a97d20c23eafe2038352 Mon Sep 17 00:00:00 2001 From: Max Bruckner Date: Sun, 30 Apr 2017 16:34:39 +0200 Subject: [PATCH] cJSONUtils_Compare -> compare_json --- cJSON_Utils.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/cJSON_Utils.c b/cJSON_Utils.c index 1f8caf8..0e40dfb 100644 --- a/cJSON_Utils.c +++ b/cJSON_Utils.c @@ -410,12 +410,12 @@ cleanup: return detached_item; } -static int cJSONUtils_Compare(cJSON *a, cJSON *b) +static cJSON_bool compare_json(cJSON *a, cJSON *b) { if ((a == NULL) || (b == NULL) || ((a->type & 0xFF) != (b->type & 0xFF))) { /* mismatched type. */ - return -1; + return false; } switch (a->type & 0xFF) { @@ -423,42 +423,42 @@ static int cJSONUtils_Compare(cJSON *a, cJSON *b) /* numeric mismatch. */ if ((a->valueint != b->valueint) || (a->valuedouble != b->valuedouble)) { - return -2; + return false; } else { - return 0; + return true; } case cJSON_String: /* string mismatch. */ if (strcmp(a->valuestring, b->valuestring) != 0) { - return -3; + return false; } else { - return 0; + return true; } case cJSON_Array: for ((void)(a = a->child), b = b->child; (a != NULL) && (b != NULL); (void)(a = a->next), b = b->next) { - int status = cJSONUtils_Compare(a, b); - if (status != 0) + cJSON_bool identical = compare_json(a, b); + if (!identical) { - return status; + return false; } } /* array size mismatch? (one of both children is not NULL) */ if ((a != NULL) || (b != NULL)) { - return -4; + return false; } else { - return 0; + return true; } case cJSON_Object: @@ -466,28 +466,28 @@ static int cJSONUtils_Compare(cJSON *a, cJSON *b) cJSONUtils_SortObject(b); for ((void)(a = a->child), b = b->child; (a != NULL) && (b != NULL); (void)(a = a->next), b = b->next) { - int status = 0; + cJSON_bool identical = false; /* compare object keys */ if (case_insensitive_strcmp((unsigned char*)a->string, (unsigned char*)b->string)) { /* missing member */ - return -6; + return false; } - status = cJSONUtils_Compare(a, b); - if (status != 0) + identical = compare_json(a, b); + if (!identical) { - return status; + return false; } } /* object length mismatch (one of both children is not null) */ if ((a != NULL) || (b != NULL)) { - return -5; + return false; } else { - return 0; + return true; } default: @@ -495,7 +495,7 @@ static int cJSONUtils_Compare(cJSON *a, cJSON *b) } /* null, true or false */ - return 0; + return true; } /* non broken version of cJSON_InsertItemInArray */ @@ -630,7 +630,7 @@ static int cJSONUtils_ApplyPatch(cJSON *object, const cJSON *patch) else if (opcode == TEST) { /* compare value: {...} with the given path */ - status = cJSONUtils_Compare(cJSONUtils_GetPointer(object, path->valuestring), cJSON_GetObjectItem(patch, "value")); + status = !compare_json(cJSONUtils_GetPointer(object, path->valuestring), cJSON_GetObjectItem(patch, "value")); goto cleanup; } @@ -1242,7 +1242,7 @@ CJSON_PUBLIC(cJSON *) cJSONUtils_GenerateMergePatch(cJSON * const from, cJSON * else { /* object key exists in both objects */ - if (cJSONUtils_Compare(from_child, to_child)) + if (!compare_json(from_child, to_child)) { /* not identical --> generate a patch */ cJSON_AddItemToObject(patch, to_child->string, cJSONUtils_GenerateMergePatch(from_child, to_child));