socket.c
changeset 48 1c67f512779b
parent 39 0e21a65074a6
--- a/socket.c	Thu Aug 28 03:14:07 2008 +0300
+++ b/socket.c	Fri Aug 29 23:31:17 2008 +0300
@@ -101,6 +101,7 @@
 static int _socket_do (struct config_endpoint *endpoint, int *sock, int sock_type, struct sockaddr_storage *addr, enum socket_op sockop) {
     struct addrinfo *res = NULL, *info, _fake_res;
     struct sockaddr_un _fake_addr_un;
+    int err = -1;
 
     if (endpoint->family == PF_UNIX) {
         // getaddrinfo doesn't handle PF_UNIX, so we need to build a fake result
@@ -189,13 +190,14 @@
 
     if (*sock == -1)
         ERROR("no working results from getaddrinfo: %s#%s", endpoint->af.inet.addr, endpoint->af.inet.port);
-
-    return 0;
+    
+    // success
+    err = 0;
 
 error:
     if (res != 0 && res != &_fake_res)
         freeaddrinfo(res);
 
-    return -1;
+    return err;
 }