diff options
Diffstat (limited to 'contrib/opie/libmissing/strncasecmp.c')
-rw-r--r-- | contrib/opie/libmissing/strncasecmp.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/opie/libmissing/strncasecmp.c b/contrib/opie/libmissing/strncasecmp.c new file mode 100644 index 0000000..e90b4c0 --- /dev/null +++ b/contrib/opie/libmissing/strncasecmp.c @@ -0,0 +1,30 @@ +/* strncasecmp.c: A replacement for the strncasecmp function + +%%% copyright-cmetz +This software is Copyright 1996 by Craig Metz, All Rights Reserved. +The Inner Net License Version 2 applies to this software. +You should have received a copy of the license with this software. If +you didn't get a copy, you may request one from <license@inner.net>. + + History: + + Created by cmetz for OPIE 2.2. +*/ +#include "opie_cfg.h" +#include "opie.h" + +int strncasecmp FUNCTION((s1, s2, n), unsigned char *s1 AND unsigned char *s2 AND int n) +{ + unsigned char c1, c2; + while(*s1 && *s2 && n--) { + c1 = ((*s1 >= 'A') && (*s1 <= 'Z')) ? (*s1++) + ('a' - 'A') : (*s1++); + c2 = ((*s2 >= 'A') && (*s2 <= 'Z')) ? (*s2++) + ('a' - 'A') : (*s2++); + if (c1 != c2) + return (c1 > c2) ? 1 : -1; + } + if (*s1 && !*s2) + return 1; + if (!*s1 && *s2) + return -1; + return 0; +} |