{
dTHR; /* only necessary if we have to extend stack */
MAGIC *mg;
- if (mg = SvTIED_mg((SV*)av, 'P')) {
+ if ((mg = SvTIED_mg((SV*)av, 'P'))) {
dSP;
ENTER;
SAVETMPS;
IV itmp;
#endif
-#if defined(MYMALLOC) && !defined(PURIFY) && !defined(LEAKTEST)
+#if defined(MYMALLOC) && !defined(LEAKTEST)
newmax = malloced_size((void*)AvALLOC(av))/sizeof(SV*) - 1;
if (key <= newmax)
Perl_av_store(pTHX_ register AV *av, I32 key, SV *val)
{
SV** ary;
- U32 fill;
-
if (!av)
return 0;
SV** ary;
#ifdef DEBUGGING
- if (SvREFCNT(av) <= 0 && ckWARN_d(WARN_DEBUGGING)) {
+ if (SvREFCNT(av) == 0 && ckWARN_d(WARN_DEBUGGING)) {
Perl_warner(aTHX_ WARN_DEBUGGING, "Attempt to clear deleted array");
}
#endif
ary[key] = &PL_sv_undef;
}
}
- if (key = AvARRAY(av) - AvALLOC(av)) {
+ if ((key = AvARRAY(av) - AvALLOC(av))) {
AvMAX(av) += key;
SvPVX(av) = (char*)AvALLOC(av);
}
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
- if (mg = SvTIED_mg((SV*)av, 'P')) {
+ if ((mg = SvTIED_mg((SV*)av, 'P'))) {
dSP;
PUSHSTACKi(PERLSI_MAGIC);
PUSHMARK(SP);
return &PL_sv_undef;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
- if (mg = SvTIED_mg((SV*)av, 'P')) {
+ if ((mg = SvTIED_mg((SV*)av, 'P'))) {
dSP;
PUSHSTACKi(PERLSI_MAGIC);
PUSHMARK(SP);
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
- if (mg = SvTIED_mg((SV*)av, 'P')) {
+ if ((mg = SvTIED_mg((SV*)av, 'P'))) {
dSP;
PUSHSTACKi(PERLSI_MAGIC);
PUSHMARK(SP);
return &PL_sv_undef;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
- if (mg = SvTIED_mg((SV*)av, 'P')) {
+ if ((mg = SvTIED_mg((SV*)av, 'P'))) {
dSP;
PUSHSTACKi(PERLSI_MAGIC);
PUSHMARK(SP);
Perl_croak(aTHX_ "panic: null array");
if (fill < 0)
fill = -1;
- if (mg = SvTIED_mg((SV*)av, 'P')) {
+ if ((mg = SvTIED_mg((SV*)av, 'P'))) {
dSP;
ENTER;
SAVETMPS;
return index;
}
+STATIC I32
+S_avhv_index(pTHX_ AV *av, SV *keysv, U32 hash)
+{
+ HV *keys;
+ HE *he;
+ STRLEN n_a;
+
+ keys = avhv_keys(av);
+ he = hv_fetch_ent(keys, keysv, FALSE, hash);
+ if (!he)
+ Perl_croak(aTHX_ "No such pseudo-hash field \"%s\"", SvPV(keysv,n_a));
+ return avhv_index_sv(HeVAL(he));
+}
+
HV*
Perl_avhv_keys(pTHX_ AV *av)
{
}
SV**
+Perl_avhv_store_ent(pTHX_ AV *av, SV *keysv, SV *val, U32 hash)
+{
+ return av_store(av, avhv_index(av, keysv, hash), val);
+}
+
+SV**
Perl_avhv_fetch_ent(pTHX_ AV *av, SV *keysv, I32 lval, U32 hash)
{
- SV **indsvp;
- HV *keys = avhv_keys(av);
- HE *he;
- STRLEN n_a;
-
- he = hv_fetch_ent(keys, keysv, FALSE, hash);
- if (!he)
- Perl_croak(aTHX_ "No such pseudo-hash field \"%s\"", SvPV(keysv,n_a));
- return av_fetch(av, avhv_index_sv(HeVAL(he)), lval);
+ return av_fetch(av, avhv_index(av, keysv, hash), lval);
}
SV *