Module: wine Branch: master Commit: 2d85d5c2355ab53f1294646abdfdf4a60a48246a URL: http://source.winehq.org/git/wine.git/?a=commit;h=2d85d5c2355ab53f1294646abd...
Author: Eric Pouech eric.pouech@orange.fr Date: Tue Dec 22 14:20:59 2009 +0100
dbghelp: Generalize helper to get a string from an ADDRESS64.
---
dlls/dbghelp/dbghelp.c | 18 ++++++++++++++++++ dlls/dbghelp/dbghelp_private.h | 1 + dlls/dbghelp/stack.c | 18 ------------------ 3 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/dlls/dbghelp/dbghelp.c b/dlls/dbghelp/dbghelp.c index 1fe829a..8381735 100644 --- a/dlls/dbghelp/dbghelp.c +++ b/dlls/dbghelp/dbghelp.c @@ -133,6 +133,24 @@ void* fetch_buffer(struct process* pcs, unsigned size) return pcs->buffer; }
+const char* wine_dbgstr_addr(const ADDRESS64* addr) +{ + if (!addr) return "(null)"; + switch (addr->Mode) + { + case AddrModeFlat: + return wine_dbg_sprintf("flat<%s>", wine_dbgstr_longlong(addr->Offset)); + case AddrMode1616: + return wine_dbg_sprintf("1616<%04x:%04x>", addr->Segment, (DWORD)addr->Offset); + case AddrMode1632: + return wine_dbg_sprintf("1632<%04x:%08x>", addr->Segment, (DWORD)addr->Offset); + case AddrModeReal: + return wine_dbg_sprintf("real<%04x:%04x>", addr->Segment, (DWORD)addr->Offset); + default: + return "unknown"; + } +} + /****************************************************************** * SymSetSearchPathW (DBGHELP.@) * diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h index b793d14..538086f 100644 --- a/dlls/dbghelp/dbghelp_private.h +++ b/dlls/dbghelp/dbghelp_private.h @@ -425,6 +425,7 @@ extern HANDLE hMsvcrt; extern BOOL validate_addr64(DWORD64 addr); extern BOOL pcs_callback(const struct process* pcs, ULONG action, void* data); extern void* fetch_buffer(struct process* pcs, unsigned size); +extern const char* wine_dbgstr_addr(const ADDRESS64* addr);
/* crc32.c */ extern DWORD calc_crc32(int fd); diff --git a/dlls/dbghelp/stack.c b/dlls/dbghelp/stack.c index 82b38cc..f83d35c 100644 --- a/dlls/dbghelp/stack.c +++ b/dlls/dbghelp/stack.c @@ -38,24 +38,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
enum st_mode {stm_start, stm_32bit, stm_16bit, stm_done};
-static const char* wine_dbgstr_addr(const ADDRESS64* addr) -{ - if (!addr) return "(null)"; - switch (addr->Mode) - { - case AddrModeFlat: - return wine_dbg_sprintf("flat<%s>", wine_dbgstr_longlong(addr->Offset)); - case AddrMode1616: - return wine_dbg_sprintf("1616<%04x:%04x>", addr->Segment, (DWORD)addr->Offset); - case AddrMode1632: - return wine_dbg_sprintf("1632<%04x:%08x>", addr->Segment, (DWORD)addr->Offset); - case AddrModeReal: - return wine_dbg_sprintf("real<%04x:%04x>", addr->Segment, (DWORD)addr->Offset); - default: - return "unknown"; - } -} - static DWORD64 WINAPI addr_to_linear(HANDLE hProcess, HANDLE hThread, ADDRESS64* addr) { LDT_ENTRY le;