mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-21 14:24:09 +01:00
tools/generate-wire.py: make (and expose) individual TLV print functions.
When we actually put bolt12 fields (.e.g tlv_invoice) in onion messages, that code will try to call printwire_tlv_invoice(), so expose it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
b3a2666a3e
commit
04a152fbcf
2 changed files with 13 additions and 3 deletions
|
@ -18,6 +18,10 @@ bool printwire_${msg.name}(const char *fieldname, const u8 *cursor);
|
|||
|
||||
% endfor
|
||||
|
||||
% for tlv in tlvs.values():
|
||||
bool printwire_${tlv.name}(const char *fieldname, const u8 **cursor, size_t *plen);
|
||||
% endfor
|
||||
|
||||
% if options.expose_subtypes:
|
||||
% for subtype in subtypes:
|
||||
bool printwire_${subtype.name}(const char *fieldname, const u8 **cursor, size_t *plen);
|
||||
|
|
|
@ -119,13 +119,19 @@ ${print_fieldset(msg.fields.values())}
|
|||
}
|
||||
% endfor
|
||||
|
||||
% for tlv in tlvs.values():
|
||||
bool printwire_${tlv.name}(const char *fieldname, const u8 **cursor, size_t *plen)
|
||||
{
|
||||
return printwire_tlvs(fieldname, cursor, plen, print_tlvs_${tlv.name}, ARRAY_SIZE(print_tlvs_${tlv.name}));
|
||||
}
|
||||
% endfor
|
||||
|
||||
% if bool(tlvs):
|
||||
bool print${options.enum_name}_tlv_message(const char *tlv_name, const u8 *msg) {
|
||||
size_t len = tal_count(msg);
|
||||
% for tlv in tlvs.values():
|
||||
if (strcmp(tlv_name, "${tlv.name}") == 0) {
|
||||
return printwire_tlvs(tlv_name, &msg, &len, print_tlvs_${tlv.name}, ARRAY_SIZE(print_tlvs_${tlv.name}));
|
||||
}
|
||||
if (strcmp(tlv_name, "${tlv.name}") == 0)
|
||||
return printwire_${tlv.name}(tlv_name, &msg, &len);
|
||||
% endfor
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue