Eric Pouech : dbghelp: Generalize helper to get a string from an ADDRESS64.

Alexandre Julliard julliard at winehq.org
Tue Dec 22 09:59:01 CST 2009


Module: wine
Branch: master
Commit: 2d85d5c2355ab53f1294646abdfdf4a60a48246a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2d85d5c2355ab53f1294646abdfdf4a60a48246a

Author: Eric Pouech <eric.pouech at 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;




More information about the wine-cvs mailing list