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