From: Ondřej Surý Date: Wed, 30 May 2018 04:26:05 +0000 (+0200) Subject: Use isc int types to be able to build with old VS X-Git-Tag: v9.13.1~21^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28e0b2c4c4e3f6632c62a35873d30ead02a651fa;p=thirdparty%2Fbind9.git Use isc int types to be able to build with old VS --- diff --git a/lib/isc/entropy.c b/lib/isc/entropy.c index 949a3065814..f7596ff3157 100644 --- a/lib/isc/entropy.c +++ b/lib/isc/entropy.c @@ -12,6 +12,7 @@ #include #include +#include #include "entropy_private.h" diff --git a/lib/isc/include/isc/random.h b/lib/isc/include/isc/random.h index 6fe2da068cc..edb06cec185 100644 --- a/lib/isc/include/isc/random.h +++ b/lib/isc/include/isc/random.h @@ -15,6 +15,7 @@ #include #include +#include /*! \file isc/random.h * \brief Implements wrapper around a non-cryptographically secure @@ -24,19 +25,19 @@ ISC_LANG_BEGINDECLS -uint8_t +isc_uint8_t isc_random8(void); /*!< * \brief Returns a single 8-bit random value. */ -uint16_t +isc_uint16_t isc_random16(void); /*!< * \brief Returns a single 16-bit random value. */ -uint32_t +isc_uint32_t isc_random32(void); /*!< * \brief Returns a single 32-bit random value. @@ -48,8 +49,8 @@ isc_random_buf(void *buf, size_t buflen); * \brief Fills the region buf of length buflen with random data. */ -uint32_t -isc_random_uniform(uint32_t upper_bound); +isc_uint32_t +isc_random_uniform(isc_uint32_t upper_bound); /*!< * \brief Will return a single 32-bit value, uniformly distributed but * less than upper_bound. This is recommended over diff --git a/lib/isc/random.c b/lib/isc/random.c index 490f0d95ad5..f74a08665b9 100644 --- a/lib/isc/random.c +++ b/lib/isc/random.c @@ -69,21 +69,21 @@ isc_random_initialize(void) { isc_entropy_get(seed, sizeof(seed)); } -uint8_t +isc_uint8_t isc_random8(void) { RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == ISC_R_SUCCESS); return (next() & 0xff); } -uint16_t +isc_uint16_t isc_random16(void) { RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == ISC_R_SUCCESS); return (next() & 0xffff); } -uint32_t +isc_uint32_t isc_random32(void) { RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == ISC_R_SUCCESS); @@ -99,7 +99,7 @@ isc_random_buf(void *buf, size_t buflen) { isc_random_initialize) == ISC_R_SUCCESS); int i; - uint32_t r; + isc_uint32_t r; for (i = 0; i + sizeof(r) <= buflen; i += sizeof(r)) { r = next(); @@ -114,10 +114,10 @@ isc_random_buf(void *buf, size_t buflen) { return; } -uint32_t +isc_uint32_t isc_random_uniform(uint32_t upper_bound) { /* Copy of arc4random_uniform from OpenBSD */ - uint32_t r, min; + isc_uint32_t r, min; RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == ISC_R_SUCCESS); diff --git a/lib/isc/xoshiro128starstar.c b/lib/isc/xoshiro128starstar.c index f101885bffa..e44b8c022e3 100644 --- a/lib/isc/xoshiro128starstar.c +++ b/lib/isc/xoshiro128starstar.c @@ -63,19 +63,19 @@ static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER; #define _UNLOCK() pthread_mutex_unlock(&_mutex) #endif /* defined(_WIN32) || defined(_WIN64) */ -static inline uint32_t rotl(const uint32_t x, int k) { +static inline isc_uint32_t rotl(const isc_uint32_t x, int k) { return (x << k) | (x >> (32 - k)); } -static uint32_t seed[4]; +static isc_uint32_t seed[4]; -static inline uint32_t +static inline isc_uint32_t next(void) { _LOCK(); - const uint32_t result_starstar = rotl(seed[0] * 5, 7) * 9; + const isc_uint32_t result_starstar = rotl(seed[0] * 5, 7) * 9; - const uint32_t t = seed[1] << 9; + const isc_uint32_t t = seed[1] << 9; seed[2] ^= seed[0]; seed[3] ^= seed[1];