dbghelp: Return a dos path from SymGetLineFromAddr.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34687
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alistair Leslie-Hughes 2019-06-13 08:29:58 +00:00 committed by Alexandre Julliard
parent 0716fd58a8
commit 4aa7fbe056
1 changed files with 13 additions and 1 deletions

View File

@ -1478,7 +1478,19 @@ BOOL symt_fill_func_line_info(const struct module* module, const struct symt_fun
}
if (found)
{
line->FileName = (char*)source_get(module, dli->u.source_file);
if (dbghelp_opt_native)
{
/* Return native file paths when using winedbg */
line->FileName = (char*)source_get(module, dli->u.source_file);
}
else
{
WCHAR *dospath = wine_get_dos_file_name(source_get(module, dli->u.source_file));
DWORD len = WideCharToMultiByte(CP_ACP, 0, dospath, -1, NULL, 0, NULL, NULL);
line->FileName = fetch_buffer(module->process, len);
WideCharToMultiByte(CP_ACP, 0, dospath, -1, line->FileName, len, NULL, NULL);
HeapFree( GetProcessHeap(), 0, dospath );
}
return TRUE;
}
}