From 8af0c3680927f957286f95f98d498d611ebc5cf0 Mon Sep 17 00:00:00 2001 From: jhb Date: Fri, 27 May 2005 15:29:01 +0000 Subject: Fix for 64-bit platforms. random() returns values between 0 and RAND_MAX, and RAND_MAX != LONG_MAX on 64-bit platforms. PR: amd64/81279 Submitted by: Vivek Khera vivek at khera dot org Submitted by: Adriaan de Groot groot at kde dot org MFC after: 1 week --- games/random/random.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'games') diff --git a/games/random/random.c b/games/random/random.c index 3dae75b..0e8f1aa 100644 --- a/games/random/random.c +++ b/games/random/random.c @@ -158,7 +158,7 @@ main(int argc, char *argv[]) /* Compute a random exit status between 0 and denom - 1. */ if (random_exit) - return (int)((denom * random()) / LONG_MAX); + return (int)((denom * random()) / RAND_MAX); /* * Select whether to print the first line. (Prime the pump.) @@ -166,7 +166,7 @@ main(int argc, char *argv[]) * 0 (which has a 1 / denom chance of being true), we select the * line. */ - selected = (int)(denom * random() / LONG_MAX) == 0; + selected = (int)(denom * random() / RAND_MAX) == 0; while ((ch = getchar()) != EOF) { if (selected) (void)putchar(ch); @@ -176,7 +176,7 @@ main(int argc, char *argv[]) err(2, "stdout"); /* Now see if the next line is to be printed. */ - selected = (int)(denom * random() / LONG_MAX) == 0; + selected = (int)(denom * random() / RAND_MAX) == 0; } } if (ferror(stdin)) -- cgit v1.1