From: Junio C Hamano Date: Mon, 1 Aug 2011 17:49:40 +0000 (-0700) Subject: Merge branch 'maint' into ef/ipv4-connect-error-report X-Git-Tag: v1.7.7-rc0~40^2~1 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=9353e09afa21b24fa356f960300e1c0a1567aa72;p=git.git Merge branch 'maint' into ef/ipv4-connect-error-report * maint: connect: correctly number ipv6 network adapter --- 9353e09afa21b24fa356f960300e1c0a1567aa72 diff --cc connect.c index 844107e29,b3585aba2..d2ce57f85 --- a/connect.c +++ b/connect.c @@@ -217,15 -216,21 +217,15 @@@ static int git_tcp_connect_sock(char *h if (flags & CONNECT_VERBOSE) fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port); - for (ai0 = ai; ai; ai = ai->ai_next) { + for (ai0 = ai; ai; ai = ai->ai_next, cnt++) { sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); - if (sockfd < 0) { - saved_errno = errno; - continue; - } - if (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0) { - saved_errno = errno; - fprintf(stderr, "%s[%d: %s]: errno=%s\n", - host, - cnt, - ai_name(ai), - strerror(saved_errno)); - close(sockfd); + if ((sockfd < 0) || + (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0)) { + strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n", + host, cnt, ai_name(ai), strerror(errno)); + if (0 <= sockfd) + close(sockfd); sockfd = -1; continue; }