* complete copyright information.
*/
-#include <stdlib.h> /* for abs(), srand(), rand(), arc4random() */
-#include <stdio.h> /* for fopen(), fread(), fclose() */
-#include <unistd.h> /* for getpid() */
-#include <time.h> /* for time() */
+#include <stdlib.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <time.h>
-#include <config.h>
+#include "config.h"
#include "m_rand.h"
#if !HAVE_ARC4RANDOM
-static int seeded = 0;
+static bool seeded = false;
#endif
int
-m_rand (unsigned char *buf, size_t n) {
+m_rand (unsigned char *buf, size_t n)
+{
#if !HAVE_ARC4RANDOM
if (! seeded) {
FILE *devurandom;
unsigned int seed;
if ((devurandom = fopen ("/dev/urandom", "r"))) {
- if (fread (&seed, sizeof (seed), 1, devurandom) == 1) seeded = 1;
+ if (fread (&seed, sizeof (seed), 1, devurandom) == 1)
+ seeded = true;
fclose (devurandom);
}
arXiv:1005.4117v1 [physics.comp-ph], 22 May 2010, p. 19.
time() and getpid() shouldn't fail on POSIX platforms. */
seed = abs ((int) ((time (0) * 181 * ((getpid ()-83) * 359)) % 104729));
- seeded = 1;
+ seeded = true;
}
srand (seed);