mirror of
https://github.com/reactos/wine.git
synced 2024-11-29 22:50:43 +00:00
winedbg: Fix compilation with gcc 2.95 and non-GNU compilers.
This commit is contained in:
parent
5aca2dd964
commit
51dfd9adb1
@ -32,11 +32,25 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "debugger.h"
|
#include "debugger.h"
|
||||||
|
|
||||||
static int (*db_printf)(const char* format, ...)
|
#ifndef __GNUC__
|
||||||
#ifdef __GNUC__
|
#define __attribute__(X)
|
||||||
__attribute__((format (printf,1,2)));
|
|
||||||
#endif
|
#endif
|
||||||
static int no_printf(const char* format, ...) {return 0;}
|
|
||||||
|
static int db_debug = 0;
|
||||||
|
static int db_printf(const char* format, ...) __attribute__((format (printf,1,2)));
|
||||||
|
int db_printf(const char* format, ...)
|
||||||
|
{
|
||||||
|
va_list valist;
|
||||||
|
int len = 0;
|
||||||
|
if (db_debug)
|
||||||
|
{
|
||||||
|
va_start(valist, format);
|
||||||
|
len = dbg_printf(format, valist);
|
||||||
|
va_end(valist);
|
||||||
|
}
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
typedef DWORD_PTR db_addr_t;
|
typedef DWORD_PTR db_addr_t;
|
||||||
typedef BOOL boolean_t;
|
typedef BOOL boolean_t;
|
||||||
|
|
||||||
@ -79,7 +93,7 @@ static ULONG64 db_get_value(db_addr_t addr, int size, int is_signed)
|
|||||||
|
|
||||||
static void db_printsym(db_addr_t addr, unsigned unused)
|
static void db_printsym(db_addr_t addr, unsigned unused)
|
||||||
{
|
{
|
||||||
if (db_printf != no_printf)
|
if (db_debug)
|
||||||
{
|
{
|
||||||
ADDRESS64 a;
|
ADDRESS64 a;
|
||||||
|
|
||||||
@ -1642,6 +1656,6 @@ db_disasm(db_addr_t loc, boolean_t altfmt)
|
|||||||
|
|
||||||
void be_x86_64_disasm_one_insn(ADDRESS64 *addr, int display)
|
void be_x86_64_disasm_one_insn(ADDRESS64 *addr, int display)
|
||||||
{
|
{
|
||||||
db_printf = display ? dbg_printf : no_printf;
|
db_debug = display;
|
||||||
addr->Offset = db_disasm(addr->Offset, TRUE);
|
addr->Offset = db_disasm(addr->Offset, TRUE);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user