dbghelp: Use correct record in codeview_snarf_public.

Use public_vx iststead of data_vx for public symbols.

Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Andreas Maier 2018-11-25 10:15:46 +01:00 committed by Alexandre Julliard
parent eb39d3dbca
commit dbcf9728fa
2 changed files with 19 additions and 9 deletions

View File

@ -2067,29 +2067,29 @@ 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;
break;
case S_PUB_V3:
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:

View File

@ -1348,6 +1348,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;