home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 9 / FreshFishVol9-CD2.bin / bbs / gnu / libnix-0.8-src.lha / libnix-0.8 / sources / nix / extra / strnicmp.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-12  |  640 b   |  42 lines

  1. #include <stdlib.h>
  2. #include <ctype.h>
  3. #ifdef __GNUC__
  4. #include <inline/utility.h>
  5. #endif
  6. #include <stabs.h>
  7.  
  8. int strnicmp(unsigned char *s1,unsigned char *s2,size_t len)
  9. {
  10. #ifndef OS_20_ONLY
  11.  
  12.    unsigned char c1,c2;
  13.    int r;
  14.  
  15.    r=0;
  16.    if (len != 0)
  17.      for(;;)
  18.      {
  19.        c1=*s1++;
  20.        if (isupper(c1))
  21.          c1+='a'-'A';
  22.        c2=*s2;
  23.        if (isupper(c2))
  24.          c2+='a'-'A';
  25.        if ((r=(char)c1-(char)c2)!=0)
  26.          break;
  27.        if (!*s2++)
  28.          break;
  29.        if (!--len)
  30.          break;
  31.      }
  32.    return r;
  33.  
  34. #else
  35.  
  36.   return Strnicmp((char *)s1,(char *)s2,(long)len);
  37.  
  38. #endif
  39. }
  40.  
  41. ALIAS(strncasecmp,strnicmp);
  42.