From 461a86202214c9c3daf3222a9a655206874bd970 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc-Andr=C3=A9=20Lureau?= Date: Tue, 7 Feb 2017 18:00:49 +0400 Subject: [PATCH] glib-compat: add g_test_add_data_func_full fallback MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Move the fallback from qtest_add_data_func_full() to glib-compat. Signed-off-by: Marc-André Lureau Reviewed-by: Eric Blake --- include/glib-compat.h | 21 +++++++++++++++++++++ tests/libqtest.c | 10 ---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/include/glib-compat.h b/include/glib-compat.h index 0cd24ffbe9..863c8cf73d 100644 --- a/include/glib-compat.h +++ b/include/glib-compat.h @@ -328,4 +328,25 @@ static inline void g_source_set_name_by_id(guint tag, const char *name) #define g_test_subprocess() (0) #endif + +#if !GLIB_CHECK_VERSION(2, 34, 0) +static inline void +g_test_add_data_func_full(const char *path, + gpointer data, + gpointer fn, + gpointer data_free_func) +{ +#if GLIB_CHECK_VERSION(2, 26, 0) + /* back-compat casts, remove this once we can require new-enough glib */ + g_test_add_vtable(path, 0, data, NULL, + (GTestFixtureFunc)fn, (GTestFixtureFunc) data_free_func); +#else + /* back-compat casts, remove this once we can require new-enough glib */ + g_test_add_vtable(path, 0, data, NULL, + (void (*)(void)) fn, (void (*)(void)) data_free_func); +#endif +} +#endif + + #endif diff --git a/tests/libqtest.c b/tests/libqtest.c index e54354de8a..3a0e0d63a7 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -805,17 +805,7 @@ void qtest_add_data_func_full(const char *str, void *data, GDestroyNotify data_free_func) { gchar *path = g_strdup_printf("/%s/%s", qtest_get_arch(), str); -#if GLIB_CHECK_VERSION(2, 34, 0) g_test_add_data_func_full(path, data, fn, data_free_func); -#elif GLIB_CHECK_VERSION(2, 26, 0) - /* back-compat casts, remove this once we can require new-enough glib */ - g_test_add_vtable(path, 0, data, NULL, - (GTestFixtureFunc)fn, (GTestFixtureFunc) data_free_func); -#else - /* back-compat casts, remove this once we can require new-enough glib */ - g_test_add_vtable(path, 0, data, NULL, - (void (*)(void)) fn, (void (*)(void)) data_free_func); -#endif g_free(path); } -- 2.30.2