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