'\" t .\" Copyright (c) Bruno Haible .\" and Copyright (C) 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" Dinkumware C library reference http://www.dinkumware.com/ .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html .\" ISO/IEC 9899:1999 .\" .TH towlower 3 2024-05-02 "Linux man-pages 6.9.1" .SH NAME towlower, towlower_l \- convert a wide character to lowercase .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .P .BI "wint_t towlower(wint_t " wc ); .BI "wint_t towlower_l(wint_t " wc ", locale_t " locale ); .fi .P .RS -4 Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .RE .P .BR towlower_l (): .nf Since glibc 2.10: _XOPEN_SOURCE >= 700 Before glibc 2.10: _GNU_SOURCE .fi .SH DESCRIPTION The .BR towlower () function is the wide-character equivalent of the .BR tolower (3) function. 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. .P 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. .P 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 ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR towlower () T} Thread safety MT-Safe locale T{ .na .nh .BR towlower_l () T} Thread safety MT-Safe .TE .SH STANDARDS .TP .BR towlower () C11, POSIX.1-2008 (XSI). .TP .BR towlower_l () POSIX.1-2008. .SH STANDARDS .TP .BR towlower () C99, POSIX.1-2001 (XSI). Obsolete in POSIX.1-2008 (XSI). .TP .BR towlower_l () glibc 2.3. POSIX.1-2008. .SH NOTES The behavior of these functions depends on the .B LC_CTYPE category of the locale. .P 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 locale (7)