mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 23:24:27 +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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user