user_list.c: Minor documentation impreovements.
[paraslash.git] / net.c
diff --git a/net.c b/net.c
index 7f8d596d7d648511aa6478db75bc706159874be0..543485e75c084a19ded62eff4f0393c29a157955 100644 (file)
--- a/net.c
+++ b/net.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2008 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -147,10 +147,11 @@ int makesock(unsigned l3type, unsigned l4type, int passive,
 {
        struct addrinfo *local = NULL, *src,
                        *remote = NULL, *dst, hints;
-       char            *port = make_message("%u", port_number);
        int             rc, on = 1, sockfd = -1,
                        socktype = sock_type(l4type);
+       char port[6]; /* port number has at most 5 digits */
 
+       sprintf(port, "%u", port_number);
        /* Set up address hint structure */
        memset(&hints, 0, sizeof(hints));
        hints.ai_family = l3type;
@@ -171,7 +172,7 @@ int makesock(unsigned l3type, unsigned l4type, int passive,
        if ((rc = getaddrinfo(host, port, &hints, passive ? &local : &remote))) {
                PARA_ERROR_LOG("can not resolve %s address %s#%s: %s.\n",
                                layer4_name(l4type),
-                               host?  : (passive? "[loopback]" : "[localhost]"),
+                               host? host : (passive? "[loopback]" : "[localhost]"),
                                port, gai_strerror(rc));
                return -E_ADDRESS_LOOKUP;
        }
@@ -225,7 +226,7 @@ get_next_src:
 
        if (src == NULL && dst == NULL) {
                PARA_ERROR_LOG("can not create %s socket %s#%s.\n",
-                       layer4_name(l4type), host?  : (passive?
+                       layer4_name(l4type), host? host : (passive?
                        "[loopback]" : "[localhost]"), port);
                return -ERRNO_TO_PARA_ERROR(errno);
        }
@@ -331,7 +332,7 @@ char *remote_name(int sockfd)
  */
 struct in_addr extract_v4_addr(const struct sockaddr_storage *ss)
 {
-       struct in_addr ia = { 0 };
+       struct in_addr ia = {.s_addr = 0};
 
        if (ss->ss_family == AF_INET)
                 ia.s_addr = ((struct sockaddr_in *)ss)->sin_addr.s_addr;
@@ -361,7 +362,7 @@ static int sendall(int fd, const char *buf, size_t *len)
        assert(total);
        *len = 0;
        while (*len < total) {
-               int ret = send(fd, buf + *len, total - *len, 0);
+               int ret = write(fd, buf + *len, total - *len);
                if (ret == -1)
                        return -ERRNO_TO_PARA_ERROR(errno);
                *len += ret;