X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a3a841073e6e3d5a560c072c8bc7bbd770740235..2b284ee33d97c4414c49c45720a3566a58a93a18:/socket.c diff --git a/socket.c b/socket.c index fc01edf9..140480bc 100644 --- a/socket.c +++ b/socket.c @@ -48,11 +48,11 @@ static int establish_proxy_connection(int fd, char *host, int port, int len; if (proxy_user && proxy_pass) { - snprintf(buffer, sizeof buffer, "%s:%s", - proxy_user, proxy_pass); + stringjoin(buffer, sizeof buffer, + proxy_user, ":", proxy_pass, NULL); len = strlen(buffer); - if ((len*8 + 5) / 6 - 2 >= (int)sizeof authbuf) { + if ((len*8 + 5) / 6 >= (int)sizeof authbuf) { rprintf(FERROR, "authentication information is too long\n"); return -1; @@ -431,10 +431,10 @@ int is_a_socket(int fd) static RETSIGTYPE sigchld_handler(UNUSED(int val)) { - signal(SIGCHLD, sigchld_handler); #ifdef WNOHANG while (waitpid(-1, NULL, WNOHANG) > 0) {} #endif + signal(SIGCHLD, sigchld_handler); } @@ -698,7 +698,7 @@ static int socketpair_tcp(int fd[2]) goto failed; memset(&sock2, 0, sizeof sock2); -#ifdef HAVE_SOCKADDR_LEN +#if HAVE_SOCKADDR_IN_LEN sock2.sin_len = sizeof sock2; #endif sock2.sin_family = PF_INET;