Piotr Caban : winedump: Improve TLB string table handling.

Alexandre Julliard julliard at winehq.org
Mon Sep 2 14:34:29 CDT 2013


Module: wine
Branch: master
Commit: 156206592a7ff8a157f5413b9036475c2346967b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=156206592a7ff8a157f5413b9036475c2346967b

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Sat Aug 31 12:45:42 2013 +0200

winedump: Improve TLB string table handling.

---

 tools/winedump/tlb.c |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/tools/winedump/tlb.c b/tools/winedump/tlb.c
index d12831e..a65c76e 100644
--- a/tools/winedump/tlb.c
+++ b/tools/winedump/tlb.c
@@ -428,14 +428,35 @@ static int dump_msft_nametab(seg_t *seg)
     return -1;
 }
 
-static int dump_msft_stringtab(seg_t *seg)
+static void dump_msft_string(int n)
 {
-    print_begin_block("StringTab");
+    int len;
 
-    dump_binary(seg->length); /* FIXME */
+    print_begin_block_id("String", n);
+
+    len = print_short_hex("stringlen");
+
+    print_offset();
+    printf("string = ");
+    dump_string(len, 2);
+
+    if(len < 3) {
+        for(len = 0; len < 4; len++)
+            printf("\\%2.2x", tlb_read_byte());
+    }
+    printf("\n");
 
     print_end_block();
+}
+
+static int dump_msft_stringtab(seg_t *seg)
+{
+    int i;
+
+    for(i = 0; offset < seg->offset+seg->length; i++)
+        dump_msft_string(i);
 
+    assert(offset == seg->offset+seg->length);
     return -1;
 }
 




More information about the wine-cvs mailing list