summaryrefslogtreecommitdiff
path: root/mro.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-02-23 14:48:17 +0000
committerNicholas Clark <nick@ccl4.org>2010-05-24 13:48:46 +0100
commita09252eb79f700c93c37322c1ad831cf3193571b (patch)
tree72d71fd1a06a6f17d38ff5a13129dda2ee6e57c3 /mro.c
parent842c41230043ce99d4bf7b2c79aed85ce2908e89 (diff)
downloadperl-a09252eb79f700c93c37322c1ad831cf3193571b.tar.gz
Convert Perl_sv_dup_inc() from a macro to a real function.
Diffstat (limited to 'mro.c')
-rw-r--r--mro.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/mro.c b/mro.c
index 2dca25cc82..488e564684 100644
--- a/mro.c
+++ b/mro.c
@@ -162,23 +162,22 @@ Perl_mro_meta_dup(pTHX_ struct mro_meta* smeta, CLONE_PARAMS* param)
if (newmeta->mro_linear_all) {
newmeta->mro_linear_all
- = MUTABLE_HV(SvREFCNT_inc(sv_dup((const SV *)newmeta->mro_linear_all, param)));
+ = MUTABLE_HV(sv_dup_inc((const SV *)newmeta->mro_linear_all, param));
/* This is just acting as a shortcut pointer, and will be automatically
updated on the first get. */
newmeta->mro_linear_current = NULL;
} else if (newmeta->mro_linear_current) {
/* Only the current MRO is stored, so this owns the data. */
newmeta->mro_linear_current
- = SvREFCNT_inc(sv_dup((const SV *)newmeta->mro_linear_current,
- param));
+ = sv_dup_inc((const SV *)newmeta->mro_linear_current, param);
}
if (newmeta->mro_nextmethod)
newmeta->mro_nextmethod
- = MUTABLE_HV(SvREFCNT_inc(sv_dup((const SV *)newmeta->mro_nextmethod, param)));
+ = MUTABLE_HV(sv_dup_inc((const SV *)newmeta->mro_nextmethod, param));
if (newmeta->isa)
newmeta->isa
- = MUTABLE_HV(SvREFCNT_inc(sv_dup((const SV *)newmeta->isa, param)));
+ = MUTABLE_HV(sv_dup_inc((const SV *)newmeta->isa, param));
return newmeta;
}