[PATCH] [DbgHelp]: added support for index leaves in types definition for CodeView debug format

Eric Pouech eric.pouech at orange.fr
Sat Jun 23 08:18:35 CDT 2012


(#30974)

A+
---

 dlls/dbghelp/msc.c     |   12 ++++++++++++
 include/wine/mscvpdb.h |   12 ++++++++++++
 2 files changed, 24 insertions(+)


diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c
index e32c463..7a68e1d 100644
--- a/dlls/dbghelp/msc.c
+++ b/dlls/dbghelp/msc.c
@@ -935,6 +935,18 @@ static int codeview_add_type_struct_field_list(struct codeview_type_parse* ctp,
             }
             break;
 
+        case LF_INDEX_V1:
+            if (!codeview_add_type_struct_field_list(ctp, symt, type->index_v1.ref))
+                return FALSE;
+            ptr += 2 + 2;
+            break;
+
+        case LF_INDEX_V2:
+            if (!codeview_add_type_struct_field_list(ctp, symt, type->index_v2.ref))
+                return FALSE;
+            ptr += 2 + 2 + 4;
+            break;
+
         default:
             FIXME("Unsupported type %04x in STRUCT field list\n", type->generic.id);
             return FALSE;
diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h
index 4755c5a..23b7a3a 100644
--- a/include/wine/mscvpdb.h
+++ b/include/wine/mscvpdb.h
@@ -723,6 +723,18 @@ union codeview_fieldtype
         struct p_string         p_name;
     } membermodify_v2;
 
+    struct
+    {
+        short int               id;
+        short int               ref;
+    } index_v1;
+
+    struct
+    {
+        short int               id;
+        short int               unk;
+        unsigned int            ref;
+    } index_v2;
 };
 
 




More information about the wine-patches mailing list