home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 2 / DATAFILE_PDCD2.iso / utilities2 / unixlib36d / UnixLib36d / src / c / stricmp < prev    next >
Encoding:
Text File  |  1994-03-08  |  1.1 KB  |  64 lines

  1. #ifdef __STDC__
  2. static char sccs_id[] = "@(#) stricmp.c 1.0 " __DATE__ " HJR";
  3. #else
  4. static char sccs_id[] = "@(#) stricmp.c 1.0 23/9/91 HJR";
  5. #endif
  6.  
  7. /* stricmp.c (c) Copyright 1990 H.Rogers */
  8.  
  9. #ifndef __STDC__
  10. #include "sys/types.h"
  11. #endif
  12. #include <string.h>
  13. #include <ctype.h>
  14.  
  15. #ifdef __STDC__
  16. int
  17. stricmp (register const char *s1, register const char *s2)
  18. #else
  19. int
  20. stricmp (s1, s2)
  21.      register const char *s1;
  22.      register const char *s2;
  23. #endif
  24. {
  25.   register int i, j;
  26.  
  27.   do
  28.     {
  29.       i = *s1++, j = *s2++;
  30.       i = isupper (i) ? _tolower (i) : i;
  31.       j = isupper (j) ? _tolower (j) : j;
  32.     }
  33.   while (i && i == j);
  34.  
  35.   return (i - j);
  36. }
  37.  
  38. #ifdef __STDC__
  39. int
  40. strnicmp (register const char *s1, register const char *s2, register size_t n)
  41. #else
  42. int
  43. strnicmp (s1, s2, n)
  44.      register const char *s1;
  45.      register const char *s2;
  46.      register size_t n;
  47. #endif
  48. {
  49.   register int i, j;
  50.  
  51.   if (!n)
  52.     return (0);
  53.  
  54.   do
  55.     {
  56.       i = *s1++, j = *s2++;
  57.       i = isupper (i) ? _tolower (i) : i;
  58.       j = isupper (j) ? _tolower (j) : j;
  59.     }
  60.   while (i && i == j && --n);
  61.  
  62.   return (i - j);
  63. }
  64.