Provided by: manpages-pt-dev_20040726-4_all bug

NAME

       mblen - determine number of bytes in next multibyte character

SYNOPSIS

       #include <stdlib.h>

       int mblen (const char *s, size_t n);

DESCRIPTION

       If s is not a NULL pointer, the mblen function inspects at most n bytes
       of the multibyte string starting at s and extracts  the  next  complete
       multibyte  character. It uses a static anonymous shift state only known
       to the mblen function. 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 returns 0.

       If the n bytes starting at  s  do  not  contain  a  complete  multibyte
       character,  mblen  returns -1. 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, mblen also returns -1.

       If s is a NULL pointer, the mblen function resets the shift state, only
       known to this function, to the initial state, and returns  non-zero  if
       the  encoding  has  non-trivial shift state, or zero if the encoding is
       stateless.

RETURN VALUE

       The mblen  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  -1,  if an invalid multibyte sequence was encountered or if it
       couldn’t parse a complete multibyte character.

CONFORMING TO

       ISO/ANSI C, UNIX98

SEE ALSO

       mbrlen(3)

NOTES

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

       The   function   mbrlen   provides  a  better  interface  to  the  same
       functionality.