mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-05 03:00:29 +01:00
core: avoid compiler warning in nm_ip_config_iter_ip4_address_for_each() macro
In file included from src/nm-ip6-config.c:24:0:
src/nm-ip6-config.c: In function ‘nm_ip6_config_create_setting’:
src/nm-ip6-config.c:734:62: error: the address of ‘address’ will always evaluate as ‘true’ [-Werror=address]
nm_ip_config_iter_ip6_address_for_each (&ipconf_iter, self, &address) {
^
src/nm-ip6-config.h:60:17: note: in definition of macro ‘nm_ip_config_iter_ip6_address_for_each’
for (({ if (address) { *(((const NMPlatformIP6Address **) address)) = NULL; } }), nm_ip_config_iter_ip6_address_init ((iter), (self)); \
^
Fixes: 6e9aa9402a
This commit is contained in:
parent
44917a910a
commit
d686636bf0
3 changed files with 19 additions and 4 deletions
|
|
@ -687,6 +687,21 @@ nm_clear_g_cancellable (GCancellable **cancellable)
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
/* Only useful inside a macro to avoid compiler warning.
|
||||
*
|
||||
* Otherwise compiler might warn for "if (ptr)"
|
||||
* the address of ‘a’ will always evaluate as ‘true’ [-Werror=address]
|
||||
*
|
||||
* The trivial function avoids the compiler warning.
|
||||
*/
|
||||
static inline int
|
||||
_nm_is_null (const void *ptr)
|
||||
{
|
||||
return !!ptr;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/* Determine whether @x is a power of two (@x being an integer type).
|
||||
* Basically, this returns TRUE, if @x has exactly one bit set.
|
||||
* For negative values and zero, this always returns FALSE. */
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@ nm_ip_config_iter_ip4_route_next (NMDedupMultiIter *ipconf_iter, const NMPlatfor
|
|||
}
|
||||
|
||||
#define nm_ip_config_iter_ip4_address_for_each(iter, self, address) \
|
||||
for (({ if (address) { *((const NMPlatformIP4Address **) (address)) = NULL; } }), nm_ip_config_iter_ip4_address_init ((iter), (self)); \
|
||||
for (({ if (!_nm_is_null (address)) { *((const NMPlatformIP4Address **) (address)) = NULL; } }), nm_ip_config_iter_ip4_address_init ((iter), (self)); \
|
||||
nm_ip_config_iter_ip4_address_next ((iter), (address)); \
|
||||
)
|
||||
|
||||
#define nm_ip_config_iter_ip4_route_for_each(iter, self, route) \
|
||||
for (({ if (route) { *((const NMPlatformIP4Route **) (route)) = NULL; } }), nm_ip_config_iter_ip4_route_init ((iter), (self)); \
|
||||
for (({ if (!_nm_is_null (route)) { *((const NMPlatformIP4Route **) (route)) = NULL; } }), nm_ip_config_iter_ip4_route_init ((iter), (self)); \
|
||||
nm_ip_config_iter_ip4_route_next ((iter), (route)); \
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -57,12 +57,12 @@ nm_ip_config_iter_ip6_route_next (NMDedupMultiIter *ipconf_iter, const NMPlatfor
|
|||
}
|
||||
|
||||
#define nm_ip_config_iter_ip6_address_for_each(iter, self, address) \
|
||||
for (({ if (address) { *(((const NMPlatformIP6Address **) address)) = NULL; } }), nm_ip_config_iter_ip6_address_init ((iter), (self)); \
|
||||
for (({ if (!_nm_is_null (address)) { *(((const NMPlatformIP6Address **) address)) = NULL; } }), nm_ip_config_iter_ip6_address_init ((iter), (self)); \
|
||||
nm_ip_config_iter_ip6_address_next ((iter), (address)); \
|
||||
)
|
||||
|
||||
#define nm_ip_config_iter_ip6_route_for_each(iter, self, route) \
|
||||
for (({ if (route) { *((const NMPlatformIP6Route **) (route)) = NULL; } }), nm_ip_config_iter_ip6_route_init ((iter), (self)); \
|
||||
for (({ if (!_nm_is_null (route)) { *((const NMPlatformIP6Route **) (route)) = NULL; } }), nm_ip_config_iter_ip6_route_init ((iter), (self)); \
|
||||
nm_ip_config_iter_ip6_route_next ((iter), (route)); \
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue