diff options
author | Thomas Haller <thaller@redhat.com> | 2021-03-04 12:11:08 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2021-03-05 11:09:09 +0100 |
commit | 9c32ba19101db0d820ca77fda9ef733fd9399859 (patch) | |
tree | 2904b1752ac046c8d896e9f5842acbd8a0d3ba86 | |
parent | 1c0932a6e66880f5b4c92fcd2d13cbba29238a14 (diff) | |
download | NetworkManager-9c32ba19101db0d820ca77fda9ef733fd9399859.tar.gz |
glib-aux: add _nm_utils_hwaddr_ntoa_maybe_a() helper macro
-rw-r--r-- | src/libnm-glib-aux/nm-shared-utils.h | 14 |
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, \ |