summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-06-22 01:14:14 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-06-22 01:14:14 +0000
commita2008d6d9087873a23da5012f181cb674dbf4ab1 (patch)
treee0e61a56820ba722535f48599cb94a8dbfbd9ce9 /pp_hot.c
parent7e5428c5eadf5068dae305575a105bd61a84cb5d (diff)
downloadperl-a2008d6d9087873a23da5012f181cb674dbf4ab1.tar.gz
merge relevant portions from maintbranch change#1155
p4raw-link: @1155 on //depot/maint-5.004/perl: c7664d5b6ade225b1576289e62712eec26808f84 p4raw-id: //depot/perl@1186
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 9fbd176bf4..0133085722 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1027,8 +1027,11 @@ do_readline(void)
IoFLAGS(io) &= ~IOf_START;
IoLINES(io) = 0;
if (av_len(GvAVn(last_in_gv)) < 0) {
- SV *tmpstr = newSVpv("-", 1); /* assume stdin */
- av_push(GvAVn(last_in_gv), tmpstr);
+ do_open(last_in_gv,"-",1,FALSE,0,0,Nullfp);
+ sv_setpvn(GvSV(last_in_gv), "-", 1);
+ SvSETMAGIC(GvSV(last_in_gv));
+ fp = IoIFP(io);
+ goto have_fp;
}
}
fp = nextargv(last_in_gv);
@@ -1176,6 +1179,7 @@ do_readline(void)
}
RETURN;
}
+ have_fp:
if (gimme == G_SCALAR) {
sv = TARG;
if (SvROK(sv))