summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-01-07 15:06:05 -0500
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-01-08 13:04:48 +0000
commit3049007d1d4cd7f779efe25ccbd65634c7e84bd1 (patch)
treeb833b0302557a82eae7cb92e0b03a1307c71e67d
parentfc1ce8cc0aa3c1d2926edfb2f302ea8c60b40168 (diff)
downloadperl-3049007d1d4cd7f779efe25ccbd65634c7e84bd1.tar.gz
print/printf/... over-eager mg_find for glob magic:
Subject: [PATCH] fix inefficient checks for TIEHANDLE p4raw-id: //depot/perl@404
-rw-r--r--pp_hot.c4
-rw-r--r--pp_sys.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 23c3a956d5..7c320b37c4 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -295,7 +295,7 @@ PP(pp_print)
gv = (GV*)*++MARK;
else
gv = defoutgv;
- if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) {
+ if (SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) {
if (MARK == ORIGMARK) {
MEXTEND(SP, 1);
++MARK;
@@ -983,7 +983,7 @@ do_readline(void)
I32 gimme = GIMME_V;
MAGIC *mg;
- if (SvMAGICAL(last_in_gv) && (mg = mg_find((SV*)last_in_gv, 'q'))) {
+ if (SvRMAGICAL(last_in_gv) && (mg = mg_find((SV*)last_in_gv, 'q'))) {
PUSHMARK(SP);
XPUSHs(mg->mg_obj);
PUTBACK;
diff --git a/pp_sys.c b/pp_sys.c
index 23c7569df5..26886d1af1 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -927,7 +927,7 @@ PP(pp_getc)
if (!gv)
gv = argvgv;
- if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) {
+ if (SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) {
I32 gimme = GIMME_V;
PUSHMARK(SP);
XPUSHs(mg->mg_obj);
@@ -1145,7 +1145,7 @@ PP(pp_prtf)
else
gv = defoutgv;
- if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) {
+ if (SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) {
if (MARK == ORIGMARK) {
MEXTEND(SP, 1);
++MARK;
@@ -1255,7 +1255,7 @@ PP(pp_sysread)
gv = (GV*)*++MARK;
if ((op->op_type == OP_READ || op->op_type == OP_SYSREAD) &&
- SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q')))
+ SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q')))
{
SV *sv;