[PATCH] krnl386: Add GetLPErrMode stub

Alex Henrie alexhenrie24 at gmail.com
Wed Dec 1 23:35:23 CST 2021


Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52102
Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
To determine that this function returns a pointer to a 16-bit integer, I
installed Windows 3.1 in DOSBox, installed version 4.5 of the Borland
C++ compiler, and wrote a small test program. The value at the address
returned by GetLPErrMode was always 0 in my tests, and calling
SetErrorMode did not change it. However, setting the value is not
necessary for outSPOKEN 3.0 because just returning NULL is enough for it
to start and show its user interface.
---
 dlls/krnl386.exe16/krnl386.exe16.spec |  2 +-
 dlls/krnl386.exe16/task.c             | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/dlls/krnl386.exe16/krnl386.exe16.spec b/dlls/krnl386.exe16/krnl386.exe16.spec
index 6a55aad78f8..d98e136c77e 100644
--- a/dlls/krnl386.exe16/krnl386.exe16.spec
+++ b/dlls/krnl386.exe16/krnl386.exe16.spec
@@ -100,7 +100,7 @@
 96  pascal -ret16 FreeLibrary(word) FreeLibrary16
 97  pascal -ret16 GetTempFileName(word str word ptr) GetTempFileName16
 98  pascal -ret16 GetLastDiskChange() KERNEL_nop
-99  stub GetLPErrMode
+99  pascal GetLPErrMode()
 100 pascal -ret16 ValidateCodeSegments() KERNEL_nop
 101 stub NoHookDosCall
 102 pascal -register DOS3Call() DOS3Call
diff --git a/dlls/krnl386.exe16/task.c b/dlls/krnl386.exe16/task.c
index 892f4d19f07..99c2fc6212f 100644
--- a/dlls/krnl386.exe16/task.c
+++ b/dlls/krnl386.exe16/task.c
@@ -1255,6 +1255,16 @@ WORD WINAPI GetExeVersion16(void)
 }
 
 
+/***********************************************************************
+ *           GetLPErrMode   (KERNEL.99)
+ */
+UINT16 * WINAPI GetLPErrMode( void )
+{
+    FIXME("(): stub\n");
+    return NULL;
+}
+
+
 /***********************************************************************
  *           SetErrorMode   (KERNEL.107)
  */
-- 
2.34.1




More information about the wine-devel mailing list