From: Emil Velikov <emil.veli...@collabora.com> Demystify the final magic value within the generated files.
Signed-off-by: Emil Velikov <emil.veli...@collabora.com> --- src/scanner.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/scanner.c b/src/scanner.c index 22b1daa..8f469e9 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -1779,6 +1779,7 @@ emit_code(struct protocol *protocol, enum visibility vis) } printf("};\n\n"); + printf("#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))\n"); wl_list_for_each_safe(i, next, &protocol->interface_list, link) { emit_messages(&i->request_list, i, "requests"); @@ -1790,12 +1791,12 @@ emit_code(struct protocol *protocol, enum visibility vis) symbol_visibility, i->name, i->name, i->version); if (!wl_list_empty(&i->request_list)) - printf("\t.method_count = %d, .methods = %s_requests,\n", - wl_list_length(&i->request_list), i->name); + printf("\t.method_count = ARRAY_SIZE(%s_requests), .methods = %s_requests,\n", + i->name, i->name); if (!wl_list_empty(&i->event_list)) - printf("\t.event_count = %d, .events = %s_events,\n", - wl_list_length(&i->event_list), i->name); + printf("\t.event_count = ARRAY_SIZE(%s_events), .events = %s_events,\n", + i->name, i->name); printf("};\n\n"); -- 2.16.0 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel