winedbg: Put back the %d format for printing integral values even for

64bit internal values as the default format in winebdg command imposes.
This commit is contained in:
Eric Pouech 2006-09-25 22:45:39 +02:00 committed by Alexandre Julliard
parent 7c92e801aa
commit e3f8799a42

View File

@ -299,6 +299,20 @@ char* memory_offset_to_string(char *str, DWORD64 offset, unsigned mode)
return str; return str;
} }
static void dbg_print_longlong(LONGLONG sv, BOOL is_signed)
{
char tmp[24], *ptr = tmp + sizeof(tmp) - 1;
ULONGLONG uv, div;
*ptr = '\0';
if (is_signed && sv < 0) uv = -sv;
else { uv = sv; is_signed = FALSE; }
for (div = 10; uv; div *= 10, uv /= 10)
*--ptr = '0' + (uv % 10);
if (ptr == tmp + sizeof(tmp) - 1) *--ptr = '0';
if (is_signed) *--ptr = '-';
dbg_printf("%s", ptr);
}
static void print_typed_basic(const struct dbg_lvalue* lvalue) static void print_typed_basic(const struct dbg_lvalue* lvalue)
{ {
LONGLONG val_int; LONGLONG val_int;
@ -326,12 +340,12 @@ static void print_typed_basic(const struct dbg_lvalue* lvalue)
case btInt: case btInt:
case btLong: case btLong:
if (!be_cpu->fetch_integer(lvalue, size, TRUE, &val_int)) return; if (!be_cpu->fetch_integer(lvalue, size, TRUE, &val_int)) return;
dbg_printf("%s", wine_dbgstr_longlong(val_int)); dbg_print_longlong(val_int, TRUE);
break; break;
case btUInt: case btUInt:
case btULong: case btULong:
if (!be_cpu->fetch_integer(lvalue, size, FALSE, &val_int)) return; if (!be_cpu->fetch_integer(lvalue, size, FALSE, &val_int)) return;
dbg_printf("%s", wine_dbgstr_longlong(val_int)); dbg_print_longlong(val_int, FALSE);
break; break;
case btFloat: case btFloat:
if (!be_cpu->fetch_float(lvalue, size, &val_real)) return; if (!be_cpu->fetch_float(lvalue, size, &val_real)) return;
@ -438,7 +452,7 @@ static void print_typed_basic(const struct dbg_lvalue* lvalue)
count -= min(count, 256); count -= min(count, 256);
fcp->Start += 256; fcp->Start += 256;
} }
if (!ok) dbg_printf("%s", wine_dbgstr_longlong(val_int)); if (!ok) dbg_print_longlong(val_int, TRUE);
} }
break; break;
default: default: