summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-08-27 18:50:19 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-08-27 23:37:48 -0700
commitd22667bf3cdadad95b9d176de3bf87d0b0e1286e (patch)
tree7e971a423f1299f314615839e1873199b4e6bb54 /pp.c
parent0da4a804fef07340c6c2f7617fcf7ed884cea7ae (diff)
downloadperl-d22667bf3cdadad95b9d176de3bf87d0b0e1286e.tar.gz
&CORE::srand()
This commit allows &CORE::srand to be called through references and via ampersand syntax. pp_srand is modified to take into account the nulls pushed on to the stack in pp_coreargs, which happens because pp_coreargs has no other way to tell srand how many arguments it’s actually getting. See commit 0163043a for details.
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/pp.c b/pp.c
index 54226dd078..b7618021da 100644
--- a/pp.c
+++ b/pp.c
@@ -2832,7 +2832,7 @@ PP(pp_rand)
PP(pp_srand)
{
dVAR; dSP; dTARGET;
- const UV anum = (MAXARG < 1) ? seed() : POPu;
+ const UV anum = (MAXARG < 1 || (!TOPs && !POPs)) ? seed() : POPu;
(void)seedDrand01((Rand_seed_t)anum);
PL_srand_called = TRUE;
if (anum)