diff options
author | tjr <tjr@FreeBSD.org> | 2004-07-21 10:54:57 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-07-21 10:54:57 +0000 |
commit | 5b4f25c6e9c9b37dcda00bd4a94aabeffeed31b0 (patch) | |
tree | 1c3c81fbcfab80a357977aa6546dc3166c9d5257 /lib/libc/stdio/fputws.c | |
parent | f892b6158fb86942cd8cee58017eded760b7546d (diff) | |
download | FreeBSD-src-5b4f25c6e9c9b37dcda00bd4a94aabeffeed31b0.zip FreeBSD-src-5b4f25c6e9c9b37dcda00bd4a94aabeffeed31b0.tar.gz |
Implement the GNU extensions of mbsnrtowcs() and wcsnrtombs(). These are
convenient when the source string isn't null-terminated.
Implement the other conversion functions (mbstowcs(), mbsrtowcs(), wcstombs(),
wcsrtombs()) in terms of these new functions.
Diffstat (limited to 'lib/libc/stdio/fputws.c')
-rw-r--r-- | lib/libc/stdio/fputws.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/stdio/fputws.c b/lib/libc/stdio/fputws.c index b5be731..025e1c0 100644 --- a/lib/libc/stdio/fputws.c +++ b/lib/libc/stdio/fputws.c @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" #include <errno.h> +#include <limits.h> #include <stdio.h> #include <wchar.h> #include "un-namespace.h" @@ -53,7 +54,7 @@ fputws(const wchar_t * __restrict ws, FILE * __restrict fp) uio.uio_iovcnt = 1; iov.iov_base = buf; do { - nbytes = __wcsrtombs(buf, &ws, sizeof(buf), + nbytes = __wcsnrtombs(buf, &ws, SIZE_T_MAX, sizeof(buf), &fp->_extra->mbstate); if (nbytes == (size_t)-1) goto error; |