spa: utils: cleanup: only have one version of spa_clear_ptr()

Depend on `spa_steal_ptr()` for checking if `ptr` is actually a pointer or not.
This commit is contained in:
Barnabás Pőcze 2023-09-16 17:21:54 +02:00
parent ea159e7af0
commit 74419e27b4

View file

@ -53,16 +53,6 @@ __extension__ ({ \
#include <stdlib.h>
#if __GNUC__ > 10 || defined(__clang__)
#define spa_clear_ptr(ptr, destructor) \
__extension__ ({ \
__typeof__(*(ptr)) *_old_value = spa_steal_ptr(ptr); \
if (_old_value) \
destructor(_old_value); \
(void) 0; \
})
#else
#define spa_clear_ptr(ptr, destructor) \
__extension__ ({ \
__typeof__(ptr) _old_value = spa_steal_ptr(ptr); \
@ -70,7 +60,6 @@ __extension__ ({ \
destructor(_old_value); \
(void) 0; \
})
#endif
static inline void _spa_autofree_cleanup_func(void *p)
{