Ejemplo n.º 1
0
Archivo: tree.c Proyecto: ArdaXi/XChat
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
Archivo: tree.c Proyecto: ArdaXi/XChat
void
tree_append (tree *t, void *key)
{
	tree_grow (t);
	tree_insert_at_pos (t, key, t->elements);
}