summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1997-10-28 16:51:25 -0500
committerGurusamy Sarathy <gsar@cpan.org>1997-11-26 01:30:21 +0000
commite41fc98bd7f2023e39e515f98825ef0e1db2c6e4 (patch)
tree961bf964a35d6bdcadbbe0a9d95a3b3ad68e216d /pp_ctl.c
parent549bb64a6fc9695371ddc1f831ff6052dc3ba7f1 (diff)
downloadperl-e41fc98bd7f2023e39e515f98825ef0e1db2c6e4.tar.gz
[win32] Sync yet another patch (this one manually edited):
Message-Id: <199710290251.VAA14362@aatma.engin.umich.edu> Subject: [PATCH] Re: local($@) gives core dump p4raw-id: //depot/win32/perl@308
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index d9f985e8e4..834f0c0dad 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1050,11 +1050,14 @@ die_where(char *message)
if (svp) {
if (!SvIOK(*svp)) {
static char prefix[] = "\t(in cleanup) ";
+ SV *err = ERRSV;
sv_upgrade(*svp, SVt_IV);
(void)SvIOK_only(*svp);
- SvGROW(ERRSV, SvCUR(ERRSV)+sizeof(prefix)+klen);
- sv_catpvn(ERRSV, prefix, sizeof(prefix)-1);
- sv_catpvn(ERRSV, message, klen);
+ if (!SvPOK(err))
+ sv_setpv(err,"");
+ SvGROW(err, SvCUR(err)+sizeof(prefix)+klen);
+ sv_catpvn(err, prefix, sizeof(prefix)-1);
+ sv_catpvn(err, message, klen);
}
sv_inc(*svp);
}