mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-25 02:03:42 +00:00
Refine buffer handling
This commit is contained in:
+3
-5
@@ -77,7 +77,7 @@ size_t get_sockaddr(char *host, char *port, struct sockaddr_storage *storage, in
|
||||
struct addrinfo *result, *rp;
|
||||
|
||||
memset(&hints, 0, sizeof(struct addrinfo));
|
||||
hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */
|
||||
hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */
|
||||
hints.ai_socktype = SOCK_STREAM; /* We want a TCP socket */
|
||||
|
||||
int err, i;
|
||||
@@ -97,20 +97,18 @@ size_t get_sockaddr(char *host, char *port, struct sockaddr_storage *storage, in
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (rp = result; rp != NULL; rp = rp->ai_next) {
|
||||
for (rp = result; rp != NULL; rp = rp->ai_next)
|
||||
if (rp->ai_family == AF_INET) {
|
||||
memcpy(storage, rp->ai_addr, sizeof(struct sockaddr_in));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (rp == NULL) {
|
||||
for (rp = result; rp != NULL; rp = rp->ai_next) {
|
||||
for (rp = result; rp != NULL; rp = rp->ai_next)
|
||||
if (rp->ai_family == AF_INET6) {
|
||||
memcpy(storage, rp->ai_addr, sizeof(struct sockaddr_in6));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (rp == NULL) {
|
||||
|
||||
Reference in New Issue
Block a user