dbghelp: Added support for some V3 fields in structure parsing.
This commit is contained in:
parent
b49d2b4e22
commit
ac3b817d80
|
@ -659,6 +659,11 @@ static int codeview_add_type_struct_field_list(struct codeview_type_parse* ctp,
|
|||
ptr += 2 + 4 + 2 + (1 + type->stmember_v2.p_name.namelen);
|
||||
break;
|
||||
|
||||
case LF_STMEMBER_V3:
|
||||
/* FIXME: ignored for now */
|
||||
ptr += 2 + 4 + 2 + (strlen(type->stmember_v3.name) + 1);
|
||||
break;
|
||||
|
||||
case LF_METHOD_V1:
|
||||
/* FIXME: ignored for now */
|
||||
ptr += 2 + 2 + 2 + (1 + type->method_v1.p_name.namelen);
|
||||
|
@ -669,6 +674,11 @@ static int codeview_add_type_struct_field_list(struct codeview_type_parse* ctp,
|
|||
ptr += 2 + 2 + 4 + (1 + type->method_v2.p_name.namelen);
|
||||
break;
|
||||
|
||||
case LF_METHOD_V3:
|
||||
/* FIXME: ignored for now */
|
||||
ptr += 2 + 2 + 4 + (strlen(type->method_v3.name) + 1);
|
||||
break;
|
||||
|
||||
case LF_NESTTYPE_V1:
|
||||
/* FIXME: ignored for now */
|
||||
ptr += 2 + 2 + (1 + type->nesttype_v1.p_name.namelen);
|
||||
|
@ -679,6 +689,11 @@ static int codeview_add_type_struct_field_list(struct codeview_type_parse* ctp,
|
|||
ptr += 2 + 2 + 4 + (1 + type->nesttype_v2.p_name.namelen);
|
||||
break;
|
||||
|
||||
case LF_NESTTYPE_V3:
|
||||
/* FIXME: ignored for now */
|
||||
ptr += 2 + 2 + 4 + (strlen(type->nesttype_v3.name) + 1);
|
||||
break;
|
||||
|
||||
case LF_VFUNCTAB_V1:
|
||||
/* FIXME: ignored for now */
|
||||
ptr += 2 + 2;
|
||||
|
@ -717,6 +732,20 @@ static int codeview_add_type_struct_field_list(struct codeview_type_parse* ctp,
|
|||
}
|
||||
break;
|
||||
|
||||
case LF_ONEMETHOD_V3:
|
||||
/* FIXME: ignored for now */
|
||||
switch ((type->onemethod_v3.attribute >> 2) & 7)
|
||||
{
|
||||
case 4: case 6: /* (pure) introducing virtual method */
|
||||
ptr += 2 + 2 + 4 + 4 + (strlen(type->onemethod_virt_v3.name) + 1);
|
||||
break;
|
||||
|
||||
default:
|
||||
ptr += 2 + 2 + 4 + (strlen(type->onemethod_v3.name) + 1);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
FIXME("Unsupported type %04x in STRUCT field list\n", type->generic.id);
|
||||
return FALSE;
|
||||
|
|
Loading…
Reference in New Issue