Next: mbsrtowcs, Previous: __malloc_lock, Up: Stdlib [Contents][Index]
mblen
—minimal multibyte length functionSynopsis
#include <stdlib.h> int mblen(const char *s, size_t n);
Description
When _MB_CAPABLE is not defined, this is a minimal ANSI-conforming
implementation of mblen
. In this case, the
only “multi-byte character sequences” recognized are single bytes,
and thus 1
is returned unless s is the null pointer or
has a length of 0 or is the empty string.
When _MB_CAPABLE is defined, this routine calls _mbtowc_r
to perform
the conversion, passing a state variable to allow state dependent
decoding. The result is based on the locale setting which may
be restricted to a defined set of locales.
Returns
This implementation of mblen
returns 0
if
s is NULL
or the empty string; it returns 1
if not _MB_CAPABLE or
the character is a single-byte character; it returns -1
if the multi-byte character is invalid; otherwise it returns
the number of bytes in the multibyte character.
Portability
mblen
is required in the ANSI C standard. However, the precise
effects vary with the locale.
mblen
requires no supporting OS subroutines.