X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=net.c;h=543485e75c084a19ded62eff4f0393c29a157955;hp=7f8d596d7d648511aa6478db75bc706159874be0;hb=0e3c47b7574734806fc5c1e692c3df55482d8314;hpb=78200714a07173565ecff4adc8d12b87895017f3 diff --git a/net.c b/net.c index 7f8d596d..543485e7 100644 --- a/net.c +++ b/net.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2007 Andre Noll + * Copyright (C) 2005-2008 Andre Noll * * 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;