Hello. mbstowcs(3), wcrtomb(3) and wcstombs(3) use a bit awkward wording - "the first at most", and repeat "array pointed to by blah" from the previous sentence.
Perhaps something similar to this diff would make them easier to read? Index: mbstowcs.3 =================================================================== RCS file: /cvs/src/lib/libc/locale/mbstowcs.3,v retrieving revision 1.5 diff -u -p -u -r1.5 mbstowcs.3 --- mbstowcs.3 5 Jun 2013 03:39:22 -0000 1.5 +++ mbstowcs.3 18 Mar 2015 19:05:39 -0000 @@ -46,9 +46,9 @@ converts a null-terminated multibyte cha to the corresponding wide-character string and stores it in the array pointed to by .Fa pwcs . -This function may modify the first at most +Up to .Fa n -elements of the array pointed to by +elements are stored in .Fa pwcs . Each character will be converted as if .Xr mbtowc 3 Index: wcrtomb.3 =================================================================== RCS file: /cvs/src/lib/libc/locale/wcrtomb.3,v retrieving revision 1.7 diff -u -p -u -r1.7 wcrtomb.3 --- wcrtomb.3 28 Aug 2013 16:24:07 -0000 1.7 +++ wcrtomb.3 18 Mar 2015 19:05:39 -0000 @@ -48,9 +48,9 @@ pointed to by unless .Fa s is a null pointer. -This function will modify the first at most +Up to .Dv MB_CUR_MAX -bytes of the array pointed by +bytes are stored in .Fa s . .Pp The behaviour of Index: wcstombs.3 =================================================================== RCS file: /cvs/src/lib/libc/locale/wcstombs.3,v retrieving revision 1.5 diff -u -p -u -r1.5 wcstombs.3 --- wcstombs.3 5 Jun 2013 03:39:22 -0000 1.5 +++ wcstombs.3 18 Mar 2015 19:05:39 -0000 @@ -45,9 +45,9 @@ converts the null-terminated wide-charac to the corresponding multibyte character string, and stores it in the array pointed to by .Fa s . -This function may modify the first at most +Up to .Fa n -bytes of the array pointed to by +bytes are stored in .Fa s . Each character will be converted as if .Xr wctomb 3
