*
*/
-/* typedefs to eliminate some typing */
-typedef struct he HE;
-typedef struct hek HEK;
-
/* entry in hash value chain */
struct he {
/* Keep hent_next first in this structure, because sv_free_arenas take
/* The use of a temporary pointer and the casting games
* is needed to serve the dual purposes of
* (a) the hashed data being interpreted as "unsigned char" (new since 5.8,
- * a "char" can be either signed or signed, depending on the compiler)
+ * a "char" can be either signed or unsigned, depending on the compiler)
* (b) catering for old code that uses a "char"
*
* The "hash seed" feature was added in Perl 5.8.1 to perturb the results
#define Nullhv Null(HV*)
-#define HvARRAY(hv) (*(HE***)&((hv)->sv_u.svu_array))
+#define HvARRAY(hv) ((hv)->sv_u.svu_hash)
#define HvFILL(hv) ((XPVHV*) SvANY(hv))->xhv_fill
#define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max
/* This quite intentionally does no flag checking first. That's your