diff options
Diffstat (limited to 'src/object.c')
-rw-r--r-- | src/object.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/object.c b/src/object.c index b380008..7178bdd 100644 --- a/src/object.c +++ b/src/object.c @@ -27,9 +27,15 @@ void add_to_object(struct json *dest, char *key, struct json *src) { if (strcmp(e->key, key) == 0) { src->index = e->index; dest->children->items[i] = src; + src->parent = dest; - adjust_pointers(e, src); - json_delete(e); + src->prev = e->prev; + src->next = e->next; + if (e->prev) e->prev->next = src; + if (e->next) e->next->prev = src; + + json_clear(e); + free(e); return; } } |