Author: cfinck
Date: Wed Jul 2 11:07:01 2008
New Revision: 34266
URL:
http://svn.reactos.org/svn/reactos?rev=34266&view=rev
Log:
Simplify the code for fputwc, when the file is opened in text mode.
I verified this behaviour with a test app under Windows XP SP2. This is also the code used
by the fputwc function of our previous msvcrt.
Modified:
trunk/reactos/lib/sdk/crt/stdio/file.c
Modified: trunk/reactos/lib/sdk/crt/stdio/file.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/stdio/file.c?r…
==============================================================================
--- trunk/reactos/lib/sdk/crt/stdio/file.c [iso-8859-1] (original)
+++ trunk/reactos/lib/sdk/crt/stdio/file.c [iso-8859-1] Wed Jul 2 11:07:01 2008
@@ -2475,24 +2475,20 @@
*/
wint_t CDECL fputwc(wint_t wc, FILE* file)
{
- wchar_t mwc=wc;
- char mbchar[10]; // MB_CUR_MAX_CONST
- int mb_return;
-
if (file->_flag & _IOBINARY)
{
+ wchar_t mwc = wc;
+
if (fwrite( &mwc, sizeof(mwc), 1, file) != 1)
return WEOF;
}
else
{
- /* Convert to multibyte in text mode */
- mb_return = wctomb(mbchar, mwc);
- if (mb_return == -1) return WEOF;
-
- /* Output all characters */
- if (fwrite( mbchar, 1, mb_return, file) != 1)
- return WEOF;
+ /* Convert the character to ANSI */
+ char c = (unsigned char)wc;
+
+ if (fwrite( &c, sizeof(c), 1, file) != 1)
+ return WEOF;
}
return wc;