diff options
Diffstat (limited to 'hv.c')
-rw-r--r-- | hv.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -1038,6 +1038,11 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, STATIC void S_hsplit(pTHX_ HV *hv) { + /* Can't make this clear any placeholders first for non-restricted hashes, + as Storable rebuilds restricted hashes by putting in all the + placeholders (first) before turning on the readonly flag. Hence midway + through restoring the hash there are placeholders which need to remain + even though the hash isn't (currently) flagged as restricted. */ register XPVHV* xhv = (XPVHV*)SvANY(hv); I32 oldsize = (I32) xhv->xhv_max+1; /* HvMAX(hv)+1 (sick) */ register I32 newsize = oldsize * 2; |