diff -r 99a34860c105 -r d938228c382e src/server/daemon/func.c --- a/src/server/daemon/func.c Wed Nov 02 19:19:01 2022 +0100 +++ b/src/server/daemon/func.c Sun Nov 06 15:53:32 2022 +0100 @@ -28,17 +28,18 @@ #include -#include +#include +#include #include "../public/nsapi.h" #include "../util/pblock.h" #include "func.h" -UcxMap *function_map; +CxMap *function_map; void func_init() { - function_map = ucx_map_new(1337); + function_map = cxHashMapCreate(cxDefaultAllocator, 256); } void add_function(FuncStruct *func) { @@ -52,7 +53,7 @@ } f->name = name; log_ereport(LOG_VERBOSE, "add_function %s", f->name); - ucx_map_cstr_put(function_map, (char*)f->name, f); + cxMapPut(function_map, cx_hash_key_str(f->name), f); } void add_functions(FuncStruct *funcs) { @@ -63,13 +64,16 @@ } } -FuncStruct* get_function(char *name) { - for(int i=0;name[i]!='\0';i++) { - if(name[i] == '_') { - name[i] = '-'; +FuncStruct* get_function(const char *name) { + char *name_dup = strdup(name); + for(int i=0;name_dup[i]!='\0';i++) { + if(name_dup[i] == '_') { + name_dup[i] = '-'; } } - return ucx_map_cstr_get(function_map, name); + void *ret = cxMapGet(function_map, cx_hash_key_str(name_dup)); + free(name_dup); + return ret; } FuncStruct* func_resolve(pblock *pb, Session *sn, Request *rq) {