diff --git a/tools/gen/header_template b/tools/gen/header_template index ea03b9bee..2c0caad52 100644 --- a/tools/gen/header_template +++ b/tools/gen/header_template @@ -49,7 +49,7 @@ struct ${struct.struct_name()} { % endif % if f.is_varlen() and f.type_obj.is_varsize(): ${f.type_obj.type_name()} **${f.name}; - % elif f.is_varlen(): + % elif f.is_varlen() or f.type_obj.is_varsize(): ${f.type_obj.type_name()} *${f.name}; % elif f.is_array(): ${f.type_obj.type_name()} ${f.name}[${f.count}]; diff --git a/tools/gen/impl_template b/tools/gen/impl_template index 341175bee..c255506a8 100644 --- a/tools/gen/impl_template +++ b/tools/gen/impl_template @@ -64,7 +64,7 @@ towire_${type_obj.name}(${ptr}, ${f.name}); % elif is_single_ptr: towire_${type_obj.name}(${ptr}, ${'*' if type_obj.is_assignable() else ''}${fieldname}); % else: -towire_${type_obj.name}(${ptr}, ${'' if type_obj.is_assignable() else '&'}${fieldname}); +towire_${type_obj.name}(${ptr}, ${'' if type_obj.is_assignable() or type_obj.is_varsize() else '&'}${fieldname}); % endif ## Subtype and TLV-msg fromwire @@ -110,7 +110,7 @@ ${fieldname} = ${f.size('*plen')} ? tal_arr(${ctx}, ${typename}, 0) : NULL; % if f.type_obj.is_assignable(): ${ f.name if f.len_field_of else fieldname} = fromwire_${type_}(cursor, plen); % elif f.type_obj.is_varsize(): -${fieldname} = *fromwire_${type_}(${ctx}, cursor, plen); +${fieldname} = fromwire_${type_}(${ctx}, cursor, plen); % else: fromwire_${type_}(cursor, plen, &${fieldname}); % endif