Unix/Linux Go Back    

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

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

MBRLEN(P)			    POSIX Programmer's Manual				MBRLEN(P)

       mbrlen - get number of bytes in a character (restartable)

       #include <wchar.h>

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

       If  s is not a null pointer, mbrlen() shall determine the number of bytes constituting the
       character pointed to by s. It shall be equivalent to:

	      mbstate_t internal;
	      mbrtowc(NULL, s, n, ps != NULL ? ps : &internal);

       If ps is a null pointer, the mbrlen()  function	shall  use  its  own  internal	mbstate_t
       object,	which  is initialized at program start-up to the initial conversion state. Other-
       wise, the mbstate_t object pointed to by ps shall be used to completely describe the  cur-
       rent  conversion  state	of  the  associated  character sequence. The implementation shall
       behave as if no function defined in this volume of IEEE Std 1003.1-2001 calls mbrlen().

       The behavior of this function is affected by the LC_CTYPE category of the current locale.

       The mbrlen() function shall return the first of the following that applies:

       0      If the next n or fewer bytes complete the character that corresponds  to	the  null
	      wide character.

	      If  the  next n or fewer bytes complete a valid character; the value returned shall
	      be the number of bytes that complete the character.

	      If the next n bytes contribute to an incomplete but  potentially	valid  character,
	      and  all	n  bytes  have	been  processed.  When	n  has	at least the value of the
	      {MB_CUR_MAX} macro, this case can only occur if s points at a sequence of redundant
	      shift sequences (for implementations with state-dependent encodings).

	      If  an  encoding	error occurs, in which case the next n or fewer bytes do not con-
	      tribute to a complete and valid character. In this case, [EILSEQ] shall  be  stored
	      in errno and the conversion state is undefined.

       The mbrlen() function may fail if:

       EINVAL ps points to an object that contains an invalid conversion state.

       EILSEQ Invalid character sequence is detected.

       The following sections are informative.





       mbsinit() , mbrtowc() , the Base Definitions volume of IEEE Std 1003.1-2001, <wchar.h>

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable	Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003					MBRLEN(P)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 05:03 AM.