Let's have only one FREE_AND_NULL variant.

This commit removes the old FREE_AND_NULL, and renames the old
FREE_AND_NULL_UNMATCHED so that it is now called FREE_AND_NULL.

This will break all the FREE_AND_NULL_* users; the next commit will
fix them.
This commit is contained in:
Nick Mathewson
2017-12-07 10:37:59 -05:00
parent 5508ee29d5
commit 95531ddfbf
+1 -9
View File
@@ -121,11 +121,8 @@ void tor_log_mallinfo(int severity);
/* Helper macro: free a variable of type 'typename' using freefn, and
* set the variable to NULL.
*
* We use this for legacy cases when freefn and typename don't line up
* perfectly.
*/
#define FREE_AND_NULL_UNMATCHED(typename, freefn, var) \
#define FREE_AND_NULL(typename, freefn, var) \
do { \
/* only evaluate (var) once. */ \
typename **tmp__free__ptr ## freefn = &(var); \
@@ -133,11 +130,6 @@ void tor_log_mallinfo(int severity);
(*tmp__free__ptr ## freefn) = NULL; \
} while (0)
/* Helper macro: free a variable of type 'type' using type_free_, and
* set the variable to NULL. */
#define FREE_AND_NULL(type, var) \
FREE_AND_NULL_UNMATCHED(type ## _t, type ## _free_, (var))
/** Macro: yield a pointer to the field at position <b>off</b> within the
* structure <b>st</b>. Example:
* <pre>