mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-02-04 17:40:31 +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
(cherry picked from commit d5742550ca)
This commit is contained in:
parent
97d480c09c
commit
3ccad29fba
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 (guint factor);
|
||||
|
||||
#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