Red Hat Bugzilla – Bug 967463
perl-5.18: SvTRUE returns wrong value
Last modified: 2013-08-14 04:28:23 EDT
There is a regression in SvTRUE macro. Expected value is:
$ perl -MScalar::Util=dualvar -le 'print $]; $a = dualvar 1, ""; print $a ? "true" : "false";'
This is broken in 5.18.0 and fixed with upstream commit:
Author: Father Chrysostomos <firstname.lastname@example.org>
Date: Sat May 25 23:59:45 2013 -0700
[perl #118159] Make PVs take precedence in SvTRUE
Commit 4bac9ae4 (probably inadvertently) changed SvTRUE to treat an SV
with any of PVX, IVX or NVX having a true value as true.
Traditionally, truth was based solely on stringification. The examina-
tion of the SvIVX and SvNVX slots was for those cases where there was
no string already and it could be deduced from IVX or NVX whether it
would stringify as "0" or no (bugs with -0 aside).
This changes things back to the way they have ‘always’ been.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.