--- libaitrpc/src/lists.c 2012/05/16 08:10:39 1.9.2.3 +++ libaitrpc/src/lists.c 2012/07/22 20:44:13 1.11 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: lists.c,v 1.9.2.3 2012/05/16 08:10:39 misho Exp $ +* $Id: lists.c,v 1.11 2012/07/22 20:44:13 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -52,11 +52,10 @@ SUCH DAMAGE. * @srv = RPC Server instance * @tag = Function tag * @funcaddr = Function address - * @args = Number of return function arguments * return: -1 error, 0 already registered tag or 1 register ok */ int -rpc_srv_registerCall(rpc_srv_t * __restrict srv, u_short tag, void *funcaddr, u_short args) +rpc_srv_registerCall(rpc_srv_t * __restrict srv, u_short tag, void *funcaddr) { rpc_func_t *func; @@ -70,7 +69,7 @@ rpc_srv_registerCall(rpc_srv_t * __restrict srv, u_sho return 0; } - if (!(func = malloc(sizeof(rpc_func_t)))) { + if (!(func = io_malloc(sizeof(rpc_func_t)))) { LOGERR; return -1; } else { @@ -81,13 +80,6 @@ rpc_srv_registerCall(rpc_srv_t * __restrict srv, u_sho AIT_KEY(&func->func_name) = tag; AIT_SET_PTR(&func->func_name, funcaddr, 0); - /* allocate return variables */ - if (args > 0 && !(func->func_vars = io_allocVars(args))) { - AIT_FREE_VAL(&func->func_name); - free(func); - return -1; - } - /* add to list of functions */ TAILQ_INSERT_TAIL(&srv->srv_funcs, func, func_node); return 1; @@ -116,9 +108,8 @@ rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, u_s TAILQ_REMOVE(&srv->srv_funcs, f, func_node); - io_freeVars(&f->func_vars); AIT_FREE_VAL(&f->func_name); - free(f); + io_free(f); return 1; } @@ -219,6 +210,6 @@ rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin TAILQ_REMOVE(&srv->srv_blob.blobs, b, blob_node); rpc_srv_blobFree(srv, b); - free(b); + io_free(b); return 1; }