From 2bfe9becd956260d336981dc11e159b6fc0644df Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 22 Oct 2020 16:25:32 +0200 Subject: [PATCH] shared: introduce opaque type NMUtilsUserData for nm_utils_user_data_pack() This makes the usage slightly more type safe. (cherry picked from commit 6e44842dc69d03549e1a3bd842988308d2969fd3) --- shared/nm-glib-aux/nm-shared-utils.c | 8 ++++---- shared/nm-glib-aux/nm-shared-utils.h | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/shared/nm-glib-aux/nm-shared-utils.c b/shared/nm-glib-aux/nm-shared-utils.c index b0e0238176..7f766871f6 100644 --- a/shared/nm-glib-aux/nm-shared-utils.c +++ b/shared/nm-glib-aux/nm-shared-utils.c @@ -4115,7 +4115,7 @@ nm_utils_g_slist_strlist_join(const GSList *a, const char *separator) /*****************************************************************************/ -gpointer +NMUtilsUserData * _nm_utils_user_data_pack(int nargs, gconstpointer *args) { int i; @@ -4127,13 +4127,13 @@ _nm_utils_user_data_pack(int nargs, gconstpointer *args) data = g_slice_alloc(((gsize) nargs) * sizeof(gconstpointer)); for (i = 0; i < nargs; i++) data[i] = (gpointer) args[i]; - return data; + return (NMUtilsUserData *) data; } void -_nm_utils_user_data_unpack(gpointer user_data, int nargs, ...) +_nm_utils_user_data_unpack(NMUtilsUserData *user_data, int nargs, ...) { - gpointer *data = user_data; + gpointer *data = (gpointer *) user_data; va_list ap; int i; diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h index 83e1c284f9..23884a3777 100644 --- a/shared/nm-glib-aux/nm-shared-utils.h +++ b/shared/nm-glib-aux/nm-shared-utils.h @@ -1737,12 +1737,14 @@ nm_utils_process_state_is_dead(char pstate) /*****************************************************************************/ -gpointer _nm_utils_user_data_pack(int nargs, gconstpointer *args); +typedef struct _NMUtilsUserData NMUtilsUserData; + +NMUtilsUserData *_nm_utils_user_data_pack(int nargs, gconstpointer *args); #define nm_utils_user_data_pack(...) \ _nm_utils_user_data_pack(NM_NARG(__VA_ARGS__), (gconstpointer[]){__VA_ARGS__}) -void _nm_utils_user_data_unpack(gpointer user_data, int nargs, ...); +void _nm_utils_user_data_unpack(NMUtilsUserData *user_data, int nargs, ...); #define nm_utils_user_data_unpack(user_data, ...) \ _nm_utils_user_data_unpack(user_data, NM_NARG(__VA_ARGS__), __VA_ARGS__)