Jacek Caban : kernelbase: Remove no longer needed console handle mapping.

Alexandre Julliard julliard at winehq.org
Tue Dec 1 15:40:36 CST 2020


Module: wine
Branch: master
Commit: 826a9615e45847f20d916be548795cad7da67aea
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=826a9615e45847f20d916be548795cad7da67aea

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Dec  1 17:25:33 2020 +0100

kernelbase: Remove no longer needed console handle mapping.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernelbase/console.c    |  6 +++---
 dlls/kernelbase/file.c       |  6 ------
 dlls/kernelbase/kernelbase.h | 11 -----------
 dlls/kernelbase/process.c    | 10 ----------
 4 files changed, 3 insertions(+), 30 deletions(-)

diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c
index 04cbb82505e..8d440c89296 100644
--- a/dlls/kernelbase/console.c
+++ b/dlls/kernelbase/console.c
@@ -244,7 +244,7 @@ static BOOL init_console_std_handles( BOOL override_all )
                                FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0 );
         if (!set_ntstatus( status )) return FALSE;
         console_flags |= CONSOLE_INPUT_HANDLE;
-        SetStdHandle( STD_INPUT_HANDLE, console_handle_map( handle ));
+        SetStdHandle( STD_INPUT_HANDLE, handle );
     }
 
     if (!override_all)
@@ -263,7 +263,7 @@ static BOOL init_console_std_handles( BOOL override_all )
     if (!std_out)
     {
         console_flags |= CONSOLE_OUTPUT_HANDLE;
-        SetStdHandle( STD_OUTPUT_HANDLE, console_handle_map( handle ));
+        SetStdHandle( STD_OUTPUT_HANDLE, handle );
     }
 
     if (!std_err)
@@ -272,7 +272,7 @@ static BOOL init_console_std_handles( BOOL override_all )
                                           &handle, 0, TRUE, DUPLICATE_SAME_ACCESS ))
             return FALSE;
         console_flags |= CONSOLE_ERROR_HANDLE;
-        SetStdHandle( STD_ERROR_HANDLE, console_handle_map( handle ));
+        SetStdHandle( STD_ERROR_HANDLE, handle );
     }
 
     return TRUE;
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
index 7d0c4d63aa8..44d4c1c6b5a 100644
--- a/dlls/kernelbase/file.c
+++ b/dlls/kernelbase/file.c
@@ -854,12 +854,6 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFileW( LPCWSTR filename, DWORD access, DWO
     }
     else
     {
-        if (dosdev &&
-            ((LOWORD(dosdev) == 3 * sizeof(WCHAR) && !wcsnicmp( filename + HIWORD(dosdev)/sizeof(WCHAR), L"CON", 3 )) ||
-             (LOWORD(dosdev) == 6 * sizeof(WCHAR) && !wcsnicmp( filename + HIWORD(dosdev)/sizeof(WCHAR), L"CONIN$", 6 )) ||
-             (LOWORD(dosdev) == 7 * sizeof(WCHAR) && !wcsnicmp( filename + HIWORD(dosdev)/sizeof(WCHAR), L"CONOUT$", 7 ))))
-            ret = console_handle_map( ret );
-
         if ((creation == CREATE_ALWAYS && io.Information == FILE_OVERWRITTEN) ||
             (creation == OPEN_ALWAYS && io.Information == FILE_OPENED))
             SetLastError( ERROR_ALREADY_EXISTS );
diff --git a/dlls/kernelbase/kernelbase.h b/dlls/kernelbase/kernelbase.h
index 836d636b47b..82502059b66 100644
--- a/dlls/kernelbase/kernelbase.h
+++ b/dlls/kernelbase/kernelbase.h
@@ -43,17 +43,6 @@ extern const WCHAR system_dir[] DECLSPEC_HIDDEN;
 static const BOOL is_win64 = (sizeof(void *) > sizeof(int));
 extern BOOL is_wow64 DECLSPEC_HIDDEN;
 
-static inline BOOL is_console_handle(HANDLE h)
-{
-    return h != INVALID_HANDLE_VALUE && ((UINT_PTR)h & 3) == 3;
-}
-
-/* map between ntdll handle and kernel32 console handle */
-static inline HANDLE console_handle_map( HANDLE h )
-{
-    return h != INVALID_HANDLE_VALUE ? (HANDLE)((UINT_PTR)h ^ 3) : INVALID_HANDLE_VALUE;
-}
-
 static inline BOOL set_ntstatus( NTSTATUS status )
 {
     if (status) SetLastError( RtlNtStatusToDosError( status ));
diff --git a/dlls/kernelbase/process.c b/dlls/kernelbase/process.c
index 7689e1adf28..992d50af0bc 100644
--- a/dlls/kernelbase/process.c
+++ b/dlls/kernelbase/process.c
@@ -396,7 +396,6 @@ BOOL WINAPI DECLSPEC_HOTPATCH CloseHandle( HANDLE handle )
     else if (handle == (HANDLE)STD_ERROR_HANDLE)
         handle = InterlockedExchangePointer( &NtCurrentTeb()->Peb->ProcessParameters->hStdError, 0 );
 
-    if (is_console_handle( handle )) handle = console_handle_map( handle );
     return set_ntstatus( NtClose( handle ));
 }
 
@@ -658,15 +657,6 @@ BOOL WINAPI DECLSPEC_HOTPATCH DuplicateHandle( HANDLE source_process, HANDLE sou
                                                HANDLE dest_process, HANDLE *dest,
                                                DWORD access, BOOL inherit, DWORD options )
 {
-    if (is_console_handle( source ))
-    {
-        source = console_handle_map( source );
-        if (!set_ntstatus( NtDuplicateObject( source_process, source, dest_process, dest,
-                                              access, inherit ? OBJ_INHERIT : 0, options )))
-            return FALSE;
-        *dest = console_handle_map( *dest );
-        return TRUE;
-    }
     return set_ntstatus( NtDuplicateObject( source_process, source, dest_process, dest,
                                             access, inherit ? OBJ_INHERIT : 0, options ));
 }




More information about the wine-cvs mailing list