summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-07-21 12:52:24 +0200
committerThomas Haller <thaller@redhat.com>2020-07-23 15:29:23 +0200
commitfb6e9795b7cf8a2d3e94a3460c009a2451d18db8 (patch)
tree57fbbb7e0cd4728c99d8ac5ad849c476014dface
parent99296d4c6caee60065286210f1f5fb4d653861bd (diff)
downloadNetworkManager-fb6e9795b7cf8a2d3e94a3460c009a2451d18db8.tar.gz
shared: add nm_g_array_append_new() helper
-rw-r--r--shared/nm-glib-aux/nm-shared-utils.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h
index 1fbf01131a..6aafd09e98 100644
--- a/shared/nm-glib-aux/nm-shared-utils.h
+++ b/shared/nm-glib-aux/nm-shared-utils.h
@@ -1519,6 +1519,18 @@ nm_g_array_len (const GArray *arr)
return arr ? arr->len : 0u;
}
+#define nm_g_array_append_new(arr, type) \
+ ({ \
+ GArray *_arr = (arr); \
+ gsize _l; \
+ \
+ nm_assert (_arr); \
+ _l = ((gsize) _arr->len) + 1u; \
+ nm_assert (_l > _arr->len); \
+ g_array_set_size (_arr, _l); \
+ &g_array_index (arr, type, _l); \
+ })
+
/*****************************************************************************/
static inline guint