[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