]> git.sur5r.net Git - bacula/bacula/commitdiff
change free_and_null function to a macro
authorEric Bollengier <eric@eb.homelinux.org>
Sat, 25 Jul 2009 21:30:08 +0000 (21:30 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Sat, 25 Jul 2009 21:30:08 +0000 (21:30 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@9101 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/baconfig.h
bacula/src/lib/mem_pool.h

index 2d149c02f88bc328eb0ff4e57b51d7cc078732ec..24301083f3a7a72085dd48e557e2ffb8e52c66eb 100644 (file)
@@ -612,8 +612,8 @@ int  m_msg(const char *file, int line, POOLMEM *&pool_buf, const char *fmt, ...)
 #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; } }
+/* Macro to simplify free/reset pointers */
+#define bfree_and_null(a) do{if(a){free(a); (a)=NULL;}} while(0)
 
 /*
  * Replace codes needed in both file routines and non-file routines
index b4d2512ba3e282f8894b28d4901b33876f099a94..3624de8d729ca615c8c14042011e4442f6bbe70b 100644 (file)
@@ -70,15 +70,8 @@ extern void   free_pool_memory(POOLMEM *buf);
 
 #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))
+/* Macro to simplify free/reset pointers */
+#define bfree_and_null_pool_memory(a) do{if(a){free_pool_memory(a); (a)=NULL;}} while(0)
 
 extern void garbage_collect_memory_pool();
 extern void  close_memory_pool();