mirror of
https://github.com/DaveGamble/cJSON.git
synced 2023-08-10 21:13:26 +03:00
Add cJSON_AddItemReferenceToObjectCS constant-string variant
This can not be implemented externally, since create_reference() is not exposed.
This commit is contained in:
parent
4c2b3d8949
commit
1208b35e03
10
cJSON.c
10
cJSON.c
@ -2132,6 +2132,16 @@ CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const cha
|
||||
return add_item_to_object(object, string, create_reference(item, &global_hooks), &global_hooks, false);
|
||||
}
|
||||
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObjectCS(cJSON *object, const char *string, cJSON *item)
|
||||
{
|
||||
if ((object == NULL) || (string == NULL))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return add_item_to_object(object, string, create_reference(item, &global_hooks), &global_hooks, true);
|
||||
}
|
||||
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name)
|
||||
{
|
||||
cJSON *null = cJSON_CreateNull();
|
||||
|
1
cJSON.h
1
cJSON.h
@ -257,6 +257,7 @@ CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObjectCS(cJSON *object, const char *stri
|
||||
/* Append reference to item to the specified array/object. Use this when you want to add an existing cJSON to a new cJSON, but don't want to corrupt your existing cJSON. */
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item);
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item);
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObjectCS(cJSON *object, const char *string, cJSON *item);
|
||||
|
||||
/* Remove/Detach items from Arrays/Objects. */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item);
|
||||
|
@ -404,6 +404,9 @@ static void cjson_functions_should_not_crash_with_null_pointers(void)
|
||||
cJSON_AddItemReferenceToObject(item, "item", NULL);
|
||||
cJSON_AddItemReferenceToObject(item, NULL, item);
|
||||
cJSON_AddItemReferenceToObject(NULL, "item", item);
|
||||
cJSON_AddItemReferenceToObjectCS(item, "item", NULL);
|
||||
cJSON_AddItemReferenceToObjectCS(item, NULL, item);
|
||||
cJSON_AddItemReferenceToObjectCS(NULL, "item", item);
|
||||
TEST_ASSERT_NULL(cJSON_DetachItemViaPointer(NULL, item));
|
||||
TEST_ASSERT_NULL(cJSON_DetachItemViaPointer(item, NULL));
|
||||
TEST_ASSERT_NULL(cJSON_DetachItemFromArray(NULL, 0));
|
||||
|
Loading…
Reference in New Issue
Block a user