From: Michael D. Lowis Date: Fri, 1 Aug 2014 02:21:34 +0000 (-0400) Subject: Added function for getting the number of references to an object X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=c8b5b8b5e4798d867acae0fc246d61a7c72cefbb;p=projs%2Flibcds.git Added function for getting the number of references to an object --- diff --git a/source/mem/mem.c b/source/mem/mem.c index 1977a7a..c2eb7e6 100644 --- a/source/mem/mem.c +++ b/source/mem/mem.c @@ -38,6 +38,12 @@ void mem_release(void* p_obj) } } +int mem_num_references(void* p_obj) +{ + obj_t* p_hdr = (((obj_t*)p_obj)-1); + return p_hdr->refcount; +} + void mem_autorelease(void* p_obj) { (void)p_obj; diff --git a/source/mem/mem.h b/source/mem/mem.h index fae9c32..80534ab 100644 --- a/source/mem/mem.h +++ b/source/mem/mem.h @@ -28,6 +28,15 @@ typedef void (*destructor_t)(void* p_val); */ void* mem_allocate(size_t size, destructor_t p_destruct_fn); +/** + * @brief Returns the reference count for the given object. + * + * @param p_obj The object whose reference count should be returned. + * + * @return Number of references. + */ +int mem_num_references(void* p_obj); + /** * @brief Increments the reference count for the given object. *