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