winedump: Add some new bits in UDT's property field.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a9c552fe7f
commit
fe9f0c7fcf
|
@ -256,10 +256,14 @@ static const char* get_property(unsigned prop)
|
||||||
if (prop & 0x0040) X("w/casting-methods");
|
if (prop & 0x0040) X("w/casting-methods");
|
||||||
if (prop & 0x0080) X("forward");
|
if (prop & 0x0080) X("forward");
|
||||||
if (prop & 0x0100) X("scoped");
|
if (prop & 0x0100) X("scoped");
|
||||||
|
if (prop & 0x0200) X("decorated-name");
|
||||||
|
if (prop & 0x0400) X("sealed-name");
|
||||||
|
if (prop & 0x1800) pos += sprintf(tmp, "hfa%x", (prop >> 11) & 3);
|
||||||
|
if (prop & 0x2000) X("intrinsic");
|
||||||
|
if (prop & 0xC000) pos += sprintf(tmp, "mocom%x", prop >> 14);
|
||||||
#undef X
|
#undef X
|
||||||
|
|
||||||
if (prop & ~0x01FF) pos += sprintf(tmp, "unk%x", prop & ~0x01FF);
|
tmp[pos] = '\0';
|
||||||
else tmp[pos] = '\0';
|
|
||||||
assert(pos < sizeof(tmp));
|
assert(pos < sizeof(tmp));
|
||||||
|
|
||||||
return tmp;
|
return tmp;
|
||||||
|
@ -853,6 +857,8 @@ static void codeview_dump_one_type(unsigned curr_type, const union codeview_type
|
||||||
str, type->struct_v3.n_element, get_property(type->struct_v3.property),
|
str, type->struct_v3.n_element, get_property(type->struct_v3.property),
|
||||||
type->struct_v3.fieldlist, type->struct_v3.derived,
|
type->struct_v3.fieldlist, type->struct_v3.derived,
|
||||||
type->struct_v3.vshape, value);
|
type->struct_v3.vshape, value);
|
||||||
|
if (type->union_v3.property & 0x200)
|
||||||
|
printf("\t\tDecorated name:%s\n", str + strlen(str) + 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LF_UNION_V1:
|
case LF_UNION_V1:
|
||||||
|
@ -878,6 +884,8 @@ static void codeview_dump_one_type(unsigned curr_type, const union codeview_type
|
||||||
curr_type, str, type->union_v3.count,
|
curr_type, str, type->union_v3.count,
|
||||||
get_property(type->union_v3.property),
|
get_property(type->union_v3.property),
|
||||||
type->union_v3.fieldlist, value);
|
type->union_v3.fieldlist, value);
|
||||||
|
if (type->union_v3.property & 0x200)
|
||||||
|
printf("\t\tDecorated name:%s\n", str + strlen(str) + 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LF_ENUM_V1:
|
case LF_ENUM_V1:
|
||||||
|
@ -905,6 +913,8 @@ static void codeview_dump_one_type(unsigned curr_type, const union codeview_type
|
||||||
type->enumeration_v3.fieldlist,
|
type->enumeration_v3.fieldlist,
|
||||||
type->enumeration_v3.count,
|
type->enumeration_v3.count,
|
||||||
get_property(type->enumeration_v3.property));
|
get_property(type->enumeration_v3.property));
|
||||||
|
if (type->union_v3.property & 0x200)
|
||||||
|
printf("\t\tDecorated name:%s\n", type->enumeration_v3.name + strlen(type->enumeration_v3.name) + 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LF_ARGLIST_V1:
|
case LF_ARGLIST_V1:
|
||||||
|
|
Loading…
Reference in New Issue