home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / ftes46b5.zip / ftes46b5 / src / memicmp.cpp < prev    next >
C/C++ Source or Header  |  1997-05-30  |  571b  |  33 lines

  1. // Contributed by Markus F.X.J. Oberhumer <markus.oberhumer@jk.uni-linz.ac.at>
  2.  
  3. #include <stddef.h>
  4. #include <ctype.h>
  5.  
  6. #if defined(__DJGPP__) || defined(UNIX)
  7.  
  8. #ifdef __cplusplus
  9. extern "C"
  10. #endif
  11. int memicmp(const void *s1, const void *s2, size_t n)
  12. {
  13.   if (n != 0)
  14.   {
  15.     const unsigned char *p1 = (const unsigned char *) s1;
  16.     const unsigned char *p2 = (const unsigned char *) s2;
  17.  
  18.     do {
  19.       if (*p1 != *p2)
  20.       {
  21.         int c = toupper(*p1) - toupper(*p2);
  22.     if (c)
  23.       return c;
  24.       }
  25.       p1++; p2++;
  26.     } while (--n != 0);
  27.   }
  28.   return 0;
  29. }
  30.  
  31. #endif
  32.  
  33.