From 71d64d6732094c7077e8804bc48b501c0b614369 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Fri, 10 May 2019 19:36:29 -0700 Subject: [PATCH] libsysprof: use macro to preserve types --- src/libsysprof/sysprof-backport-autocleanups.h | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/libsysprof/sysprof-backport-autocleanups.h b/src/libsysprof/sysprof-backport-autocleanups.h index 51eaba82..bba89ca2 100644 --- a/src/libsysprof/sysprof-backport-autocleanups.h +++ b/src/libsysprof/sysprof-backport-autocleanups.h @@ -13,13 +13,11 @@ #endif #if !GLIB_CHECK_VERSION(2, 56, 0) - static inline void - g_clear_handle_id (guint *ptr, - void (*clear_func) (guint handle_id)) - { - guint id = *ptr; - *ptr = 0; - if (id) - clear_func (handle_id); - } +# define g_clear_handle_id(ptr, clear_func) \ + G_STMT_START { \ + guint __ptr = *(ptr); \ + *(ptr) = 0; \ + if (__ptr != 0) \ + clear_func (__ptr); \ + } G_STMT_END #endif