summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorDoug MacEachern <dougm@covalent.net>2001-07-10 04:19:43 -0700
committerJarkko Hietaniemi <jhi@iki.fi>2001-07-11 00:29:13 +0000
commit27d41816431d5c2af1a1968e40d64d3f7553e2fb (patch)
tree17deed32ced1973fa5075ae9d6320320fb29f71b /pp_ctl.c
parentdc19f4fb5868899801263d3ebbf80bf38e6be6b1 (diff)
downloadperl-27d41816431d5c2af1a1968e40d64d3f7553e2fb.tar.gz
Re: [PATCH] Small fix to pp_gmtime
Message-ID: <Pine.LNX.4.21.0107101118020.10475-100000@mako.covalent.net> p4raw-id: //depot/perl@11266
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index ca8235012f..1605e21684 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1551,7 +1551,7 @@ PP(pp_caller)
if (MAXARG)
count = POPi;
- EXTEND(SP, 10);
+
for (;;) {
/* we may be in a higher stacklevel, so dig down deeper */
while (cxix < 0 && top_si->si_type != PERLSI_MAIN) {
@@ -1560,8 +1560,10 @@ PP(pp_caller)
cxix = dopoptosub_at(ccstack, top_si->si_cxix);
}
if (cxix < 0) {
- if (GIMME != G_ARRAY)
+ if (GIMME != G_ARRAY) {
+ EXTEND(SP, 1);
RETPUSHUNDEF;
+ }
RETURN;
}
if (PL_DBsub && cxix >= 0 &&
@@ -1583,6 +1585,7 @@ PP(pp_caller)
stashname = CopSTASHPV(cx->blk_oldcop);
if (GIMME != G_ARRAY) {
+ EXTEND(SP, 1);
if (!stashname)
PUSHs(&PL_sv_undef);
else {
@@ -1593,6 +1596,8 @@ PP(pp_caller)
RETURN;
}
+ EXTEND(SP, 10);
+
if (!stashname)
PUSHs(&PL_sv_undef);
else