return;
#ifdef DEBUGGING
if (SvTIED_mg((SV*)av, PERL_MAGIC_tied) && ckWARN_d(WARN_DEBUGGING))
- Perl_warner(aTHX_ WARN_DEBUGGING, "av_reify called on tied array");
+ Perl_warner(aTHX_ packWARN(WARN_DEBUGGING), "av_reify called on tied array");
#endif
key = AvMAX(av) + 1;
while (key > AvFILLp(av) + 1)
bytes = (newmax + 1) * sizeof(SV*);
#define MALLOC_OVERHEAD 16
itmp = MALLOC_OVERHEAD;
- while (itmp - MALLOC_OVERHEAD < bytes)
+ while ((MEM_SIZE)(itmp - MALLOC_OVERHEAD) < bytes)
itmp += itmp;
itmp -= MALLOC_OVERHEAD;
itmp /= sizeof(SV*);
#ifdef DEBUGGING
if (SvREFCNT(av) == 0 && ckWARN_d(WARN_DEBUGGING)) {
- Perl_warner(aTHX_ WARN_DEBUGGING, "Attempt to clear deleted array");
+ Perl_warner(aTHX_ packWARN(WARN_DEBUGGING), "Attempt to clear deleted array");
}
#endif
if (!av)
SV *retval;
MAGIC* mg;
- if (!av || AvFILL(av) < 0)
- return &PL_sv_undef;
+ if (!av)
+ return &PL_sv_undef;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
if ((mg = SvTIED_mg((SV*)av, PERL_MAGIC_tied))) {
POPSTACK;
return retval;
}
+ if (AvFILL(av) < 0)
+ return &PL_sv_undef;
retval = AvARRAY(av)[AvFILLp(av)];
AvARRAY(av)[AvFILLp(av)--] = &PL_sv_undef;
if (SvSMAGICAL(av))
MAGIC* mg;
I32 slide;
- if (!av || num <= 0)
+ if (!av)
return;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
return;
}
+ if (num <= 0)
+ return;
if (!AvREAL(av) && AvREIFY(av))
av_reify(av);
i = AvARRAY(av) - AvALLOC(av);
SV *retval;
MAGIC* mg;
- if (!av || AvFILL(av) < 0)
+ if (!av)
return &PL_sv_undef;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
POPSTACK;
return retval;
}
+ if (AvFILL(av) < 0)
+ return &PL_sv_undef;
retval = *AvARRAY(av);
if (AvREAL(av))
*AvARRAY(av) = &PL_sv_undef;
mg = mg_find(sv, PERL_MAGIC_tiedelem);
if (mg) {
magic_existspack(sv, mg);
- return SvTRUE(sv);
+ return (bool)SvTRUE(sv);
}
}
}