Further examination reveals this to be a problem with the handling of
multibyte characters. It was working in my x86 chroot owing to
different locale settings.
builtin.c has the following:
#ifdef MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
t1 = str2wstr(t1, & wc_indices);
rlength = wc_indices[rstart + rlength - 1] -
wc_indices[rstart] + 1;
rstart = wc_indices[rstart];
}
#endif
if rstart and rlength are both 0 (as is the case on an empty match),
this ends up dereferencing the array element at -1. A patch like the
attached seems to make the problem go away, but I've not checked to see
if the same problem occurs elsewhere.
** Attachment added: "gawk.patch"
http://launchpadlibrarian.net/8555039/gawk.patch
--
match operator broken on amd64
https://bugs.launchpad.net/bugs/127850
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs