ifx_gl_mbslen - returns number of characters in a multi-byte string
SYNOPSIS
#include <ifxgls.h>
int ifx_gl_mbslen(gl_mchar_t *mbs, int mbs_byte_length);
DESCRIPTION
This function returns the number of characters (not bytes)
in the string mbs, not including any terminating
null character.
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.
RETURN VALUES
This function returns the number of characters
in mbs.
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_mblen()
ifx_gl_mbsnext()
ifx_gl_wcslen()
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.