return NULL;
}
-void tal_free(const tal_t *ctx)
+void *tal_free(const tal_t *ctx)
{
- struct tal_hdr *t;
- int saved_errno = errno;
-
- if (!ctx)
- return;
-
- t = debug_tal(to_tal_hdr(ctx));
- remove_node(t);
- del_tree(t);
- errno = saved_errno;
+ if (ctx) {
+ struct tal_hdr *t;
+ int saved_errno = errno;
+ t = debug_tal(to_tal_hdr(ctx));
+ remove_node(t);
+ del_tree(t);
+ errno = saved_errno;
+ }
+ return NULL;
}
void *tal_steal_(const tal_t *new_parent, const tal_t *ctx)
if (taken(p)) {
if (unlikely(!p))
return NULL;
- if (unlikely(!tal_resize_((void **)&p, n + extra))) {
- tal_free(p);
- return NULL;
- }
- if (unlikely(!tal_steal(ctx, p))) {
- tal_free(p);
- return NULL;
- }
+ if (unlikely(!tal_resize_((void **)&p, n + extra)))
+ return tal_free(p);
+ if (unlikely(!tal_steal(ctx, p)))
+ return tal_free(p);
return (void *)p;
}
ret = tal_alloc_(ctx, n + extra, false, label);
if (ret < max)
break;
- if (!tal_resize(&buf, max *= 2)) {
- tal_free(buf);
- buf = NULL;
- }
+ if (!tal_resize(&buf, max *= 2))
+ buf = tal_free(buf);
}
if (taken(fmt))
tal_free(fmt);