mirror of
https://github.com/reactos/reactos.git
synced 2024-11-28 05:53:31 +08:00
[WINESYNC] 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> wine commit id d38682397997c56359f6d161467a56ffe5bfa9fa by Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
56b57ef7c5
commit
1a2b28fc64
@ -699,6 +699,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;
|
||||
|
@ -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
|
||||
*
|
||||
|
@ -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,28 @@ BOOL path_find_symbol_file(const struct process* pcs, const struct module* modul
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#ifndef __REACTOS__
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
|
@ -4,4 +4,4 @@ files:
|
||||
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
||||
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
|
||||
tags:
|
||||
wine: 171c6fadab8eb444968c1b3a4b364e2e978a639a
|
||||
wine: d38682397997c56359f6d161467a56ffe5bfa9fa
|
||||
|
Loading…
Reference in New Issue
Block a user