Rearranged whitespace (and comments) in all the code!
[mmh] / sbr / strcasecmp.c
1 /*
2  * strcasecmp.c -- compare strings, ignoring case
3  *
4  * This code is Copyright (c) 2002, by the authors of nmh.  See the
5  * COPYRIGHT file in the root directory of the nmh distribution for
6  * complete copyright information.
7  */
8
9 #include <h/mh.h>
10
11 /*
12  * Our version of strcasecmp has to deal with NULL strings.
13  * Once that is fixed in the rest of the code, we can use the
14  * native version, instead of this one.
15  */
16
17 int
18 mh_strcasecmp (const char *s1, const char *s2)
19 {
20         const unsigned char *us1, *us2;
21
22         us1 = (const unsigned char *) s1,
23         us2 = (const unsigned char *) s2;
24
25         if (!us1)
26                 us1 = "";
27         if (!us2)
28                 us2 = "";
29
30         while (tolower(*us1) == tolower(*us2++))
31                 if (*us1++ == '\0')
32                         return (0);
33         return (tolower(*us1) - tolower(*--us2));
34 }
35
36
37 int
38 mh_strncasecmp (const char *s1, const char *s2, size_t n)
39 {
40         const unsigned char *us1, *us2;
41
42         if (n != 0) {
43                 us1 = (const unsigned char *) s1,
44                 us2 = (const unsigned char *) s2;
45
46                 do {
47                         if (tolower(*us1) != tolower(*us2++))
48                                 return (tolower(*us1) - tolower(*--us2));
49                         if (*us1++ == '\0')
50                                 break;
51                 } while (--n != 0);
52         }
53         return (0);
54 }