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.
This commit is contained in:
Thomas Haller
2020-06-15 15:56:30 +02:00
parent c56c6e8faa
commit edfe9fa9a2

View File

@@ -382,9 +382,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;
@@ -394,13 +393,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))
/*****************************************************************************/