tal: add del_destructor().
[ccan] / ccan / tal / tal.h
index 42245f68660277c990561502f50b00f94297bcb5..7efc824ab9da37b806f159d7107caf57bef66c18 100644 (file)
@@ -130,6 +130,17 @@ void *tal_free(const tal_t *p);
 #define tal_add_destructor(ptr, function)                                    \
        tal_add_destructor_((ptr), typesafe_cb(void, void *, (function), (ptr)))
 
+/**
+ * tal_del_destructor - remove a destructor callback function.
+ * @ptr: The tal allocated object.
+ * @function: the function to call before it's freed.
+ *
+ * If @function has not been successfully added as a destructor, this returns
+ * false.
+ */
+#define tal_del_destructor(ptr, function)                                    \
+       tal_del_destructor_((ptr), typesafe_cb(void, void *, (function), (ptr)))
+
 /**
  * tal_set_name - attach a name to a tal pointer.
  * @ptr: The tal allocated object.
@@ -324,5 +335,6 @@ tal_t *tal_steal_(const tal_t *new_parent, const tal_t *t);
 bool tal_resize_(tal_t **ctxp, size_t size);
 
 bool tal_add_destructor_(tal_t *ctx, void (*destroy)(void *me));
+bool tal_del_destructor_(tal_t *ctx, void (*destroy)(void *me));
 
 #endif /* CCAN_TAL_H */