From 18792f64f9ff609949312f9bb85bad30acdf16a7 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Mon, 26 Aug 2013 23:54:48 -0700 Subject: [PATCH] Fix debugger wstring usage. --- Core/Debugger/SymbolMap.cpp | 27 +++++++++++++------------ Windows/Debugger/Debugger_Disasm.cpp | 11 +++++----- Windows/Debugger/Debugger_MemoryDlg.cpp | 9 +++++---- Windows/Debugger/Debugger_VFPUDlg.cpp | 2 +- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/Core/Debugger/SymbolMap.cpp b/Core/Debugger/SymbolMap.cpp index d1bd50f947..1d214841c6 100644 --- a/Core/Debugger/SymbolMap.cpp +++ b/Core/Debugger/SymbolMap.cpp @@ -336,7 +336,7 @@ bool SymbolMap::getSymbolValue(char* symbol, u32& dest) { const MapEntry &entry = *it; #ifdef _WIN32 - if (stricmp(entry.name,symbol) == 0) + if (_stricmp(entry.name,symbol) == 0) #else if (strcasecmp(entry.name,symbol) == 0) #endif @@ -388,8 +388,8 @@ void SymbolMap::FillSymbolListBox(HWND listbox,SymbolType symmask) const { for (int i = 0; i < defaultSymbolsAmount; i++) { - char temp[256]; - sprintf(temp,"0x%08X (%s)",defaultSymbolsAddresses[i],defaultSymbolsNames[i]); + wchar_t temp[256]; + wsprintf(temp, L"0x%08X (%S)", defaultSymbolsAddresses[i], defaultSymbolsNames[i]); int index = ListBox_AddString(listbox,temp); ListBox_SetItemData(listbox,index,defaultSymbolsAddresses[i]); } @@ -404,12 +404,12 @@ void SymbolMap::FillSymbolListBox(HWND listbox,SymbolType symmask) const const MapEntry &entry = *it; if (entry.type & symmask) { - char temp[256]; + wchar_t temp[256]; if (entry.type & ST_FUNCTION || !(entry.type & ST_DATA)) { - sprintf(temp,"%s",entry.name); + wsprintf(temp, L"%S", entry.name); } else { - sprintf(temp,"0x%08X (%s)",entry.vaddress,entry.name); + wsprintf(temp, L"0x%08X (%S)", entry.vaddress, entry.name); } int index = ListBox_AddString(listbox,temp); @@ -429,23 +429,23 @@ void SymbolMap::FillSymbolComboBox(HWND listbox,SymbolType symmask) const //int style = GetWindowLong(listbox,GWL_STYLE); - ComboBox_AddString(listbox,"(0x02000000)"); - ComboBox_SetItemData(listbox,0,0x02000000); + ComboBox_AddString(listbox, L"(0x02000000)"); + ComboBox_SetItemData(listbox, 0, 0x02000000); - //ListBox_AddString(listbox,"(0x80002000)"); - //ListBox_SetItemData(listbox,1,0x80002000); + //ListBox_AddString(listbox, L"(0x80002000)"); + //ListBox_SetItemData(listbox, 1, 0x80002000); lock_guard guard(lock_); SendMessage(listbox, WM_SETREDRAW, FALSE, 0); - SendMessage(listbox, CB_INITSTORAGE, (WPARAM)entries.size(), (LPARAM)entries.size() * 30); + SendMessage(listbox, CB_INITSTORAGE, (WPARAM)entries.size(), (LPARAM)entries.size() * 30 * sizeof(wchar_t)); for (size_t i = 0, end = entries.size(); i < end; ++i) { const MapEntry &entry = entries[i]; if (entry.type & symmask) { - char temp[256]; - sprintf(temp,"%s (%d)",entry.name,entry.size); + wchar_t temp[256]; + wsprintf(temp, L"%S (%d)", entry.name, entry.size); int index = ComboBox_AddString(listbox,temp); ComboBox_SetItemData(listbox,index,entry.vaddress); } @@ -469,6 +469,7 @@ void SymbolMap::FillListBoxBLinks(HWND listbox, int num) const for (int i=0; ir[MIPS_REG_RA]; DWORD addr = Memory::ReadUnchecked_U32(pc); int count=1; - ComboBox_SetItemData(list,ComboBox_AddString(list,symbolMap.GetDescription(pc)),pc); + ComboBox_SetItemData(list, ComboBox_AddString(list, ConvertUTF8ToWString(symbolMap.GetDescription(pc)).c_str()), pc); if (symbolMap.GetDescription(pc) != symbolMap.GetDescription(ra)) { - ComboBox_SetItemData(list,ComboBox_AddString(list,symbolMap.GetDescription(ra)),ra); + ComboBox_SetItemData(list, ComboBox_AddString(list, ConvertUTF8ToWString(symbolMap.GetDescription(ra)).c_str()), ra); count++; } //walk the stack chain while (addr != 0xFFFFFFFF && addr!=0 && count++<20) { DWORD fun = Memory::ReadUnchecked_U32(addr+4); - const char *str = symbolMap.GetDescription(fun); - if (strlen(str)==0) - str = "(unknown)"; + const wchar_t *str = ConvertUTF8ToWString(symbolMap.GetDescription(fun)).c_str(); + if (wcslen(str) == 0) + str = L"(unknown)"; ComboBox_SetItemData(list, ComboBox_AddString(list,str), fun); addr = Memory::ReadUnchecked_U32(addr); } @@ -836,6 +836,7 @@ void CDisasm::UpdateDialog(bool _bComplete) ComboBox_ResetContent(gotoInt); for (int i=0; iGetName()); + wsprintf(temp,L"Memory Viewer - %S",cpu->GetName()); SetWindowText(m_hDlg,temp); ShowWindow(m_hDlg,SW_HIDE); CtrlMemView *ptr = CtrlMemView::getFrom(GetDlgItem(m_hDlg,IDC_MEMVIEW)); - ptr->setDebugger(_cpu); + ptr->setDebugger(_cpu); - Button_SetCheck(GetDlgItem(m_hDlg,IDC_RAM), TRUE); + Button_SetCheck(GetDlgItem(m_hDlg,IDC_RAM), TRUE); Button_SetCheck(GetDlgItem(m_hDlg,IDC_MODESYMBOLS), TRUE); GetWindowRect(GetDlgItem(m_hDlg,IDC_SYMBOLS),&slRect); @@ -99,6 +99,7 @@ void CMemoryDlg::NotifyMapLoaded() /* for (int i = 0; i < cpu->getMemMap()->numRegions; i++) { + // TODO: wchar_t int n = ComboBox_AddString(lb,cpu->getMemMap()->regions[i].name); ComboBox_SetItemData(lb,n,cpu->getMemMap()->regions[i].start); }*/ diff --git a/Windows/Debugger/Debugger_VFPUDlg.cpp b/Windows/Debugger/Debugger_VFPUDlg.cpp index 9e6104117d..67b4450cd1 100644 --- a/Windows/Debugger/Debugger_VFPUDlg.cpp +++ b/Windows/Debugger/Debugger_VFPUDlg.cpp @@ -19,7 +19,7 @@ CVFPUDlg::CVFPUDlg(HINSTANCE _hInstance, HWND _hParent, DebugInterface *cpu_) : { cpu = cpu_; wchar_t temp[256]; - wsprintf(temp,L"VFPU - %s",ConvertUTF8ToWString(cpu->GetName()).c_str()); + wsprintf(temp, L"VFPU - %S", cpu->GetName()); SetWindowText(m_hDlg,temp); ShowWindow(m_hDlg,SW_HIDE);