Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/libsodium/test/quirks/quirks.h
48378 views
1
2
#include <stdlib.h>
3
4
/* C++Builder defines a "random" macro */
5
#undef random
6
7
#ifdef __native_client__
8
# define memset(dst, c, n) xmemset(dst, c, n)
9
10
static void *
11
xmemset(void *dst, int c, size_t n)
12
{
13
unsigned char * dst_ = (unsigned char *) dst;
14
const unsigned char c_ = (unsigned char) c;
15
size_t i;
16
17
for (i = 0; i < n; i++) {
18
dst_[i] = c_;
19
}
20
return dst;
21
}
22
#endif
23
24
#ifdef __EMSCRIPTEN__
25
# define strcmp(s1, s2) xstrcmp(s1, s2)
26
27
static int
28
strcmp(const char *s1, const char *s2)
29
{
30
while (*s1 == *s2++) {
31
if (*s1++ == 0) {
32
return 0;
33
}
34
}
35
return *(unsigned char *) s1 - *(unsigned char *) --s2;
36
}
37
#endif
38
39
#ifdef _WIN32
40
static void
41
srandom(unsigned seed)
42
{
43
srand(seed);
44
}
45
46
static long
47
random(void)
48
{
49
return (long) rand();
50
}
51
#endif
52
53