int orig_count = 0;
json_object_object_foreach(my_object, key0, val0)
{
- printf("Key at index %d is [%s]", orig_count, key0);
+ printf("Key at index %d is [%s] %d", orig_count, key0, (val0 == NULL));
if (strcmp(key0, "deleteme") == 0)
{
json_object_object_del(my_object, key0);
orig_count = 0;
json_object_object_foreach(my_object, key, val)
{
- printf("Key at index %d is [%s]\n", orig_count, key);
+ printf("Key at index %d is [%s] %d\n", orig_count, key, (val == NULL));
orig_count++;
if (strcmp(key, "foo2") != 0)
continue;
int retval = 0;
json_object_object_foreach(my_object, key2, val2)
{
- printf("Key at index %d is [%s]\n", new_count, key2);
+ printf("Key at index %d is [%s] %d\n", new_count, key2, (val2 == NULL));
new_count++;
if (strcmp(key2, "foo2") != 0)
continue;
==== delete-in-loop test starting ====
-Key at index 0 is [foo1] (kept)
-Key at index 1 is [foo2] (kept)
-Key at index 2 is [deleteme] (deleted)
-Key at index 3 is [foo3] (kept)
+Key at index 0 is [foo1] 0 (kept)
+Key at index 1 is [foo2] 0 (kept)
+Key at index 2 is [deleteme] 0 (deleted)
+Key at index 3 is [foo3] 0 (kept)
==== replace-value first loop starting ====
-Key at index 0 is [foo1]
-Key at index 1 is [foo2]
+Key at index 0 is [foo1] 0
+Key at index 1 is [foo2] 0
replacing value for key [foo2]
-Key at index 2 is [foo3]
+Key at index 2 is [foo3] 0
==== second loop starting ====
-Key at index 0 is [foo1]
-Key at index 1 is [foo2]
+Key at index 0 is [foo1] 0
+Key at index 1 is [foo2] 0
pointer for key [foo2] does match
-Key at index 2 is [foo3]
+Key at index 2 is [foo3] 0