[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 482049e: Fix 'random' on MS-Windows when integers are wider than
From: |
Eli Zaretskii |
Subject: |
master 482049e: Fix 'random' on MS-Windows when integers are wider than 30 bits |
Date: |
Sat, 14 Aug 2021 10:40:32 -0400 (EDT) |
branch: master
commit 482049e54277f0a429efdcd660286e9e7b465033
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Fix 'random' on MS-Windows when integers are wider than 30 bits
* src/w32.c (random): Provide more random bits for MS-Windows
builds with EMACS_INT that is wider than 32 bits. (Bug#32605)
---
src/w32.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/w32.c b/src/w32.c
index 968b4bb..180c73a 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -2389,8 +2389,13 @@ rand_as183 (void)
int
random (void)
{
- /* rand_as183 () gives us 15 random bits...hack together 30 bits. */
+ /* rand_as183 () gives us 15 random bits...hack together 30 bits for
+ Emacs with 32-bit EMACS_INT, and at least 31 bit for wider EMACS_INT. */
+#if EMACS_INT_MAX > INT_MAX
+ return ((rand_as183 () << 30) | (rand_as183 () << 15) | rand_as183 ());
+#else
return ((rand_as183 () << 15) | rand_as183 ());
+#endif
}
void
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 482049e: Fix 'random' on MS-Windows when integers are wider than 30 bits,
Eli Zaretskii <=