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