summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl')
-rw-r--r--gnu/usr.bin/perl/Configure6
-rw-r--r--gnu/usr.bin/perl/pp.c5
2 files changed, 7 insertions, 4 deletions
diff --git a/gnu/usr.bin/perl/Configure b/gnu/usr.bin/perl/Configure
index 8e22a5fc7b2..d34fded7ee1 100644
--- a/gnu/usr.bin/perl/Configure
+++ b/gnu/usr.bin/perl/Configure
@@ -19620,9 +19620,9 @@ case "$ccflags" in
;;
esac
-randfunc=Perl_drand48
-drand01="Perl_drand48()"
-seedfunc="Perl_drand48_init"
+randfunc=drand48
+drand01="drand48()"
+seedfunc="srand48"
randbits=48
randseedtype=U32
diff --git a/gnu/usr.bin/perl/pp.c b/gnu/usr.bin/perl/pp.c
index 4ec6887dfd6..79abdb01f89 100644
--- a/gnu/usr.bin/perl/pp.c
+++ b/gnu/usr.bin/perl/pp.c
@@ -2785,9 +2785,12 @@ PP(pp_srand)
}
}
else {
- anum = seed();
+ anum = 0;
}
+ if (anum)
+ (void)srand48_deterministic((Rand_seed_t)anum);
+ else
(void)seedDrand01((Rand_seed_t)anum);
PL_srand_called = TRUE;
if (anum)