diff options
author | Andreas Schneider <asn@samba.org> | 2014-08-29 10:33:16 +0200 |
---|---|---|
committer | Andreas Schneider <asn@samba.org> | 2014-09-01 09:48:32 +0200 |
commit | 0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510 (patch) | |
tree | 3f597d91648f3e2b71ae58fc13a6cce5e3763c9c /tests/test_echo_tcp_connect.c | |
parent | fa6fee05250c844eb0e00ee47b87ea2e5cd383bf (diff) | |
download | socket_wrapper-0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510.tar.gz socket_wrapper-0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510.tar.xz socket_wrapper-0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510.zip |
tests: Fix type punning warnings.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'tests/test_echo_tcp_connect.c')
-rw-r--r-- | tests/test_echo_tcp_connect.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/tests/test_echo_tcp_connect.c b/tests/test_echo_tcp_connect.c index b20e453..0697e13 100644 --- a/tests/test_echo_tcp_connect.c +++ b/tests/test_echo_tcp_connect.c @@ -27,8 +27,9 @@ static void teardown(void **state) static void test_connect_broadcast_ipv4(void **state) { - struct sockaddr_in sin; - socklen_t slen = sizeof(struct sockaddr_in); + struct torture_address addr = { + .sa_socklen = sizeof(struct sockaddr_in), + }; int rc; int s; @@ -37,13 +38,12 @@ static void test_connect_broadcast_ipv4(void **state) s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); assert_int_not_equal(s, -1); - ZERO_STRUCT(sin); - sin.sin_family = AF_INET; - sin.sin_port = htons(torture_server_port()); - sin.sin_addr.s_addr = INADDR_BROADCAST; + addr.sa.in.sin_family = AF_INET; + addr.sa.in.sin_port = htons(torture_server_port()); + addr.sa.in.sin_addr.s_addr = INADDR_BROADCAST; /* We don't allow connect to broadcast addresses */ - rc = connect(s, (struct sockaddr *)&sin, slen); + rc = connect(s, &addr.sa.s, addr.sa_socklen); assert_int_equal(rc, -1); close(s); @@ -52,8 +52,9 @@ static void test_connect_broadcast_ipv4(void **state) #ifdef HAVE_IPV6 static void test_connect_downgrade_ipv6(void **state) { - struct sockaddr_in sin; - socklen_t slen = sizeof(struct sockaddr_in); + struct torture_address addr = { + .sa_socklen = sizeof(struct sockaddr_in), + }; int rc; int s; @@ -62,17 +63,16 @@ static void test_connect_downgrade_ipv6(void **state) s = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP); assert_int_not_equal(s, -1); - ZERO_STRUCT(sin); - sin.sin_family = AF_INET; - sin.sin_port = htons(torture_server_port()); + addr.sa.in.sin_family = AF_INET; + addr.sa.in.sin_port = htons(torture_server_port()); - rc = inet_pton(sin.sin_family, + rc = inet_pton(addr.sa.in.sin_family, torture_server_address(AF_INET), - &sin.sin_addr); + &addr.sa.in.sin_addr); assert_int_equal(rc, 1); /* Connect should downgrade to IPv4 and allow the connect */ - rc = connect(s, (struct sockaddr *)&sin, slen); + rc = connect(s, &addr.sa.in, addr.sa_socklen); assert_int_equal(rc, 0); close(s); |