https://git.reactos.org/?p=reactos.git;a=commitdiff;h=006ce9607c5995d06ab2e4f9398a509a1d723a19

commit 006ce9607c5995d06ab2e4f9398a509a1d723a19
Author:     winesync <[email protected]>
AuthorDate: Fri Sep 11 16:06:06 2020 +0200
Commit:     Jérôme Gardou <[email protected]>
CommitDate: Wed Sep 16 10:35:41 2020 +0200

    [WINESYNC] dbghelp: SymSet/GetExtendedOption support a WINE only option.
    
    Signed-off-by: Alistair Leslie-Hughes <[email protected]>
    Signed-off-by: Alexandre Julliard <[email protected]>
    
    wine commit id fa5e5df71db231f6fca9c7a40792c17e9bbe5027 by Alistair 
Leslie-Hughes <[email protected]>
---
 dll/win32/dbghelp/compat.h          |  4 +++-
 dll/win32/dbghelp/dbghelp.c         | 25 ++++++++++++++++++++++---
 dll/win32/dbghelp/dbghelp_private.h |  2 ++
 sdk/include/psdk/dbghelp.h          |  6 +++++-
 sdk/tools/winesync/dbghelp.cfg      |  2 +-
 5 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/dll/win32/dbghelp/compat.h b/dll/win32/dbghelp/compat.h
index 3a6137eca9a..e281347d0ee 100644
--- a/dll/win32/dbghelp/compat.h
+++ b/dll/win32/dbghelp/compat.h
@@ -1299,7 +1299,9 @@ typedef struct API_VERSION
 typedef enum
 {
     SYMOPT_EX_DISABLEACCESSTIMEUPDATE,
-    SYMOPT_EX_MAX
+    SYMOPT_EX_MAX,
+/* __WINESRC__ */
+    SYMOPT_EX_WINE_NATIVE_MODULES = 1000
 } IMAGEHLP_EXTENDED_OPTIONS;
 
 // cvconst.h
diff --git a/dll/win32/dbghelp/dbghelp.c b/dll/win32/dbghelp/dbghelp.c
index 3c3350d8213..b4f435fd584 100644
--- a/dll/win32/dbghelp/dbghelp.c
+++ b/dll/win32/dbghelp/dbghelp.c
@@ -70,6 +70,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
  */
 
 unsigned   dbghelp_options = SYMOPT_UNDNAME;
+BOOL       dbghelp_opt_native = FALSE;
 
 static struct process* process_first /* = NULL */;
 
@@ -473,8 +474,19 @@ DWORD WINAPI SymGetOptions(void)
  */
 BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value)
 {
-    FIXME("%d, %d\n", option, value);
-    return FALSE;
+    BOOL old = FALSE;
+
+    switch(option)
+    {
+        case SYMOPT_EX_WINE_NATIVE_MODULES:
+            old = dbghelp_opt_native;
+            dbghelp_opt_native = value;
+            break;
+        default:
+            FIXME("Unsupported option %d with value %d\n", option, value);
+    }
+
+    return old;
 }
 
 /******************************************************************
@@ -483,7 +495,14 @@ BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS 
option, BOOL value)
  */
 BOOL WINAPI SymGetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option)
 {
-    FIXME("%d\n", option);
+    switch(option)
+    {
+        case SYMOPT_EX_WINE_NATIVE_MODULES:
+            return dbghelp_opt_native;
+        default:
+            FIXME("Unsupported option %d\n", option);
+    }
+
     return FALSE;
 }
 
diff --git a/dll/win32/dbghelp/dbghelp_private.h 
b/dll/win32/dbghelp/dbghelp_private.h
index 565399ebcc1..e5b3bfce8ed 100644
--- a/dll/win32/dbghelp/dbghelp_private.h
+++ b/dll/win32/dbghelp/dbghelp_private.h
@@ -127,6 +127,8 @@ void*    hash_table_iter_up(struct hash_table_iter* hti) 
DECLSPEC_HIDDEN;
 
 
 extern unsigned dbghelp_options DECLSPEC_HIDDEN;
+extern BOOL     dbghelp_opt_native DECLSPEC_HIDDEN;
+
 /* some more Wine extensions */
 #define SYMOPT_WINE_WITH_NATIVE_MODULES 0x40000000
 
diff --git a/sdk/include/psdk/dbghelp.h b/sdk/include/psdk/dbghelp.h
index 549155229c5..40eca402a4a 100644
--- a/sdk/include/psdk/dbghelp.h
+++ b/sdk/include/psdk/dbghelp.h
@@ -2316,7 +2316,11 @@ typedef struct _IMAGE_DEBUG_INFORMATION
 typedef enum
 {
     SYMOPT_EX_DISABLEACCESSTIMEUPDATE,
-    SYMOPT_EX_MAX
+    SYMOPT_EX_MAX,
+
+#ifdef __WINESRC__
+    SYMOPT_EX_WINE_NATIVE_MODULES = 1000,
+#endif
 } IMAGEHLP_EXTENDED_OPTIONS;
 
 PIMAGE_DEBUG_INFORMATION
diff --git a/sdk/tools/winesync/dbghelp.cfg b/sdk/tools/winesync/dbghelp.cfg
index 58583d4c5fe..b503937e428 100644
--- a/sdk/tools/winesync/dbghelp.cfg
+++ b/sdk/tools/winesync/dbghelp.cfg
@@ -4,4 +4,4 @@ files:
   include/dbghelp.h: sdk/include/psdk/dbghelp.h
   include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
 tags:
-  wine: 3fed8787251882c70eeadefb230cd2ff4b251ac2
+  wine: fa5e5df71db231f6fca9c7a40792c17e9bbe5027

Reply via email to