diff options
author | tjr <tjr@FreeBSD.org> | 2003-11-04 11:05:55 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2003-11-04 11:05:55 +0000 |
commit | 46a574efa9d64e0719dd8846de8e06a157dbd4ff (patch) | |
tree | de1efe529ace379f46b768f97f638aa004be19ea /lib/libc/stdio/fgetwc.c | |
parent | a69e97d1cc1b9b78983d8e402ba00aa348d02701 (diff) | |
download | FreeBSD-src-46a574efa9d64e0719dd8846de8e06a157dbd4ff.zip FreeBSD-src-46a574efa9d64e0719dd8846de8e06a157dbd4ff.tar.gz |
Pass mbrtowc() and wcrtomb() NULL instead of a pointer to a freshly zeroed
mbstate_t object that they ignore. The zeroing is fairly expensive, and it
will never be necessary in these functions; when we support state-dependent
encodings, we will pass in a pointer to the file's mbstate_t object, and
only zero it at the time the file gets opened.
Diffstat (limited to 'lib/libc/stdio/fgetwc.c')
-rw-r--r-- | lib/libc/stdio/fgetwc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/libc/stdio/fgetwc.c b/lib/libc/stdio/fgetwc.c index 93438a6..3a6e6e1 100644 --- a/lib/libc/stdio/fgetwc.c +++ b/lib/libc/stdio/fgetwc.c @@ -78,7 +78,6 @@ static __inline wint_t __fgetwc_nbf(FILE *fp) { char buf[MB_LEN_MAX]; - mbstate_t mbs; size_t n, nconv; int c; wchar_t wc; @@ -91,8 +90,7 @@ __fgetwc_nbf(FILE *fp) break; } buf[n++] = (char)c; - memset(&mbs, 0, sizeof(mbs)); - nconv = mbrtowc(&wc, buf, n, &mbs); + nconv = mbrtowc(&wc, buf, n, NULL); if (nconv == n) return (wc); else if (nconv == 0) |