summaryrefslogtreecommitdiff
path: root/common/socket.c
diff options
context:
space:
mode:
authorShane Kerr <shane@isc.org>2007-08-22 13:41:37 +0000
committerShane Kerr <shane@isc.org>2007-08-22 13:41:37 +0000
commit06eb8bab557b390c5215d830cb947fba54f6816b (patch)
treed5a94c90f1962ba8907fd5834f61c15baa0be384 /common/socket.c
parentaf00522b3ef2405e9516f3ce2b53afbdcb30d8ca (diff)
downloadisc-dhcp-06eb8bab557b390c5215d830cb947fba54f6816b.tar.gz
Fix a number of warnings (and a few real bugs) found by enabling
gcc warnings. See RT ticket #17013 for more.
Diffstat (limited to 'common/socket.c')
-rw-r--r--common/socket.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/common/socket.c b/common/socket.c
index ccd8ae08..13904a35 100644
--- a/common/socket.c
+++ b/common/socket.c
@@ -120,17 +120,8 @@ if_register_socket(struct interface_info *info, int family, int do_multicast) {
* address family.
*/
memset(&name, 0, sizeof(name));
- if (family == AF_INET) {
- struct sockaddr_in *addr = (struct sockaddr_in *)&name;
- addr->sin_family = AF_INET;
- addr->sin_port = local_port;
- memcpy(&addr->sin_addr,
- &local_address,
- sizeof(addr->sin_addr));
- name_len = sizeof(*addr);
- domain = PF_INET;
#ifdef DHCPv6
- } else {
+ if (family == AF_INET6) {
struct sockaddr_in6 *addr = (struct sockaddr_in6 *)&name;
addr->sin6_family = AF_INET6;
addr->sin6_port = local_port;
@@ -139,7 +130,18 @@ if_register_socket(struct interface_info *info, int family, int do_multicast) {
sizeof(addr->sin6_addr));
name_len = sizeof(*addr);
domain = PF_INET6;
+ } else {
+#else
+ {
#endif /* DHCPv6 */
+ struct sockaddr_in *addr = (struct sockaddr_in *)&name;
+ addr->sin_family = AF_INET;
+ addr->sin_port = local_port;
+ memcpy(&addr->sin_addr,
+ &local_address,
+ sizeof(addr->sin_addr));
+ name_len = sizeof(*addr);
+ domain = PF_INET;
}
/* Make a socket... */