if o.modern_vla:
write(' if (vl_api_string_len(&a->{f}) > 0) {{\n'
.format(f=o.fieldname))
- write(' s = format(s, "\\n%U{f}: %.*s", '
+ write(' s = format(s, "\\n%U{f}: %U", '
'format_white_space, indent, '
- 'vl_api_string_len(&a->{f}) - 1, '
- 'vl_api_from_api_string(&a->{f}));\n'.format(f=o.fieldname))
+ 'vl_api_format_string, (&a->{f}));\n'.format(f=o.fieldname))
write(' } else {\n')
write(' s = format(s, "\\n%U{f}:", '
'format_white_space, indent);\n'.format(f=o.fieldname))
output += "/***** manual: vl_api_%s_t_endian *****/\n\n" % t.name
continue
-
if t.__class__.__name__ == 'Using':
output += signature.format(name=t.name)
if ('length' in t.alias and t.alias['length'] and
write(' VL_MSG_FIRST_AVAILABLE\n')
write('}} vl_api_{}_enum_t;\n'.format(module))
+
#
# Generate separate API _types file.
#
write('} vl_api_%s_t;\n' % o.name)
+ for t in s['Define']:
+ write('#define VL_API_{ID}_CRC "{n}_{crc:08x}"\n'
+ .format(n=t.name, ID=t.name.upper(), crc=t.crc))
+
write("\n#endif\n")
write(hdr.format(module=module))
write('static u16\n')
write('setup_message_id_table (void) {\n')
- write(' api_main_t *am = &api_main;\n')
+ write(' api_main_t *am = my_api_main;\n')
write(' u16 msg_id_base = vl_msg_api_get_msg_ids ("{}_{crc:08x}", VL_MSG_FIRST_AVAILABLE);\n'
.format(module, crc=file_crc))
except:
continue
if d.manual_print:
- write('/* Manual definition requested for: vl_api_{n}_t_hander() */\n'
+ write('/* Manual definition requested for: vl_api_{n}_t_handler() */\n'
.format(n=s.reply))
continue
if not define_hash[s.caller].autoreply:
- write('/* Only autoreply is supported (vl_api_{n}_t_hander()) */\n'
+ write('/* Only autoreply is supported (vl_api_{n}_t_handler()) */\n'
.format(n=s.reply))
continue
- write('#ifndef VL_API_{n}_T_HANLDER\n'.format(n=s.reply.upper()))
+ write('#ifndef VL_API_{n}_T_HANDLER\n'.format(n=s.reply.upper()))
write('static void\n')
write('vl_api_{n}_t_handler (vl_api_{n}_t * mp) {{\n'.format(n=s.reply))
write(' vat_main_t * vam = {}_test_main.vat_main;\n'.format(module))