| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
This was refactored in 0e32cd, but left a dangling reference to the
previous location here.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, when the NULL-terminated variadic function
filter_create_ext() is invoked, the value "0" is passed as
the last argument to act as a terminator. However, this is
an integer value, which is incompatible with the pointer
data type expected by filter_create_ext().
This is undefined behavior in C, correct operation is not
guaranteed. In fact, it causes flex to crash on Apple M1
when GCC is used - the loop is not terminated when it should,
instead, it keeps running, corrupting the argument list for
invoking m4. As a result, it creates the following error:
> flex: fatal internal error, exec of gm4 failed
This commit fixes the problem by explicitly casting the value 0 to
the correct pointer type (char *).
Signed-off-by: Yifeng Li <tomli@tomli.me>
|
| | |
|
| |\
| |
| | |
Fix Issue #525 - Segfault in yyinput
|
| | |
| |
| |
| | |
Demonstrate yyinput() error checking for this condition.
|
| |/
|
|
|
|
| |
Fixes: #517
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
|
| | |
|
| | |
|
| |
|
|
| |
Many projects have pre-commit hooks that check for pedantic things like trailing whitespace. No harm in removing it to pacify them.
|
| |\
| |
| | |
Issue 469; Compute length of yy_state_buf correctly
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
State buffer initialization in cpp-flex.skl got lost during a rebase. Added it back in from c99-flex.skl and made improvements suggested by smcpeak.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
yypanic() is new in the c99 and go skeletons.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
yy_switch_to_buffer is called.
|
| |/
|
| |
`gcount()` is of type `streamsize` which has a system-dependent size with at least `int`. Because of the `int max_size` limit no bigger value will be returned, the explicit cast fixes warnings from compilers/static analyzers.
|
| |\
| |
| |
| | |
into Explorer09-yy-init-buffer-nonnull
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When complied with 'gcc -O3', the yy_init_buffer call can confuse gcc,
thinking the 'b' pointer may be NULL. (gcc would warn that if
'-Wnull-dereference' is used). Fix the confusion by never pass a NULL
constant to the function.
Fixes: #377
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit c34590c4bf067d4e749e5298a8ce9f90072d6332
and all search code patches that followed it.
The execvp() would do the $PATH searching of m4 for flex. There's no
need to duplicate the effort.
Another reason for the removal is to remove dependency on stat()
system call, which would cause a problem in a 32-bit OS accessing a
filesystem with 64-bit inode number (see #413).
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
|
| |
|
|
| |
Wildcards were causing automake to generate build rules for the *-filename dummies. They're not generally portable.
|
| | |
|
| |
|
|
| |
Probably we could turn the section markers into m4 macros, but until
then this will prevent accidents.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
All documented in the go-flex.skl header comment.
|
| |
|
|
|
|
| |
Things that don't need to be declared before that DFA
tables shouldn't be.
|
| |
|
|
| |
struct yyguts_t becomes FlexLexer typedef.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Remove the Bison-bdidge kludge.
Rearrange yyguts_t so the public members are grouped together.
|
| |
|
|
| |
...to clean out a forward declaeation.
|
| | |
|
| |
|
|
| |
Not touching the public interface yet.
|
| | |
|
| |
|
|
|
| |
It was fixed up by generating matcing unbalanced markuo in dfa.c,
but a good idea this was not.
|
| | |
|
| |
|
|
|
| |
No publicly visible names are touched yet. This is all preep work.
All tesrs pass.
|
| |
|
|
| |
...presebtly commented out. All tests pass.
|
| |
|
|
|
|
|
| |
Begin the Go back end. Right now it's a fake that generates C...
...but this commit puts all the build and testnmachinery in place
for when it's not. All tests pass.
|
| | |
|
| |
|
|
| |
...and fix the bug that turned up.
|
| |
|
|
|
| |
It decayed because the test for this feature only exercised the nr
back end. We add a ruleset--based test to verify on all back ends.
|
| |
|
|
|
|
|
|
|
|
|
| |
We a ruleset test for BOL matching and a test for the array case of yymore.
Improve yymore testing by adding tests that require a BOL match in
both array and pointer cases.
Also, convert lineno sporadic test to be ruleset-based so it's
applied on all back ends.
No cide changes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove two dependencies that the C99 back end no longer has.
Repair to force in-time building of skel.h files. This way of doing
it reduces where a new skel dependency has to be declared in the
vuilld recipe to the one spot where the flex.h file is made from the
flex.skl file.
The posixly correct test only needs to be done once, since it only
affects how the tables are genetated rather than setting code
conditionals in the back end.
Also, some comment typo fixes.
|