summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-11-18 05:39:36 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-11-18 05:39:36 +0000
commitb5d92ff461a53c003570dfb3f7104a54ab2cc3d8 (patch)
tree03485df374d8e39df90d5cfbb0127fe9430d6a53
parentc6e96bcb406bc8b8d8610606459ff606ad6883aa (diff)
downloadperl-b5d92ff461a53c003570dfb3f7104a54ab2cc3d8.tar.gz
tweak change#2245 to skip previous message if any
p4raw-link: @2245 on //depot/perl: a99e4ac224ca891463a7704e48b83906ece3bb7c p4raw-id: //depot/perl@2248
-rw-r--r--pp_ctl.c6
-rw-r--r--t/pragma/warn/pp_ctl2
2 files changed, 6 insertions, 2 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index e4b8a739fa..e081fa554d 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1253,8 +1253,10 @@ die_where(char *message)
SvGROW(err, SvCUR(err)+sizeof(prefix)+klen);
sv_catpvn(err, prefix, sizeof(prefix)-1);
sv_catpvn(err, message, klen);
- if (ckWARN(WARN_UNSAFE))
- warner(WARN_UNSAFE, SvPVX(err));
+ if (ckWARN(WARN_UNSAFE)) {
+ STRLEN start = SvCUR(err)-klen-sizeof(prefix)+1;
+ warner(WARN_UNSAFE, SvPVX(err)+start);
+ }
}
sv_inc(*svp);
}
diff --git a/t/pragma/warn/pp_ctl b/t/pragma/warn/pp_ctl
index 70c67fa598..5a1c2338ed 100644
--- a/t/pragma/warn/pp_ctl
+++ b/t/pragma/warn/pp_ctl
@@ -153,5 +153,7 @@ use warning 'unsafe' ;
package Foo;
DESTROY { die "@{$_[0]} foo bar" }
{ bless ['A'], 'Foo' for 1..10 }
+{ bless ['B'], 'Foo' for 1..10 }
EXPECT
(in cleanup) A foo bar at - line 4.
+ (in cleanup) B foo bar at - line 4.