diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-06-19 19:26:18 -0400 |
---|---|---|
committer | Paul Jakma <paul@quagga.net> | 2015-06-21 14:39:22 +0100 |
commit | 771626860adfc30c00f70d993ccb8f4d7c0c0c63 (patch) | |
tree | 86335b9708c5d88c1709c36386bf72d04843d6ec /pimd/pim_rand.c | |
parent | 1ed8ce47b922b71f3b3cdd661e647bbe7ed2eca7 (diff) | |
download | quagga-771626860adfc30c00f70d993ccb8f4d7c0c0c63.tar.bz2 quagga-771626860adfc30c00f70d993ccb8f4d7c0c0c63.tar.xz |
PIMD: Fix code to use srandom/random
pimd rolled it's own solution to random #'s, that was not
terribly random. Rely on the underlying system to generate
random #'s for us
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_rand.c')
-rw-r--r-- | pimd/pim_rand.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/pimd/pim_rand.c b/pimd/pim_rand.c deleted file mode 100644 index df2a1111..00000000 --- a/pimd/pim_rand.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - PIM for Quagga - Copyright (C) 2008 Everton da Silva Marques - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING; if not, write to the - Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA - - $QuaggaId: $Format:%an, %ai, %h$ $ -*/ - -#include "pim_rand.h" -#include "pim_time.h" - -/* Quick and dirty random number generator from NUMERICAL RECIPES IN C: - THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5). */ -/* BEWARE: '_qseed_' is assigned! */ -#define QRANDOM(_qseed_) ((_qseed_) = (((_qseed_) * 1664525L) + 1013904223L)) - -static long qpim_rand_seed; - -void pim_rand_init() -{ - qpim_rand_seed = pim_time_monotonic_sec() ^ getpid(); -} - -long pim_rand() -{ - return QRANDOM(qpim_rand_seed); -} - -int pim_rand_next(int min, int max) -{ - long rand; - - assert(min <= max); - - /* FIXME better random generator ? */ - - rand = QRANDOM(qpim_rand_seed); - if (rand < 0) - rand = -rand; - rand = rand % (1 + max - min) + min; - - assert(rand >= min); - assert(rand <= max); - - return rand; -} |