summaryrefslogtreecommitdiff
path: root/sys/external/isc/libsodium/include/utils.h
blob: 0a1883f1aca4ad03cc7756a6171feface90cab41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef __SODIUM_UTILS_H__
#define __SODIUM_UTILS_H__

/* This overwrites dist/src/libsodium/include/sodium/utils.h */

#define SODIUM_C99(X) X

static inline void
sodium_memzero(void *const pnt, const size_t len)
{

	explicit_memset(pnt, 0, len);
}

/* Just copied from dist/src/libsodium/sodium/utils.c */
static inline int
sodium_is_zero(const unsigned char *n, const size_t nlen)
{
    size_t                 i;
    volatile unsigned char d = 0U;

    for (i = 0U; i < nlen; i++) {
        d |= n[i];
    }
    return 1 & ((d - 1) >> 8);
}
#endif /* __SODIUM_UTILS_H__ */