[PATCH 3/9] include/wine/mscvpdb.h: add definition for friend function V3
Eric Pouech
eric.pouech at gmail.com
Tue Nov 2 09:31:43 CDT 2021
Update tools/winedump accordingly
Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
---
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-devel
mailing list