From 8ad1298f886ee8f941b865f5881895474fce103d Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 4 Jan 2017 14:09:21 +1030 Subject: [PATCH] generate-wire.py: add enum->name function. Pretty! Takes an int instead of the enum directly, because in the main daemon we call it via a function pointer, so want them all the same type. Signed-off-by: Rusty Russell --- tools/generate-wire.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/generate-wire.py b/tools/generate-wire.py index fd1b0df6a..e9fc2e548 100755 --- a/tools/generate-wire.py +++ b/tools/generate-wire.py @@ -287,6 +287,7 @@ if options.output_header: else: print('#include <{}>\n' '#include \n' + '#include \n' ''.format(args[0])) # Maps message names to messages @@ -325,6 +326,17 @@ if options.output_header: print('\t/*{} */'.format(c)) print('\t{} = {},'.format(m.enum.name, m.enum.value)) print('};') + print('const char *{}_name(int e);'.format(args[1])) +else: + print('const char *{}_name(int e)'.format(args[1])) + print('{{\n' + '\tswitch ((enum {})e) {{'.format(args[1])); + for m in messages: + print('\tcase {0}: return "{0}";'.format(m.enum.name)) + print('\t}\n' + '\treturn tal_fmt(NULL, "**INVALID** %i", e);\n' + '}\n' + '') for m in messages: m.print_fromwire(options.output_header)