winedbg: Use wide-char string literals.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Eric Pouech 2021-11-26 17:30:09 +01:00 committed by Alexandre Julliard
parent b74a8ab202
commit 14781c7183
5 changed files with 23 additions and 45 deletions

View File

@ -158,21 +158,17 @@ static void save_crash_log( HWND hwnd )
HANDLE handle;
DWORD err, written;
WCHAR *p, path[MAX_PATH], buffer[1024];
static const WCHAR default_name[] = { 'b','a','c','k','t','r','a','c','e','.','t','x','t',0 };
static const WCHAR default_ext[] = { 't','x','t',0 };
static const WCHAR txt_files[] = { '*','.','t','x','t',0 };
static const WCHAR all_files[] = { '*','.','*',0 };
memset( &save, 0, sizeof(save) );
lstrcpyW( path, default_name );
lstrcpyW( path, L"backtrace.txt" );
LoadStringW( GetModuleHandleW(0), IDS_TEXT_FILES, buffer, ARRAY_SIZE(buffer));
p = buffer + lstrlenW(buffer) + 1;
lstrcpyW(p, txt_files);
lstrcpyW(p, L"*.txt");
p += lstrlenW(p) + 1;
LoadStringW( GetModuleHandleW(0), IDS_ALL_FILES, p, ARRAY_SIZE(buffer) - (p - buffer) );
p += lstrlenW(p) + 1;
lstrcpyW(p, all_files);
lstrcpyW(p, L"*.*");
p += lstrlenW(p) + 1;
*p = '\0';
@ -184,7 +180,7 @@ static void save_crash_log( HWND hwnd )
save.nMaxFile = MAX_PATH;
save.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT |
OFN_HIDEREADONLY | OFN_ENABLESIZING;
save.lpstrDefExt = default_ext;
save.lpstrDefExt = L"txt";
if (!GetSaveFileNameW( &save )) return;
handle = CreateFileW( save.lpstrFile, GENERIC_WRITE, FILE_SHARE_READ,
@ -214,7 +210,6 @@ static void save_crash_log( HWND hwnd )
static INT_PTR WINAPI crash_dlg_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
static const WCHAR openW[] = {'o','p','e','n',0};
switch (msg)
{
case WM_INITDIALOG:
@ -250,7 +245,7 @@ static INT_PTR WINAPI crash_dlg_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
case NM_CLICK:
case NM_RETURN:
if (wParam == IDC_STATIC_TXT2)
ShellExecuteW( NULL, openW, ((NMLINK *)lParam)->item.szUrl, NULL, NULL, SW_SHOW );
ShellExecuteW( NULL, L"open", ((NMLINK *)lParam)->item.szUrl, NULL, NULL, SW_SHOW );
break;
}
break;
@ -272,7 +267,6 @@ static INT_PTR WINAPI crash_dlg_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
static INT_PTR WINAPI details_dlg_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam )
{
static const WCHAR openW[] = {'o','p','e','n',0};
static POINT orig_size, min_size, edit_size, text_pos, save_pos, close_pos;
switch (msg)
@ -345,7 +339,7 @@ static INT_PTR WINAPI details_dlg_proc( HWND hwnd, UINT msg, WPARAM wparam, LPAR
case NM_CLICK:
case NM_RETURN:
if (wparam == IDC_STATIC_TXT2)
ShellExecuteW( NULL, openW, ((NMLINK *)lparam)->item.szUrl, NULL, NULL, SW_SHOW );
ShellExecuteW( NULL, L"open", ((NMLINK *)lparam)->item.szUrl, NULL, NULL, SW_SHOW );
break;
}
break;
@ -368,7 +362,6 @@ static INT_PTR WINAPI details_dlg_proc( HWND hwnd, UINT msg, WPARAM wparam, LPAR
int display_crash_dialog(void)
{
static const WCHAR winedeviceW[] = {'w','i','n','e','d','e','v','i','c','e','.','e','x','e',0};
static const INITCOMMONCONTROLSEX init = { sizeof(init), ICC_LINK_CLASS };
/* dbg_curr_process->handle is not set */
@ -380,7 +373,7 @@ int display_crash_dialog(void)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dbg_curr_pid);
g_ProgramName = get_program_name(hProcess);
CloseHandle(hProcess);
if (!wcscmp( g_ProgramName, winedeviceW )) return TRUE;
if (!wcscmp( g_ProgramName, L"winedevice.exe" )) return TRUE;
InitCommonControlsEx( &init );
return DialogBoxW(GetModuleHandleW(NULL), MAKEINTRESOURCEW(IDD_CRASH_DLG), NULL, crash_dlg_proc);
}

View File

@ -294,8 +294,6 @@ static BOOL tgt_process_active_close_process(struct dbg_process* pcs, BOOL kill)
void fetch_module_name(void* name_addr, void* mod_addr, WCHAR* buffer, size_t bufsz)
{
static const WCHAR dlladdr[] = {'D','L','L','_','%','0','8','l','x',0};
memory_get_string_indirect(dbg_curr_process, name_addr, TRUE, buffer, bufsz);
if (!buffer[0] && !GetModuleFileNameExW(dbg_curr_process->handle, mod_addr, buffer, bufsz))
{
@ -308,7 +306,7 @@ void fetch_module_name(void* name_addr, void* mod_addr, WCHAR* buffer, size_t bu
memmove( buffer, buffer + 4, (lstrlenW(buffer + 4) + 1) * sizeof(WCHAR) );
}
else
swprintf(buffer, bufsz, dlladdr, (ULONG_PTR)mod_addr);
swprintf(buffer, bufsz, L"DLL_%08lx", (ULONG_PTR)mod_addr);
}
}
@ -371,8 +369,7 @@ static unsigned dbg_handle_debug_event(DEBUG_EVENT* de)
size = ARRAY_SIZE(u.buffer);
if (!QueryFullProcessImageNameW( dbg_curr_process->handle, 0, u.buffer, &size ))
{
static const WCHAR pcspid[] = {'P','r','o','c','e','s','s','_','%','0','8','x',0};
swprintf( u.buffer, ARRAY_SIZE(u.buffer), pcspid, dbg_curr_pid);
swprintf( u.buffer, ARRAY_SIZE(u.buffer), L"Process_%08x", dbg_curr_pid);
}
WINE_TRACE("%04x:%04x: create process '%s'/%p @%p (%u<%u>)\n",
@ -669,10 +666,9 @@ static BOOL str2int(const char* str, DWORD_PTR* val)
static HANDLE create_temp_file(void)
{
static const WCHAR prefixW[] = {'w','d','b',0};
WCHAR path[MAX_PATH], name[MAX_PATH];
if (!GetTempPathW( MAX_PATH, path ) || !GetTempFileNameW( path, prefixW, 0, name ))
if (!GetTempPathW( MAX_PATH, path ) || !GetTempFileNameW( path, L"wdb", 0, name ))
return INVALID_HANDLE_VALUE;
return CreateFileW( name, GENERIC_READ|GENERIC_WRITE|DELETE, FILE_SHARE_DELETE,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, 0 );

View File

@ -204,7 +204,6 @@ static enum dbg_start minidump_do_reload(struct tgt_process_minidump_data* data)
WCHAR exec_name[1024];
WCHAR nameW[1024];
unsigned len;
static const WCHAR default_exec_name[] = {'<','m','i','n','i','d','u','m','p','-','e','x','e','c','>',0};
/* fetch PID */
if (MiniDumpReadDumpStream(data->mapping, MiscInfoStream, NULL, &stream, NULL))
@ -215,7 +214,8 @@ static enum dbg_start minidump_do_reload(struct tgt_process_minidump_data* data)
}
/* fetch executable name (it's normally the first one in module list) */
lstrcpyW(exec_name, default_exec_name);
lstrcpyW(exec_name, L"<minidump-exec>");
if (MiniDumpReadDumpStream(data->mapping, ModuleListStream, NULL, &stream, NULL))
{
mml = stream;

View File

@ -755,30 +755,20 @@ BOOL types_get_info(const struct dbg_type* type, IMAGEHLP_SYMBOL_TYPE_INFO ti, v
tag == SymTagBaseType &&
SymGetTypeInfo(dbg_curr_process->handle, type->module, type->id, TI_GET_BASETYPE, &bt))
{
static const WCHAR voidW[] = {'v','o','i','d','\0'};
static const WCHAR charW[] = {'c','h','a','r','\0'};
static const WCHAR wcharW[] = {'W','C','H','A','R','\0'};
static const WCHAR intW[] = {'i','n','t','\0'};
static const WCHAR uintW[] = {'u','n','s','i','g','n','e','d',' ','i','n','t','\0'};
static const WCHAR floatW[] = {'f','l','o','a','t','\0'};
static const WCHAR boolW[] = {'b','o','o','l','\0'};
static const WCHAR longW[] = {'l','o','n','g',' ','i','n','t','\0'};
static const WCHAR ulongW[] = {'u','n','s','i','g','n','e','d',' ','l','o','n','g',' ','i','n','t','\0'};
static const WCHAR complexW[] = {'c','o','m','p','l','e','x','\0'};
const WCHAR* name = NULL;
switch (bt)
{
case btVoid: name = voidW; break;
case btChar: name = charW; break;
case btWChar: name = wcharW; break;
case btInt: name = intW; break;
case btUInt: name = uintW; break;
case btFloat: name = floatW; break;
case btBool: name = boolW; break;
case btLong: name = longW; break;
case btULong: name = ulongW; break;
case btComplex: name = complexW; break;
case btVoid: name = L"void"; break;
case btChar: name = L"char"; break;
case btWChar: name = L"WCHAR"; break;
case btInt: name = L"int"; break;
case btUInt: name = L"unsigned int"; break;
case btFloat: name = L"float"; break;
case btBool: name = L"bool"; break;
case btLong: name = L"long int"; break;
case btULong: name = L"unsigned long int"; break;
case btComplex: name = L"complex"; break;
default: WINE_FIXME("Unsupported basic type %u\n", bt); return FALSE;
}
X(WCHAR*) = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(name) + 1) * sizeof(WCHAR));

View File

@ -596,7 +596,6 @@ static void restart_if_wow64(void)
if (IsWow64Process( GetCurrentProcess(), &is_wow64 ) && is_wow64)
{
static const WCHAR winedbgW[] = {'\\','w','i','n','e','d','b','g','.','e','x','e',0};
STARTUPINFOW si;
PROCESS_INFORMATION pi;
WCHAR filename[MAX_PATH];
@ -606,7 +605,7 @@ static void restart_if_wow64(void)
memset( &si, 0, sizeof(si) );
si.cb = sizeof(si);
GetSystemDirectoryW( filename, MAX_PATH );
lstrcatW( filename, winedbgW );
lstrcatW( filename, L"\\winedbg.exe" );
Wow64DisableWow64FsRedirection( &redir );
if (CreateProcessW( filename, GetCommandLineW(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ))