mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 14:42:40 +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
|
% endfor
|
||||||
|
|
||||||
|
% for tlv in tlvs.values():
|
||||||
|
bool printwire_${tlv.name}(const char *fieldname, const u8 **cursor, size_t *plen);
|
||||||
|
% endfor
|
||||||
|
|
||||||
% if options.expose_subtypes:
|
% if options.expose_subtypes:
|
||||||
% for subtype in subtypes:
|
% for subtype in subtypes:
|
||||||
bool printwire_${subtype.name}(const char *fieldname, const u8 **cursor, size_t *plen);
|
bool printwire_${subtype.name}(const char *fieldname, const u8 **cursor, size_t *plen);
|
||||||
|
|
|
@ -119,13 +119,19 @@ ${print_fieldset(msg.fields.values())}
|
||||||
}
|
}
|
||||||
% endfor
|
% 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):
|
% if bool(tlvs):
|
||||||
bool print${options.enum_name}_tlv_message(const char *tlv_name, const u8 *msg) {
|
bool print${options.enum_name}_tlv_message(const char *tlv_name, const u8 *msg) {
|
||||||
size_t len = tal_count(msg);
|
size_t len = tal_count(msg);
|
||||||
% for tlv in tlvs.values():
|
% for tlv in tlvs.values():
|
||||||
if (strcmp(tlv_name, "${tlv.name}") == 0) {
|
if (strcmp(tlv_name, "${tlv.name}") == 0)
|
||||||
return printwire_tlvs(tlv_name, &msg, &len, print_tlvs_${tlv.name}, ARRAY_SIZE(print_tlvs_${tlv.name}));
|
return printwire_${tlv.name}(tlv_name, &msg, &len);
|
||||||
}
|
|
||||||
% endfor
|
% endfor
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue