int tree_insert (tree *t, void *key) { int pos, done; if (!t) return -1; tree_grow (t); pos = tree_find_insertion_pos (t, key, &done); if (!done && pos != -1) tree_insert_at_pos (t, key, pos); return pos; }
int tree_insert(tree *t, void *key) { int pos, done; if (!t) return -1; if (t->array_size < t->elements + 1) { int new_size = t->array_size + ARRAY_GROW; t->array = (void**)realloc(t->array, sizeof(void*) * new_size); t->array_size = new_size; } pos = tree_find_insertion_pos(t, key, &done); if (!done && pos != -1) tree_insert_at_pos(t, key, pos); return pos; }