summaryrefslogtreecommitdiffstats
path: root/man3/mbsinit.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/mbsinit.3')
-rw-r--r--man3/mbsinit.321
1 files changed, 10 insertions, 11 deletions
diff --git a/man3/mbsinit.3 b/man3/mbsinit.3
index 41a43a4..fc76d62 100644
--- a/man3/mbsinit.3
+++ b/man3/mbsinit.3
@@ -9,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH mbsinit 3 2023-07-20 "Linux man-pages 6.05.01"
+.TH mbsinit 3 2024-01-28 "Linux man-pages 6.7"
.SH NAME
mbsinit \- test for initial shift state
.SH LIBRARY
@@ -18,7 +18,7 @@ Standard C library
.SH SYNOPSIS
.nf
.B #include <wchar.h>
-.PP
+.P
.BI "int mbsinit(const mbstate_t *" ps );
.fi
.SH DESCRIPTION
@@ -29,8 +29,8 @@ Conversion of a string uses a finite-state machine; when it is interrupted
after the complete conversion of a number of characters, it may need to
save a state for processing the remaining characters.
Such a conversion
-state is needed for the sake of encodings such as ISO-2022 and UTF-7.
-.PP
+state is needed for the sake of encodings such as ISO/IEC\~2022 and UTF-7.
+.P
The initial state is the state at the beginning of conversion of a string.
There are two kinds of state: the one used by multibyte to wide character
conversion functions, such as
@@ -42,7 +42,7 @@ but they both fit in a
.IR mbstate_t ,
and they both have the same
representation for an initial state.
-.PP
+.P
For 8-bit encodings, all states are equivalent to the initial state.
For multibyte encodings like UTF-8, EUC-*, BIG5, or SJIS, the wide character
to multibyte conversion functions never produce non-initial states, but the
@@ -50,26 +50,26 @@ multibyte to wide-character conversion functions like
.BR mbrtowc (3)
do
produce non-initial states when interrupted in the middle of a character.
-.PP
+.P
One possible way to create an
.I mbstate_t
in initial state is to set it to zero:
-.PP
+.P
.in +4n
.EX
mbstate_t state;
memset(&state, 0, sizeof(state));
.EE
.in
-.PP
+.P
On Linux, the following works as well, but might generate compiler warnings:
-.PP
+.P
.in +4n
.EX
mbstate_t state = { 0 };
.EE
.in
-.PP
+.P
The function
.BR mbsinit ()
tests whether
@@ -98,7 +98,6 @@ T{
.BR mbsinit ()
T} Thread safety MT-Safe
.TE
-.sp 1
.SH STANDARDS
C11, POSIX.1-2008.
.SH HISTORY