'Scalar-List-Utils' => {
'MAINTAINER' => 'gbarr',
- 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.26.tar.gz',
+ 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.27.tar.gz',
# Note that perl uses its own version of Makefile.PL
'FILES' => q[cpan/List-Util],
# define slu_sv_value(sv) (SvIOK(sv)) ? (NV)(SvIVX(sv)) : (SvNV(sv))
#endif
+#if PERL_VERSION < 13 || (PERL_VERSION == 13 && PERL_SUBVERSION < 9)
+# define PERL_HAS_BAD_MULTICALL_REFCOUNT
+#endif
+
MODULE=List::Util PACKAGE=List::Util
void
MULTICALL;
SvSetSV(ret, *PL_stack_sp);
}
+#ifdef PERL_HAS_BAD_MULTICALL_REFCOUNT
+ if (CvDEPTH(multicall_cv) > 1)
+ SvREFCNT_inc_simple_void_NN(multicall_cv);
+#endif
POP_MULTICALL;
}
else {
GvSV(PL_defgv) = args[index];
MULTICALL;
if (SvTRUEx(*PL_stack_sp)) {
+#ifdef PERL_HAS_BAD_MULTICALL_REFCOUNT
+ if (CvDEPTH(multicall_cv) > 1)
+ SvREFCNT_inc_simple_void_NN(multicall_cv);
+#endif
POP_MULTICALL;
ST(0) = ST(index);
XSRETURN(1);
}
}
+#ifdef PERL_HAS_BAD_MULTICALL_REFCOUNT
+ if (CvDEPTH(multicall_cv) > 1)
+ SvREFCNT_inc_simple_void_NN(multicall_cv);
+#endif
POP_MULTICALL;
}
else {