Deleted Added
full compact
28c28
< __FBSDID("$FreeBSD: head/lib/libc/locale/mbsrtowcs.c 129179 2004-05-13 11:20:27Z tjr $");
---
> __FBSDID("$FreeBSD: head/lib/libc/locale/mbsrtowcs.c 132497 2004-07-21 10:54:57Z tjr $");
44c44
< return (__mbsrtowcs(dst, src, len, ps));
---
> return (__mbsnrtowcs(dst, src, SIZE_T_MAX, len, ps));
46,86d45
<
< size_t
< __mbsrtowcs_std(wchar_t * __restrict dst, const char ** __restrict src,
< size_t len, mbstate_t * __restrict ps)
< {
< const char *s;
< size_t nchr;
< wchar_t wc;
< int nb;
<
< s = *src;
< nchr = 0;
<
< if (dst == NULL) {
< for (;;) {
< if ((nb = (int)__mbrtowc(&wc, s, MB_CUR_MAX, ps)) < 0)
< /* Invalid sequence - mbrtowc() sets errno. */
< return ((size_t)-1);
< else if (nb == 0)
< return (nchr);
< s += nb;
< nchr++;
< }
< /*NOTREACHED*/
< }
<
< while (len-- > 0) {
< if ((nb = (int)__mbrtowc(dst, s, MB_CUR_MAX, ps)) < 0) {
< *src = s;
< return ((size_t)-1);
< } else if (nb == 0) {
< *src = NULL;
< return (nchr);
< }
< s += nb;
< nchr++;
< dst++;
< }
< *src = s;
< return (nchr);
< }