HAMMER 60I/Many: Mirroring
[dragonfly.git] / contrib / opie / libmissing / strncasecmp.c
blobe90b4c038c865cd75df0cc14a394510026fc3336
1 /* strncasecmp.c: A replacement for the strncasecmp function
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>.
9 History:
11 Created by cmetz for OPIE 2.2.
13 #include "opie_cfg.h"
14 #include "opie.h"
16 int strncasecmp FUNCTION((s1, s2, n), unsigned char *s1 AND unsigned char *s2 AND int n)
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;
25 if (*s1 && !*s2)
26 return 1;
27 if (!*s1 && *s2)
28 return -1;
29 return 0;