glib: always re-implement g_steal_pointer()

g_steal_pointer() is marked as GLIB_AVAILABLE_STATIC_INLINE_IN_2_44,
that means we get a deprecated warning. Avoid that. We anyway
re-implement the macro so that we can use it before 2.44 and so
that it always does the typeof() cast.

(cherry picked from commit edfe9fa9a2)
(cherry picked from commit 6936a0613c)
This commit is contained in:
Thomas Haller 2020-06-15 15:56:30 +02:00
parent 2b28b9b276
commit e333a28b97
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728

View file

@ -398,9 +398,8 @@ _nm_g_hash_table_get_keys_as_array (GHashTable *hash_table,
/*****************************************************************************/
#if !GLIB_CHECK_VERSION(2, 44, 0)
static inline gpointer
g_steal_pointer (gpointer pp)
_nm_g_steal_pointer (gpointer pp)
{
gpointer *ptr = (gpointer *) pp;
gpointer ref;
@ -410,13 +409,20 @@ g_steal_pointer (gpointer pp)
return ref;
}
#if !GLIB_CHECK_VERSION(2, 44, 0)
static inline gpointer
g_steal_pointer (gpointer pp)
{
return _nm_g_steal_pointer (pp);
}
#endif
#ifdef g_steal_pointer
#undef g_steal_pointer
#endif
#define g_steal_pointer(pp) \
((typeof (*(pp))) g_steal_pointer (pp))
((typeof (*(pp))) _nm_g_steal_pointer (pp))
/*****************************************************************************/