> > > ! #define UTF8_ERROR(details) \
> > > ! if (1) { \
> > > ! if (utf8_decoding_error(&s, &p, errors, (details))) \
> > > ! goto onError; \
> > > ! continue; \
> > > ! } else
Try defining the macro this way:
#define UTF8_ERROR(details) \
do { \
if (utf8_decoding_error(&s, &p, errors, (details))) \
goto onError; \
continue; \
} while(0)
BArry