--- libaitrpc/src/srv.c 2012/03/13 17:15:31 1.6.2.5 +++ libaitrpc/src/srv.c 2012/03/13 17:21:52 1.6.2.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.6.2.5 2012/03/13 17:15:31 misho Exp $ +* $Id: srv.c,v 1.6.2.6 2012/03/13 17:21:52 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -421,7 +421,7 @@ rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s LOGERR; return -1; } else - srv->srv_blob.dir = strdup(diskDir); + AIT_SET_STR(&srv->srv_blob.dir, diskDir); srv->srv_blob.server.cli_tid = pthread_self(); srv->srv_blob.server.cli_parent = srv; @@ -438,7 +438,7 @@ rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s strlcat(sa.sun.sun_path, ".blob", sizeof sa.sun.sun_path); break; default: - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); return -1; } memcpy(&srv->srv_blob.server.cli_sa, &sa, sizeof sa); @@ -447,33 +447,33 @@ rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s srv->srv_blob.server.cli_sock = socket(srv->srv_server.cli_sa.sa.sa_family, SOCK_STREAM, 0); if (srv->srv_blob.server.cli_sock == -1) { LOGERR; - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); return -1; } if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_REUSEADDR, &n, sizeof n) == -1) { LOGERR; close(srv->srv_blob.server.cli_sock); - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); return -1; } n = srv->srv_netbuf; if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_SNDBUF, &n, sizeof n) == -1) { LOGERR; close(srv->srv_blob.server.cli_sock); - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); return -1; } if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_RCVBUF, &n, sizeof n) == -1) { LOGERR; close(srv->srv_blob.server.cli_sock); - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); return -1; } if (bind(srv->srv_blob.server.cli_sock, &srv->srv_blob.server.cli_sa.sa, srv->srv_blob.server.cli_sa.sa.sa_len) == -1) { LOGERR; close(srv->srv_blob.server.cli_sock); - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); return -1; } @@ -482,7 +482,7 @@ rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s if (!srv->srv_blob.clients) { LOGERR; close(srv->srv_blob.server.cli_sock); - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); return -1; } else memset(srv->srv_blob.clients, 0, srv->srv_numcli * sizeof(rpc_cli_t)); @@ -522,8 +522,7 @@ rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) rpc_srv_unregisterCall(srv, NULL, CALL_BLOBVARS); rpc_srv_unregisterCall(srv, NULL, CALL_BLOBSTATE); - if (srv->srv_blob.dir) - free(srv->srv_blob.dir); + AIT_FREE_VAL(&srv->srv_blob.dir); /* close all clients connections & server socket */ for (i = 0, c = srv->srv_blob.clients; i < srv->srv_numcli && c; i++, c++)