mblen
MBLEN(N)            Linux Programmer's Manual            MBLEN(N)



NAME
       mblen  - determine number of bytes in next multibyte char-
       acter

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 func-
       tion. If the multibyte character  is  not  the  null  wide
       character,  it  returns the number of bytes that were con-
       sumed 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-triv-
       ial 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(n)

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.



GNU                         1999-07-25                   MBLEN(N)