summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-08-25 18:10:53 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-08-25 23:02:10 -0700
commit9d3c658e5c246089e541ed0d652aaccf018f16e9 (patch)
treea8b31caa71624daad4c4a8bd0bab38d19ec35532 /pp_ctl.c
parent2f8d417bd28b4abb5998a05fa0a9ebeb970ca845 (diff)
downloadperl-9d3c658e5c246089e541ed0d652aaccf018f16e9.tar.gz
&CORE::exit()
This commit allows &CORE::exit to be called through references and via ampersand syntax. pp_exit is modified to take into account the nulls pushed on to the stack in pp_coreargs, since pp_coreargs has no other way to tell exit how many arguments it’s actually getting.
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 997f492be3..76786c0508 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -3139,6 +3139,9 @@ PP(pp_exit)
if (MAXARG < 1)
anum = 0;
+ else if (!TOPs) {
+ anum = 0; (void)POPs;
+ }
else {
anum = SvIVx(POPs);
#ifdef VMS