source: trunk/libs/newlib/src/newlib/libc/string/strcasecmp.c @ 577

Last change on this file since 577 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.1 KB
Line 
1/*
2FUNCTION
3        <<strcasecmp>>---case-insensitive character string compare
4       
5INDEX
6        strcasecmp
7
8SYNOPSIS
9        #include <strings.h>
10        int strcasecmp(const char *<[a]>, const char *<[b]>);
11
12DESCRIPTION
13        <<strcasecmp>> compares the string at <[a]> to
14        the string at <[b]> in a case-insensitive manner.
15
16RETURNS
17
18        If <<*<[a]>>> sorts lexicographically after <<*<[b]>>> (after
19        both are converted to lowercase), <<strcasecmp>> returns a
20        number greater than zero.  If the two strings match,
21        <<strcasecmp>> returns zero.  If <<*<[a]>>> sorts
22        lexicographically before <<*<[b]>>>, <<strcasecmp>> returns a
23        number less than zero.
24
25PORTABILITY
26<<strcasecmp>> is in the Berkeley Software Distribution.
27
28<<strcasecmp>> requires no supporting OS subroutines. It uses
29tolower() from elsewhere in this library.
30
31QUICKREF
32        strcasecmp
33*/
34
35#include <strings.h>
36#include <ctype.h>
37
38int
39strcasecmp (const char *s1,
40        const char *s2)
41{
42  int d = 0;
43  for ( ; ; )
44    {
45      const int c1 = tolower(*s1++);
46      const int c2 = tolower(*s2++);
47      if (((d = c1 - c2) != 0) || (c2 == '\0'))
48        break;
49    }
50  return d;
51}
Note: See TracBrowser for help on using the repository browser.