ISO C90 forbids mixed declarations and code (-Wpedantic)
build the example with -pedantic
define a macro NFAI_UNUSED instead of directly putting (void)x everywhere.