[PATCH 01/26] [DbgHelp]: added helper to define the module's name

Eric Pouech eric.pouech at wanadoo.fr
Wed Feb 21 14:54:33 CST 2007




A+
---

 dlls/dbghelp/dbghelp_private.h |    2 ++
 dlls/dbghelp/module.c          |   12 ++++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h
index 83c549d..be6b7e6 100644
--- a/dlls/dbghelp/dbghelp_private.h
+++ b/dlls/dbghelp/dbghelp_private.h
@@ -447,6 +447,8 @@ extern enum module_type
 extern void         module_reset_debug_info(struct module* module);
 extern BOOL         module_remove(struct process* pcs, 
                                   struct module* module);
+extern void         module_set_module(struct module* module, const char* name);
+
 /* msc.c */
 extern BOOL         pe_load_debug_directory(const struct process* pcs, 
                                             struct module* module, 
diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c
index e7214b3..e63b576 100644
--- a/dlls/dbghelp/module.c
+++ b/dlls/dbghelp/module.c
@@ -79,6 +79,11 @@ static void module_fill_module(const cha
     while ((*out = tolower(*out))) out++;
 }
 
+void module_set_module(struct module* module, const char* name)
+{
+    module_fill_module(name, module->module.ModuleName, sizeof(module->module.ModuleName));
+}
+
 static const char*      get_module_type(enum module_type type, BOOL virtual)
 {
     switch (type)
@@ -116,8 +121,7 @@ struct module* module_new(struct process
     module->module.SizeOfStruct = sizeof(module->module);
     module->module.BaseOfImage = mod_addr;
     module->module.ImageSize = size;
-    module_fill_module(name, module->module.ModuleName,
-                       sizeof(module->module.ModuleName));
+    module_set_module(module, name);
     module->module.ImageName[0] = '\0';
     lstrcpynA(module->module.LoadedImageName, name, sizeof(module->module.LoadedImageName));
     module->module.SymType = SymNone;
@@ -423,7 +427,7 @@ done:
      * of ImageName. Overwrite it, if we have better information
      */
     if (ModuleName)
-        lstrcpynA(module->module.ModuleName, ModuleName, sizeof(module->module.ModuleName));
+        module_set_module(module, ModuleName);
     lstrcpynA(module->module.ImageName, ImageName, sizeof(module->module.ImageName));
 
     return module->module.BaseOfImage;
@@ -453,7 +457,7 @@ DWORD64 WINAPI  SymLoadModuleEx(HANDLE h
                             (DWORD)BaseOfDll, DllSize, 0, 0);
         if (!module) return FALSE;
         if (ModuleName)
-            lstrcpynA(module->module.ModuleName, ModuleName, sizeof(module->module.ModuleName));
+            module_set_module(module, ModuleName);
         module->module.SymType = SymVirtual;
 
         return TRUE;



More information about the wine-patches mailing list