This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pp_ctl.c:S_run_user_filter: remove GMAGICAL check
authorFather Chrysostomos <sprout@cpan.org>
Sat, 10 Aug 2013 01:14:31 +0000 (18:14 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 11 Aug 2013 14:50:22 +0000 (07:50 -0700)
We have already called get-magic at this point, so SvOK will give
the right answer even for magical variables.  Concatenating it when
gmagical could give an uninitialised warning if it is undef, so
we don’t want to do that, as it would cause magical and non-mag-
ical undefs to behave differently.  I don’t know how to write a
test for this.

pp_ctl.c

index 9db13b8..f8190e3 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -5513,7 +5513,7 @@ S_run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen)
        concatenate it then we get a warning about use of uninitialised value.
     */
     if (!err && upstream != buf_sv &&
-        (SvOK(upstream) || SvGMAGICAL(upstream))) {
+        SvOK(upstream)) {
        sv_catsv_nomg(buf_sv, upstream);
     }
     else if (SvOK(upstream)) (void)SvPV_force_nolen(buf_sv);