Fix compilation warnings in tor_addr_make_null patch

There was one "missing prototype" warning because the test function
wasn't static, and one "unused parameter" warning about the "data"
parameter.

Also, I added a couple of tests to make sure that the "make_null"
addresses really were the addresses we expected, by formatting them
as strings.
This commit is contained in:
Nick Mathewson 2014-03-03 10:00:37 -05:00
parent 4deae59e1c
commit d98f743b28

View File

@ -971,11 +971,13 @@ test_addr_is_loopback(void *data)
;
}
void
static void
test_addr_make_null(void *data)
{
tor_addr_t *addr = tor_malloc(sizeof(*addr));
tor_addr_t *zeros = tor_calloc(1, sizeof(*addr));
tor_addr_t *zeros = tor_malloc_zero(sizeof(*addr));
char buf[TOR_ADDR_BUF_LEN];
(void) data;
/* Ensure that before tor_addr_make_null, addr != 0's */
memset(addr, 1, sizeof(*addr));
tt_int_op(memcmp(addr, zeros, sizeof(*addr)), !=, 0);
@ -983,11 +985,13 @@ test_addr_make_null(void *data)
zeros->family = AF_INET;
tor_addr_make_null(addr, AF_INET);
tt_int_op(memcmp(addr, zeros, sizeof(*addr)), ==, 0);
tt_str_op(tor_addr_to_str(buf, addr, sizeof(buf), 0), ==, "0.0.0.0");
/* Test with AF == AF_INET6 */
memset(addr, 1, sizeof(*addr));
zeros->family = AF_INET6;
tor_addr_make_null(addr, AF_INET6);
tt_int_op(memcmp(addr, zeros, sizeof(*addr)), ==, 0);
tt_str_op(tor_addr_to_str(buf, addr, sizeof(buf), 0), ==, "::");
done:
tor_free(addr);
tor_free(zeros);