gen_events.lua: define NUM_EVENTS as an enum value

Fix PVS warnings:

    fileio.c:7293   Medium  V547    Expression is always true.
    fileio.c:7351   Medium  V547    Expression 'event == 100' is always false.

event_name2nr returns event_T, so PVS infers that nothing outside of
that range could possibly be returned.
This commit is contained in:
Justin M. Keyes
2018-06-16 01:40:38 +02:00
parent eeeaf04c5e
commit 2a274cbe30

View File

@@ -25,25 +25,22 @@ static const struct event_name {
} event_names[] = {]]) } event_names[] = {]])
for i, event in ipairs(events) do for i, event in ipairs(events) do
if i > 1 then enum_tgt:write(('\n EVENT_%s = %u,'):format(event:upper(), i - 1))
comma = ',\n' names_tgt:write(('\n {%u, "%s", EVENT_%s},'):format(#event, event, event:upper()))
else if i == #events then -- Last item.
comma = '\n' enum_tgt:write(('\n NUM_EVENTS = %u,'):format(i))
end end
enum_tgt:write(('%s EVENT_%s = %u'):format(comma, event:upper(), i - 1))
names_tgt:write(('%s {%u, "%s", EVENT_%s}'):format(comma, #event, event, event:upper()))
end end
for alias, event in pairs(aliases) do for alias, event in pairs(aliases) do
names_tgt:write((',\n {%u, "%s", EVENT_%s}'):format(#alias, alias, event:upper())) names_tgt:write(('\n {%u, "%s", EVENT_%s},'):format(#alias, alias, event:upper()))
end end
names_tgt:write(',\n {0, NULL, (event_T)0}') names_tgt:write('\n {0, NULL, (event_T)0},')
enum_tgt:write('\n} event_T;\n') enum_tgt:write('\n} event_T;\n')
names_tgt:write('\n};\n') names_tgt:write('\n};\n')
enum_tgt:write(('\n#define NUM_EVENTS %u\n'):format(#events))
names_tgt:write('\nstatic AutoPat *first_autopat[NUM_EVENTS] = {\n ') names_tgt:write('\nstatic AutoPat *first_autopat[NUM_EVENTS] = {\n ')
line_len = 1 line_len = 1
for i = 1,((#events) - 1) do for i = 1,((#events) - 1) do