Chameleon

Chameleon Svn Source Tree

Root/branches/meklort/i386/modules/klibc/strncasecmp.c

Source at commit 728 created 13 years 3 months ago.
By meklort, Updated Symbols.dylib generation. Module linked list rework beginning. USB Legacy off patch still needs fixing. Added a new tool to generate the symbols.dylib. It's a fairly correct dylib file, however nm complains about it (it still works fine though). Updated Symbols.dylib file is smaller (~13%) that the old method and is a bit cleaner. dylib generation needs a bit of cleaning up though)
1/*
2 * strncasecmp.c
3 */
4
5#include <string.h>
6#include <ctype.h>
7
8int strncasecmp(const char *s1, const char *s2, size_t n)
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 (n--) {
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: 728