ABCDEFGHIJKLMNOPQRSTUVWXYZ

mblen

MBLEN(3)                   Linux Programmer's Manual                  MBLEN(3)



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  char-
       acter,  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  multi-
       byte  sequence  starting  at s, if a non-null wide character was recog-
       nized.  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 functional-
       ity.



GNU                               1999-07-25                          MBLEN(3)