[PATCH 5/8] [DbgHelp]: generalize helper to get a string from an ADDRESS64
Eric Pouech
eric.pouech at orange.fr
Tue Dec 22 07:20:59 CST 2009
A+
---
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;
More information about the wine-patches
mailing list