winedump: Add support for derived types in codeview type info.

This commit is contained in:
Eric Pouech 2007-01-05 21:43:33 +01:00 committed by Alexandre Julliard
parent b8ae9dccbe
commit 9d10c66dc8
2 changed files with 33 additions and 0 deletions

View File

@ -403,6 +403,21 @@ union codeview_reftype
unsigned args[1]; unsigned args[1];
} arglist_v2; } arglist_v2;
struct
{
unsigned short int len;
short int id;
unsigned short num;
unsigned short drvdcls[1];
} derived_v1;
struct
{
unsigned short int len;
short int id;
unsigned num;
unsigned drvdcls[1];
} derived_v2;
}; };
union codeview_fieldtype union codeview_fieldtype

View File

@ -775,6 +775,24 @@ static void codeview_dump_one_type(unsigned curr_type, const union codeview_type
} }
break; break;
case LF_DERIVED_V1:
printf("\t%x => Derived V1(#%u):", curr_type, reftype->derived_v1.num);
for (i = 0; i < reftype->derived_v1.num; i++)
{
printf(" %x", reftype->derived_v1.drvdcls[i]);
}
printf("\n");
break;
case LF_DERIVED_V2:
printf("\t%x => Derived V2(#%u):", curr_type, reftype->derived_v2.num);
for (i = 0; i < reftype->derived_v2.num; i++)
{
printf(" %x", reftype->derived_v2.drvdcls[i]);
}
printf("\n");
break;
default: default:
printf(">>> Unsupported type-id %x for %x\n", type->generic.id, curr_type); printf(">>> Unsupported type-id %x for %x\n", type->generic.id, curr_type);
dump_data((const void*)type, type->generic.len + 2, ""); dump_data((const void*)type, type->generic.len + 2, "");