Ejemplo n.º 1
0
static int initialize_variant(struct variant *variant)
{
	vardb_init(&variant->vdb);
	LIST_INSERT_HEAD(&variant_list, variant, list);
	if(tupid_tree_insert(&variant_dt_root, &variant->dtnode) < 0) {
		fprintf(stderr, "tup error: Unable to insert variant for node %lli into the tree in variant_add()\n", variant->dtnode.tupid);
		return -1;
	}
	if(tupid_tree_insert(&variant_root, &variant->tnode) < 0) {
		fprintf(stderr, "tup error: Unable to insert variant for node %lli into the tree in variant_add()\n", variant->tnode.tupid);
		return -1;
	}
	return 0;
}
Ejemplo n.º 2
0
void dircache_add(struct dircache_root *droot, int wd, tupid_t dt)
{
	struct dircache *dc;

	dc = dircache_lookup_wd(droot, wd);
	if(dc) {
		dircache_del(droot, dc);
	}

	dc = malloc(sizeof *dc);
	if(!dc) {
		fprintf(stderr, "Out of memory.\n");
		return;
	}

	dc->wd_node.tupid = wd;
	dc->dt_node.tupid = dt;
	tupid_tree_insert(&droot->wd_root, &dc->wd_node);
	tupid_tree_insert(&droot->dt_root, &dc->dt_node);
	return;
}
Ejemplo n.º 3
0
int tupid_tree_add_dup(struct tupid_entries *root, tupid_t tupid)
{
	struct tupid_tree *tt;

	tt = malloc(sizeof *tt);
	if(!tt) {
		perror("malloc");
		return -1;
	}
	tt->tupid = tupid;
	if(tupid_tree_insert(root, tt) < 0)
		free(tt);
	return 0;
}
Ejemplo n.º 4
0
int tupid_tree_add(struct tupid_entries *root, tupid_t tupid)
{
	struct tupid_tree *tt;

	tt = malloc(sizeof *tt);
	if(!tt) {
		perror("malloc");
		return -1;
	}
	tt->tupid = tupid;
	if(tupid_tree_insert(root, tt) < 0) {
		fprintf(stderr, "tup error: Unable to insert duplicate tupid %lli\n", tupid);
		tup_db_print(stderr, tupid);
		return -1;
	}
	return 0;
}
Ejemplo n.º 5
0
int tree_entry_add(struct tupid_entries *root, tupid_t tupid, int type, int *count)
{
	struct tree_entry *te;

	te = malloc(sizeof *te);
	if(!te) {
		perror("malloc");
		return -1;
	}
	te->tnode.tupid = tupid;
	te->type = type;
	if(tupid_tree_insert(root, &te->tnode) < 0) {
		fprintf(stderr, "tup internal error: Duplicate tupid %lli in tree_entry_add?\n", tupid);
		free(te);
		return -1;
	} else {
		if(count)
			(*count)++;
	}
	return 0;
}