Marco d'Itri <[email protected]> writes:
> On Aug 30, Ingo Jürgensmann <[email protected]> wrote:
>
>> When commenting this out, ifcico is working as expected. As this is not an
>> easy to find error, I’d like to recommend to change the default config
>> accordingly.
> It segfaults in the parser, but I know nothing about flex so I cannot
> fix it.
> I suppose that something changed in flex long ago and broke this ancient
> code.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x000055555555de4f in yylex () at lex.yy.c:813
> 813 *yy_cp = (yy_hold_char);
yy_cp is NULL because of these lines in ifcico/flagexp.y:
| #ifdef FLEX_SCANNER /* flex requires reinitialization */
| yy_init=1;
| #endif
In the generated flaglex.c, setting yy_init to 1 inhibits
initialization:
| static int yy_init = 0; /* whether we need to initialize */
...
| if ( !(yy_init) )
| {
| (yy_init) = 1;
...
Regards,
--
Göran Weinholt
https://weinholt.se/