X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9f8f8b1e1d553774865f2c177191c359c3dc652c..e605596f06f250775f89ddfe3f7f2c8fcfda1c4e:/sbr/m_rand.c?ds=sidebyside diff --git a/sbr/m_rand.c b/sbr/m_rand.c index 4d248886..3227aef9 100644 --- a/sbr/m_rand.c +++ b/sbr/m_rand.c @@ -1,21 +1,26 @@ -/* - * m_rand -- provides pseudorandom bytes +/* m_rand.c -- provides pseudorandom bytes * * This code is Copyright (c) 2012, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. */ -#include /* for abs(), srand(), rand() */ +#include /* for abs(), srand(), rand(), arc4random() */ #include /* for fopen(), fread(), fclose() */ #include /* for getpid() */ #include /* for time() */ +#include +#include "m_rand.h" + +#if !HAVE_ARC4RANDOM static int seeded = 0; +#endif int m_rand (unsigned char *buf, size_t n) { +#if !HAVE_ARC4RANDOM if (! seeded) { FILE *devurandom; unsigned int seed; @@ -46,6 +51,9 @@ m_rand (unsigned char *buf, size_t n) { *buf++ = *rndp++; } } +#else + arc4random_buf(buf, n); +#endif return 0; }