summaryrefslogtreecommitdiffstats
path: root/games/random
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-06-22 15:24:00 +0000
committerjhb <jhb@FreeBSD.org>2005-06-22 15:24:00 +0000
commit6c5bcb1fd2ef5e07ba6f8b9bbc2709fd50c6e93a (patch)
tree01a101529daa726caa3a70a9426d05644a549e4e /games/random
parent10ae787bfbad9af16740652a649882b41ff8596d (diff)
downloadFreeBSD-src-6c5bcb1fd2ef5e07ba6f8b9bbc2709fd50c6e93a.zip
FreeBSD-src-6c5bcb1fd2ef5e07ba6f8b9bbc2709fd50c6e93a.tar.gz
Correct an error in the previous revision. RAND_MAX is the maximum value
for rand(3), not random(3). random(3) is defined to return values between 0 and 2^31-1, so add a local RANDOM_MAX constant to this file that is defined as 2^31-1 and use that in place of RAND_MAX. Reviewed by: bde Approved by: re (dwhite) MFC after: 1 week
Diffstat (limited to 'games/random')
-rw-r--r--games/random/random.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/games/random/random.c b/games/random/random.c
index 0e8f1aa..62c83ba 100644
--- a/games/random/random.c
+++ b/games/random/random.c
@@ -62,6 +62,12 @@ __FBSDID("$FreeBSD$");
#include "randomize_fd.h"
+/*
+ * The random() function is defined to return values between 0 and
+ * 2^31 - 1 inclusive in random(3).
+ */
+#define RANDOM_MAX 0x7fffffffL
+
static void usage(void);
int
@@ -158,7 +164,7 @@ main(int argc, char *argv[])
/* Compute a random exit status between 0 and denom - 1. */
if (random_exit)
- return (int)((denom * random()) / RAND_MAX);
+ return (int)((denom * random()) / RANDOM_MAX);
/*
* Select whether to print the first line. (Prime the pump.)
@@ -166,7 +172,7 @@ main(int argc, char *argv[])
* 0 (which has a 1 / denom chance of being true), we select the
* line.
*/
- selected = (int)(denom * random() / RAND_MAX) == 0;
+ selected = (int)(denom * random() / RANDOM_MAX) == 0;
while ((ch = getchar()) != EOF) {
if (selected)
(void)putchar(ch);
@@ -176,7 +182,7 @@ main(int argc, char *argv[])
err(2, "stdout");
/* Now see if the next line is to be printed. */
- selected = (int)(denom * random() / RAND_MAX) == 0;
+ selected = (int)(denom * random() / RANDOM_MAX) == 0;
}
}
if (ferror(stdin))
OpenPOWER on IntegriCloud