https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e3447d02c1d7c8fe39d17…
commit e3447d02c1d7c8fe39d17614b00ad2a768439001
Author: Andreas Maier <staubim(a)quantentunnel.de>
AuthorDate: Thu Nov 22 21:27:48 2018 +0100
Commit: Mark Jansen <mark.jansen(a)reactos.org>
CommitDate: Fri Apr 19 21:09:44 2019 +0200
[DBGHELP] use correct record in codeview_snarf_public.
Use public_vx iststead of data_vx for public symbols.
---
dll/win32/dbghelp/msc.c | 16 ++++++++--------
sdk/include/reactos/wine/mscvpdb.h | 10 ++++++++++
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/dll/win32/dbghelp/msc.c b/dll/win32/dbghelp/msc.c
index 58a4a55f2e..6dc9276925 100644
--- a/dll/win32/dbghelp/msc.c
+++ b/dll/win32/dbghelp/msc.c
@@ -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:
diff --git a/sdk/include/reactos/wine/mscvpdb.h b/sdk/include/reactos/wine/mscvpdb.h
index 744c17faba..f11f4065de 100644
--- a/sdk/include/reactos/wine/mscvpdb.h
+++ b/sdk/include/reactos/wine/mscvpdb.h
@@ -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;