This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make sv_mortalcopy_flags() public
authorPali <pali@cpan.org>
Thu, 7 Feb 2019 13:22:55 +0000 (14:22 +0100)
committerTony Cook <tony@develop-help.com>
Wed, 29 May 2019 05:43:03 +0000 (15:43 +1000)
embed.fnc
embed.h
sv.c

index 259affd..aa672d0 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1631,7 +1631,7 @@ Ein       |bool   |sv_only_taint_gmagic|NN SV *sv
 : exported for re.pm
 EXp    |MAGIC *|sv_magicext_mglob|NN SV *sv
 ApdbmR |SV*    |sv_mortalcopy  |NULLOK SV *const oldsv
-XpR    |SV*    |sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
+ApdR   |SV*    |sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
 ApdR   |SV*    |sv_newmortal
 Apd    |SV*    |sv_newref      |NULLOK SV *const sv
 Ap     |char*  |sv_peek        |NULLOK SV* sv
diff --git a/embed.h b/embed.h
index 9178c51..aa1b2c2 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define sv_len_utf8(a)         Perl_sv_len_utf8(aTHX_ a)
 #define sv_magic(a,b,c,d,e)    Perl_sv_magic(aTHX_ a,b,c,d,e)
 #define sv_magicext(a,b,c,d,e,f)       Perl_sv_magicext(aTHX_ a,b,c,d,e,f)
+#define sv_mortalcopy_flags(a,b)       Perl_sv_mortalcopy_flags(aTHX_ a,b)
 #define sv_newmortal()         Perl_sv_newmortal(aTHX)
 #define sv_newref(a)           Perl_sv_newref(aTHX_ a)
 #define sv_nosharing(a)                Perl_sv_nosharing(aTHX_ a)
 #define sv_del_backref(a,b)    Perl_sv_del_backref(aTHX_ a,b)
 #define sv_free_arenas()       Perl_sv_free_arenas(aTHX)
 #define sv_len_utf8_nomg(a)    Perl_sv_len_utf8_nomg(aTHX_ a)
-#define sv_mortalcopy_flags(a,b)       Perl_sv_mortalcopy_flags(aTHX_ a,b)
 #define sv_resetpvn(a,b,c)     Perl_sv_resetpvn(aTHX_ a,b,c)
 #define sv_sethek(a,b)         Perl_sv_sethek(aTHX_ a,b)
 #ifndef PERL_IMPLICIT_CONTEXT
diff --git a/sv.c b/sv.c
index a5f7da2..de67b76 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -9224,6 +9224,11 @@ The new SV is marked as mortal.  It will be destroyed "soon", either by an
 explicit call to C<FREETMPS>, or by an implicit call at places such as
 statement boundaries.  See also C<L</sv_newmortal>> and C<L</sv_2mortal>>.
 
+=for apidoc sv_mortalcopy_flags
+
+Like C<sv_mortalcopy>, but the extra C<flags> are passed to the
+C<sv_setsv_flags>.
+
 =cut
 */