From 20f6d481aabb9dcd4f38e486c80677f5a0d23f67 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Sat, 15 Dec 2007 13:41:58 +0200 Subject: Expose compiler warnings from freeing data declared as const - _free() is just a wrapper to free() which additionally returns NULL - add _constfree() for use in the cases where const is used to protect malloced "read-only" data in long-lived otherwise exposed structures etc --- system.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'system.h') diff --git a/system.h b/system.h index af91f4e19..573064f4b 100644 --- a/system.h +++ b/system.h @@ -234,17 +234,30 @@ typedef char * security_context_t; #endif /** - * Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. + * Wrapper to free(3), permit NULL, return NULL. * @param p memory to free * @return NULL always */ static inline -void * _free(const void * p) +void * _free(void * p) { - if (p != NULL) free((void *)p); + if (p != NULL) free(p); return NULL; } +/** + * Wrapper to free(3), permit NULL, return NULL. + * For documenting cases where const is used to protect long-lived + * non-const data that's supposed to be freed. + * @param p memory to free + * @return NULL always + */ +static inline +void * _constfree(const void * p) +{ + if (p != NULL) free((void *)p); + return NULL; +} /* FIX: these are macros */ /** -- cgit v1.2.3