Imported Upstream version 2.5.1
[debian/amanda] / common-src / strcasecmp.c
1 /* Provided by Michael Schmitz <mschmitz@sema.de>; public domain? */
2 #include "amanda.h"
3
4 /* Compare S1 and S2 ignoring case, returning less than,
5    equal to or greater than zero if S1 is lexicographically
6    less than, equal to or greater than S2.  */
7 int
8 strcasecmp(
9     const char *s1,
10     const char *s2)
11 {
12   register const unsigned char *p1 = (const unsigned char *) s1;
13   register const unsigned char *p2 = (const unsigned char *) s2;
14   unsigned char c1, c2;
15
16   if (p1 == p2)
17     return 0;
18
19   do {
20       c1 = tolower (*p1++);
21       c2 = tolower (*p2++);
22       if (c1 == '\0' || c2 == '\0' || c1 != c2)
23         return c1 - c2;
24   } while ( 1 == 1 );
25 }