A high-performance C++ regex library and lexical analyzer generator with Unicode support. Extends Flex++ with Unicode support, indent/dedent anchors, lazy quantifiers, functions for lex and syntax error reporting and more. Seamlessly integrates with Bison and other parsers.
Converting a negative integer (accidentally) using int utf8(int, char*) defined in utf8.h was causing it to silently fill a value between 0-255. This can cause wunput(EOF) and skip(EOF) to return successfully, but actually do something differently than what was intended (fails silently).
I have changed it to fill with REFLEX_NONCHAR instead since that was what the code was doing for out-of-range codepoints.
Converting a negative integer (accidentally) using
int utf8(int, char*)
defined inutf8.h
was causing it to silently fill a value between 0-255. This can causewunput(EOF)
andskip(EOF)
to return successfully, but actually do something differently than what was intended (fails silently).I have changed it to fill with
REFLEX_NONCHAR
instead since that was what the code was doing for out-of-range codepoints.You may even decide to throw instead.