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 8 static inline void sodium_memzero(void * const pnt,const size_t len)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 */ 16 static inline int sodium_is_zero(const unsigned char * n,const size_t nlen)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