winedbg: Handle byte-sized registers in cpu_register() and cpu_register_hex_from().

Like for example the recently added floating-point TagWord on AMD64.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Henri Verbeet 2018-02-07 16:51:17 +03:30 committed by Alexandre Julliard
parent 13fec030e7
commit fc3ea7d1ef
1 changed files with 2 additions and 0 deletions

View File

@ -517,6 +517,7 @@ static inline DWORD64 cpu_register(CONTEXT* ctx, unsigned idx)
{
switch (cpu_register_map[idx].ctx_length)
{
case 1: return *(BYTE*)cpu_register_ptr(ctx, idx);
case 2: return *(WORD*)cpu_register_ptr(ctx, idx);
case 4: return *(DWORD*)cpu_register_ptr(ctx, idx);
case 8: return *(DWORD64*)cpu_register_ptr(ctx, idx);
@ -545,6 +546,7 @@ static inline void cpu_register_hex_from(CONTEXT* ctx, unsigned idx, const
}
switch (cpu_register_map[idx].ctx_length)
{
case 1: *(BYTE*)cpu_register_ptr(ctx, idx) = (BYTE)val; break;
case 2: *(WORD*)cpu_register_ptr(ctx, idx) = (WORD)val; break;
case 4: *(DWORD*)cpu_register_ptr(ctx, idx) = (DWORD)val; break;
case 8: *(DWORD64*)cpu_register_ptr(ctx, idx) = val; break;