dVAR;
HE* he;
HE* heend;
- Newx(he, PERL_ARENA_SIZE/sizeof(HE), HE);
+
+ he = (HE*) Perl_get_arena(aTHX_ PERL_ARENA_SIZE);
HeNEXT(he) = (HE*) PL_body_arenas;
PL_body_arenas = he;
}
hek = hv_fetch_common (hv, NULL, key, klen, flags,
lval ? (HV_FETCH_JUST_SV | HV_FETCH_LVALUE) : HV_FETCH_JUST_SV,
- Nullsv, 0);
+ NULL, 0);
return hek ? &HeVAL(hek) : NULL;
}
Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, register U32 hash)
{
return hv_fetch_common(hv, keysv, NULL, 0, 0,
- (lval ? HV_FETCH_LVALUE : 0), Nullsv, hash);
+ (lval ? HV_FETCH_LVALUE : 0), NULL, hash);
}
STATIC HE *
const char * const nkey = strupr(savepvn(key,klen));
/* Note that this fetch is for nkey (the uppercased
key) whereas the store is for key (the original) */
- entry = hv_fetch_common(hv, Nullsv, nkey, klen,
+ entry = hv_fetch_common(hv, NULL, nkey, klen,
HVhek_FREEKEY, /* free nkey */
0 /* non-LVAL fetch */,
- Nullsv /* no value */,
+ NULL /* no value */,
0 /* compute hash */);
if (!entry && (action & HV_FETCH_LVALUE)) {
/* This call will free key if necessary.
int masked_flags;
if (!hv)
- return Nullsv;
+ return NULL;
if (keysv) {
if (k_flags & HVhek_FREEKEY)
SV *sv;
entry = hv_fetch_common(hv, keysv, key, klen,
k_flags & ~HVhek_FREEKEY, HV_FETCH_LVALUE,
- Nullsv, hash);
+ NULL, hash);
sv = entry ? HeVAL(entry) : NULL;
if (sv) {
if (SvMAGICAL(sv)) {
sv_unmagic(sv, PERL_MAGIC_tiedelem);
return sv;
}
- return Nullsv; /* element cannot be deleted */
+ return NULL; /* element cannot be deleted */
}
#ifdef ENV_IS_CASELESS
else if (mg_find((SV*)hv, PERL_MAGIC_env)) {
}
xhv = (XPVHV*)SvANY(hv);
if (!HvARRAY(hv))
- return Nullsv;
+ return NULL;
if (is_utf8) {
const char * const keysave = key;
Safefree(key);
if (d_flags & G_DISCARD)
- sv = Nullsv;
+ sv = NULL;
else {
sv = sv_2mortal(HeVAL(entry));
HeVAL(entry) = &PL_sv_placeholder;
if (k_flags & HVhek_FREEKEY)
Safefree(key);
- return Nullsv;
+ return NULL;
}
STATIC void
if ((name = HvNAME_get(hv))) {
if(PL_stashcache)
hv_delete(PL_stashcache, name, HvNAMELEN_get(hv), G_DISCARD);
- hv_name_set(hv, Nullch, 0, 0);
+ hv_name_set(hv, NULL, 0, 0);
}
SvFLAGS(hv) &= ~SVf_OOK;
Safefree(HvARRAY(hv));
/* what follows was the moral equivalent of:
if ((Svp = hv_fetch(PL_strtab, tmpsv, FALSE, hash))) {
- if (--*Svp == Nullsv)
+ if (--*Svp == NULL)
hv_delete(PL_strtab, str, len, G_DISCARD, hash);
} */
xhv = (XPVHV*)SvANY(PL_strtab);
/* what follows is the moral equivalent of:
if (!(Svp = hv_fetch(PL_strtab, str, len, FALSE)))
- hv_store(PL_strtab, str, len, Nullsv, hash);
+ hv_store(PL_strtab, str, len, NULL, hash);
Can't rehash the shared string table, so not sure if it's worth
counting the number of entries in the linked list