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