> Le 19 août 2021 à 10:21, Dagobert Michelsen <d...@opencsw.org> a écrit :
> 
>> Thanks.  Neither work as I expect.  It seems that \0 does not work in char 
>> classes.  Could you please try this also?
>> 
>> perl -p -e 's{(\0|[\200\210\360\377])}{sprintf "\\x%02x", ord($1)}ge' <log 
>> >out.3
>> 
>> Currently your output looks like this:
>> 
>> tests/testsuite.dir/004/input.y:1.11: error: invalid null character
>>   1 | %header "\xf0\x80\x88"
>>     |           ^
>> 
>> the expected output should also show \x00:
>> 
>>   1 | %header "\xf0\x00\x80\x88"
>>     |           ^
> 
> So you are assuming that a NULL byte actually in log, which is not the case:

You are right, I somehow confused things, and log is incorrect.  So it's not 
the test suite which is wrong, but bison itself.

There remains one last check to make sure it's bison the binary that is wrong:

LC_ALL=C ./src/bison ./tests/testsuite.dir/004/input.y 2>/tmp/log

(src/bison, not tests/bison)

But I'm pretty sure the \x00 is still not there, and it's going to painful to 
diagnose and fix :(  Yet this rings some bell, I'll dive into the history to 
find something similar.

Reply via email to