summaryrefslogtreecommitdiffstats
path: root/tests/sockaddr_str/sockaddr_str_test.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-11-11 19:20:42 +0100
committerlaforge <laforge@osmocom.org>2019-11-23 07:58:47 +0000
commitdf22b006333d67a17b6627fba3ce468a11daa8b1 (patch)
tree23139f5413d35eb83ab5aceb4d5599cab7261193 /tests/sockaddr_str/sockaddr_str_test.c
parente883de54f8ab54ab84ffb75d68a5d5e100438d6f (diff)
osmo_sockaddr_str: API doc: fix 32bit addr mixup of host/network byte order
Of course both v4 and v6 addresses are kept in network byte order when represented in bytes, but when writing, I somehow must have assumed that inet_pton() returns host byte order. Fix that mixup in the API docs: osmo_sockaddr_str_from_32() and osmo_sockaddr_str_to_32() actually use network byte order. osmo_sockaddr_str_from_32n() and osmo_sockaddr_str_to_32n() actually use host byte order, though reflecting 'n' in their name. sockaddr_str_test: use hexdump instead of %x to show the osmo_sockaddr_str_to_32*() conversions so that the error becomes obvious. (Printing %x reverses the bytes again and made it look correct.) Change-Id: I3cf150cc0cc06dd36039fbde091bc71b01697322
Diffstat (limited to 'tests/sockaddr_str/sockaddr_str_test.c')
-rw-r--r--tests/sockaddr_str/sockaddr_str_test.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/sockaddr_str/sockaddr_str_test.c b/tests/sockaddr_str/sockaddr_str_test.c
index 7d8fe4f3..7e015ce7 100644
--- a/tests/sockaddr_str/sockaddr_str_test.c
+++ b/tests/sockaddr_str/sockaddr_str_test.c
@@ -149,7 +149,8 @@ void sockaddr_str_test_conversions()
uint32_t a = 0;
rc = osmo_sockaddr_str_to_32(x, &a);
- printf(" osmo_sockaddr_str_to_32() %s uint32_t=0x%x\n", rc_name(rc), a);
+ printf(" osmo_sockaddr_str_to_32() %s uint8_t[4]=[ %s]\n", rc_name(rc),
+ osmo_hexdump((void*)&a, sizeof(a)));
if (rc == 0) {
struct osmo_sockaddr_str back;
@@ -165,7 +166,8 @@ void sockaddr_str_test_conversions()
uint32_t a = 0;
rc = osmo_sockaddr_str_to_32n(x, &a);
- printf(" osmo_sockaddr_str_to_32n() %s uint32_t=0x%x\n", rc_name(rc), a);
+ printf(" osmo_sockaddr_str_to_32n() %s uint8_t[4]=[ %s]\n", rc_name(rc),
+ osmo_hexdump((void*)&a, sizeof(a)));
if (rc == 0) {
struct osmo_sockaddr_str back;