Module: wine Branch: master Commit: d38682397997c56359f6d161467a56ffe5bfa9fa URL: https://source.winehq.org/git/wine.git/?a=commit;h=d38682397997c56359f6d1614...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Mar 17 17:21:17 2020 +0100
dbghelp: Move get_dos_file_name to path.c.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/dbghelp/dbghelp_private.h | 1 + dlls/dbghelp/elf_module.c | 23 ----------------------- dlls/dbghelp/path.c | 24 ++++++++++++++++++++++++ 3 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h index b143216dd0..d55b018fa7 100644 --- a/dlls/dbghelp/dbghelp_private.h +++ b/dlls/dbghelp/dbghelp_private.h @@ -668,6 +668,7 @@ extern BOOL pdb_virtual_unwind(struct cpu_stack_walk *csw, DWORD_PTR ip, extern BOOL path_find_symbol_file(const struct process* pcs, const struct module* module, PCSTR full_path, const GUID* guid, DWORD dw1, DWORD dw2, WCHAR *buffer, BOOL* is_unmatched) DECLSPEC_HIDDEN; +extern WCHAR *get_dos_file_name(const WCHAR *filename) DECLSPEC_HIDDEN;
/* pe_module.c */ extern BOOL pe_load_nt_header(HANDLE hProc, DWORD64 base, IMAGE_NT_HEADERS* nth) DECLSPEC_HIDDEN; diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index c89292a644..75f046105c 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -396,29 +396,6 @@ static BOOL elf_map_shdr(struct elf_map_file_data* emfd, struct image_file_map* return TRUE; }
-static WCHAR *get_dos_file_name(const WCHAR *filename) -{ - WCHAR *dos_path; - size_t len; - - if (*filename == '/') - { - char *unix_path; - len = WideCharToMultiByte(CP_UNIXCP, 0, filename, -1, NULL, 0, NULL, NULL); - unix_path = heap_alloc(len * sizeof(WCHAR)); - WideCharToMultiByte(CP_UNIXCP, 0, filename, -1, unix_path, len, NULL, NULL); - dos_path = wine_get_dos_file_name(unix_path); - heap_free(unix_path); - } - else - { - len = lstrlenW(filename); - dos_path = heap_alloc((len + 1) * sizeof(WCHAR)); - memcpy(dos_path, filename, (len + 1) * sizeof(WCHAR)); - } - return dos_path; -} - /****************************************************************** * elf_map_file * diff --git a/dlls/dbghelp/path.c b/dlls/dbghelp/path.c index 014c79c479..feb951ad55 100644 --- a/dlls/dbghelp/path.c +++ b/dlls/dbghelp/path.c @@ -27,6 +27,7 @@ #include "winnls.h" #include "winternl.h" #include "wine/debug.h" +#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
@@ -696,3 +697,26 @@ BOOL path_find_symbol_file(const struct process* pcs, const struct module* modul } return FALSE; } + +WCHAR *get_dos_file_name(const WCHAR *filename) +{ + WCHAR *dos_path; + size_t len; + + if (*filename == '/') + { + char *unix_path; + len = WideCharToMultiByte(CP_UNIXCP, 0, filename, -1, NULL, 0, NULL, NULL); + unix_path = heap_alloc(len * sizeof(WCHAR)); + WideCharToMultiByte(CP_UNIXCP, 0, filename, -1, unix_path, len, NULL, NULL); + dos_path = wine_get_dos_file_name(unix_path); + heap_free(unix_path); + } + else + { + len = lstrlenW(filename); + dos_path = heap_alloc((len + 1) * sizeof(WCHAR)); + memcpy(dos_path, filename, (len + 1) * sizeof(WCHAR)); + } + return dos_path; +}