]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/towlower.3
proc.5: Note kernel version for /proc/PID/smaps VmFlags "wf" flag
[thirdparty/man-pages.git] / man3 / towlower.3
index 3cad752c1bc8fe416e707078c5b04c644107d92b..4384c048067e6b7cb08577ca84e5afeadce29ebc 100644 (file)
@@ -1,6 +1,7 @@
 .\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
+.\" and Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
 .\"
-.\" %%%LICENSE_START(GPLv2+_ONEPARA_DOC)
+.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
 .\" This is free documentation; you can redistribute it and/or
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation; either version 2 of
 .\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
 .\"   ISO/IEC 9899:1999
 .\"
-.TH TOWLOWER 3  1999-07-25 "GNU" "Linux Programmer's Manual"
+.TH TOWLOWER 3  2017-09-15 "GNU" "Linux Programmer's Manual"
 .SH NAME
-towlower \- convert a wide character to lowercase
+towlower, towlower_l \- convert a wide character to lowercase
 .SH SYNOPSIS
 .nf
 .B #include <wctype.h>
-.sp
+.PP
 .BI "wint_t towlower(wint_t " wc );
+.PP
+.BI "wint_t towlower_l(wint_t " wc ", locale_t " locale );
 .fi
+.PP
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.PP
+.BR towlower_l ():
+.PD 0
+.RS 4
+.TP
+Since glibc 2.10:
+_XOPEN_SOURCE\ >=\ 700
+.TP
+Before glibc 2.10:
+_GNU_SOURCE
+.RE
+.PD
 .SH DESCRIPTION
 The
 .BR towlower ()
 function is the wide-character equivalent of the
 .BR tolower (3)
 function.
-If \fIwc\fP is a wide character, it is converted to
-lowercase.
-Characters which do not have case are returned unchanged.
-If \fIwc\fP is \fBWEOF\fP, \fBWEOF\fP is returned.
+If
+.I wc
+is an uppercase wide character,
+and there exists a lowercase equivalent in the current locale,
+it returns the lowercase equivalent of
+.IR wc .
+In all other cases,
+.I wc
+is returned unchanged.
+.PP
+The
+.BR towlower_l ()
+function performs the same task,
+but performs the conversion based on the character type information in
+the locale specified by
+.IR locale .
+The behavior of
+.BR towlower_l ()
+is undefined if
+.I locale
+is the special locale object
+.B LC_GLOBAL_LOCALE
+(see
+.BR duplocale (3))
+or is not a valid locale object handle.
+.PP
+The argument
+.I wc
+must be representable as a
+.I wchar_t
+and be a valid character in the locale or be the value
+.BR WEOF .
 .SH RETURN VALUE
+If
+.I wc
+was convertible to lowercase,
+.BR towlower ()
+returns its lowercase equivalent;
+otherwise it returns
+.IR wc .
+.SH VERSIONS
 The
+.BR towlower_l ()
+function first appeared in glibc 2.3.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface      Attribute       Value
+T{
 .BR towlower ()
-function returns the lowercase equivalent of \fIwc\fP,
-or \fBWEOF\fP if \fIwc\fP is \fBWEOF\fP.
+T}     Thread safety   MT-Safe locale
+T{
+.BR towlower_l ()
+T}     Thread safety   MT-Safe
+.TE
 .SH CONFORMING TO
-C99.
+.BR towlower ():
+C99, POSIX.1-2001 (XSI);
+present as an XSI extension in POSIX.1-2008, but marked obsolete.
+.PP
+.BR towlower_l ():
+POSIX.1-2008.
 .SH NOTES
-The behavior of
-.BR towlower ()
-depends on the
+The behavior of these functions depends on the
 .B LC_CTYPE
-category of the
-current locale.
+category of the locale.
 .PP
-This function is not very appropriate for dealing with Unicode characters,
+These functions are not very appropriate for dealing with Unicode characters,
 because Unicode knows about three cases: upper, lower and title case.
 .SH SEE ALSO
 .BR iswlower (3),
 .BR towctrans (3),
-.BR towupper (3)
+.BR towupper (3),
+.BR locale (7)