MAGIC *mg;
HV *stash;
- if (!av)
- return 0;
+ if (!av) return 0;
if (SvCANEXISTDELETE(av))
return av_exists(av, key);
MAGIC *mg;
HV *stash;
- if (!hv)
- return 0;
+ if (!hv) return 0;
if (SvCANEXISTDELETE(hv) || mg_find((SV *) hv, PERL_MAGIC_env))
return hv_exists_ent(hv, keysv, 0);
save_gp((GV *) *svp, 0);
return;
}
- if (!preeminent) {
+ if (preeminent)
+ save_helem(hv, keysv, svp);
+ else {
STRLEN keylen;
const char * const key = SvPV_const(keysv, keylen);
SAVEDELETE(hv, savepvn(key, keylen),
SvUTF8(keysv) ? -(I32)keylen : (I32)keylen);
- } else {
- save_helem(hv, keysv, svp);
}
}
#define SU_UD_ORIGIN(U) (((su_ud_common *) (U))->origin)
#define SU_UD_HANDLER(U) (((su_ud_common *) (U))->handler)
-#define SU_UD_FREE(U) do { \
+#define SU_UD_FREE(U) STMT_START { \
if (SU_UD_ORIGIN(U)) Safefree(SU_UD_ORIGIN(U)); \
Safefree(U); \
-} while (0)
+} STMT_END
/* ... Reap ................................................................ */