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

Reply via email to