ifx_gl_mbstowcs - convert a multi-byte character string to its wide-character representation

SYNOPSIS

#include <ifxgls.h>
int ifx_gl_mbstowcs(gl_wchar_t *wcsp, gl_mchar_t *mbs, int mbs_byte_length, int char_limit);

DESCRIPTION

This function converts mbs into its wide-character representation and stores the result in the location pointed to by wcsp. No more than char_limit characters will be read from mbs and written to wcsp.

If mbs_byte_length is the value IFX_GL_NULL then the function will assume that mbs is a null-terminated string; otherwise the function assumes that mbs_byte_length is the number of bytes in mbs. See Multi-Byte Character String Termination for more general information about mbs_byte_length.

If mbs_byte_length is equal to IFX_GL_NULL then the function will null-terminate the string stored in wcsp; otherwise it will not.

RETURN VALUES

This function returns the number of characters read from mbs and the number of characters written to wcsp, not counting the null-terminator.

ERRORS

If an error has occurred, this function returns -1 and sets ifx_gl_lc_errno() to one of the following,
[IFX_GL_PARAMERR]
mbs_byte_length is not equal to IFX_GL_NULL and is not greater than or equal to zero.
[IFX_GL_EILSEQ]
mbs contains an invalid multi-byte character
[IFX_GL_EINVAL]
The function cannot determine whether the last character of mbs is a valid multi-byte character, because it would need to read more than mbs_byte_length bytes from mbs. See Keeping Multi-Byte Strings Consistent for more information about this error.

SEE ALSO

ifx_gl_wcstombs()

ACKNOWLEDGEMENT

Portions of this description were derived from the X/Open CAE Specification: "System Interfaces and Headers, Issue 4"; X/Open Document Number: C202; ISBN: 1-872630-47-2; Published by X/Open Company Ltd., U.K.