Chameleon

Chameleon Svn Source Tree

Root/branches/slice/i386/modules/klibc/strcasecmp.c

1/*
2 * strcasecmp.c
3 */
4
5#include <string.h>
6#include <ctype.h>
7
8int strcasecmp(const char *s1, const char *s2)
9{
10const unsigned char *c1 = (const unsigned char *)s1;
11const unsigned char *c2 = (const unsigned char *)s2;
12unsigned char ch;
13int d = 0;
14
15while (1) {
16/* toupper() expects an unsigned char (implicitly cast to int)
17 as input, and returns an int, which is exactly what we want. */
18d = toupper(ch = *c1++) - toupper(*c2++);
19if (d || !ch)
20break;
21}
22
23return d;
24}
25

Archive Download this file

Revision: 676