Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 18th, 2012  |  syntax: C  |  size: 1.13 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <windows.h>
  2.  
  3. #include "spybot.h"
  4.  
  5. void *bmemset(void *ptr, char value, unsigned int cnt)
  6. {
  7.         volatile char *vptr = (volatile char *)ptr;
  8.        
  9.         while (cnt)
  10.         {
  11.         *vptr = value;
  12.         vptr++;
  13.         cnt--;
  14.     }
  15.  
  16.         return ptr;
  17. }
  18.  
  19. void *bmemcpy(void *s, const void *ct, unsigned int n)
  20. {
  21.     char *s_ = s;
  22.     const char *ct_ = ct;
  23.     size_t i;
  24.  
  25.     for (i = 0; i < n; ++i) s_[i] = ct_[i];
  26.  
  27.     return s;
  28. }
  29.  
  30. char *bstrtok(char *str, const char *delimiters)
  31. {
  32.         static char *t;
  33.         const char *p;
  34.         char *beg;
  35.         char *end;
  36.  
  37.         if (str) t = str;
  38.  
  39.         beg = t;
  40.  
  41.         for ( ; *beg; ++beg)
  42.         {
  43.                 p = delimiters;
  44.  
  45.                 while (*p && (*p != *beg)) ++p;
  46.  
  47.                 if (*p == '\0') break;
  48.         }
  49.  
  50.         end = beg;
  51.  
  52.         for (p = delimiters; *end; )
  53.         {
  54.                 if (*end == *p)
  55.                 {
  56.                         *end++ = '\0';
  57.                         break;
  58.  
  59.                 }
  60.                 else
  61.                 {
  62.  
  63.                         ++p;
  64.  
  65.                         if (*p == '\0')
  66.                         {
  67.                                 p = delimiters;
  68.                                 ++end;
  69.                         }
  70.                 }
  71.         }
  72.  
  73.         t = end;
  74.  
  75.         return beg == end ? 0 : beg;
  76. }
  77.  
  78. static unsigned long next = 1;
  79.  
  80. void bsrand(unsigned int seed)
  81. {
  82.         next = seed;
  83. }
  84.  
  85. int brand(void)
  86. {
  87.         next = next * 1103515245 + 12345;
  88.         return (next >> 16) & 0x7fff;
  89. }