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__)