DragonFly On-Line Manual Pages
MBLEN(3) DragonFly Library Functions Manual MBLEN(3)
NAME
mblen, mblen_l -- get number of bytes in a character
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdlib.h>
int
mblen(const char *mbchar, size_t nbytes);
#include <xlocale.h>
int
mblen_l(const char *mbchar, size_t nbytes, locale_t locale);
DESCRIPTION
The mblen() and mblen_l() functions compute the length in bytes of a
multibyte character mbchar according to a conversion state. Up to nbytes
bytes are examined.
A call with a null mbchar pointer returns nonzero if the locale requires
shift states, zero otherwise; if shift states are required, the shift
state is reset to the initial state.
The mblen_l() function takes an explicit locale argument, whereas the
mblen() function uses the current global or per-thread locale.
RETURN VALUES
If mbchar is NULL, the mblen() and mblen_l() functions return nonzero if
shift states are supported, zero otherwise.
Otherwise, if mbchar is not a null pointer, mblen() and mblen_l() either
return 0 if mbchar represents the null wide character, or return the
number of bytes processed in mbchar, or return -1 if no multibyte
character could be recognized or converted. In this case, mblen()'s and
mblen_l()'s internal conversion states are undefined.
ERRORS
The mblen() and mblen_l() functions will fail if:
[EILSEQ] An invalid multibyte sequence was detected.
[EINVAL] The internal conversion state is not valid.
SEE ALSO
mbrlen(3), mbtowc(3), multibyte(3), xlocale(3)
STANDARDS
The mblen() function conforms to ISO/IEC 9899:1999 (``ISO C99'').
DragonFly 4.3 December 26, 2013 DragonFly 4.3