winedump: Added helper to convert a guid to a string.
This commit is contained in:
parent
1fcb0c1118
commit
07d681b0d9
|
@ -131,6 +131,15 @@ void dump_unicode_str( const WCHAR *str, int len )
|
|||
printf( "\"" );
|
||||
}
|
||||
|
||||
char* guid_to_string(const GUID* guid, char* str, size_t sz)
|
||||
{
|
||||
snprintf(str, sz, "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
|
||||
guid->Data1, guid->Data2, guid->Data3,
|
||||
guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
|
||||
guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7]);
|
||||
return str;
|
||||
}
|
||||
|
||||
const void* PRD(unsigned long prd, unsigned long len)
|
||||
{
|
||||
return (prd + len > dump_total_len) ? NULL : (const char*)dump_base + prd;
|
||||
|
|
|
@ -106,14 +106,6 @@ typedef struct lnk_string_tag
|
|||
|
||||
static unsigned offset;
|
||||
|
||||
static void guid_to_string(const GUID* guid, char *str)
|
||||
{
|
||||
sprintf(str, "{%08x-%04x-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}",
|
||||
guid->Data1, guid->Data2, guid->Data3,
|
||||
guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
|
||||
guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7]);
|
||||
}
|
||||
|
||||
static const void* fetch_block(void)
|
||||
{
|
||||
const unsigned* u;
|
||||
|
@ -292,7 +284,7 @@ static int dump_advertise_info(const char *type)
|
|||
GUID guid;
|
||||
|
||||
if (base85_to_guid(avt->bufA, &guid))
|
||||
guid_to_string( &guid, prod_str );
|
||||
guid_to_string( &guid, prod_str, sizeof(prod_str) );
|
||||
else
|
||||
strcpy( prod_str, "?" );
|
||||
|
||||
|
@ -311,7 +303,7 @@ static int dump_advertise_info(const char *type)
|
|||
}
|
||||
|
||||
if (feat && feat[0] == '>' && base85_to_guid( &feat[1], &guid ))
|
||||
guid_to_string( &guid, feat_str );
|
||||
guid_to_string( &guid, feat_str, sizeof(feat_str) );
|
||||
else
|
||||
feat_str[0] = 0;
|
||||
|
||||
|
@ -345,12 +337,10 @@ void lnk_dump(void)
|
|||
offset = 0;
|
||||
hdr = fetch_block();
|
||||
|
||||
guid_to_string(&hdr->MagicGuid, guid);
|
||||
|
||||
printf("Header\n");
|
||||
printf("------\n\n");
|
||||
printf("Size: %04x\n", hdr->dwSize);
|
||||
printf("GUID: %s\n", guid);
|
||||
printf("GUID: %s\n", guid_to_string(&hdr->MagicGuid, guid, sizeof(guid)));
|
||||
|
||||
printf("FileAttr: %08x\n", hdr->dwFileAttr);
|
||||
printf("FileLength: %08x\n", hdr->dwFileLength);
|
||||
|
|
|
@ -625,18 +625,18 @@ static void pdb_ds_dump(void)
|
|||
if (root)
|
||||
{
|
||||
const char* ptr;
|
||||
char guid_str[40];
|
||||
|
||||
printf("Root:\n"
|
||||
"\tVersion: %u\n"
|
||||
"\tTimeDateStamp: %08x\n"
|
||||
"\tAge: %08x\n"
|
||||
"\tguid {%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}\n"
|
||||
"\tguid %s\n"
|
||||
"\tcbNames: %08x\n",
|
||||
root->Version,
|
||||
root->TimeDateStamp,
|
||||
root->Age,
|
||||
root->guid.Data1, root->guid.Data2, root->guid.Data3,
|
||||
root->guid.Data4[0], root->guid.Data4[1], root->guid.Data4[2], root->guid.Data4[3],
|
||||
root->guid.Data4[4], root->guid.Data4[5], root->guid.Data4[6], root->guid.Data4[7],
|
||||
guid_to_string(&root->guid, guid_str, sizeof(guid_str)),
|
||||
root->cbNames);
|
||||
for (ptr = &root->names[0]; ptr < &root->names[0] + root->cbNames; ptr += strlen(ptr) + 1)
|
||||
printf("\tString: %s\n", ptr);
|
||||
|
|
|
@ -239,6 +239,7 @@ void dump_unicode_str( const unsigned short *str, int len );
|
|||
void dump_file_header(const IMAGE_FILE_HEADER *);
|
||||
void dump_optional_header(const IMAGE_OPTIONAL_HEADER32 *, UINT);
|
||||
void dump_section(const IMAGE_SECTION_HEADER *);
|
||||
char* guid_to_string(const GUID* guid, char *str, size_t sz);
|
||||
|
||||
enum FileSig get_kind_exec(void);
|
||||
void dos_dump( void );
|
||||
|
|
Loading…
Reference in New Issue