Module: wine Branch: master Commit: bf6a803e04db1c466c9e7b1fd44e17ee10b17381 URL: https://source.winehq.org/git/wine.git/?a=commit;h=bf6a803e04db1c466c9e7b1fd...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Jul 14 16:23:22 2020 +0200
kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in FillConsoleOutputCharacterW.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernelbase/console.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c index 1df084fab9..4468d713d9 100644 --- a/dlls/kernelbase/console.c +++ b/dlls/kernelbase/console.c @@ -446,7 +446,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH FillConsoleOutputCharacterA( HANDLE handle, CHAR c BOOL WINAPI DECLSPEC_HOTPATCH FillConsoleOutputCharacterW( HANDLE handle, WCHAR ch, DWORD length, COORD coord, DWORD *written ) { - BOOL ret; + struct condrv_fill_output_params params;
TRACE( "(%p,%s,%d,(%dx%d),%p)\n", handle, debugstr_wn(&ch, 1), length, coord.X, coord.Y, written );
@@ -457,19 +457,16 @@ BOOL WINAPI DECLSPEC_HOTPATCH FillConsoleOutputCharacterW( HANDLE handle, WCHAR }
*written = 0; - SERVER_START_REQ( fill_console_output ) - { - req->handle = console_handle_unmap( handle ); - req->x = coord.X; - req->y = coord.Y; - req->mode = CHAR_INFO_MODE_TEXT; - req->wrap = TRUE; - req->data.ch = ch; - req->count = length; - if ((ret = !wine_server_call_err( req ))) *written = reply->written; - } - SERVER_END_REQ; - return ret; + + params.mode = CHAR_INFO_MODE_TEXT; + params.x = coord.X; + params.y = coord.Y; + params.count = length; + params.wrap = TRUE; + params.ch = ch; + params.attr = 0; + return console_ioctl( handle, IOCTL_CONDRV_FILL_OUTPUT, ¶ms, sizeof(params), + written, sizeof(written), NULL ); }
HANDLE get_console_wait_handle( HANDLE handle )