mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-01-07 20:30:21 +01:00
Add a simplified backport of g_steal_pointer()
This will be used in tests later in the branch. Sadly we can't use GLIB_VERSION_2_44 unless we are willing to have a hard dependency on GLib 2.44, which would force us to do all our Travis-CI builds in Docker containers rather than in ye olde base system, and that adds 50% to the time taken to do builds. Reviewed-by: Philip Withnall <withnall@endlessm.com> [smcv: Rebase onto 1.13.x branch, fix minor conflicts] Signed-off-by: Simon McVittie <smcv@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
This commit is contained in:
parent
83b439f7b4
commit
d5742550ca
2 changed files with 16 additions and 1 deletions
|
|
@ -262,7 +262,7 @@ dnl Don't do anything too subtle here, because the CMake build system
|
|||
dnl parses these lines with regular expressions. If necessary, adjust
|
||||
dnl cmake/modules/MacrosAutotools.cmake to compensate.
|
||||
AC_DEFINE([GLIB_VERSION_MIN_REQUIRED], [GLIB_VERSION_2_40], [Ignore post-2.40 deprecations])
|
||||
AC_DEFINE([GLIB_VERSION_MAX_ALLOWED], [GLIB_VERSION_2_40], [Prevent post-2.40 APIs])
|
||||
AC_DEFINE([GLIB_VERSION_MAX_ALLOWED], [G_ENCODE_VERSION(2,44)], [Prevent post-2.44 APIs])
|
||||
|
||||
with_glib=yes
|
||||
|
||||
|
|
|
|||
|
|
@ -91,4 +91,19 @@ void test_mkdir (const gchar *path, gint mode);
|
|||
|
||||
void test_timeout_reset (void);
|
||||
|
||||
#if !GLIB_CHECK_VERSION(2, 44, 0)
|
||||
#define g_steal_pointer(x) backported_g_steal_pointer (x)
|
||||
/* A simplified version of g_steal_pointer without type-safety. */
|
||||
static inline gpointer
|
||||
backported_g_steal_pointer (gpointer pointer_to_pointer)
|
||||
{
|
||||
gpointer *pp = pointer_to_pointer;
|
||||
gpointer ret;
|
||||
|
||||
ret = *pp;
|
||||
*pp = NULL;
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue