From dfd12107de9aaf79e39a962ed835a257e80faf9c Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Thu, 2 Jul 2020 10:39:05 +0200 Subject: [PATCH] Add new function _clear_ptr --- m-i-shared.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/m-i-shared.h b/m-i-shared.h index 36dd223a..a9b171e9 100644 --- a/m-i-shared.h +++ b/m-i-shared.h @@ -69,7 +69,7 @@ M_BEGIN_PROTECTED_CODE // Define the oplist #define ISHAREDI_PTR_OPLIST_P3(name, oplist) ( \ INIT(M_INIT_DEFAULT), \ - INIT_SET(M_C(name, _init_set2) M_IPTR), \ + INIT_SET(API_4(M_C(name, _init_set))), \ SET(M_C(name, _set) M_IPTR), \ CLEAR(M_C(name, _clear)), \ CLEAN(M_C(name, _clean) M_IPTR), \ @@ -117,7 +117,7 @@ M_BEGIN_PROTECTED_CODE return shared; \ } \ \ - static inline void \ + static inline void M_ATTR_DEPRECATED \ M_C(name, _init_set2)(M_C(name,_t) *ptr, M_C(name,_t) shared) \ { \ assert (ptr != NULL); \ @@ -154,6 +154,14 @@ M_BEGIN_PROTECTED_CODE } \ \ static inline void \ + M_C(name, _clear_ptr)(M_C(name,_t) *shared) \ + { \ + assert(shared != NULL); \ + M_C(name, _clear)(*shared); \ + *shared = NULL; \ + } \ + \ + static inline void \ M_C(name, _clean)(M_C(name,_t) *shared) \ { \ M_C(name, _clear)(*shared); \