Commit 750575cc authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: Return proper size for local & parameters in SYMBOL_INFO.

parent d3805c30
......@@ -142,7 +142,7 @@ struct symt_data
unsigned long address; /* DataIs{Global, FileStatic} */
struct
{
long offset; /* DataIs{Member,Local,Param} in bits*/
long offset; /* DataIs{Member,Local,Param} in bits */
unsigned long length; /* DataIs{Member} in bits */
unsigned long reg_id; /* DataIs{Local} (0 if frame relative) */
} s;
......
......@@ -448,7 +448,10 @@ static void symt_fill_sym_info(const struct module* module,
if (!symt_get_info(sym, TI_GET_TYPE, &sym_info->TypeIndex))
sym_info->TypeIndex = 0;
sym_info->info = (DWORD)sym;
symt_get_info(sym, TI_GET_LENGTH, &size);
if (!symt_get_info(sym, TI_GET_LENGTH, &size) &&
sym_info->TypeIndex &&
!symt_get_info((struct symt*)sym_info->TypeIndex, TI_GET_LENGTH, &size))
size = 0;
sym_info->Size = (DWORD)size;
sym_info->ModBase = module->module.BaseOfImage;
sym_info->Flags = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment