X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hv.h;h=f38d584d2cc2da6ed4595961642e22708138b897;hb=3676dc40900bfc690777a77e6cde26f637cc4dce;hp=9322377f2d75110bd73d547e3890bcd85892a668;hpb=44b87b5061968d098b3906ca4b5e6f94469c8694;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hv.h b/hv.h index 9322377..f38d584 100644 --- a/hv.h +++ b/hv.h @@ -80,31 +80,17 @@ struct xpvhv_aux { struct mro_meta *xhv_mro_meta; }; -#define _XPVHV_ALLOCATED_HEAD \ - STRLEN xhv_fill; /* how full xhv_array currently is */ \ - STRLEN xhv_max /* subscript of last element of xhv_array */ - -#define _XPVHV_HEAD \ - union _xnvu xnv_u; \ - _XPVHV_ALLOCATED_HEAD - /* hash structure: */ /* This structure must match the beginning of struct xpvmg in sv.h. */ struct xpvhv { - _XPVHV_HEAD; + union _xnvu xnv_u; + STRLEN xhv_fill; /* how full xhv_array currently is */ + STRLEN xhv_max; /* subscript of last element of xhv_array */ _XPVMG_HEAD; }; #define xhv_keys xiv_u.xivu_iv -typedef struct { - _XPVHV_ALLOCATED_HEAD; - _XPVMG_HEAD; -} xpvhv_allocated; - -#undef _XPVHV_ALLOCATED_HEAD -#undef _XPVHV_HEAD - /* hash a key */ /* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins * from requirements by Colin Plumb. @@ -220,7 +206,7 @@ If you are using C to get values to pass to C to create a new SV, you should consider using C as it is more efficient. -=for apidoc Am|char*|HeUTF8|HE* he|STRLEN len +=for apidoc Am|char*|HeUTF8|HE* he Returns whether the C value returned by C is encoded in UTF-8, doing any necessary dereferencing of possibly C keys. The value returned will be 0 or non-0, not necessarily 1 (or even a value with any low bits set),