summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man3/mbsinit.3
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 10:51:52 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 10:51:52 +0000
commit4ad94864781f48b1a4b77f9cfb934622bf756ba1 (patch)
tree3900955c1886e6d2570fea7125ee1f01bafe876d /upstream/debian-unstable/man3/mbsinit.3
parentAdding upstream version 4.22.0. (diff)
downloadmanpages-l10n-4ad94864781f48b1a4b77f9cfb934622bf756ba1.tar.xz
manpages-l10n-4ad94864781f48b1a4b77f9cfb934622bf756ba1.zip
Adding upstream version 4.23.0.upstream/4.23.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-unstable/man3/mbsinit.3')
-rw-r--r--upstream/debian-unstable/man3/mbsinit.361
1 files changed, 8 insertions, 53 deletions
diff --git a/upstream/debian-unstable/man3/mbsinit.3 b/upstream/debian-unstable/man3/mbsinit.3
index 41a43a44..487b02d7 100644
--- a/upstream/debian-unstable/man3/mbsinit.3
+++ b/upstream/debian-unstable/man3/mbsinit.3
@@ -1,5 +1,6 @@
'\" t
-.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
+.\" Copyright, Bruno Haible <haible@clisp.cons.org>
+.\" Copyright 2024, Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
@@ -9,67 +10,21 @@
.\" 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-05-03 "Linux man-pages 6.8"
.SH NAME
-mbsinit \- test for initial shift state
+mbsinit
+\-
+test for initial shift state
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <wchar.h>
-.PP
+.P
.BI "int mbsinit(const mbstate_t *" ps );
.fi
.SH DESCRIPTION
-Character conversion between the multibyte representation and the wide
-character representation uses conversion state, of type
-.IR mbstate_t .
-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
-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
-.BR mbsrtowcs (3),
-and the one used by wide
-character to multibyte conversion functions, such as
-.BR wcsrtombs (3),
-but they both fit in a
-.IR mbstate_t ,
-and they both have the same
-representation for an initial state.
-.PP
-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
-multibyte to wide-character conversion functions like
-.BR mbrtowc (3)
-do
-produce non-initial states when interrupted in the middle of a character.
-.PP
-One possible way to create an
-.I mbstate_t
-in initial state is to set it to zero:
-.PP
-.in +4n
-.EX
-mbstate_t state;
-memset(&state, 0, sizeof(state));
-.EE
-.in
-.PP
-On Linux, the following works as well, but might generate compiler warnings:
-.PP
-.in +4n
-.EX
-mbstate_t state = { 0 };
-.EE
-.in
-.PP
The function
.BR mbsinit ()
tests whether
@@ -98,7 +53,6 @@ T{
.BR mbsinit ()
T} Thread safety MT-Safe
.TE
-.sp 1
.SH STANDARDS
C11, POSIX.1-2008.
.SH HISTORY
@@ -111,6 +65,7 @@ depends on the
category of the
current locale.
.SH SEE ALSO
+.BR mbstate_t (3type),
.BR mbrlen (3),
.BR mbrtowc (3),
.BR mbsrtowcs (3),