In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/1037353b7e5ab2b2522d601c33d3c548ab4cd100?hp=190f5bb61e6f462ca221d9bbf42d21bf77349f42>
- Log ----------------------------------------------------------------- commit 1037353b7e5ab2b2522d601c33d3c548ab4cd100 Author: Daniel Dragan <[email protected]> Date: Tue Dec 2 19:31:35 2014 -0500 pp_eof: a new SV can't have setmagic -dont compute GvSV multiple times ----------------------------------------------------------------------- Summary of changes: pp_sys.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pp_sys.c b/pp_sys.c index 8f6c753..09eead6 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -2115,14 +2115,18 @@ PP(pp_eof) if (!MAXARG && (PL_op->op_flags & OPf_SPECIAL)) { /* eof() */ if (io && !IoIFP(io)) { if ((IoFLAGS(io) & IOf_START) && av_tindex(GvAVn(gv)) < 0) { + SV ** svp; IoLINES(io) = 0; IoFLAGS(io) &= ~IOf_START; do_open6(gv, "-", 1, NULL, NULL, 0); - if (GvSV(gv)) - sv_setpvs(GvSV(gv), "-"); + svp = &GvSV(gv); + if (*svp) { + SV * sv = *svp; + sv_setpvs(sv, "-"); + SvSETMAGIC(sv); + } else - GvSV(gv) = newSVpvs("-"); - SvSETMAGIC(GvSV(gv)); + *svp = newSVpvs("-"); } else if (!nextargv(gv, FALSE)) RETPUSHYES; -- Perl5 Master Repository
