diff options
author | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-11-11 12:48:26 +0000 |
---|---|---|
committer | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-11-11 12:48:26 +0000 |
commit | 38a03e6ea6b9b346c41b9006fbeedc3b0f0130b2 (patch) | |
tree | dfad8700b788597b91a0ada8768e7b083306c4b7 /pp_sys.c | |
parent | 57d3b86dc9b74a9b2d9e24c40494104c74f62be7 (diff) | |
download | perl-38a03e6ea6b9b346c41b9006fbeedc3b0f0130b2.tar.gz |
Fix up $@ (ERRSV now refers to GvSV(errgv) for non-threaded perl and
thr->errsv for threaded perl). Fix pp_tie and pp_dbmopen to use
GvCV(gv) instead of gv so AUTOLOAD stuff works. All tests now pass
again for non-threaded perl. Enhanced perl_get_sv to return
per-thread magicals where necessary for threaded perl.
p4raw-id: //depot/perl@228
Diffstat (limited to 'pp_sys.c')
-rw-r--r-- | pp_sys.c | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -278,10 +278,10 @@ PP(pp_warn) tmps = SvPV(TOPs, na); } if (!tmps || !*tmps) { - (void)SvUPGRADE(errsv, SVt_PV); - if (SvPOK(errsv) && SvCUR(errsv)) - sv_catpv(errsv, "\t...caught"); - tmps = SvPV(errsv, na); + (void)SvUPGRADE(ERRSV, SVt_PV); + if (SvPOK(ERRSV) && SvCUR(ERRSV)) + sv_catpv(ERRSV, "\t...caught"); + tmps = SvPV(ERRSV, na); } if (!tmps || !*tmps) tmps = "Warning: something's wrong"; @@ -303,10 +303,10 @@ PP(pp_die) tmps = SvPV(TOPs, na); } if (!tmps || !*tmps) { - (void)SvUPGRADE(errsv, SVt_PV); - if (SvPOK(errsv) && SvCUR(errsv)) - sv_catpv(errsv, "\t...propagated"); - tmps = SvPV(errsv, na); + (void)SvUPGRADE(ERRSV, SVt_PV); + if (SvPOK(ERRSV) && SvCUR(ERRSV)) + sv_catpv(ERRSV, "\t...propagated"); + tmps = SvPV(ERRSV, na); } if (!tmps || !*tmps) tmps = "Died"; @@ -550,7 +550,7 @@ PP(pp_tie) CATCH_SET(oldcatch); #else ENTER; - perl_call_sv((SV*)gv, G_SCALAR); + perl_call_sv((SV*)GvCV(gv), G_SCALAR); SPAGAIN; #endif sv = TOPs; @@ -680,7 +680,7 @@ PP(pp_dbmopen) runops(); #else PUTBACK; - perl_call_sv((SV*)gv, G_SCALAR); + perl_call_sv((SV*)GvCV(gv), G_SCALAR); #endif SPAGAIN; @@ -707,7 +707,7 @@ PP(pp_dbmopen) if (op = pp_entersub(ARGS)) runops(); #else - perl_call_sv((SV*)gv, G_SCALAR); + perl_call_sv((SV*)GvCV(gv), G_SCALAR); #endif SPAGAIN; } |