Module: wine Branch: master Commit: 83462bf081db9218e10139496d6be68d325033d9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=83462bf081db9218e10139496d...
Author: Eric Pouech eric.pouech@orange.fr Date: Sat Jun 23 15:18:35 2012 +0200
dbghelp: Added support for index leaves in types definition for CodeView debug format.
---
dlls/dbghelp/msc.c | 12 ++++++++++++ include/wine/mscvpdb.h | 12 ++++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c index e32c463..7a68e1d 100644 --- a/dlls/dbghelp/msc.c +++ b/dlls/dbghelp/msc.c @@ -935,6 +935,18 @@ static int codeview_add_type_struct_field_list(struct codeview_type_parse* ctp, } break;
+ case LF_INDEX_V1: + if (!codeview_add_type_struct_field_list(ctp, symt, type->index_v1.ref)) + return FALSE; + ptr += 2 + 2; + break; + + case LF_INDEX_V2: + if (!codeview_add_type_struct_field_list(ctp, symt, type->index_v2.ref)) + return FALSE; + ptr += 2 + 2 + 4; + break; + default: FIXME("Unsupported type %04x in STRUCT field list\n", type->generic.id); return FALSE; diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h index 4755c5a..23b7a3a 100644 --- a/include/wine/mscvpdb.h +++ b/include/wine/mscvpdb.h @@ -723,6 +723,18 @@ union codeview_fieldtype struct p_string p_name; } membermodify_v2;
+ struct + { + short int id; + short int ref; + } index_v1; + + struct + { + short int id; + short int unk; + unsigned int ref; + } index_v2; };