Merge branch 'vendor/BINUTILS221'
[dragonfly.git] / contrib / opie / libmissing / strncasecmp.c
1 /* strncasecmp.c: A replacement for the strncasecmp function
2
3 %%% copyright-cmetz
4 This software is Copyright 1996 by Craig Metz, All Rights Reserved.
5 The Inner Net License Version 2 applies to this software.
6 You should have received a copy of the license with this software. If
7 you didn't get a copy, you may request one from <license@inner.net>.
8
9         History:
10
11         Created by cmetz for OPIE 2.2.
12 */
13 #include "opie_cfg.h"
14 #include "opie.h"
15
16 int strncasecmp FUNCTION((s1, s2, n), unsigned char *s1 AND unsigned char *s2 AND int n)
17 {
18         unsigned char c1, c2;
19         while(*s1 && *s2 && n--) {
20                 c1 = ((*s1 >= 'A') && (*s1 <= 'Z')) ? (*s1++) + ('a' - 'A') : (*s1++);
21                 c2 = ((*s2 >= 'A') && (*s2 <= 'Z')) ? (*s2++) + ('a' - 'A') : (*s2++);
22                 if (c1 != c2)
23                         return (c1 > c2) ? 1 : -1;
24         }
25         if (*s1 && !*s2)
26                 return 1;
27         if (!*s1 && *s2)
28                 return -1;
29         return 0;
30 }