hv_undef .= _flags
authorFather Chrysostomos <sprout@cpan.org>
Fri, 19 Nov 2010 05:30:52 +0000 (21:30 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 21 Nov 2010 02:15:13 +0000 (18:15 -0800)
Add flags param to hv_undef.

There is no mathom, as the changes that this will support
are by no means suitable for maint.

embed.fnc
embed.h
global.sym
hv.c
hv.h
proto.h

index 1d89b96..5162991 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -505,7 +505,8 @@ Abmd        |HE*    |hv_store_ent   |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
                                |U32 hash
 AbmM   |SV**   |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
                                |I32 klen|NULLOK SV *val|U32 hash|int flags
-Apd    |void   |hv_undef       |NULLOK HV *hv
+Amd    |void   |hv_undef       |NULLOK HV *hv
+poX    |void   |hv_undef_flags |NULLOK HV *hv|U32 flags
 Am     |I32    |ibcmp          |NN const char* a|NN const char* b|I32 len
 AnpP   |I32    |foldEQ         |NN const char* a|NN const char* b|I32 len
 Am     |I32    |ibcmp_locale   |NN const char* a|NN const char* b|I32 len
diff --git a/embed.h b/embed.h
index 42515df..7516282 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define hv_ksplit(a,b)         Perl_hv_ksplit(aTHX_ a,b)
 #define hv_name_set(a,b,c,d)   Perl_hv_name_set(aTHX_ a,b,c,d)
 #define hv_scalar(a)           Perl_hv_scalar(aTHX_ a)
-#define hv_undef(a)            Perl_hv_undef(aTHX_ a)
 #define init_i18nl10n(a)       Perl_init_i18nl10n(aTHX_ a)
 #define init_i18nl14n(a)       Perl_init_i18nl14n(aTHX_ a)
 #define init_stacks()          Perl_init_stacks(aTHX)
index 23e7bb9..c2cc132 100644 (file)
@@ -219,7 +219,7 @@ Perl_hv_scalar
 Perl_hv_store
 Perl_hv_store_ent
 Perl_hv_store_flags
-Perl_hv_undef
+Perl_hv_undef_flags
 Perl_init_i18nl10n
 Perl_init_i18nl14n
 Perl_init_stacks
diff --git a/hv.c b/hv.c
index a3dd133..7f2eed7 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -1815,7 +1815,7 @@ Undefines the hash.
 */
 
 void
-Perl_hv_undef(pTHX_ HV *hv)
+Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags)
 {
     dVAR;
     register XPVHV* xhv;
diff --git a/hv.h b/hv.h
index 6a41324..602cf56 100644 (file)
--- a/hv.h
+++ b/hv.h
@@ -435,6 +435,7 @@ C<SV*>.
 
 #define hv_iternext(hv)        hv_iternext_flags(hv, 0)
 #define hv_magic(hv, gv, how) sv_magic(MUTABLE_SV(hv), MUTABLE_SV(gv), how, NULL, 0)
+#define hv_undef(hv) Perl_hv_undef_flags(aTHX_ hv, 0)
 
 /* available as a function in hv.c */
 #define Perl_sharepvn(sv, len, hash) HEK_KEY(share_hek(sv, len, hash))
diff --git a/proto.h b/proto.h
index 6679e59..2dd44c3 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -1438,7 +1438,8 @@ PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv)
 /* PERL_CALLCONV SV**  Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash); */
 /* PERL_CALLCONV HE*   Perl_hv_store_ent(pTHX_ HV *hv, SV *key, SV *val, U32 hash); */
 /* PERL_CALLCONV SV**  Perl_hv_store_flags(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash, int flags); */
-PERL_CALLCONV void     Perl_hv_undef(pTHX_ HV *hv);
+/* PERL_CALLCONV void  hv_undef(pTHX_ HV *hv); */
+PERL_CALLCONV void     Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags);
 /* PERL_CALLCONV I32   ibcmp(pTHX_ const char* a, const char* b, I32 len)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2); */