Eric Pouech : mscvpdb.h: Add definition for friend function v3.

Alexandre Julliard julliard at winehq.org
Tue Nov 2 17:27:45 CDT 2021


Module: wine
Branch: master
Commit: fd959ef0603b0667213e14d3dad45f6375f54328
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=fd959ef0603b0667213e14d3dad45f6375f54328

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Tue Nov  2 15:31:43 2021 +0100

mscvpdb.h: Add definition for friend function v3.

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/wine/mscvpdb.h | 9 +++++++++
 tools/winedump/msc.c   | 3 +--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h
index 53eeec96916..ca5422c3a65 100644
--- a/include/wine/mscvpdb.h
+++ b/include/wine/mscvpdb.h
@@ -566,6 +566,14 @@ union codeview_fieldtype
         struct p_string         p_name;
     } friendfcn_v2;
 
+    struct
+    {
+        unsigned short int      id;
+        short int               _pad0;
+        cv_typ_t                type;
+        char                    name[1];
+    } friendfcn_v3;
+
     struct
     {
         unsigned short int      id;
@@ -1266,6 +1274,7 @@ union codeview_fieldtype
 #define LF_STRUCTURE_V3         0x1505
 #define LF_UNION_V3             0x1506
 #define LF_ENUM_V3              0x1507
+#define LF_FRIENDFCN_V3         0x150c
 #define LF_MEMBER_V3            0x150d
 #define LF_STMEMBER_V3          0x150e
 #define LF_METHOD_V3            0x150f
diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c
index 18c591f44ef..dca8bcf9560 100644
--- a/tools/winedump/msc.c
+++ b/tools/winedump/msc.c
@@ -685,13 +685,12 @@ static void do_field(const unsigned char* start, const unsigned char* end)
             ptr += 2 + 2 + 4 + (1 + fieldtype->stmember_v2.p_name.namelen);
             break;
 
-#if 0
         case LF_FRIENDFCN_V3:
             printf("\t\tFriend function V3: '%s' type:%x\n",
                    fieldtype->friendfcn_v3.name,
                    fieldtype->friendfcn_v3.type);
+            ptr += 2 + 2 + 4 + (strlen(fieldtype->stmember_v3.name) + 1);
             break;
-#endif
 
         case LF_BCLASS_V1:
             leaf_len = numeric_leaf(&value, &fieldtype->bclass_v1.offset);




More information about the wine-cvs mailing list