Piotr Caban : winedump: Dump parameters default values in typelib.
Alexandre Julliard
julliard at winehq.org
Thu Apr 11 13:32:21 CDT 2013
Module: wine
Branch: master
Commit: 8985e968d465d51b3654522fd313353910559467
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8985e968d465d51b3654522fd313353910559467
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Apr 11 14:28:22 2013 +0200
winedump: Dump parameters default values in typelib.
---
tools/winedump/tlb.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/tools/winedump/tlb.c b/tools/winedump/tlb.c
index 8cabca2..9ca20b8 100644
--- a/tools/winedump/tlb.c
+++ b/tools/winedump/tlb.c
@@ -520,7 +520,7 @@ static int dump_msft_res0f(seg_t *seg)
static void dump_msft_func(int n)
{
- int size, args_cnt, i, extra_attr;
+ int size, args_cnt, i, extra_attr, fkccic;
print_begin_block_id("FuncRecord", n);
@@ -530,11 +530,11 @@ static void dump_msft_func(int n)
print_hex("flags");
print_short_hex("VtableOffset");
print_short_hex("funcdescsize");
- print_hex("FKCCIC");
+ fkccic = print_hex("FKCCIC");
args_cnt = print_short_hex("nrargs");
print_short_hex("noptargs");
- extra_attr = size/sizeof(INT) - 6 - args_cnt*3;
+ extra_attr = size/sizeof(INT) - 6 - args_cnt*(fkccic&0x1000 ? 4 : 3);
if(extra_attr)
print_hex("helpcontext");
@@ -551,6 +551,11 @@ static void dump_msft_func(int n)
if(extra_attr >= 7)
print_hex("oCustData");
+ if(fkccic & 0x1000) {
+ for(i=0; i < args_cnt; i++)
+ print_hex_id("default value[%d]", i);
+ }
+
for(i=0; i < args_cnt; i++) {
print_begin_block_id("param", i);
More information about the wine-cvs
mailing list