Module Name: src Committed By: nia Date: Sun Jul 26 15:38:22 UTC 2020
Modified Files: src/games/robots: main.c rnd_pos.c Log Message: robots: Use arc4random_uniform for better uniform distribution To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/games/robots/main.c cvs rdiff -u -r1.10 -r1.11 src/games/robots/rnd_pos.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/games/robots/main.c diff -u src/games/robots/main.c:1.32 src/games/robots/main.c:1.33 --- src/games/robots/main.c:1.32 Wed Aug 12 08:30:55 2009 +++ src/games/robots/main.c Sun Jul 26 15:38:22 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.32 2009/08/12 08:30:55 dholland Exp $ */ +/* $NetBSD: main.c,v 1.33 2020/07/26 15:38:22 nia Exp $ */ /* * Copyright (c) 1980, 1993 @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19 #if 0 static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: main.c,v 1.32 2009/08/12 08:30:55 dholland Exp $"); +__RCSID("$NetBSD: main.c,v 1.33 2020/07/26 15:38:22 nia Exp $"); #endif #endif /* not lint */ @@ -167,7 +167,6 @@ main(int argc, char **argv) stdscr = newwin(Y_SIZE, X_SIZE, 0, 0); } - srandom(time(NULL)); if (Real_time) signal(SIGALRM, move_robots); do { Index: src/games/robots/rnd_pos.c diff -u src/games/robots/rnd_pos.c:1.10 src/games/robots/rnd_pos.c:1.11 --- src/games/robots/rnd_pos.c:1.10 Wed Aug 12 08:30:55 2009 +++ src/games/robots/rnd_pos.c Sun Jul 26 15:38:22 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: rnd_pos.c,v 1.10 2009/08/12 08:30:55 dholland Exp $ */ +/* $NetBSD: rnd_pos.c,v 1.11 2020/07/26 15:38:22 nia Exp $ */ /* * Copyright (c) 1980, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)rnd_pos.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: rnd_pos.c,v 1.10 2009/08/12 08:30:55 dholland Exp $"); +__RCSID("$NetBSD: rnd_pos.c,v 1.11 2020/07/26 15:38:22 nia Exp $"); #endif #endif /* not lint */ @@ -44,8 +44,6 @@ __RCSID("$NetBSD: rnd_pos.c,v 1.10 2009/ #define IS_SAME(p,y,x) ((p).y != -1 && (p).y == y && (p).x == x) -static int rnd(int); - /* * rnd_pos: * Pick a random, unoccupied position @@ -57,17 +55,10 @@ rnd_pos(void) static int call = 0; do { - pos.y = rnd(Y_FIELDSIZE - 1) + 1; - pos.x = rnd(X_FIELDSIZE - 1) + 1; + pos.y = arc4random_uniform(Y_FIELDSIZE - 1) + 1; + pos.x = arc4random_uniform(X_FIELDSIZE - 1) + 1; refresh(); } while (Field[pos.y][pos.x] != 0); call++; return &pos; } - -static int -rnd(int range) -{ - - return random() % range; -}