2 Star 1 Fork 0

长江/oscam

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
oscam-hashtable.c 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
blueven 提交于 2013-12-12 12:27 . Applied blueven cache HT patch.
#include "tommyDS_hashlin/tommychain.h"
#include "tommyDS_hashlin/tommyhash.h"
#include "tommyDS_hashlin/tommyhashlin.h"
#include "tommyDS_hashlin/tommylist.h"
#include "tommyDS_hashlin/tommytypes.h"
#include "tommyDS_hashlin/tommyhash.c"
#include "tommyDS_hashlin/tommyhashlin.c"
#include "tommyDS_hashlin/tommylist.c"
void init_hash_table(void *ht, void *ll){
tommy_hashlin_init(ht);
tommy_list_init(ll);
}
void add_hash_table(void *ht, void *ht_node, void *ll, void *ll_node, void *obj, void *key, int key_len){
tommy_hashlin_insert(ht, ht_node, obj, tommy_hash_u32(0,key,key_len));
tommy_list_insert_tail(ll, ll_node, obj);
}
void *find_hash_table(void *ht, void *key, int key_len, void *compare){
return tommy_hashlin_search(ht, compare, key, tommy_hash_u32(0,key,key_len));
}
void *search_remove_elem_hash_table(void *ht, void *key, int key_len, void *compare){
return tommy_hashlin_remove (ht,compare,key,tommy_hash_u32(0,key,key_len));
}
void *remove_elem_hash_table(void *ht, void *ht_node){
return tommy_hashlin_remove_existing(ht,ht_node);
}
int count_hash_table(void *ht){
return tommy_hashlin_count(ht);
}
void deinitialize_hash_table(void *ht){
tommy_hashlin_done(ht);
}
void sort_list(void *ll, void *cmp){
tommy_list_sort (ll, cmp);
}
void *remove_elem_list(void *ll, void *ll_node){
return tommy_list_remove_existing(ll,ll_node);
}
void *get_first_node_list(void *ll){
return tommy_list_head(ll);
}
void *get_first_elem_list(void *ll){
if (tommy_list_head(ll))
return tommy_list_head(ll)->data;
else return NULL;
}
void *get_data_from_node(void *node){
if (node)
return ((tommy_node *)node)->data;
else return NULL;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/4a02/oscam.git
git@gitee.com:4a02/oscam.git
4a02
oscam
oscam
master

搜索帮助