X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hv.h;h=6dc0a88f5b07a2120e76b69f4e3fae294d000994;hb=16537909412fc4f9eac20f6fc9a1b80bddb3cdd5;hp=68fc9da651c5338dd3d6f25767a00784f097b4a5;hpb=19692e8d256164f96817d6df6ecee26c3cda4ae9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hv.h b/hv.h index 68fc9da..6dc0a88 100644 --- a/hv.h +++ b/hv.h @@ -24,7 +24,7 @@ struct hek { I32 hek_len; /* length of hash key */ char hek_key[1]; /* variable-length hash key */ /* the hash-key is \0-terminated */ - /* after the \0 there is a byte for flags, such as whehter the key is + /* after the \0 there is a byte for flags, such as whether the key is UTF8 */ }; @@ -231,6 +231,8 @@ C. #define HVhek_UTF8 0x01 /* Key is utf8 encoded. */ #define HVhek_WASUTF8 0x02 /* Key is bytes here, but was supplied as utf8. */ #define HVhek_FREEKEY 0x100 /* Internal flag to say key is malloc()ed. */ +#define HVhek_PLACEHOLD 0x200 /* Internal flag to create placeholder. + * (may change, but Storable is a core module) */ #define HVhek_MASK 0xFF #define HEK_UTF8(hek) (HEK_FLAGS(hek) & HVhek_UTF8) @@ -251,6 +253,9 @@ C. : (size) * sizeof(HE*) * 2 - MALLOC_OVERHEAD) #endif +/* Flags for hv_iternext_flags. */ +#define HV_ITERNEXT_WANTPLACEHOLDERS 0x01 /* Don't skip placeholders. */ + /* available as a function in hv.c */ #define Perl_sharepvn(sv, len, hash) HEK_KEY(share_hek(sv, len, hash)) #define sharepvn(sv, len, hash) Perl_sharepvn(sv, len, hash)