From d0750c29dde8563d1e87cc041db872ac3d9930e6 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) (cherry picked from commit 2bfe9becd956260d336981dc11e159b6fc0644df) --- 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 9ed8e7ca34..3bc96bcf98 100644 --- a/shared/nm-glib-aux/nm-shared-utils.c +++ b/shared/nm-glib-aux/nm-shared-utils.c @@ -3885,7 +3885,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; @@ -3897,13 +3897,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 d1347c63bf..ed9a0b9862 100644 --- a/shared/nm-glib-aux/nm-shared-utils.h +++ b/shared/nm-glib-aux/nm-shared-utils.h @@ -1746,12 +1746,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__)