void
Perl_av_extend(pTHX_ AV *av, I32 key)
{
+ MAGIC *mg;
+
assert(av);
- MAGIC * const mg = SvTIED_mg((SV*)av, PERL_MAGIC_tied);
+ mg = SvTIED_mg((SV*)av, PERL_MAGIC_tied);
if (mg) {
dSP;
ENTER;
register I32 key;
assert(av);
-
-/* XXX Should av_clear really be NN? */
#ifdef DEBUGGING
if (SvREFCNT(av) == 0 && ckWARN_d(WARN_DEBUGGING)) {
Perl_warner(aTHX_ packWARN(WARN_DEBUGGING), "Attempt to clear deleted array");
if (!mg) {
mg = sv_magicext((SV*)av, 0, PERL_MAGIC_arylen_p, &PL_vtbl_arylen_p,
0, 0);
-
- if (!mg) {
- Perl_die(aTHX_ "panic: av_arylen_p");
- }
+ assert(mg);
/* sv_magicext won't set this for us because we pass in a NULL obj */
mg->mg_flags |= MGf_REFCOUNTED;
}