diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2002-01-19 22:17:07 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2002-01-19 22:17:07 +0000 |
commit | 68795e9367de98482c4a5830e6e94b51bd60f4e3 (patch) | |
tree | ce6632db4435b22ae2f82e511a34f76563752e4a /mg.c | |
parent | 92110913508b9944d111285d9488f2f7b604919c (diff) | |
download | perl-68795e9367de98482c4a5830e6e94b51bd60f4e3.tar.gz |
Nearly-working threads re-structuring. Do not integrate,
submit-ing to get to Win32, and as "off site" backup.
p4raw-id: //depot/perlio@14352
Diffstat (limited to 'mg.c')
-rw-r--r-- | mg.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -319,7 +319,11 @@ Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen) int count = 0; MAGIC* mg; for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) { - if (isUPPER(mg->mg_type)) { + MGVTBL* vtbl = mg->mg_virtual; + if ((mg->mg_flags & MGf_COPY) && vtbl->svt_copy){ + count += CALL_FPTR(vtbl->svt_copy)(aTHX_ sv, mg, nsv, key, klen); + } + else if (isUPPER(mg->mg_type)) { sv_magic(nsv, mg->mg_type == PERL_MAGIC_tied ? SvTIED_obj(sv, mg) : (mg->mg_type == PERL_MAGIC_regdata && mg->mg_obj) |