diff --git a/tools/gen/impl_template b/tools/gen/impl_template index bee9323aa..735f97fcb 100644 --- a/tools/gen/impl_template +++ b/tools/gen/impl_template @@ -203,7 +203,7 @@ static void fromwire_${msg.struct_name()}(const u8 **cursor, size_t *plen, void <% static = '' if tlv.name in options.expose_tlv_type else 'static ' %>\ ${static}const struct tlv_record_type tlvs_${tlv.name}[] = { - % for msg in tlv.messages.values(): + % for msg in tlv.ordered_msgs(): { ${msg.number}, towire_${msg.struct_name()}, fromwire_${msg.struct_name()} }, % endfor }; diff --git a/tools/generate-wire.py b/tools/generate-wire.py index 4b6926b42..71ec01744 100755 --- a/tools/generate-wire.py +++ b/tools/generate-wire.py @@ -377,6 +377,9 @@ class Tlv(object): def find_message(self, name): return self.messages[name] + def ordered_msgs(self): + return sorted(self.messages.values(), key=lambda item: int(item.number)) + class Master(object): types = {}