Module: wine Branch: master Commit: 8985e968d465d51b3654522fd313353910559467 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8985e968d465d51b3654522fd3...
Author: Piotr Caban piotr@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);