@ -204,15 +204,16 @@ static int tr2_dst_try_uds_connect(const char *path, int sock_type, int *out_fd)
@@ -204,15 +204,16 @@ static int tr2_dst_try_uds_connect(const char *path, int sock_type, int *out_fd)
fd = socket(AF_UNIX, sock_type, 0);
if (fd == -1)
return errno;
return -1;
sa.sun_family = AF_UNIX;
strlcpy(sa.sun_path, path, sizeof(sa.sun_path));
if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) == -1) {
int e = errno;
int saved_errno = errno;
close(fd);
return e;
errno = saved_errno;
return -1;
}
*out_fd = fd;
@ -227,7 +228,6 @@ static int tr2_dst_try_unix_domain_socket(struct tr2_dst *dst,
@@ -227,7 +228,6 @@ static int tr2_dst_try_unix_domain_socket(struct tr2_dst *dst,
{
unsigned int uds_try = 0;
int fd;
int e;
const char *path = NULL;
/*
@ -271,15 +271,13 @@ static int tr2_dst_try_unix_domain_socket(struct tr2_dst *dst,
@@ -271,15 +271,13 @@ static int tr2_dst_try_unix_domain_socket(struct tr2_dst *dst,
}
if (uds_try & TR2_DST_UDS_TRY_STREAM) {
e = tr2_dst_try_uds_connect(path, SOCK_STREAM, &fd);
if (!e)
if (!tr2_dst_try_uds_connect(path, SOCK_STREAM, &fd))
goto connected;
if (e != EPROTOTYPE)
if (errno != EPROTOTYPE)
goto error;
}
if (uds_try & TR2_DST_UDS_TRY_DGRAM) {
e = tr2_dst_try_uds_connect(path, SOCK_DGRAM, &fd);
if (!e)
if (!tr2_dst_try_uds_connect(path, SOCK_DGRAM, &fd))