From: <ri...@us...> - 2009-07-23 09:00:53
|
Revision: 9090 http://bacula.svn.sourceforge.net/bacula/?rev=9090&view=rev Author: ricozz Date: 2009-07-23 09:00:51 +0000 (Thu, 23 Jul 2009) Log Message: ----------- add function to simplify free and null operation on pointers Modified Paths: -------------- trunk/bacula/src/baconfig.h trunk/bacula/src/lib/mem_pool.h Modified: trunk/bacula/src/baconfig.h =================================================================== --- trunk/bacula/src/baconfig.h 2009-07-23 08:52:35 UTC (rev 9089) +++ trunk/bacula/src/baconfig.h 2009-07-23 09:00:51 UTC (rev 9090) @@ -612,6 +612,9 @@ #define bmalloc(size) b_malloc(__FILE__, __LINE__, (size)) #endif +/* Function to simplify free/reset pointers */ +inline void bfree_and_null(void *&a) { if (a) { free(a); a = NULL; } } + /* * Replace codes needed in both file routines and non-file routines * Job replace codes -- in "replace" Modified: trunk/bacula/src/lib/mem_pool.h =================================================================== --- trunk/bacula/src/lib/mem_pool.h 2009-07-23 08:52:35 UTC (rev 9089) +++ trunk/bacula/src/lib/mem_pool.h 2009-07-23 09:00:51 UTC (rev 9090) @@ -58,7 +58,6 @@ #define free_memory(x) sm_free_pool_memory(__FILE__, __LINE__, x) extern void sm_free_pool_memory(const char *fname, int line, POOLMEM *buf); - #else extern POOLMEM *get_pool_memory(int pool); @@ -71,6 +70,16 @@ #endif +/* Function to simplify free/reset pointers */ +inline void bfree_and_null(POOLMEM *&a) { + if (a) { + free_pool_memory(a); + a = NULL; + } +} + +#define free_and_null_pool_memory(a) bfree_and_null((a)) + extern void garbage_collect_memory_pool(); extern void close_memory_pool(); extern void print_memory_pool_stats(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |