diff options
author | tjr <tjr@FreeBSD.org> | 2004-05-12 14:26:54 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-05-12 14:26:54 +0000 |
commit | 5ad27cd64f958bb973cd2fe0e8c9169e69168e05 (patch) | |
tree | a4b3d33fdc70e217fd81cdb660a70bd2e6e3af51 /lib/libc/locale/mbsrtowcs.c | |
parent | e3f042f4aff04f73fd65f7788919c29bd71cfd1e (diff) | |
download | FreeBSD-src-5ad27cd64f958bb973cd2fe0e8c9169e69168e05.zip FreeBSD-src-5ad27cd64f958bb973cd2fe0e8c9169e69168e05.tar.gz |
Reduce overhead by calling internal versions of the multibyte conversion
functions directly wherever possible.
Diffstat (limited to 'lib/libc/locale/mbsrtowcs.c')
-rw-r--r-- | lib/libc/locale/mbsrtowcs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libc/locale/mbsrtowcs.c b/lib/libc/locale/mbsrtowcs.c index 8b3de2f..6a0f3e8 100644 --- a/lib/libc/locale/mbsrtowcs.c +++ b/lib/libc/locale/mbsrtowcs.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include <limits.h> #include <stdlib.h> #include <wchar.h> +#include "mblocal.h" size_t mbsrtowcs(wchar_t * __restrict dst, const char ** __restrict src, size_t len, @@ -49,7 +50,7 @@ mbsrtowcs(wchar_t * __restrict dst, const char ** __restrict src, size_t len, ps = &mbs; if (dst == NULL) { for (;;) { - if ((nb = (int)mbrtowc(&wc, s, MB_CUR_MAX, ps)) < 0) + if ((nb = (int)__mbrtowc(&wc, s, MB_CUR_MAX, ps)) < 0) /* Invalid sequence - mbrtowc() sets errno. */ return ((size_t)-1); else if (nb == 0) @@ -61,7 +62,7 @@ mbsrtowcs(wchar_t * __restrict dst, const char ** __restrict src, size_t len, } while (len-- > 0) { - if ((nb = (int)mbrtowc(dst, s, MB_CUR_MAX, ps)) < 0) { + if ((nb = (int)__mbrtowc(dst, s, MB_CUR_MAX, ps)) < 0) { *src = s; return ((size_t)-1); } else if (nb == 0) { |