summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-03-04 12:11:08 +0100
committerThomas Haller <thaller@redhat.com>2021-03-05 11:09:09 +0100
commit9c32ba19101db0d820ca77fda9ef733fd9399859 (patch)
tree2904b1752ac046c8d896e9f5842acbd8a0d3ba86
parent1c0932a6e66880f5b4c92fcd2d13cbba29238a14 (diff)
downloadNetworkManager-9c32ba19101db0d820ca77fda9ef733fd9399859.tar.gz
glib-aux: add _nm_utils_hwaddr_ntoa_maybe_a() helper macro
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h
index 7d330458c1..b30d27bda4 100644
--- a/src/libnm-glib-aux/nm-shared-utils.h
+++ b/src/libnm-glib-aux/nm-shared-utils.h
@@ -2198,6 +2198,20 @@ _nm_utils_hwaddr_ntoa(gconstpointer addr,
return nm_utils_bin2hexstr_full(addr, addr_len, ':', upper_case, buf);
}
+#define _nm_utils_hwaddr_ntoa_maybe_a(addr, addr_len, buf_to_free) \
+ ({ \
+ gconstpointer const _addr = (addr); \
+ const gsize _addr_len = (addr_len); \
+ char **const _buf_to_free = (buf_to_free); \
+ \
+ nm_utils_bin2hexstr_full( \
+ _addr, \
+ _addr_len, \
+ ':', \
+ TRUE, \
+ nm_malloc_maybe_a(3 * 20, _addr_len ? (_addr_len * 3u) : 1u, _buf_to_free)); \
+ })
+
/*****************************************************************************/
#define _NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(fcn_name, \