X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hv.h;h=468c072bf05df073eed747fcd0a4ccd305b5225c;hb=0aaa8280547862c4736508fffce4fde2128ae594;hp=438199455fff7bbb93eadf76406d740c2745b497;hpb=6e1287864cd02fb6f429f12a995e1c08e03572b9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hv.h b/hv.h index 4381994..468c072 100644 --- a/hv.h +++ b/hv.h @@ -85,13 +85,10 @@ struct xpvhv_aux { struct xpvhv { HV* xmg_stash; /* class package */ union _xmgu xmg_u; - STRLEN xhv_fill; /* how full xhv_array currently is */ + STRLEN xhv_keys; /* total keys, including placeholders */ STRLEN xhv_max; /* subscript of last element of xhv_array */ - union _xivu xiv_u; }; -#define xhv_keys xiv_u.xivu_iv - /* hash a key */ /* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins * from requirements by Colin Plumb. @@ -237,7 +234,7 @@ C. # define Nullhv Null(HV*) #endif #define HvARRAY(hv) ((hv)->sv_u.svu_hash) -#define HvFILL(hv) ((XPVHV*) SvANY(hv))->xhv_fill +#define HvFILL(hv) Perl_hv_fill(aTHX_ (const HV *)(hv)) #define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max /* This quite intentionally does no flag checking first. That's your responsibility. */