aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-11-22 23:22:06 +0000
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-11-22 23:22:06 +0000
commit37688e448193085542c4b7bfa1c504439da48420 (patch)
treeb36bc84f22dd797b45c8d665e50e2f6c690e1370 /libbb
parent0adeb9a519691b6dee5135735836bd0694664c9e (diff)
downloadbusybox-w32-37688e448193085542c4b7bfa1c504439da48420.tar.gz
busybox-w32-37688e448193085542c4b7bfa1c504439da48420.tar.bz2
busybox-w32-37688e448193085542c4b7bfa1c504439da48420.zip
introduce setsockopt_reuseaddr(int fd), setsockopt_broadcast(int fd),
use them where appropriate. 200 bytes saved git-svn-id: svn://busybox.net/trunk/busybox@16641 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'libbb')
-rw-r--r--libbb/xconnect.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/libbb/xconnect.c b/libbb/xconnect.c
index 9f95e38f8..b85648007 100644
--- a/libbb/xconnect.c
+++ b/libbb/xconnect.c
@@ -67,6 +67,16 @@ int xconnect_tcp_v4(struct sockaddr_in *s_addr)
67 return s; 67 return s;
68} 68}
69 69
70static const int one = 1;
71int setsockopt_reuseaddr(int fd)
72{
73 return setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
74}
75int setsockopt_broadcast(int fd)
76{
77 return setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &one, sizeof(one));
78}
79
70int dotted2sockaddr(const char *dotted, struct sockaddr* sp, int socklen) 80int dotted2sockaddr(const char *dotted, struct sockaddr* sp, int socklen)
71{ 81{
72 union { 82 union {
@@ -116,7 +126,6 @@ int xsocket_stream_ip4or6(sa_family_t *fp)
116 126
117int create_and_bind_socket_ip4or6(const char *hostaddr, int port) 127int create_and_bind_socket_ip4or6(const char *hostaddr, int port)
118{ 128{
119 static const int on = 1;
120 int fd; 129 int fd;
121 sockaddr_inet sa; 130 sockaddr_inet sa;
122 131
@@ -128,7 +137,7 @@ int create_and_bind_socket_ip4or6(const char *hostaddr, int port)
128 fd = xsocket(sa.sa.sa_family, SOCK_STREAM, 0); 137 fd = xsocket(sa.sa.sa_family, SOCK_STREAM, 0);
129 } else 138 } else
130 fd = xsocket_stream_ip4or6(&sa.sa.sa_family); 139 fd = xsocket_stream_ip4or6(&sa.sa.sa_family);
131 setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); 140 setsockopt_reuseaddr(fd);
132 141
133 /* if (port >= 0) { */ 142 /* if (port >= 0) { */
134#if ENABLE_FEATURE_IPV6 143#if ENABLE_FEATURE_IPV6