fixes for host gcc 4.6.1
[zpugcc/jano.git] / toolchain / gcc / newlib / libc / string / strcasecmp.c
blob4dcfc784a9eebdb06bddbe84de5c3917d60736ca
1 /*
2 FUNCTION
3 <<strcasecmp>>---case insensitive character string compare
5 INDEX
6 strcasecmp
8 ANSI_SYNOPSIS
9 #include <string.h>
10 int strcasecmp(const char *<[a]>, const char *<[b]>);
12 TRAD_SYNOPSIS
13 #include <string.h>
14 int strcasecmp(<[a]>, <[b]>)
15 char *<[a]>;
16 char *<[b]>;
18 DESCRIPTION
19 <<strcasecmp>> compares the string at <[a]> to
20 the string at <[b]> in a case-insensitive manner.
22 RETURNS
24 If <<*<[a]>>> sorts lexicographically after <<*<[b]>>> (after
25 both are converted to upper case), <<strcasecmp>> returns a
26 number greater than zero. If the two strings match,
27 <<strcasecmp>> returns zero. If <<*<[a]>>> sorts
28 lexicographically before <<*<[b]>>>, <<strcasecmp>> returns a
29 number less than zero.
31 PORTABILITY
32 <<strcasecmp>> is in the Berkeley Software Distribution.
34 <<strcasecmp>> requires no supporting OS subroutines. It uses
35 tolower() from elsewhere in this library.
37 QUICKREF
38 strcasecmp
41 #include <string.h>
42 #include <ctype.h>
44 int
45 _DEFUN (strcasecmp, (s1, s2),
46 _CONST char *s1 _AND
47 _CONST char *s2)
49 while (*s1 != '\0' && tolower(*s1) == tolower(*s2))
51 s1++;
52 s2++;
55 return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2);