mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 07:04:22 +01:00
tools/generate-wire.py: fix loop logic for towire_xxx_array
We have to handle singletons which are arrays of variable-length entries:
this needs to be a ptr-to-ptr.
```C
struct blinded_payinfo {
u32 fee_base_msat;
u32 fee_proportional_millionths;
u16 cltv_expiry_delta;
u8 *features;
};
```
Before:
```C
struct tlv_invoice_tlvs {
...
struct blinded_payinfo *blindedpay;
```
After:
```C
struct tlv_invoice_tlvs {
...
struct blinded_payinfo **blindedpay;
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -69,7 +69,12 @@ struct ${tlv.struct_name()} {
|
||||
* tlv_field entries above to save on memory. */
|
||||
% for msg in tlv.messages.values():
|
||||
% if msg.singleton():
|
||||
## Array of variable-length elems needs ptr-to-ptr!
|
||||
% if msg.singleton().is_varlen() and msg.singleton().type_obj.is_varsize():
|
||||
${msg.singleton().type_obj.type_name()} **${msg.name};
|
||||
% else:
|
||||
${msg.singleton().type_obj.type_name()} *${msg.name};
|
||||
% endif
|
||||
% else:
|
||||
struct ${msg.struct_name()} *${msg.name};
|
||||
% endif
|
||||
|
||||
Reference in New Issue
Block a user