> Le 19 août 2021 à 10:07, Dagobert Michelsen <[email protected]> a écrit :
> 
> Hi Akim,
> 
> Am 19.08.2021 um 10:01 schrieb Akim Demaille <[email protected]>:
>> This is good: the input and the output are correct.  So it's the test 
>> suite's post processing which is wrong.  I guess Perl does not behave the 
>> expected way.  Could you please give me the results (and out.1 and out.2) of:
>> 
>> perl --version
>> perl -p -e 's{([\0\200\210\360\377])}{sprintf "\\x%02x", ord($1)}ge' <log 
>> >out.1
>> perl -p -e 's{([\000\200\210\360\377])}{sprintf "\\x%02x", ord($1)}ge' <log 
>> >out.2
>> 
>> where log is the previous log file (from LC_ALL=C tests/bison  
>> tests/testsuite.dir/004/input.y 2>log).
> 
> Sure, I also added the respective output from the system shipped perl:

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"
      |           ^


Reply via email to