common: tal_dup_talarr() helper.

This is a common thing to do, so create a macro.

Unfortunately, it still needs the type arg, because the paramter may
be const, and the return cannot be, and C doesn't have a general
"(-const)" cast.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2020-02-27 12:47:01 +10:30
parent 684ed4231f
commit 2aad3ffcf8
21 changed files with 54 additions and 49 deletions

View File

@@ -141,3 +141,10 @@ void tal_arr_remove_(void *p, size_t elemsize, size_t n)
len - (elemsize * (n+1)));
tal_resize((char **)p, len - elemsize);
}
void *tal_dup_talarr_(const tal_t *ctx, const tal_t *src, const char *label)
{
if (!src)
return NULL;
return tal_dup_(ctx, src, 1, tal_bytelen(src), 0, label);
}