From 13dc34f779786ba39509014ebb9f4a5152cf2608 Mon Sep 17 00:00:00 2001 From: viri Date: Sun, 6 Jun 2021 20:26:08 -0600 Subject: [PATCH] std.Progress: use `*W` functions on windows Closes #534. See: https://source.winehq.org/git/wine.git/blob/refs/heads/stable:/dlls/kernelbase/console.c#l520 --- lib/std/Progress.zig | 2 +- lib/std/os/windows/kernel32.zig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/std/Progress.zig b/lib/std/Progress.zig index c912b60f57..059f6e73a7 100644 --- a/lib/std/Progress.zig +++ b/lib/std/Progress.zig @@ -234,7 +234,7 @@ fn refreshWithHeldLock(self: *Progress) void { self.terminal = null; break :winapi; } - if (windows.kernel32.FillConsoleOutputCharacterA( + if (windows.kernel32.FillConsoleOutputCharacterW( file.handle, ' ', fill_chars, diff --git a/lib/std/os/windows/kernel32.zig b/lib/std/os/windows/kernel32.zig index e50301f799..8f100a9511 100644 --- a/lib/std/os/windows/kernel32.zig +++ b/lib/std/os/windows/kernel32.zig @@ -90,6 +90,7 @@ pub extern "kernel32" fn GetConsoleMode(in_hConsoleHandle: HANDLE, out_lpMode: * pub extern "kernel32" fn GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: *CONSOLE_SCREEN_BUFFER_INFO) callconv(WINAPI) BOOL; pub extern "kernel32" fn FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: CHAR, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfCharsWritten: LPDWORD) callconv(WINAPI) BOOL; +pub extern "kernel32" fn FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfCharsWritten: LPDWORD) callconv(WINAPI) BOOL; pub extern "kernel32" fn FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfAttrsWritten: LPDWORD) callconv(WINAPI) BOOL; pub extern "kernel32" fn SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) callconv(WINAPI) BOOL;