From c413d7c6574dc58c0bb39bc5d7b08d0d5961cff7 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 8 Sep 2022 08:35:41 +0200 Subject: [PATCH] glib-aux: add NM_IN6ADDR_INIT() macro and use it --- src/libnm-glib-aux/nm-inet-utils.h | 24 ++++++++++++++++++++++++ src/libnm-platform/nm-platform.c | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/libnm-glib-aux/nm-inet-utils.h b/src/libnm-glib-aux/nm-inet-utils.h index d9246d459b..043ad79930 100644 --- a/src/libnm-glib-aux/nm-inet-utils.h +++ b/src/libnm-glib-aux/nm-inet-utils.h @@ -25,6 +25,30 @@ typedef struct _NMIPAddr { .array = { 0 } \ } +#define _NM_IN6ADDR_INIT(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af) \ + { \ + .s6_addr = { \ + (a0), \ + (a1), \ + (a2), \ + (a3), \ + (a4), \ + (a5), \ + (a6), \ + (a7), \ + (a8), \ + (a9), \ + (aa), \ + (ab), \ + (ac), \ + (ad), \ + (ae), \ + (af), \ + } \ + } + +#define NM_IN6ADDR_INIT(...) ((struct in6_addr) _NM_IN6ADDR_INIT(__VA_ARGS__)) + extern const NMIPAddr nm_ip_addr_zero; /* This doesn't really belong here, but since it's convenient to re-use nm_ip_addr_zero.ether_addr diff --git a/src/libnm-platform/nm-platform.c b/src/libnm-platform/nm-platform.c index ff635b33fe..b4ecc34e4e 100644 --- a/src/libnm-platform/nm-platform.c +++ b/src/libnm-platform/nm-platform.c @@ -4853,7 +4853,8 @@ nm_platform_ip_route_get_prune_list(NMPlatform *self, .table_coerced = nm_platform_route_table_coerce(local_table), .rt_pref = NM_ICMPV6_ROUTER_PREF_MEDIUM, .gateway = IN6ADDR_ANY_INIT, - .network = {{{0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}}, + .network = + NM_IN6ADDR_INIT(0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), }; }