xref: /openbsd/lib/libc/string/wcscasecmp.3 (revision 3a628b46)
1.\"	$OpenBSD: wcscasecmp.3,v 1.5 2017/09/05 03:16:14 schwarze Exp $
2.\"
3.\" Copyright (c) 1990, 1991, 1993
4.\"	The Regents of the University of California.  All rights reserved.
5.\" Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
6.\"
7.\" This code is derived from software contributed to Berkeley by
8.\" Chris Torek.
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\" 3. Neither the name of the University nor the names of its contributors
18.\"    may be used to endorse or promote products derived from this software
19.\"    without specific prior written permission.
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31.\" SUCH DAMAGE.
32.\"
33.\"     @(#)strcasecmp.3	8.1 (Berkeley) 6/9/93
34.\"
35.Dd $Mdocdate: September 5 2017 $
36.Dt WCSCASECMP 3
37.Os
38.Sh NAME
39.Nm wcscasecmp ,
40.Nm wcscasecmp_l ,
41.Nm wcsncasecmp ,
42.Nm wcsncasecmp_l
43.Nd compare wide strings, ignoring case
44.Sh SYNOPSIS
45.In wchar.h
46.Ft int
47.Fo wcscasecmp
48.Fa "const wchar_t *s1"
49.Fa "const wchar_t *s2"
50.Fc
51.Ft int
52.Fo wcscasecmp_l
53.Fa "const wchar_t *s1"
54.Fa "const wchar_t *s2"
55.Fa "locale_t locale"
56.Fc
57.Ft int
58.Fo wcsncasecmp
59.Fa "const wchar_t *s1"
60.Fa "const wchar_t *s2"
61.Fa "size_t len"
62.Fc
63.Ft int
64.Fo wcsncasecmp_l
65.Fa "const wchar_t *s1"
66.Fa "const wchar_t *s2"
67.Fa "size_t len"
68.Fa "locale_t locale"
69.Fc
70.Sh DESCRIPTION
71These functions compare the wide strings
72.Fa s1
73and
74.Fa s2
75and return an integer greater than, equal to, or less than 0,
76according to whether
77.Fa s1
78is lexicographically greater than, equal to, or less than
79.Fa s2
80after translation of each corresponding wide character to lower case.
81The wide strings themselves are not modified.
82.Pp
83For the translation to lower case,
84.Fn wcscasecmp
85and
86.Fn wcsncasecmp
87use the thread-specific locale as defined with
88.Xr uselocale 3 ,
89falling back to the global locale defined with
90.Xr setlocale 3 .
91.Fn wcscasecmp_l
92and
93.Fn wcsncasecmp_l
94use the
95.Fa locale
96argument instead.
97.Pp
98.Fn wcsncasecmp
99and
100.Fn wcsncasecmp_l
101compare at most
102.Fa len
103wide characters.
104.Sh SEE ALSO
105.Xr newlocale 3 ,
106.Xr setlocale 3 ,
107.Xr strcasecmp 3 ,
108.Xr wcscmp 3 ,
109.Xr wmemcmp 3
110.Sh STANDARDS
111These functions conform to
112.St -p1003.1-2008 .
113.Sh HISTORY
114The
115.Fn wcscasecmp
116and
117.Fn wcsncasecmp
118functions have been available since
119.Ox 5.0 ,
120and
121.Fn wcscasecmp_l
122and
123.Fn wcsncasecmp_l
124since
125.Ox 6.2 .
126.Sh AUTHORS
127The
128.Ox
129versions of
130.Fn wcscasecmp
131and
132.Fn wcsncasecmp
133were implemented by
134.An Marc Espie Aq Mt espie@openbsd.org .
135