コード例 #1
0
ファイル: ls.c プロジェクト: kolen/radare2
SDB_API bool ls_delete_data(SdbList *list, void *ptr) {
	void *kvp;
	SdbListIter *iter;
	ls_foreach (list, iter, kvp) {
		if (ptr == kvp) {
			ls_delete (list, iter);
			return true;
		}
	}
	return false;
}
コード例 #2
0
ファイル: ht.c プロジェクト: thejh/radare2
void ht_delete_entry(SdbHash *ht, SdbHashEntry *entry) {
	if (!entry)
		return;
	if (!rehash && entry->iter) {
		ls_delete (ht->list, entry->iter);
		entry->iter = NULL;
	}
	entry->data = (void *) &deleted_data;
	ht->entries--;
	ht->deleted_entries++;
}
コード例 #3
0
ファイル: ht.c プロジェクト: EliaGeretto/radare2
void ht_delete_entry(SdbHash *ht, SdbHashEntry *entry) {
	if (!ht || !entry)
		return;
	if (!rehash && entry->iter) {
		ls_delete (ht->list, entry->iter);
		entry->iter = NULL;
	}
	entry->hash = DELETED_HASH;
	entry->data = NULL;
	ht->entries--;
	ht->deleted_entries++;
}
コード例 #4
0
ファイル: ht.c プロジェクト: BatchDrake/radare2
void ht_remove_entry(SdbHash *ht, SdbHashEntry *entry) {
	if (!entry)
		return;
	if (!rehash && entry->iter) {
	// XXX: ls_delete not working wtf
		ls_delete (ht->list, entry->iter);
		//free (entry->iter);
		entry->iter = NULL;
	}
	entry->data = (void *) &deleted_data;
	ht->entries--;
	ht->deleted_entries++;
}
コード例 #5
0
ファイル: ls.c プロジェクト: kolen/radare2
SDB_API void ls_destroy(SdbList *list) {
	SdbListIter *it;
	if (!list) {
		return;
	}
	it = list->head;
	while (it) {
		SdbListIter *next = it->n;
		ls_delete (list, it);
		it = next;
	}
	list->head = list->tail = NULL;
	list->length = 0;
}
コード例 #6
0
ファイル: ls.c プロジェクト: 0xroot/radare2
R_API void ls_destroy (SdbList *list) {
	SdbListIter *it;
	if (list) {
		it = list->head;
		while (it) {
			SdbListIter *next = it->n;
			ls_delete (list, it);
			it = next;
		//	free (it);
		}
		list->head = list->tail = NULL;
		list->length = 0;
	}
	//free (list);
}
コード例 #7
0
ファイル: test_linear_set.c プロジェクト: mkfifo/linear_set
    assert( 0 == ls_exists(set, key_3) );
    assert( ls_exists(set, key_2) );


    assert( ls_insert(set, key_3) );
    assert( 3 == ls_nelems(set) );
    assert( ls_exists(set, key_3) );


    puts("testing delete");
    puts("one delete");
    assert( ls_delete(set, key_1) );
    assert( 2 == ls_nelems(set) );

    /* should not be able to re-delete */
    assert( 0 == ls_delete(set, key_1) );


    puts("two delete");
    assert( ls_delete(set, key_3) );
    assert( 1 == ls_nelems(set) );

    /* should not be able to re-delete */
    assert( 0 == ls_delete(set, key_3) );


    puts("three delete");
    assert( ls_delete(set, key_2) );
    assert( 0 == ls_nelems(set) );

    /* should not be able to re-delete */