ref: 04b13ebe5fa6b4cc6d22cc84b40ea042d5ab6215
parent: 5b97860d9e7a6cb619ba796e1522c9e5df8b2c5a
author: ozan yigit <ozan.yigit@gmail.com>
date: Mon Aug 4 19:58:26 EDT 2025
Fix incorrect divisor in rand().
--- a/run.c
+++ b/run.c
@@ -2130,7 +2130,7 @@
/* random() returns numbers in [0..2^31-1]
* in order to get a number in [0, 1), divide it by 2^31
*/
- u = (Awkfloat) random() / (0x7fffffffL + 0x1UL);
+ u = (Awkfloat) random() / RAND_MAX;
break;
case FSRAND:
if (isrec(x)) /* no argument provided */
--
⑨