* This returns true on success (and may move *@p), or false on failure.
* On success, tal_count() of *@p will be @count.
*
+ * Note: if *p is take(), it will still be take() upon return, even if it
+ * has been moved.
+ *
* Example:
* tal_resize(&p, 100);
*/
* @function: the function to call before it's freed.
*
* If @function has not been successfully added as a destructor, this returns
- * false.
+ * false. Note that if we're inside the destructor call itself, this will
+ * return false.
*/
#define tal_del_destructor(ptr, function) \
tal_del_destructor_((ptr), typesafe_cb(void, void *, (function), (ptr)))
* @function: the function to call before it's freed.
*
* If @function has not been successfully added as a destructor, this returns
- * false.
+ * false. Note that if we're inside the destructor call itself, this will
+ * return false.
*/
#define tal_del_destructor(ptr, function) \
tal_del_destructor_((ptr), typesafe_cb(void, void *, (function), (ptr)))