diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-01-29 10:33:34 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-01-29 10:33:34 +0000 |
commit | 8c69afd992d7cc6c2fc7dea59c3c2bd3f3c21f15 (patch) | |
tree | 998a337ecd57b737423a3793365519213f97da72 /libbb | |
parent | c882f341cec8451ee87af6746abb7208272d5b1a (diff) | |
download | busybox-w32-8c69afd992d7cc6c2fc7dea59c3c2bd3f3c21f15.tar.gz busybox-w32-8c69afd992d7cc6c2fc7dea59c3c2bd3f3c21f15.tar.bz2 busybox-w32-8c69afd992d7cc6c2fc7dea59c3c2bd3f3c21f15.zip |
- be C99 friendly. Anonymous unions are a GNU extension. This change is
size-neutral WRT -std=gnu99 and fixes several compilation errors for strict
C99 mode.
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/xconnect.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/libbb/xconnect.c b/libbb/xconnect.c index 91c12f4d3..03ae77329 100644 --- a/libbb/xconnect.c +++ b/libbb/xconnect.c | |||
@@ -99,13 +99,13 @@ int get_nport(const struct sockaddr *sa) | |||
99 | void set_nport(len_and_sockaddr *lsa, unsigned port) | 99 | void set_nport(len_and_sockaddr *lsa, unsigned port) |
100 | { | 100 | { |
101 | #if ENABLE_FEATURE_IPV6 | 101 | #if ENABLE_FEATURE_IPV6 |
102 | if (lsa->sa.sa_family == AF_INET6) { | 102 | if (lsa->u.sa.sa_family == AF_INET6) { |
103 | lsa->sin6.sin6_port = port; | 103 | lsa->u.sin6.sin6_port = port; |
104 | return; | 104 | return; |
105 | } | 105 | } |
106 | #endif | 106 | #endif |
107 | if (lsa->sa.sa_family == AF_INET) { | 107 | if (lsa->u.sa.sa_family == AF_INET) { |
108 | lsa->sin.sin_port = port; | 108 | lsa->u.sin.sin_port = port; |
109 | return; | 109 | return; |
110 | } | 110 | } |
111 | /* What? UNIX socket? IPX?? :) */ | 111 | /* What? UNIX socket? IPX?? :) */ |
@@ -182,9 +182,9 @@ USE_FEATURE_IPV6(sa_family_t af,) | |||
182 | } | 182 | } |
183 | } | 183 | } |
184 | #endif | 184 | #endif |
185 | r = xmalloc(offsetof(len_and_sockaddr, sa) + used_res->ai_addrlen); | 185 | r = xmalloc(offsetof(len_and_sockaddr, u.sa) + used_res->ai_addrlen); |
186 | r->len = used_res->ai_addrlen; | 186 | r->len = used_res->ai_addrlen; |
187 | memcpy(&r->sa, used_res->ai_addr, used_res->ai_addrlen); | 187 | memcpy(&r->u.sa, used_res->ai_addr, used_res->ai_addrlen); |
188 | set_nport(r, htons(port)); | 188 | set_nport(r, htons(port)); |
189 | ret: | 189 | ret: |
190 | freeaddrinfo(result); | 190 | freeaddrinfo(result); |
@@ -246,9 +246,9 @@ int xsocket_type(len_and_sockaddr **lsap, USE_FEATURE_IPV6(int family,) int sock | |||
246 | len = sizeof(struct sockaddr_in6); | 246 | len = sizeof(struct sockaddr_in6); |
247 | } | 247 | } |
248 | #endif | 248 | #endif |
249 | lsa = xzalloc(offsetof(len_and_sockaddr, sa) + len); | 249 | lsa = xzalloc(offsetof(len_and_sockaddr, u.sa) + len); |
250 | lsa->len = len; | 250 | lsa->len = len; |
251 | lsa->sa.sa_family = family; | 251 | lsa->u.sa.sa_family = family; |
252 | *lsap = lsa; | 252 | *lsap = lsa; |
253 | return fd; | 253 | return fd; |
254 | } | 254 | } |
@@ -266,13 +266,13 @@ static int create_and_bind_or_die(const char *bindaddr, int port, int sock_type) | |||
266 | if (bindaddr && bindaddr[0]) { | 266 | if (bindaddr && bindaddr[0]) { |
267 | lsa = xdotted2sockaddr(bindaddr, port); | 267 | lsa = xdotted2sockaddr(bindaddr, port); |
268 | /* user specified bind addr dictates family */ | 268 | /* user specified bind addr dictates family */ |
269 | fd = xsocket(lsa->sa.sa_family, sock_type, 0); | 269 | fd = xsocket(lsa->u.sa.sa_family, sock_type, 0); |
270 | } else { | 270 | } else { |
271 | fd = xsocket_type(&lsa, USE_FEATURE_IPV6(AF_UNSPEC,) sock_type); | 271 | fd = xsocket_type(&lsa, USE_FEATURE_IPV6(AF_UNSPEC,) sock_type); |
272 | set_nport(lsa, htons(port)); | 272 | set_nport(lsa, htons(port)); |
273 | } | 273 | } |
274 | setsockopt_reuseaddr(fd); | 274 | setsockopt_reuseaddr(fd); |
275 | xbind(fd, &lsa->sa, lsa->len); | 275 | xbind(fd, &lsa->u.sa, lsa->len); |
276 | free(lsa); | 276 | free(lsa); |
277 | return fd; | 277 | return fd; |
278 | } | 278 | } |
@@ -294,17 +294,17 @@ int create_and_connect_stream_or_die(const char *peer, int port) | |||
294 | len_and_sockaddr *lsa; | 294 | len_and_sockaddr *lsa; |
295 | 295 | ||
296 | lsa = xhost2sockaddr(peer, port); | 296 | lsa = xhost2sockaddr(peer, port); |
297 | fd = xsocket(lsa->sa.sa_family, SOCK_STREAM, 0); | 297 | fd = xsocket(lsa->u.sa.sa_family, SOCK_STREAM, 0); |
298 | setsockopt_reuseaddr(fd); | 298 | setsockopt_reuseaddr(fd); |
299 | xconnect(fd, &lsa->sa, lsa->len); | 299 | xconnect(fd, &lsa->u.sa, lsa->len); |
300 | free(lsa); | 300 | free(lsa); |
301 | return fd; | 301 | return fd; |
302 | } | 302 | } |
303 | 303 | ||
304 | int xconnect_stream(const len_and_sockaddr *lsa) | 304 | int xconnect_stream(const len_and_sockaddr *lsa) |
305 | { | 305 | { |
306 | int fd = xsocket(lsa->sa.sa_family, SOCK_STREAM, 0); | 306 | int fd = xsocket(lsa->u.sa.sa_family, SOCK_STREAM, 0); |
307 | xconnect(fd, &lsa->sa, lsa->len); | 307 | xconnect(fd, &lsa->u.sa, lsa->len); |
308 | return fd; | 308 | return fd; |
309 | } | 309 | } |
310 | 310 | ||