Eric Pouech : winedbg: Properly fix the previous patch about gcc 2. 95 not supporting printf attribute on function pointers.
Alexandre Julliard
julliard at winehq.org
Mon May 3 11:54:07 CDT 2010
Module: wine
Branch: master
Commit: c4efb23d2752e9283574caf660055fa14a87abfd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c4efb23d2752e9283574caf660055fa14a87abfd
Author: Eric Pouech <eric.pouech at orange.fr>
Date: Mon May 3 08:12:22 2010 +0200
winedbg: Properly fix the previous patch about gcc 2.95 not supporting printf attribute on function pointers.
---
programs/winedbg/db_disasm64.c | 25 +++++++------------------
1 files changed, 7 insertions(+), 18 deletions(-)
diff --git a/programs/winedbg/db_disasm64.c b/programs/winedbg/db_disasm64.c
index 98f7ef2..7cf1394 100644
--- a/programs/winedbg/db_disasm64.c
+++ b/programs/winedbg/db_disasm64.c
@@ -32,24 +32,13 @@
#include <stdio.h>
#include "debugger.h"
-#ifndef __GNUC__
-#define __attribute__(X)
+#if defined(__GNUC__) && (GCC_VERSION >= 30000)
+static int (*db_printf)(const char* format, ...) __attribute__((format (printf,1,2)));
+#else
+static int (*db_printf)(const char* format, ...);
#endif
-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;
-}
+static int no_printf(const char* format, ...) {return 0;}
typedef DWORD_PTR db_addr_t;
typedef BOOL boolean_t;
@@ -93,7 +82,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)
{
- if (db_debug)
+ if (db_printf != no_printf)
{
ADDRESS64 a;
@@ -1656,6 +1645,6 @@ db_disasm(db_addr_t loc, boolean_t altfmt)
void be_x86_64_disasm_one_insn(ADDRESS64 *addr, int display)
{
- db_debug = display;
+ db_printf = display ? dbg_printf : no_printf;
addr->Offset = db_disasm(addr->Offset, TRUE);
}
More information about the wine-cvs
mailing list