} /* while (n != NULL) */
} /* void rebalance */
-static c_avl_node_t *c_avl_node_next (c_avl_tree_t *t, c_avl_node_t *n)
+static c_avl_node_t *c_avl_node_next (c_avl_node_t *n)
{
c_avl_node_t *r; /* return node */
return (r);
} /* c_avl_node_t *c_avl_node_next */
-static c_avl_node_t *c_avl_node_prev (c_avl_tree_t *t, c_avl_node_t *n)
+static c_avl_node_t *c_avl_node_prev (c_avl_node_t *n)
{
c_avl_node_t *r; /* return node */
if (BALANCE (n) > 0) /* left subtree is higher */
{
assert (n->left != NULL);
- r = c_avl_node_prev (t, n);
+ r = c_avl_node_prev (n);
}
else /* right subtree is higher */
{
assert (n->right != NULL);
- r = c_avl_node_next (t, n);
+ r = c_avl_node_next (n);
}
assert ((r->left == NULL) || (r->right == NULL));
if (cmp == 0)
{
free_node (new);
- return (-1);
+ return (1);
}
else if (cmp < 0)
{
{
c_avl_node_t *n;
+ assert (t != NULL);
+
n = search (t, key);
if (n == NULL)
return (-1);
}
else
{
- n = c_avl_node_next (iter->tree, iter->node);
+ n = c_avl_node_next (iter->node);
}
if (n == NULL)
}
else
{
- n = c_avl_node_prev (iter->tree, iter->node);
+ n = c_avl_node_prev (iter->node);
}
if (n == NULL)