| author | |
| committer | |
| log | 4a3ac16711b41d90e0666f478e3085f764c83208 |
| tree | 69ea4b17c1fbb8a140d89d06be59509829940166 |
| parent | 51076f4e1d7c2569cbfbb612eeb636be22e03664 |
Closes #534.
See: https://source.winehq.org/git/wine.git/blob/refs/heads/stable:/dlls/kernelbase/console.c#l5203 files changed, 9 insertions(+), 8 deletions(-)
lib/std/Progress.zig+1-1| ... | @@ -234,7 +234,7 @@ fn refreshWithHeldLock(self: *Progress) void { | ... | @@ -234,7 +234,7 @@ fn refreshWithHeldLock(self: *Progress) void { |
| 234 | self.terminal = null; | 234 | self.terminal = null; |
| 235 | break :winapi; | 235 | break :winapi; |
| 236 | } | 236 | } |
| 237 | if (windows.kernel32.FillConsoleOutputCharacterA( | 237 | if (windows.kernel32.FillConsoleOutputCharacterW( |
| 238 | file.handle, | 238 | file.handle, |
| 239 | ' ', | 239 | ' ', |
| 240 | fill_chars, | 240 | fill_chars, |
lib/std/os/windows.zig+6-6| ... | @@ -1922,19 +1922,19 @@ pub fn loadWinsockExtensionFunction(comptime T: type, sock: ws2_32.SOCKET, guid: | ... | @@ -1922,19 +1922,19 @@ pub fn loadWinsockExtensionFunction(comptime T: type, sock: ws2_32.SOCKET, guid: |
| 1922 | pub fn unexpectedError(err: Win32Error) std.os.UnexpectedError { | 1922 | pub fn unexpectedError(err: Win32Error) std.os.UnexpectedError { |
| 1923 | if (std.os.unexpected_error_tracing) { | 1923 | if (std.os.unexpected_error_tracing) { |
| 1924 | // 614 is the length of the longest windows error desciption | 1924 | // 614 is the length of the longest windows error desciption |
| 1925 | var buf_u16: [614]u16 = undefined; | 1925 | var buf_wstr: [614]WCHAR = undefined; |
| 1926 | var buf_u8: [614]u8 = undefined; | 1926 | var buf_utf8: [614]u8 = undefined; |
| 1927 | const len = kernel32.FormatMessageW( | 1927 | const len = kernel32.FormatMessageW( |
| 1928 | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, | 1928 | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, |
| 1929 | null, | 1929 | null, |
| 1930 | err, | 1930 | err, |
| 1931 | MAKELANGID(LANG.NEUTRAL, SUBLANG.DEFAULT), | 1931 | MAKELANGID(LANG.NEUTRAL, SUBLANG.DEFAULT), |
| 1932 | &buf_u16, | 1932 | &buf_wstr, |
| 1933 | buf_u16.len / @sizeOf(TCHAR), | 1933 | buf_wstr.len, |
| 1934 | null, | 1934 | null, |
| 1935 | ); | 1935 | ); |
| 1936 | _ = std.unicode.utf16leToUtf8(&buf_u8, buf_u16[0..len]) catch unreachable; | 1936 | _ = std.unicode.utf16leToUtf8(&buf_utf8, buf_wstr[0..len]) catch unreachable; |
| 1937 | std.debug.warn("error.Unexpected: GetLastError({}): {s}\n", .{ @enumToInt(err), buf_u8[0..len] }); | 1937 | std.debug.warn("error.Unexpected: GetLastError({}): {s}\n", .{ @enumToInt(err), buf_utf8[0..len] }); |
| 1938 | std.debug.dumpCurrentStackTrace(null); | 1938 | std.debug.dumpCurrentStackTrace(null); |
| 1939 | } | 1939 | } |
| 1940 | return error.Unexpected; | 1940 | return error.Unexpected; |
lib/std/os/windows/kernel32.zig+2-1| ... | @@ -89,7 +89,8 @@ pub extern "kernel32" fn GetCommandLineW() callconv(WINAPI) LPWSTR; | ... | @@ -89,7 +89,8 @@ pub extern "kernel32" fn GetCommandLineW() callconv(WINAPI) LPWSTR; |
| 89 | pub extern "kernel32" fn GetConsoleMode(in_hConsoleHandle: HANDLE, out_lpMode: *DWORD) callconv(WINAPI) BOOL; | 89 | pub extern "kernel32" fn GetConsoleMode(in_hConsoleHandle: HANDLE, out_lpMode: *DWORD) callconv(WINAPI) BOOL; |
| 90 | 90 | ||
| 91 | pub extern "kernel32" fn GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: *CONSOLE_SCREEN_BUFFER_INFO) callconv(WINAPI) BOOL; | 91 | pub extern "kernel32" fn GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: *CONSOLE_SCREEN_BUFFER_INFO) callconv(WINAPI) BOOL; |
| 92 | pub extern "kernel32" fn FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: TCHAR, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfCharsWritten: LPDWORD) callconv(WINAPI) BOOL; | 92 | pub extern "kernel32" fn FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: CHAR, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfCharsWritten: LPDWORD) callconv(WINAPI) BOOL; |
| 93 | pub extern "kernel32" fn FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfCharsWritten: LPDWORD) callconv(WINAPI) BOOL; | ||
| 93 | pub extern "kernel32" fn FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfAttrsWritten: LPDWORD) callconv(WINAPI) BOOL; | 94 | pub extern "kernel32" fn FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: DWORD, dwWriteCoord: COORD, lpNumberOfAttrsWritten: LPDWORD) callconv(WINAPI) BOOL; |
| 94 | pub extern "kernel32" fn SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) callconv(WINAPI) BOOL; | 95 | pub extern "kernel32" fn SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) callconv(WINAPI) BOOL; |
| 95 | 96 |