Jacek Caban : ntdll: Introduce RtlSetLastWin32Error for unixlibs that additionally sets 32-bit error on wow64.
Alexandre Julliard
julliard at winehq.org
Wed Aug 10 14:53:21 CDT 2022
Module: wine
Branch: master
Commit: 35ae4703c4e92f97a32ee28cfdb11375427bf790
URL: https://gitlab.winehq.org/wine/wine/-/commit/35ae4703c4e92f97a32ee28cfdb11375427bf790
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sat Jul 30 15:30:32 2022 +0200
ntdll: Introduce RtlSetLastWin32Error for unixlibs that additionally sets 32-bit error on wow64.
---
dlls/ntdll/unix/env.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c
index 17450b5ab4c..105038a34cb 100644
--- a/dlls/ntdll/unix/env.c
+++ b/dlls/ntdll/unix/env.c
@@ -2390,3 +2390,19 @@ ULONG WINAPI RtlNtStatusToDosError( NTSTATUS status )
return map_status( status );
}
+
+/**********************************************************************
+ * RtlSetLastWin32Error (ntdll.so)
+ */
+void WINAPI RtlSetLastWin32Error( DWORD err )
+{
+ TEB *teb = NtCurrentTeb();
+#ifdef _WIN64
+ if (teb->WowTebOffset)
+ {
+ TEB32 *teb32 = (TEB32 *)((char *)teb + teb->WowTebOffset);
+ teb32->LastErrorValue = err;
+ }
+#endif
+ teb->LastErrorValue = err;
+}
More information about the wine-cvs
mailing list