summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2011-05-10 19:06:45 +0100
committerDavid Mitchell <davem@iabyn.com>2011-05-19 14:49:43 +0100
commite0171a1a31b0610ebdf32920b0159c22c37e4691 (patch)
tree5d3ec85de32e94fd75c837142a844d5d030ed275 /embed.h
parentee872193302939c724fd6c2c18071c621bfac6c4 (diff)
downloadperl-e0171a1a31b0610ebdf32920b0159c22c37e4691.tar.gz
add hfree_next_entry(), hv_free_ent_ret()
Move body of hfreeentries()' central loop into a new function, hfree_next_entry(); leaving hfreeentries() as a simple loop that calls hfree_next_entry() until there are no entries left. This will in future allow sv_clear() to free a hash iteratively rather than recursively. Similarly, turn hv_free_ent() into a thin wrapper around a new function, hv_free_ent_ret(), which doesn't free HeVAL(), but rather just returns the SV instead.
Diffstat (limited to 'embed.h')
-rw-r--r--embed.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/embed.h b/embed.h
index 9ff64404f6..b545bd3b5f 100644
--- a/embed.h
+++ b/embed.h
@@ -1286,6 +1286,7 @@
#define hsplit(a) S_hsplit(aTHX_ a)
#define hv_auxinit S_hv_auxinit
#define hv_delete_common(a,b,c,d,e,f,g) S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
+#define hv_free_ent_ret(a,b) S_hv_free_ent_ret(aTHX_ a,b)
#define hv_magic_check S_hv_magic_check
#define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
#define new_he() S_new_he(aTHX)