sock: return the correct errno on connection error

close(2) will clobber errno, so we need to stash it in a temporary variable.

Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
1 files changed, 3 insertions(+), 1 deletions(-)

M sock.c
M sock.c +3 -1
@@ 140,8 140,10 @@ int connect_ip(const char *host, uint16_
 		}
 
 		if (connect(sock, p->ai_addr, p->ai_addrlen) == -1) {
+			const int tmp = -errno;
+
 			close(sock);
-			sock = -errno;
+			sock = tmp;
 			continue;
 		}