From 8177c4f85807957b3ade3d40d532f3eb361cc0c9 Mon Sep 17 00:00:00 2001
From: David Hedbor <david@hedbor.org>
Date: Wed, 16 Jun 1999 16:24:53 -0700
Subject: [PATCH] Memory and speed optimized pike_random->read

Rev: lib/modules/Crypto/randomness.pmod:1.9
---
 lib/modules/Crypto/randomness.pmod | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/lib/modules/Crypto/randomness.pmod b/lib/modules/Crypto/randomness.pmod
index 03054e6e1c..2c6e9435c5 100644
--- a/lib/modules/Crypto/randomness.pmod
+++ b/lib/modules/Crypto/randomness.pmod
@@ -70,10 +70,8 @@ PRIVATE string some_entropy()
 class pike_random {
   string read(int len)
   {
-    return sprintf("%@c", Array.map(allocate(len), lambda(int dummy)
-				    {
-				      return random(256);
-				    } ));
+    if (len > 16384) return read(len/2)+read(len-len/2);
+    return (string)allocate(len, random)(256);
   }
 }
 
-- 
GitLab