1 1.1 riastrad #ifndef __SODIUM_UTILS_H__ 2 1.1 riastrad #define __SODIUM_UTILS_H__ 3 1.1 riastrad 4 1.1 riastrad /* This overwrites dist/src/libsodium/include/sodium/utils.h */ 5 1.1 riastrad 6 1.1 riastrad #define SODIUM_C99(X) X 7 1.1 riastrad 8 1.1 riastrad static inline void 9 1.1 riastrad sodium_memzero(void *const pnt, const size_t len) 10 1.1 riastrad { 11 1.1 riastrad 12 1.1 riastrad explicit_memset(pnt, 0, len); 13 1.1 riastrad } 14 1.1 riastrad 15 1.1 riastrad /* Just copied from dist/src/libsodium/sodium/utils.c */ 16 1.1 riastrad static inline int 17 1.1 riastrad sodium_is_zero(const unsigned char *n, const size_t nlen) 18 1.1 riastrad { 19 1.1 riastrad size_t i; 20 1.1 riastrad volatile unsigned char d = 0U; 21 1.1 riastrad 22 1.1 riastrad for (i = 0U; i < nlen; i++) { 23 1.1 riastrad d |= n[i]; 24 1.1 riastrad } 25 1.1 riastrad return 1 & ((d - 1) >> 8); 26 1.1 riastrad } 27 1.1 riastrad #endif /* __SODIUM_UTILS_H__ */ 28