diff -r 28433f06d5ee -r afd57ce39ec9 src/server/safs/init.c --- a/src/server/safs/init.c Mon Jul 01 18:05:13 2013 +0200 +++ b/src/server/safs/init.c Mon Jul 08 11:10:54 2013 +0200 @@ -73,6 +73,9 @@ // load function symbols int b = 0; for(int i=0;;i++) { + if(funcs[i] == '-') { + funcs[i] = '_'; + } if(funcs[i] == ',' || funcs[i] == 0) { if(funcs[i] == 0) { b = 1; @@ -80,10 +83,11 @@ funcs[i] = 0; - // we have a function name + // we have a function name void *sym = dlsym(lib, funcs); if(sym == NULL) { fprintf(stderr, "Cannot load symbol %s\n", funcs); + dlclose(lib); return REQ_ABORTED; } struct FuncStruct fc; @@ -99,6 +103,6 @@ i = 0; } } - + return REQ_PROCEED; }