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