Home | History | Annotate | Download | only in lib
      1 /* Case-insensitive string comparison functions in C locale.
      2    Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2012 Free Software
      3    Foundation, Inc.
      4 
      5    This program is free software; you can redistribute it and/or modify
      6    it under the terms of the GNU General Public License as published by
      7    the Free Software Foundation; either version 3, or (at your option)
      8    any later version.
      9 
     10    This program is distributed in the hope that it will be useful,
     11    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13    GNU General Public License for more details.
     14 
     15    You should have received a copy of the GNU General Public License
     16    along with this program; if not, see <http://www.gnu.org/licenses/>.  */
     17 
     18 #ifndef C_STRCASE_H
     19 #define C_STRCASE_H
     20 
     21 #include <stddef.h>
     22 
     23 
     24 /* The functions defined in this file assume the "C" locale and a character
     25    set without diacritics (ASCII-US or EBCDIC-US or something like that).
     26    Even if the "C" locale on a particular system is an extension of the ASCII
     27    character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
     28    is ISO-8859-1), the functions in this file recognize only the ASCII
     29    characters.  More precisely, one of the string arguments must be an ASCII
     30    string; the other one can also contain non-ASCII characters (but then
     31    the comparison result will be nonzero).  */
     32 
     33 
     34 #ifdef __cplusplus
     35 extern "C" {
     36 #endif
     37 
     38 
     39 /* Compare strings S1 and S2, ignoring case, returning less than, equal to or
     40    greater than zero if S1 is lexicographically less than, equal to or greater
     41    than S2.  */
     42 extern int c_strcasecmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE;
     43 
     44 /* Compare no more than N characters of strings S1 and S2, ignoring case,
     45    returning less than, equal to or greater than zero if S1 is
     46    lexicographically less than, equal to or greater than S2.  */
     47 extern int c_strncasecmp (const char *s1, const char *s2, size_t n)
     48   _GL_ATTRIBUTE_PURE;
     49 
     50 
     51 #ifdef __cplusplus
     52 }
     53 #endif
     54 
     55 
     56 #endif /* C_STRCASE_H */
     57