|
Boost : |
From: John Maddock (jm_at_[hidden])
Date: 2002-09-05 06:00:35
> This is a bug in the 1.28.0 version of kmp_compile. Perhaps it has been
fixed
> in the CVS version, but I want to get the fix into your upcoming release
of
> 1.29.0.
>
> In boost/regex/detail/regex_kmp.hpp, the kmp_compile function has a
mistake in
> the calculations of the allocation size for kmp_info and its pstr pointer.
The
> kmp_next member of kmp_info is an array of std::ptrdiff_t elements. The
> calculations use sizeof(int) instead of sizeof(std::ptrdiff_t) to allow
for the
> array. On my alpha processor, std::ptrdiff_t is 8 bytes, while int is 4
bytes.
>
> I haven't confirmed that my fix works, but I am fairly confident that this
is a
> bug, and I want to make sure you have time to get it into 1.29.0:
Yes, it is a bug, and explains why that code was failing on 64-bit
platforms, I'd actually already reverted to a previously known good version
of the code in the cvs, so I'll leave it as it is for now.
Thanks!
John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/index.htm
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk