Home | History | Annotate | Line # | Download | only in include
      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
      9 sodium_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
     17 sodium_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