summaryrefslogtreecommitdiff
path: root/doc/posix-functions/isprint.texi
blob: e30ddc958ddf1a3145d8ab94bcaf85dd92b2021a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@node isprint
@section @code{isprint}
@findex isprint

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/isprint.html}

Gnulib module: ctype

Portability problems fixed by Gnulib:
@itemize
@item
This function cannot be called from plain inline or extern inline functions
on some platforms:
OS X 10.8.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@end itemize

Note: This function's behaviour depends on the locale, but does not support
the multibyte characters that occur in strings in locales with
@code{MB_CUR_MAX > 1} (this includes all the common UTF-8 locales).
There are four alternative APIs:

@table @code
@item c_isprint
This function operates in a locale independent way and returns true only for
ASCII characters.  It is provided by the Gnulib module @samp{c-ctype}.

@item iswprint
This function operates in a locale dependent way, on wide characters.  In
order to use it, you first have to convert from multibyte to wide characters,
using the @code{mbrtowc} function.  It is provided by the Gnulib module
@samp{wctype}.

@item mb_isprint
This function operates in a locale dependent way, on multibyte characters.
It is provided by the Gnulib module @samp{mbchar}.

@item uc_is_print
This function operates in a locale independent way, on Unicode characters.
It is provided by the Gnulib module @samp{unictype/ctype-print}.
@end table