--- libaitrpc/src/srv.c 2011/10/31 14:45:26 1.5.2.6 +++ libaitrpc/src/srv.c 2011/11/03 14:28:48 1.5.2.9 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.5.2.6 2011/10/31 14:45:26 misho Exp $ +* $Id: srv.c,v 1.5.2.9 2011/11/03 14:28:48 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -117,7 +117,7 @@ rpc_srv_dispatchCall(void *arg) /* RPC is OK! Go decapsulate variables ... */ if (ntohs(rpc->call_argc)) { - arr = io_buffer2vals(buf + Limit, s->srv_netbuf - Limit, + arr = io_buffer2vars(buf + Limit, s->srv_netbuf - Limit, ntohs(rpc->call_argc), 1); if (!arr) { ret = -5; @@ -160,8 +160,8 @@ makeReply: if (argc && arr) { /* Go Encapsulate variables ... */ - if ((i = io_vals2buffer(buf + Limit, s->srv_netbuf - Limit, arr)) == -1) { - rpc_srv_freeVals(f); + if ((i = io_vars2buffer(buf + Limit, s->srv_netbuf - Limit, arr)) == -1) { + rpc_srv_freeVars(f); argc = 0; ret = -7; rpc_SetErr(EBADRPC, "Error:: in prepare RPC packet values (-7) ...\n"); @@ -169,7 +169,7 @@ makeReply: } else { Limit += i; - rpc_srv_freeVals(f); + rpc_srv_freeVars(f); } } @@ -397,7 +397,7 @@ rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s return -1; } if (bind(srv->srv_blob.server.cli_sock, &srv->srv_blob.server.cli_sa.sa, - sizeof srv->srv_blob.server.cli_sa) == -1) { + srv->srv_blob.server.cli_sa.sa.sa_len) == -1) { LOGERR; close(srv->srv_blob.server.cli_sock); return -1; @@ -644,7 +644,8 @@ rpc_srv_initServer(u_int regProgID, u_int regProcID, i free(srv); return NULL; } - if (bind(srv->srv_server.cli_sock, &srv->srv_server.cli_sa.sa, sizeof srv->srv_server.cli_sa) == -1) { + if (bind(srv->srv_server.cli_sock, &srv->srv_server.cli_sa.sa, + srv->srv_server.cli_sa.sa.sa_len) == -1) { LOGERR; close(srv->srv_server.cli_sock); free(srv);