This doesn't look right. What if it's wineconsole with user backend (default) and OEM CP (which is different then UNIXCP)? Should probably hack GetConsoleOutputCP() instead.
this code is only used when no wineconsole is attached, so unixcp is the right choice
No, this is used in case of output redirection too. E.g. even in wineconsole, command c:>dir > list.txt will create a list.txt file in UNIXCP, but ConsoleOutputCP is expected. In most cases it does not hurt, but who knows...
however, it can be considered that GetConsoleOutputCP() should be changed to return the unixcp and not the oem cp when no console is attached
-- Kirill