Change 33824 by [EMAIL PROTECTED] on 2008/05/13 19:50:23 Upgrade to Devel::PPPort 3.13_03
Affected files ... ... //depot/perl/ext/Devel/PPPort/Changes#44 edit ... //depot/perl/ext/Devel/PPPort/PPPort_pm.PL#37 edit ... //depot/perl/ext/Devel/PPPort/parts/inc/SvPV#11 edit ... //depot/perl/ext/Devel/PPPort/soak#32 edit ... //depot/perl/ext/Devel/PPPort/t/SvPV.t#8 edit Differences ... ==== //depot/perl/ext/Devel/PPPort/Changes#44 (xtext) ==== Index: perl/ext/Devel/PPPort/Changes --- perl/ext/Devel/PPPort/Changes#43~33672~ 2008-04-13 06:12:15.000000000 -0700 +++ perl/ext/Devel/PPPort/Changes 2008-05-13 12:50:23.000000000 -0700 @@ -1,3 +1,8 @@ +3.13_03 - 2008-05-13 + + * fix CPAN #35835: SvPV_flags_const_nolen segfaults prior + to perl 5.8.8 + 3.13_02 - 2008-04-13 * fix NV[efg]f format string macros for perl-5.6.0 built ==== //depot/perl/ext/Devel/PPPort/PPPort_pm.PL#37 (text) ==== Index: perl/ext/Devel/PPPort/PPPort_pm.PL --- perl/ext/Devel/PPPort/PPPort_pm.PL#36~33672~ 2008-04-13 06:12:15.000000000 -0700 +++ perl/ext/Devel/PPPort/PPPort_pm.PL 2008-05-13 12:50:23.000000000 -0700 @@ -508,7 +508,7 @@ use strict; use vars qw($VERSION $data); -$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_02 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_03 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; sub _init_data { ==== //depot/perl/ext/Devel/PPPort/parts/inc/SvPV#11 (text) ==== Index: perl/ext/Devel/PPPort/parts/inc/SvPV --- perl/ext/Devel/PPPort/parts/inc/SvPV#10~32827~ 2008-01-04 06:10:18.000000000 -0800 +++ perl/ext/Devel/PPPort/parts/inc/SvPV 2008-05-13 12:50:23.000000000 -0700 @@ -1,8 +1,8 @@ ################################################################################ ## -## $Revision: 19 $ +## $Revision: 20 $ ## $Author: mhx $ -## $Date: 2008/01/04 10:47:43 +0100 $ +## $Date: 2008/05/13 21:05:51 +0200 $ ## ################################################################################ ## @@ -27,6 +27,7 @@ NEED_sv_2pv_flags NEED_sv_2pv_flags_GLOBAL +DPPP_SVPV_NOLEN_LP_ARG =implementation @@ -131,6 +132,12 @@ #endif +#if { VERSION < 5.8.8 } || ( { VERSION >= 5.9.0 } && { VERSION < 5.9.3 } ) +# define DPPP_SVPV_NOLEN_LP_ARG &PL_na +#else +# define DPPP_SVPV_NOLEN_LP_ARG 0 +#endif + __UNDEFINED__ SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC) __UNDEFINED__ SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC) @@ -146,7 +153,7 @@ __UNDEFINED__ SvPV_flags_const_nolen(sv, flags) \ ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ ? SvPVX_const(sv) : \ - (const char*) sv_2pv_flags(sv, 0, flags|SV_CONST_RETURN)) + (const char*) sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN)) __UNDEFINED__ SvPV_flags_mutable(sv, lp, flags) \ ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ @@ -165,7 +172,7 @@ __UNDEFINED__ SvPV_force_flags_nolen(sv, flags) \ ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ - ? SvPVX(sv) : sv_pvn_force_flags(sv, 0, flags)) + ? SvPVX(sv) : sv_pvn_force_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags)) __UNDEFINED__ SvPV_force_flags_mutable(sv, lp, flags) \ ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ @@ -174,11 +181,11 @@ __UNDEFINED__ SvPV_nolen(sv) \ ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? SvPVX(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC)) + ? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC)) __UNDEFINED__ SvPV_nolen_const(sv) \ ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? SvPVX_const(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC|SV_CONST_RETURN)) + ? SvPVX_const(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN)) __UNDEFINED__ SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0) __UNDEFINED__ SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0) @@ -426,7 +433,7 @@ RETVAL -=tests plan => 20 +=tests plan => 39 my $mhx = "mhx"; @@ -457,3 +464,26 @@ ok(&Devel::PPPort::SvPV_nomg_const($mhx), $i++); ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), $i++); +$mhx = 42; ok(&Devel::PPPort::SvPV_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_const($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_mutable($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_flags($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const($mhx), 2); + +$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_flags_mutable($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_mutable($mhx), 2); + +$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), 2); + +$mhx = 42; ok(&Devel::PPPort::SvPV_nolen_const($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_nomg($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), 0); + ==== //depot/perl/ext/Devel/PPPort/soak#32 (text) ==== Index: perl/ext/Devel/PPPort/soak --- perl/ext/Devel/PPPort/soak#31~33672~ 2008-04-13 06:12:15.000000000 -0700 +++ perl/ext/Devel/PPPort/soak 2008-05-13 12:50:23.000000000 -0700 @@ -33,7 +33,7 @@ use List::Util qw(max); use Config; -my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_02 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_03 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; $| = 1; my %OPT = ( ==== //depot/perl/ext/Devel/PPPort/t/SvPV.t#8 (text) ==== Index: perl/ext/Devel/PPPort/t/SvPV.t --- perl/ext/Devel/PPPort/t/SvPV.t#7~31705~ 2007-08-12 16:17:42.000000000 -0700 +++ perl/ext/Devel/PPPort/t/SvPV.t 2008-05-13 12:50:23.000000000 -0700 @@ -30,9 +30,9 @@ require 'testutil.pl' if $@; } - if (20) { + if (39) { load(); - plan(tests => 20); + plan(tests => 39); } } @@ -77,3 +77,26 @@ ok(&Devel::PPPort::SvPV_nomg_const($mhx), $i++); ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), $i++); +$mhx = 42; ok(&Devel::PPPort::SvPV_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_const($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_mutable($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_flags($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const($mhx), 2); + +$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_flags_mutable($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_mutable($mhx), 2); + +$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), 2); + +$mhx = 42; ok(&Devel::PPPort::SvPV_nolen_const($mhx), 0); +$mhx = 42; ok(&Devel::PPPort::SvPV_nomg($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const($mhx), 2); +$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), 0); + End of Patch.