Author: nicholas
Date: Fri Mar 17 12:03:22 2006
New Revision: 397
Modified:
branches/5.9.3merge/perl/hv.c
Log:
Slight tweaking to reduce diffs with 5.9.3, but something evil remains in the
shared string code.
Modified: branches/5.9.3merge/perl/hv.c
==============================================================================
--- branches/5.9.3merge/perl/hv.c (original)
+++ branches/5.9.3merge/perl/hv.c Fri Mar 17 12:03:22 2006
@@ -36,8 +36,6 @@
static const char S_strtab_error[]
= "Cannot modify shared string table in hv_%s";
-
-
STATIC void
S_more_he(pTHX)
{
@@ -1628,7 +1626,6 @@
assert (0);
}
-
STATIC void
S_hfreeentries(pTHX_ HV *hv)
{
@@ -2062,8 +2059,7 @@
}
if (found) {
- HeVAL(entry) = (SV *)(((void **)HeVAL(entry)) - 1);
- if (HeVAL(entry) == Nullsv) {
+ if (--HeVAL(entry) == Nullsv) {
*oentry = HeNEXT(entry);
if (!*first) {
/* There are now no entries in our slot. */
@@ -2191,8 +2187,7 @@
}
}
- /* use value slot as REFCNT */
- HeVAL(entry) = (SV *)(((void **) HeVAL(entry)) + 1);
+ ++HeVAL(entry); /* use value slot as REFCNT */
UNLOCK_STRTAB_MUTEX;
if (flags & HVhek_FREEKEY)