winedump: Support REG_BINARY values in regf files.

This commit is contained in:
Piotr Caban 2023-08-01 15:30:17 +02:00 committed by Alexandre Julliard
parent 814d8d74f6
commit 037677932b

View file

@ -192,8 +192,8 @@ static BOOL dump_subkeys(unsigned int hive_off, unsigned int off)
static BOOL dump_value(unsigned int hive_off, unsigned int off)
{
unsigned int i, len, data_size;
const void *data = NULL;
unsigned int data_size;
const value_key *val;
const char *name;
@ -246,6 +246,25 @@ static BOOL dump_value(unsigned int hive_off, unsigned int off)
printf("%s", !data ? "\"\"" :
get_unicode_str((const WCHAR *)data, data_size / sizeof(WCHAR)));
break;
case REG_BINARY:
printf("hex:");
len = val->name_size + 7; /* strlen("\"\"=hex:") */
for (i = 0; i < data_size; i++)
{
if (i)
{
printf(",");
len += 1;
}
if (len > 76)
{
printf("\\\n ");
len = 2;
}
printf("%02x", ((BYTE *)data)[i]);
len += 2;
}
break;
case REG_DWORD:
assert(data_size == sizeof(DWORD));
printf("dword:%08x", *(unsigned int *)data);