Unix/Linux Go Back    


Linux 2.6 - man page for mbrlen (linux section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


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

NAME
       mbrlen - determine number of bytes in next multibyte character

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 multibyte 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 known only 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 com-
       plete multibyte character, meaning that n should be increased.

ATTRIBUTES
   Multithreading (see pthreads(7))
       The mbrlen() function is thread-safe with exceptions.  It is  not  thread-safe  if  called
       with a NULL ps parameter.

CONFORMING TO
       C99.

NOTES
       The behavior of mbrlen() depends on the LC_CTYPE category of the current locale.

SEE ALSO
       mbrtowc(3)

COLOPHON
       This  page  is  part of release 3.55 of the Linux man-pages project.  A description of the
       project,    and	  information	 about	  reporting    bugs,	can    be    found     at
       http://www.kernel.org/doc/man-pages/.

GNU					    2013-06-21					MBRLEN(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 10:19 PM.