Began use git manage source code since MAAT_FRAME_VERSION_1_2_20150724.

This commit is contained in:
zhengchao
2015-10-10 18:30:12 +08:00
commit 40f0ed7320
40 changed files with 8423 additions and 0 deletions

55
src/entry/map_str2int.cpp Normal file
View File

@@ -0,0 +1,55 @@
#include <MESA/MESA_htable.h>
void map_tmp_free(void* ptr)
{
free(ptr);
}
MESA_htable_handle map_create(void)
{
MESA_htable_handle string2int_map;
MESA_htable_create_args_t hargs;
memset(&hargs,0,sizeof(hargs));
hargs.thread_safe=1;
hargs.hash_slot_size = 1024*1024;
hargs.max_elem_num = 0;
hargs.eliminate_type = HASH_ELIMINATE_ALGO_LRU;
hargs.expire_time = 0;
hargs.key_comp = NULL;
hargs.key2index = NULL;
hargs.recursive = 0;
hargs.data_free = map_tmp_free;
hargs.data_expire_with_condition = NULL;
string2int_map=MESA_htable_create(&hargs, sizeof(hargs));
MESA_htable_print_crtl(string2int_map, 0);
return string2int_map;
}
void map_destroy(MESA_htable_handle p)
{
MESA_htable_destroy(p,NULL);
return;
}
int map_register(MESA_htable_handle handle,const char* string,int value)
{
unsigned int size=strlen(string);
unsigned char *key=(unsigned char *)string;
int *data=(int*)malloc(sizeof(int));
int ret=0;
*data=value;
ret=MESA_htable_add(handle,key,size,data);
return ret;
}
int map_str2int(MESA_htable_handle handle,const char* string,int* value)
{
int *data=NULL;
unsigned int size=strlen(string);
data=(int*)MESA_htable_search(handle,(unsigned char*)string,size);
if(data!=NULL)
{
*value=*data;
return 1;
}
else
{
return -1;
}
}