Subject: | [PATCH] Fix for perl 5.19.4-to-be |
Under bleadperl, arrays now use NULL to represent nonexistent elements.
See attached patch.
Subject: | open_DjZKuVRd.txt |
diff -rup Data-Util-0.62-rNFnWR-orig/subs.c Data-Util-0.62-rNFnWR/subs.c
--- Data-Util-0.62-rNFnWR-orig/subs.c 2012-10-20 04:54:44.000000000 -0700
+++ Data-Util-0.62-rNFnWR/subs.c 2013-08-29 06:24:41.000000000 -0700
@@ -62,6 +62,9 @@ XS(XS_Data__Util_curried){
/* fill in params */
for(i = 0; i < len; i++){
SV* const ph = phs_ary[i];
+ if (!ph){
+ continue;
+ }
if(isGV(ph)){ /* symbolic placeholder *_ */
if(!sph){
@@ -128,7 +131,7 @@ XS(XS_Data__Util_curried){
}
for(/* i is initialized above */; i < len; i++){
- if(isGV(phs_ary[i])){
+ if(phs_ary[i] && isGV(phs_ary[i])){
/* warn("#sph %d - %d", (int)max_ph+1, (int)min_ph); //*/
PUSHary(sph, max_ph + 1, min_ph);
}
@@ -140,7 +143,7 @@ XS(XS_Data__Util_curried){
/* NOTE: need to clean up params before call_sv(), because call_sv() might die */
for(i = 0; i < len; i++){
- if(SvIOKp(phs_ary[i])){
+ if(phs_ary[i] && SvIOKp(phs_ary[i])){
/* NOTE: no need to SvREFCNT_dec(params_ary[i]) */
params_ary[i] = &PL_sv_undef;
}