msvcrt: Fix _putws implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47615 Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5a67b266c0
commit
3577f06f71
|
@ -4840,19 +4840,14 @@ int CDECL MSVCRT_puts(const char *s)
|
||||||
*/
|
*/
|
||||||
int CDECL MSVCRT__putws(const MSVCRT_wchar_t *s)
|
int CDECL MSVCRT__putws(const MSVCRT_wchar_t *s)
|
||||||
{
|
{
|
||||||
static const MSVCRT_wchar_t nl = '\n';
|
|
||||||
MSVCRT_size_t len = strlenW(s);
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
MSVCRT__lock_file(MSVCRT_stdout);
|
MSVCRT__lock_file(MSVCRT_stdout);
|
||||||
if(MSVCRT__fwrite_nolock(s, sizeof(*s), len, MSVCRT_stdout) != len) {
|
ret = MSVCRT_fputws(s, MSVCRT_stdout);
|
||||||
MSVCRT__unlock_file(MSVCRT_stdout);
|
if(ret >= 0)
|
||||||
return MSVCRT_EOF;
|
ret = MSVCRT__fputwc_nolock('\n', MSVCRT_stdout);
|
||||||
}
|
|
||||||
|
|
||||||
ret = MSVCRT__fwrite_nolock(&nl,sizeof(nl),1,MSVCRT_stdout) == 1 ? 0 : MSVCRT_EOF;
|
|
||||||
MSVCRT__unlock_file(MSVCRT_stdout);
|
MSVCRT__unlock_file(MSVCRT_stdout);
|
||||||
return ret;
|
return ret >= 0 ? 0 : MSVCRT_WEOF;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
|
|
Loading…
Reference in New Issue