From 42251cc5b9e89ce5d3d850464d8ca5781364417c Mon Sep 17 00:00:00 2001 From: lisa neigut Date: Thu, 25 Jul 2019 10:58:14 -0500 Subject: [PATCH] bolt-gen: fixup subtype nested varsize definition variable length varsized subtypes were being allocated as structs at not pointers; this fixes that. --- tools/gen/impl_template | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/gen/impl_template b/tools/gen/impl_template index c33f215e8..25e130049 100644 --- a/tools/gen/impl_template +++ b/tools/gen/impl_template @@ -46,14 +46,16 @@ towire_${f.type_obj.name}(${ptr}, ${f.name}); towire_${f.type_obj.name}(${ptr}, ${'' if f.type_obj.is_assignable() else '&'}${fieldname}); % endif -## Subtype and TLV-msg fromwire_ +## Subtype and TLV-msg fromwire <%def name="fromwire_subtype_field(fieldname, f, ctx)">\ <% type_ = f.type_obj.name typename = f.type_obj.type_name() + if f.type_obj.is_varsize(): + typename += ' *' %>\ % if f.is_varlen(): -${'*' if f.type_obj.is_varsize() else ''}${fieldname} = ${f.len_field} ? tal_arr(${ctx}, ${typename}, ${f.len_field}) : NULL; +${fieldname} = ${f.len_field} ? tal_arr(${ctx}, ${typename}, ${f.len_field}) : NULL; % endif % if f.is_array() or f.is_varlen(): % if f.type_obj.has_array_helper():