From ffd47da5dc9fcc2c1220bd4db9c9008db0571234 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 22 Aug 2017 16:38:05 +0200 Subject: [PATCH] platform: use _Generic() for NM_PLATFORM_IP_ROUTE_IS_DEFAULT() macro Avoid the plain cast and use _Generic() to check the type of @route argument. --- src/platform/nm-platform.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h index 841c5e77a7..6575634bed 100644 --- a/src/platform/nm-platform.h +++ b/src/platform/nm-platform.h @@ -420,8 +420,23 @@ typedef struct { }; } NMPlatformIPRoute; +#if _NM_CC_SUPPORT_GENERIC +#define NM_PLATFORM_IP_ROUTE_IS_DEFAULT(route) \ + (_Generic ((route), \ + const NMPlatformIPRoute *: ((const NMPlatformIPRoute *) (route))->plen, \ + NMPlatformIPRoute *: ((const NMPlatformIPRoute *) (route))->plen, \ + const NMPlatformIPXRoute *: ((const NMPlatformIPRoute *) (route))->plen, \ + NMPlatformIPXRoute *: ((const NMPlatformIPRoute *) (route))->plen, \ + const NMPlatformIP4Route *: ((const NMPlatformIPRoute *) (route))->plen, \ + NMPlatformIP4Route *: ((const NMPlatformIPRoute *) (route))->plen, \ + const NMPlatformIP6Route *: ((const NMPlatformIPRoute *) (route))->plen, \ + NMPlatformIP6Route *: ((const NMPlatformIPRoute *) (route))->plen, \ + const void *: ((const NMPlatformIPRoute *) (route))->plen, \ + void *: ((const NMPlatformIPRoute *) (route))->plen) == 0) +#else #define NM_PLATFORM_IP_ROUTE_IS_DEFAULT(route) \ ( ((const NMPlatformIPRoute *) (route))->plen <= 0 ) +#endif struct _NMPlatformIP4Route { __NMPlatformIPRoute_COMMON;