[DBGHELP] use correct record in codeview_snarf_public.
authorAndreas Maier <staubim@quantentunnel.de>
Thu, 22 Nov 2018 20:27:48 +0000 (21:27 +0100)
committerMark Jansen <mark.jansen@reactos.org>
Fri, 19 Apr 2019 19:09:44 +0000 (21:09 +0200)
Use public_vx iststead of data_vx for public symbols.

dll/win32/dbghelp/msc.c
sdk/include/reactos/wine/mscvpdb.h

index 58a4a55..6dc9276 100644 (file)
@@ -2067,20 +2067,20 @@ static BOOL codeview_snarf_public(const struct msc_debug_info* msc_dbg, const BY
 
         switch (sym->generic.id)
         {
-       case S_PUB_V1: /* FIXME is this really a 'data_v1' structure ?? */
+       case S_PUB_V1:
             if (!(dbghelp_options & SYMOPT_NO_PUBLICS))
             {
                 symt_new_public(msc_dbg->module, compiland,
-                                terminate_string(&sym->data_v1.p_name),
-                                codeview_get_address(msc_dbg, sym->data_v1.segment, sym->data_v1.offset), 1);
+                                terminate_string(&sym->public_v1.p_name),
+                                codeview_get_address(msc_dbg, sym->public_v1.segment, sym->public_v1.offset), 1);
             }
             break;
-       case S_PUB_V2: /* FIXME is this really a 'data_v2' structure ?? */
+       case S_PUB_V2:
             if (!(dbghelp_options & SYMOPT_NO_PUBLICS))
             {
                 symt_new_public(msc_dbg->module, compiland,
-                                terminate_string(&sym->data_v2.p_name),
-                                codeview_get_address(msc_dbg, sym->data_v2.segment, sym->data_v2.offset), 1);
+                                terminate_string(&sym->public_v2.p_name),
+                                codeview_get_address(msc_dbg, sym->public_v2.segment, sym->public_v2.offset), 1);
             }
            break;
 
@@ -2088,8 +2088,8 @@ static BOOL codeview_snarf_public(const struct msc_debug_info* msc_dbg, const BY
             if (!(dbghelp_options & SYMOPT_NO_PUBLICS))
             {
                 symt_new_public(msc_dbg->module, compiland,
-                                sym->data_v3.name,
-                                codeview_get_address(msc_dbg, sym->data_v3.segment, sym->data_v3.offset), 1);
+                                sym->public_v3.name,
+                                codeview_get_address(msc_dbg, sym->public_v3.segment, sym->public_v3.offset), 1);
             }
             break;
         case S_PUB_FUNC1_V3:
index 744c17f..f11f406 100644 (file)
@@ -1350,6 +1350,16 @@ union codeview_symbol
         char                    name[1];
     } proc_v3;
 
+    struct
+    {
+        short int               len;
+        short int               id;
+        unsigned int            offset;
+        unsigned short          segment;
+        unsigned short          symtype;
+        struct p_string         p_name;
+    } public_v1;
+
     struct
     {
         short int               len;