bolt-gen: fixup subtype nested varsize definition

variable length varsized subtypes were being allocated as
structs at not pointers; this fixes that.
This commit is contained in:
lisa neigut
2019-07-25 10:58:14 -05:00
committed by Rusty Russell
parent 39e8e98b49
commit 42251cc5b9

View File

@@ -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}); towire_${f.type_obj.name}(${ptr}, ${'' if f.type_obj.is_assignable() else '&'}${fieldname});
% endif % endif
</%def> </%def>
## Subtype and TLV-msg fromwire_ ## Subtype and TLV-msg fromwire
<%def name="fromwire_subtype_field(fieldname, f, ctx)">\ <%def name="fromwire_subtype_field(fieldname, f, ctx)">\
<% <%
type_ = f.type_obj.name type_ = f.type_obj.name
typename = f.type_obj.type_name() typename = f.type_obj.type_name()
if f.type_obj.is_varsize():
typename += ' *'
%>\ %>\
% if f.is_varlen(): % 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 % endif
% if f.is_array() or f.is_varlen(): % if f.is_array() or f.is_varlen():
% if f.type_obj.has_array_helper(): % if f.type_obj.has_array_helper():