[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] Add a macro to call a free_ function and clear a variable



commit c1bdb80aba64ac378784840d231b0db098c05474
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Fri Nov 17 11:45:47 2017 -0500

    Add a macro to call a free_ function and clear a variable
---
 src/common/util.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/common/util.h b/src/common/util.h
index 6bc853da2..e11265a5d 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -109,6 +109,14 @@ extern int dmalloc_free(const char *file, const int line, void *pnt,
 
 void tor_log_mallinfo(int severity);
 
+/* Helper macro: free a variable of type 'type' using type_free_, and
+ * set the variable to NULL. */
+#define FREE_AND_NULL(type, var)                                \
+  do {                                                          \
+      type ## _free_(var);                                      \
+      (var) = NULL;                                             \
+  } while (0)
+
 /** Macro: yield a pointer to the field at position <b>off</b> within the
  * structure <b>st</b>.  Example:
  * <pre>



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits