diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2011-04-07 17:52:20 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2011-04-07 17:52:20 +0200 |
commit | ca18311d0ae16a96e988df15a9009095f93df85e (patch) | |
tree | 2122c871968c5239049c18b785c2ff27c6593f4f /libbb | |
parent | 8e23fafadee75bbe275bb795d0b2c2121dad93e7 (diff) | |
download | busybox-w32-ca18311d0ae16a96e988df15a9009095f93df85e.tar.gz busybox-w32-ca18311d0ae16a96e988df15a9009095f93df85e.tar.bz2 busybox-w32-ca18311d0ae16a96e988df15a9009095f93df85e.zip |
libbb: make set_nport accept pointer to sockaddr, not to len_and_sockaddr.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/xconnect.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libbb/xconnect.c b/libbb/xconnect.c index 127e2a5fc..4b7c110d3 100644 --- a/libbb/xconnect.c +++ b/libbb/xconnect.c | |||
@@ -134,16 +134,18 @@ int FAST_FUNC get_nport(const struct sockaddr *sa) | |||
134 | return -1; | 134 | return -1; |
135 | } | 135 | } |
136 | 136 | ||
137 | void FAST_FUNC set_nport(len_and_sockaddr *lsa, unsigned port) | 137 | void FAST_FUNC set_nport(struct sockaddr *sa, unsigned port) |
138 | { | 138 | { |
139 | #if ENABLE_FEATURE_IPV6 | 139 | #if ENABLE_FEATURE_IPV6 |
140 | if (lsa->u.sa.sa_family == AF_INET6) { | 140 | if (sa->sa_family == AF_INET6) { |
141 | lsa->u.sin6.sin6_port = port; | 141 | struct sockaddr_in6 *sin6 = (void*) sa; |
142 | sin6->sin6_port = port; | ||
142 | return; | 143 | return; |
143 | } | 144 | } |
144 | #endif | 145 | #endif |
145 | if (lsa->u.sa.sa_family == AF_INET) { | 146 | if (sa->sa_family == AF_INET) { |
146 | lsa->u.sin.sin_port = port; | 147 | struct sockaddr_in *sin = (void*) sa; |
148 | sin->sin_port = port; | ||
147 | return; | 149 | return; |
148 | } | 150 | } |
149 | /* What? UNIX socket? IPX?? :) */ | 151 | /* What? UNIX socket? IPX?? :) */ |
@@ -283,7 +285,7 @@ IF_NOT_FEATURE_IPV6(sa_family_t af = AF_INET;) | |||
283 | memcpy(&r->u.sa, used_res->ai_addr, used_res->ai_addrlen); | 285 | memcpy(&r->u.sa, used_res->ai_addr, used_res->ai_addrlen); |
284 | 286 | ||
285 | set_port: | 287 | set_port: |
286 | set_nport(r, htons(port)); | 288 | set_nport(&r->u.sa, htons(port)); |
287 | ret: | 289 | ret: |
288 | if (result) | 290 | if (result) |
289 | freeaddrinfo(result); | 291 | freeaddrinfo(result); |
@@ -369,7 +371,7 @@ static int create_and_bind_or_die(const char *bindaddr, int port, int sock_type) | |||
369 | fd = xsocket(lsa->u.sa.sa_family, sock_type, 0); | 371 | fd = xsocket(lsa->u.sa.sa_family, sock_type, 0); |
370 | } else { | 372 | } else { |
371 | fd = xsocket_type(&lsa, IF_FEATURE_IPV6(AF_UNSPEC,) sock_type); | 373 | fd = xsocket_type(&lsa, IF_FEATURE_IPV6(AF_UNSPEC,) sock_type); |
372 | set_nport(lsa, htons(port)); | 374 | set_nport(&lsa->u.sa, htons(port)); |
373 | } | 375 | } |
374 | setsockopt_reuseaddr(fd); | 376 | setsockopt_reuseaddr(fd); |
375 | xbind(fd, &lsa->u.sa, lsa->len); | 377 | xbind(fd, &lsa->u.sa, lsa->len); |