Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mbsinit(3) [osf1 man page]

mbsinit(3)						     Library Functions Manual							mbsinit(3)

NAME
mbsinit - Determines whether a multibyte-character string is in the initial conversion state LIBRARY
Standard C Library (libc) SYNOPSIS
#include <wchar.h> int mbsinit( const mbstate_t *ps); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: mbsinit(): XSH5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Points to an mbstate_t object, which describes the conversion state of the current character in the string being converted. The initial conversion state for conversion in either direction (multibyte to wide-character format or the reverse) corresponds to the beginning of the character's multibyte encoding sequence in the initial shift state as defined by the LC_TYPE category of the current locale. DESCRIPTION
The mbsinit() function determines whether the sequence of characters being converted is in the initial conversion state; that is, the func- tion determines whether the multibyte encoding for the current character in this sequence is in the initial shift state as defined by the LC_TYPE category of the current locale. The application can use a zero return, which indicates that the character sequence is not in ini- tial conversion state, to initiate a conversion operation. Use this function along with the restartable conversion functions (mbrlen, mbrtowc, wcrtomb, mbsrtowcs, wcsrtombs) to convert between multibyte-character and wide-character format. Only restartable conversion functions use an mbstate_t parameter, such as ps. Therefore, results are undefined when restartable and nonrestartable conversion functions operate on the same arrays of characters during a conversion operation. Results are also undefined when ps is first altered by any of the restartable conversion functions and then used by another call in any of the following ways: With a different sequence of characters In the reverse conversion direction Under a different LC_CTYPE set- ting than on earlier function calls RESTRICTIONS
[Tru64 UNIX] The mbsinit() function and restartable versions of conversion routines are functional only when used with locales that sup- port shift state encoding. Currently, the operating system does not provide any locales that use shift state encoding and the mbsinit() function returns a nonzero value only to indicate that *ps is a null pointer. RETURN VALUES
The mbsinit() function returns a nonzero value if *ps is a null pointer or ps describes an initial conversion state; otherwise, the func- tion returns zero. RELATED INFORMATION
Functions: mblen(3), mbstowcs(3), mbtowc(3), wcstombs(3), wctomb(3) Files: locale(4) delim off mbsinit(3)

Check Out this Related Man Page

MBSINIT(3)						     Linux Programmer's Manual							MBSINIT(3)

NAME
mbsinit - test for initial shift state SYNOPSIS
#include <wchar.h> int mbsinit(const mbstate_t *ps); DESCRIPTION
Character conversion between the multibyte representation and the wide character representation uses conversion state, of type 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. 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 mbsrtowcs(3), and the one used by wide character to multibyte conversion functions, such as wcsr- tombs(3), but they both fit in a mbstate_t, and they both have the same representation for an initial state. 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 mbrtowc(3) do produce non-initial states when interrupted in the middle of a character. One possible way to create an mbstate_t in initial state is to set it to zero: mbstate_t state; memset(&state,0,sizeof(mbstate_t)); On Linux, the following works as well, but might generate compiler warnings: mbstate_t state = { 0 }; The function mbsinit() tests whether *ps corresponds to an initial state. RETURN VALUE
mbsinit() returns nonzero if *ps is an initial state, or if ps is NULL. Otherwise, it returns 0. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +----------+---------------+---------+ |Interface | Attribute | Value | +----------+---------------+---------+ |mbsinit() | Thread safety | MT-Safe | +----------+---------------+---------+ CONFORMING TO
POSIX.1-2001, POSIX.1-2008, C99. NOTES
The behavior of mbsinit() depends on the LC_CTYPE category of the current locale. SEE ALSO
mbrlen(3), mbrtowc(3), mbsrtowcs(3), wcrtomb(3), wcsrtombs(3) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. GNU
2016-10-08 MBSINIT(3)
Man Page