mbrlen - determine number of bytes in next multibyte char­
       acter


SYNOPSIS

       #include <wchar.h>

       size_t mbrlen (const char *s, size_t n, mbstate_t *ps);


DESCRIPTION

       The mbrlen function inspects at most n bytes of the multi­
       byte  string  starting at s and extracts the next complete
       multibyte character.  It updates the shift state  *ps.  If
       the multibyte character is not the null wide character, it
       returns the number of bytes that were consumed from s.  If
       the  multibyte  character  is  the null wide character, it
       resets the shift  state  *ps  to  the  initial  state  and
       returns 0.

       If  the  n  bytes  starting at s do not contain a complete
       multibyte character, mbrlen returns (size_t)(-2). This can
       happen  even  if  n >= MB_CUR_MAX, if the multibyte string
       contains redundant shift sequences.

       If the multibyte string starting at s contains an  invalid
       multibyte  sequence  before  the  next complete character,
       mbrlen returns (size_t)(-1) and sets errno to  EILSEQ.  In
       this case, the effects on *ps are undefined.

       If  ps  is  a  NULL pointer, a static anonymous state only
       known to the mbrlen function is used instead.


RETURN VALUE

       The mbrlen function returns the  number  of  bytes  parsed
       from  the  multibyte sequence starting at s, if a non-null
       wide character was recognized.  It returns 0,  if  a  null
       wide character was recognized. It returns (size_t)(-1) and
       sets errno to EILSEQ, if an invalid multibyte sequence was
       encountered.  It returns (size_t)(-2) if it couldn't parse
       a complete multibyte character, meaning that n  should  be
       increased.


CONFORMING TO

       ISO/ANSI C, UNIX98


SEE ALSO

       mbrtowc(3)


NOTES

       The  behaviour  of mbrlen depends on the LC_CTYPE category
       of the current locale.


Man(1) output converted with man2html