From 3a599ba4541b2c428e3467650b9ad0a2364b41e6 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 22 Nov 2015 12:30:46 +0100 Subject: [PATCH] wds: make ipv6 address endian swap more portable Signed-off-by: Felix Fietkau --- commands-wds.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/commands-wds.c b/commands-wds.c index fabb5f4..fca5fe7 100644 --- a/commands-wds.c +++ b/commands-wds.c @@ -211,13 +211,12 @@ static void wds_to_ipv4(const char *name, const uint32_t addr) static void wds_to_ipv6(const char *name, const uint16_t *addr) { - int i; - struct in6_addr ip_addr; char buf[INET6_ADDRSTRLEN]; + uint16_t ip_addr[8]; + int i; - for (i = 0; i < ARRAY_SIZE(ip_addr.s6_addr16); i++) { - ip_addr.s6_addr16[i] = htons(addr[i]); - } + for (i = 0; i < ARRAY_SIZE(ip_addr); i++) + ip_addr[i] = htons(addr[i]); blobmsg_add_string(&status, name, inet_ntop(AF_INET6, &ip_addr, buf, sizeof(buf))); } -- 2.11.0