Merge ../to-linus-stable/
[sfrench/cifs-2.6.git] / arch / xtensa / lib / strcasecmp.c
1 /*
2  *  linux/arch/xtensa/lib/strcasecmp.c
3  *
4  *  This file is subject to the terms and conditions of the GNU General
5  *  Public License.  See the file "COPYING" in the main directory of
6  *  this archive for more details.
7  *
8  *  Copyright (C) 2002 Tensilica Inc.
9  */
10
11 #include <linux/string.h>
12
13
14 /* We handle nothing here except the C locale.  Since this is used in
15    only one place, on strings known to contain only 7 bit ASCII, this
16    is ok.  */
17
18 int strcasecmp(const char *a, const char *b)
19 {
20         int ca, cb;
21
22         do {
23                 ca = *a++ & 0xff;
24                 cb = *b++ & 0xff;
25                 if (ca >= 'A' && ca <= 'Z')
26                         ca += 'a' - 'A';
27                 if (cb >= 'A' && cb <= 'Z')
28                         cb += 'a' - 'A';
29         } while (ca == cb && ca != '\0');
30
31         return ca - cb;
32 }