UTF-8 character to stdio fails
Piotr Caban
piotr.caban at gmail.com
Fri Jun 12 06:06:04 CDT 2020
Hi,
On 6/11/20 1:10 AM, Pauli wrote:
> When I tested the buffered output I had mixed results. Characters
> rendedred correctly in wineconsole cmd. Too bad output was still grabage
> because same output was written multiple times.
I've sent a patch for fflush function that clears the buffer even if
error occurs (https://source.winehq.org/patches/data/186903). It should
fix some of the cases when output is written multiple times.
> After reading wine debug
> log I figured that issue was around WriteFile call from MSVCRT__write.
> stdout has WX_TEXT set leading to path which assumes WriteFile sets
> BytesWritten to actual number of bytes. But kernel32.WriteFile does mb
> to wc conversion (correctly) but it then writes number of wide
> characters written.
In the tests you have attached the fflush failure is caused by incorrect
value set by ConsoleWriteA function. On Wine ConsoleWriteA(sout, test,
sizeof(test) - 1, &written, NULL) sets written to 1, on Windows to 3.
Please create a bug report about that (bugs.winehq.org).
Thanks,
Piotr
More information about the wine-devel
mailing list