Current code is causing a failure in adding a set containing
a really long list of elements. The failure occurs as soon as
the line is longer than flex read buffer.
When a line is longer than scanner buffer size, the code in YY_INPUT
forces a rewind to the beginning of the string because it does not
find a end of line. The result is that the string is never parsed.
This patch updates the code by rewinding till we found a space.
Signed-off-by: Eric Leblond <eric@regit.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
clearerr(yyin); \
} \
if (result > 1) { \
- while (result > 1 && buf[result - 1] != '\n') \
+ while (result > 1 && \
+ (buf[result - 1] != '\n' && buf[result - 1] != ' ')) \
result--, n++; \
result--, n++; \
fseek(yyin, -n, SEEK_CUR); \