Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/games/fortune/fortune use arc4random



details:   https://anonhg.NetBSD.org/src/rev/d44025407a90
branches:  trunk
changeset: 533470:d44025407a90
user:      itojun <itojun%NetBSD.org@localhost>
date:      Mon Jul 01 14:51:52 2002 +0000

description:
use arc4random

diffstat:

 games/fortune/fortune/fortune.c |  23 ++++++++---------------
 1 files changed, 8 insertions(+), 15 deletions(-)

diffs (91 lines):

diff -r b354562e385f -r d44025407a90 games/fortune/fortune/fortune.c
--- a/games/fortune/fortune/fortune.c   Mon Jul 01 13:56:53 2002 +0000
+++ b/games/fortune/fortune/fortune.c   Mon Jul 01 14:51:52 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fortune.c,v 1.34 2002/03/12 15:20:14 christos Exp $    */
+/*     $NetBSD: fortune.c,v 1.35 2002/07/01 14:51:52 itojun Exp $      */
 
 /*-
  * Copyright (c) 1986, 1993
@@ -46,7 +46,7 @@
 #if 0
 static char sccsid[] = "@(#)fortune.c  8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: fortune.c,v 1.34 2002/03/12 15:20:14 christos Exp $");
+__RCSID("$NetBSD: fortune.c,v 1.35 2002/07/01 14:51:52 itojun Exp $");
 #endif
 #endif /* not lint */
 
@@ -220,7 +220,6 @@
        int     ac;
        char    *av[];
 {
-       struct timeval tv;
 #ifdef OK_TO_WRITE_DISK
        int     fd;
 #endif /* OK_TO_WRITE_DISK */
@@ -233,12 +232,6 @@
 #endif
 
        init_prob();
-       if (gettimeofday(&tv, NULL) != 0)
-               err(1, "gettimeofday()");
-       srandom(((unsigned long)tv.tv_sec)    *
-                ((unsigned long)tv.tv_usec+1) *
-               ((unsigned long)getpid()+1)   *
-                ((unsigned long)getppid()+1));
        do {
                get_fort();
        } while ((Short_only && fortlen() > SLEN) ||
@@ -981,7 +974,7 @@
        if (File_list->next == NULL || File_list->percent == NO_PROB)
                fp = File_list;
        else {
-               choice = random() % 100;
+               choice = arc4random() % 100;
                DPRINTF(1, (stderr, "choice = %d\n", choice));
                for (fp = File_list; fp->percent != NO_PROB; fp = fp->next)
                        if (choice < fp->percent)
@@ -1001,7 +994,7 @@
        else {
                if (fp->next != NULL) {
                        sum_noprobs(fp);
-                       choice = random() % Noprob_tbl.str_numstr;
+                       choice = arc4random() % Noprob_tbl.str_numstr;
                        DPRINTF(1, (stderr, "choice = %d (of %d) \n", choice,
                                    Noprob_tbl.str_numstr));
                        while ((u_int32_t)choice >= fp->tbl.str_numstr) {
@@ -1043,7 +1036,7 @@
        int              choice;
 
        if (Equal_probs) {
-               choice = random() % parent->num_children;
+               choice = arc4random() % parent->num_children;
                DPRINTF(1, (stderr, "    choice = %d (of %d)\n",
                            choice, parent->num_children));
                for (fp = parent->child; choice--; fp = fp->next)
@@ -1053,7 +1046,7 @@
        }
        else {
                get_tbl(parent);
-               choice = random() % parent->tbl.str_numstr;
+               choice = arc4random() % parent->tbl.str_numstr;
                DPRINTF(1, (stderr, "    choice = %d (of %d)\n",
                            choice, parent->tbl.str_numstr));
                for (fp = parent->child; (u_int32_t)choice >= fp->tbl.str_numstr;
@@ -1138,13 +1131,13 @@
 #ifdef OK_TO_WRITE_DISK
                if ((fd = open(fp->posfile, O_RDONLY)) < 0 ||
                    read(fd, &fp->pos, sizeof fp->pos) != sizeof fp->pos)
-                       fp->pos = random() % fp->tbl.str_numstr;
+                       fp->pos = arc4random() % fp->tbl.str_numstr;
                else if (fp->pos >= fp->tbl.str_numstr)
                        fp->pos %= fp->tbl.str_numstr;
                if (fd >= 0)
                        (void) close(fd);
 #else
-               fp->pos = random() % fp->tbl.str_numstr;
+               fp->pos = arc4random() % fp->tbl.str_numstr;
 #endif /* OK_TO_WRITE_DISK */
        }
        if ((u_int64_t)++(fp->pos) >= fp->tbl.str_numstr)



Home | Main Index | Thread Index | Old Index