Home | History | Annotate | Line # | Download | only in quirks
      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