From 82cd0a8689d3c709eb2c588a4c5fed8f1a90359a Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 17 May 2021 13:41:00 +0200 Subject: [PATCH] glib-aux: add nm_ip_addr_from_packed_array() helper --- src/libnm-glib-aux/nm-shared-utils.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h index 7bd3845a56..202bfd40bf 100644 --- a/src/libnm-glib-aux/nm-shared-utils.h +++ b/src/libnm-glib-aux/nm-shared-utils.h @@ -290,6 +290,14 @@ nm_ip4_addr_is_localhost(in_addr_t addr4) return (addr4 & htonl(0xFF000000u)) == htonl(0x7F000000u); } +static inline gconstpointer +nm_ip_addr_from_packed_array(int addr_family, gconstpointer ipaddr_arr, gsize idx) +{ + return NM_IS_IPv4(addr_family) + ? ((gconstpointer) & (((const struct in_addr *) ipaddr_arr)[idx])) + : ((gconstpointer) & (((const struct in6_addr *) ipaddr_arr)[idx])); +} + /*****************************************************************************/ struct ether_addr;