|| /* Glibc since 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _SVID_SOURCE
.RE
-
+.PP
.BR isblank ():
.RS 4
_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
.RE
-
+.PP
.BR isalnum_l (),
.BR isalpha_l (),
.BR isblank_l (),
_GNU_SOURCE
.RE
.PD
-
+.PP
.BR isascii_l ():
.PD 0
.RS 4
falls into a certain character class according to the specified locale.
The functions without the
"_l" suffix perform the check based on the current locale.
-
+.PP
The functions with the "_l" suffix perform the check
based on the locale specified by the locale object
.IR locale .
(see
.BR duplocale (3))
or is not a valid locale object handle.
-
+.PP
The list below explains the operation of the functions without
the "_l" suffix;
the functions with the "_l" suffix differ only in using the locale object
.BR isblank ().
C99 specifies all of the preceding functions, except
.BR isascii ().
-
+.PP
POSIX.1-2008 marks
.BR isascii ()
as obsolete,
noting that it cannot be used portably in a localized application.
-
+.PP
POSIX.1-2008 specifies
.BR isalnum_l (),
.BR isalpha_l (),
.BR isupper_l (),
and
.BR isxdigit_l ().
-
+.PP
.BR isascii_l ()
is a GNU extension.
.SH NOTES
it must be cast to
.IR "unsigned char" ,
as in the following example:
-
+.PP
.nf
.in +4n
char c;
res = toupper((unsigned char) c);
.in
.fi
-
+.PP
This is necessary because
.I char
may be the equivalent of
.IR int ,
yielding a value that is outside the range of
.IR "unsigned char" .
-
+.PP
The details of what characters belong to which class depend on the
locale.
For example,