This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In Perl_feature_is_enabled() use cBOOL to convert the pointer to a "bool".
authorNicholas Clark <nick@ccl4.org>
Mon, 16 Jan 2012 15:21:21 +0000 (16:21 +0100)
committerNicholas Clark <nick@ccl4.org>
Mon, 16 Jan 2012 15:21:21 +0000 (16:21 +0100)
commitc8ca97b0f5c0db7ad9b35fc9c4bea37281bc79ff
treeafcce7759ec7f388077b95ff5d7b7fbaaa361140
parent86e2f32949f588e0df48328ed7dfb2e90d8b142b
In Perl_feature_is_enabled() use cBOOL to convert the pointer to a "bool".

On some platforms which don't have a (real) bool type, bool is actually a
char, and hence (sadly) it's correct for the compiler to truncate when
assigning to it, instead of what the programmer thought was going to happen
(testing zero or not). In Perl_feature_is_enabled(), the expression is a
pointer, so if it converts to an integer with the bottom 8 bits zero, then
on these platforms it would truncate to "false". Not what was expected.
toke.c