summary refs log tree commit diff
path: root/src/platform/nm-netlink.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2020-06-28 18:58:14 +0200
committerMichael Biebl <biebl@debian.org>2020-06-28 18:58:14 +0200
commita54ac63bbf9b2c71026ac9028a8ffaf186cf3c82 (patch)
tree6a32883bd916c4096357b35298beff6db8bcd0b5 /src/platform/nm-netlink.h
parent45e8e1149027529194982212c804c0468aa01d98 (diff)
New upstream version 1.25.90 upstream/1.25.90
Diffstat (limited to 'src/platform/nm-netlink.h')
-rw-r--r--src/platform/nm-netlink.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/platform/nm-netlink.h b/src/platform/nm-netlink.h
index 0ac5b3b7..a5124f52 100644
--- a/src/platform/nm-netlink.h
+++ b/src/platform/nm-netlink.h
@@ -77,17 +77,13 @@ struct nla_policy {
 /* static asserts that @tb and @policy are suitable arguments to nla_parse(). */
 #define _nl_static_assert_tb(tb, policy) \
 	G_STMT_START { \
-		\
 		G_STATIC_ASSERT_EXPR (G_N_ELEMENTS (tb) > 0); \
 		\
-		/* we allow @policy to be either NULL or a C array. */ \
-		G_STATIC_ASSERT_EXPR (   sizeof (policy) == sizeof (NULL) \
-		                      || G_N_ELEMENTS (tb) == (sizeof (policy) / sizeof (struct nla_policy))); \
-		\
-		/* For above check to work, we don't support policy being an array with same size as
-		 * sizeof(NULL), otherwise, the compile time check breaks down. */ \
-		G_STATIC_ASSERT_EXPR (sizeof (NULL) != G_N_ELEMENTS (tb) * sizeof (struct nla_policy)); \
-		\
+		/* We allow @policy to be either a C array or NULL. The sizeof()
+		 * must either match the expected array size or the sizeof(NULL),
+		 * but not both. */ \
+		G_STATIC_ASSERT_EXPR (  (sizeof (policy) == G_N_ELEMENTS (tb) * sizeof (struct nla_policy)) \
+		                      ^ (sizeof (policy) == sizeof (NULL))); \
 	} G_STMT_END
 
 /*****************************************************************************/