From: Panu Matilainen Date: Sat, 15 Dec 2007 11:41:58 +0000 (+0200) Subject: Expose compiler warnings from freeing data declared as const X-Git-Tag: rpm-4.6.0-rc1~1270 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=20f6d481aabb9dcd4f38e486c80677f5a0d23f67;p=platform%2Fupstream%2Frpm.git 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 --- diff --git a/system.h b/system.h index af91f4e..573064f 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 */ /**