Norihiro Tanaka wrote:
I see that new version has no response for following test which was used
previously.

     printf '\x80ab\n' | env LC_ALL=en_US.utf8 src/grep -P '.?b'


Thanks for reporting that. The test case works for me (Fedora 20 x86-64, GCC 4.9.1):

$ printf '\x80ab\n' | env LC_ALL=en_US.utf8 src/grep -P '.?b' | od -c
0000000 200   a   b  \n
0000004

Fedora 20 is using pcre version 8.33-6.fc20; perhaps there's a PCRE version dependency here? Can you use GDB to put a breakpoint on pcre_exec and see what values it's returning, and what it's storing into sub[0] and sub[1]? Here's what I see (I compiled grep with '-g3 -O0'):

$ printf '\x80ab\n' >in
$ gdb src/grep
...
(gdb) b pcre_exec
...
(gdb) r -P '.?b' in
...
(gdb) fin
...
(gdb) n
...
(gdb) p e
$1 = -10
(gdb) c
...
(gdb) fin
...
(gdb) n
...
(gdb) p e
$2 = -1
(gdb) c
...
(gdb) fin
...
(gdb) n
...
(gdb) p e
$3 = 1
(gdb) p sub[0]
$4 = 0
(gdb) p sub[1]
$5 = 2
(gdb) p p
$6 = 0x62f001 "ab\n"
(gdb) p buf
$7 = 0x62f000 "\200ab\n"


That is, the first call to pcre_exec reports the encoding error, the second one (on the empty string) reports no match, and the third one (on "ab") finds the match.


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to