static int print_short_hex(const char *name) { int ret; print_offset(); printf("%s = %xh\n", name, ret=tlb_read_short()); return ret; }
static BOOL dump_msft_custdata(seg_t *seg) { unsigned short vt; unsigned i, n; print_begin_block("CustData"); for(i=0; offset < seg->offset+seg->length; i++) { print_offset(); vt = tlb_read_short(); printf("vt %d", vt); n = tlb_read_int(); switch(vt) { case 8 /* VT_BSTR */: printf(" len %d: ", n); dump_string(n, 2); printf("\n"); break; default: printf(": %x ", n); printf("\\%2.2x \\%2.2x\n", tlb_read_byte(), tlb_read_byte()); } } print_end_block(); return TRUE; }
static void print_ctl2(const char *name) { int len; const char *buf; print_offset(); len = tlb_read_short(); printf("%s = %d \"", name, len); len >>= 2; buf = tlb_read(len); fwrite(buf, len, 1, stdout); printf("\""); len += 2; while(len++ & 3) printf("\\%02x", tlb_read_byte()); printf("\n"); }