summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-05-03 15:43:34 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-05-03 15:43:34 +0000
commitbdf1bb36db75d3871fd8ac7ace0bba5fcfb86259 (patch)
treee7c774fab2f9672cac4f4e2fa7ad32e3fedb6b58 /pp.c
parentd0c833c6b6d161774fa9ee0c74b6748675c48591 (diff)
downloadperl-bdf1bb36db75d3871fd8ac7ace0bba5fcfb86259.tar.gz
Fix getting prototype of builtins mkdir and setpgrp.
Hardcode special exceptions for exec and system, instead of trying to be clever and failing. p4raw-id: //depot/perl@24380
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/pp.c b/pp.c
index 2ba5b61b29..fa32601167 100644
--- a/pp.c
+++ b/pp.c
@@ -388,7 +388,8 @@ PP(pp_prototype)
I32 oa;
char str[ MAX_ARGS_OP * 2 + 2 ]; /* One ';', one '\0' */
- if (code == -KEY_chop || code == -KEY_chomp)
+ if (code == -KEY_chop || code == -KEY_chomp
+ || code == -KEY_exec || code == -KEY_system)
goto set;
while (i < MAXO) { /* The slow way. */
if (strEQ(s + 6, PL_op_name[i])
@@ -406,8 +407,6 @@ PP(pp_prototype)
seen_question = 1;
str[n++] = ';';
}
- else if (n && str[0] == ';' && seen_question)
- goto set; /* XXXX system, exec */
if ((oa & (OA_OPTIONAL - 1)) >= OA_AVREF
&& (oa & (OA_OPTIONAL - 1)) <= OA_SCALARREF
/* But globs are already references (kinda) */