Contents of /trunk/mkinitrd-magellan/klibc/usr/klibc/strncasecmp.c
Parent Directory | Revision Log
Revision 532 -
(show annotations)
(download)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File MIME type: text/plain
File size: 501 byte(s)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File MIME type: text/plain
File size: 501 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd
1 | /* |
2 | * strncasecmp.c |
3 | */ |
4 | |
5 | #include <string.h> |
6 | #include <ctype.h> |
7 | |
8 | int strncasecmp(const char *s1, const char *s2, size_t n) |
9 | { |
10 | const unsigned char *c1 = (const unsigned char *)s1; |
11 | const unsigned char *c2 = (const unsigned char *)s2; |
12 | unsigned char ch; |
13 | int d = 0; |
14 | |
15 | while (n--) { |
16 | /* toupper() expects an unsigned char (implicitly cast to int) |
17 | as input, and returns an int, which is exactly what we want. */ |
18 | d = toupper(ch = *c1++) - toupper(*c2++); |
19 | if (d || !ch) |
20 | break; |
21 | } |
22 | |
23 | return d; |
24 | } |