Marvin Humphrey wrote on 1/18/10 5:42 PM:
On Mon, Jan 18, 2010 at 01:45:19PM -0600, Peter Karman wrote:
On 64-bit Centos 5 Linux with Perl 5.8.9 I get several failures for
t/core/032-string_helper.t.
The issue seems to be related to the u8_t size of the i and max vars. It's
as if they are being evaluated as signed rather than unsigned. However,
even if I hardcode 'unsigned char' instead of the Charmonized 'u8_t' I
still get the same error (below).
Changing to an int fixes it. But it doesn't make any sense to me why an
unsigned char wouldn't work.
I'll bet that what's actually going wrong is the promotion of the arguments
from "unsigned char" to "long" as they are being passed to ASSERT_INT_EQ.
To verify, try changing one of the tests from...
ASSERT_INT_EQ(batch, StrHelp_UTF8_SKIP[i], 1,
"UTF8_SKIP ascii %d", (int)i);
...to:
ASSERT_TRUE(batch, StrHelp_UTF8_SKIP[i] == 1,
"UTF8_SKIP ascii %d", (int)i);
alas, that didn't change the output.
--
Peter Karman . http://peknet.com/ . [email protected]