Lines Matching refs:to_delete
338 ldns_rbnode_t *to_delete; in ldns_rbtree_delete() local
340 if((to_delete = ldns_rbtree_search(rbtree, key)) == 0) return 0; in ldns_rbtree_delete()
344 if(to_delete->left != LDNS_RBTREE_NULL && in ldns_rbtree_delete()
345 to_delete->right != LDNS_RBTREE_NULL) in ldns_rbtree_delete()
348 ldns_rbnode_t *smright = to_delete->right; in ldns_rbtree_delete()
357 swap_int8(&to_delete->color, &smright->color); in ldns_rbtree_delete()
360 change_parent_ptr(rbtree, to_delete->parent, to_delete, smright); in ldns_rbtree_delete()
361 if(to_delete->right != smright) in ldns_rbtree_delete()
362 change_parent_ptr(rbtree, smright->parent, smright, to_delete); in ldns_rbtree_delete()
365 change_child_ptr(smright->left, smright, to_delete); in ldns_rbtree_delete()
366 change_child_ptr(smright->left, smright, to_delete); in ldns_rbtree_delete()
367 change_child_ptr(smright->right, smright, to_delete); in ldns_rbtree_delete()
368 change_child_ptr(smright->right, smright, to_delete); in ldns_rbtree_delete()
369 change_child_ptr(to_delete->left, to_delete, smright); in ldns_rbtree_delete()
370 if(to_delete->right != smright) in ldns_rbtree_delete()
371 change_child_ptr(to_delete->right, to_delete, smright); in ldns_rbtree_delete()
372 if(to_delete->right == smright) in ldns_rbtree_delete()
375 to_delete->right = to_delete; in ldns_rbtree_delete()
380 swap_np(&to_delete->parent, &smright->parent); in ldns_rbtree_delete()
381 swap_np(&to_delete->left, &smright->left); in ldns_rbtree_delete()
382 swap_np(&to_delete->right, &smright->right); in ldns_rbtree_delete()
387 if(to_delete->left != LDNS_RBTREE_NULL) child = to_delete->left; in ldns_rbtree_delete()
388 else child = to_delete->right; in ldns_rbtree_delete()
391 change_parent_ptr(rbtree, to_delete->parent, to_delete, child); in ldns_rbtree_delete()
392 change_child_ptr(child, to_delete, to_delete->parent); in ldns_rbtree_delete()
394 if(to_delete->color == RED) in ldns_rbtree_delete()
403 else ldns_rbtree_delete_fixup(rbtree, child, to_delete->parent); in ldns_rbtree_delete()
406 to_delete->parent = LDNS_RBTREE_NULL; in ldns_rbtree_delete()
407 to_delete->left = LDNS_RBTREE_NULL; in ldns_rbtree_delete()
408 to_delete->right = LDNS_RBTREE_NULL; in ldns_rbtree_delete()
409 to_delete->color = BLACK; in ldns_rbtree_delete()
410 return to_delete; in ldns_rbtree_delete()