From: Wouter V. <m97...@us...> - 2013-08-03 15:08:57
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "wxCatapult". The branch, master has been updated via b6c9be369645b72cd2bceeed92f2c173cedc9d38 (commit) from d79084a5abe78597f845848486e7b97d4469db4b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b6c9be369645b72cd2bceeed92f2c173cedc9d38 Author: wouter <ver...@gm...> Date: Sat Aug 3 16:59:19 2013 +0200 wxString::Find() related cleanups Before this patch, the code mostly tested for '-1' to check if a value was not found. Though the wx documentation says you should use wxNOT_FOUND. Obviously in the current version of wxWidgets 'wxNOT_FOUND == -1', but that might change. In the openMSX code we already had problems with this in the past. For std::string::find() we also tested on '-1' instead of 'string::npos'. But when switching from 32 to 64-bit platfrom, string::npos is no longer the same as int(-1). Of course also the type of the return value has to change (from int to string::size_type), wxString::Find() does not use any typedefs. I also replaced string.Find(..) != wxNOT_FOUND with string.Contains(...) ----------------------------------------------------------------------- Summary of changes: src/AudioControlPage.cpp | 4 +- src/CatapultConfigDlg.cpp | 10 +++---- src/MiscControlPage.cpp | 4 +- src/RomTypeDlg.cpp | 36 ++++++++------------------ src/SessionPage.cpp | 62 +++++++++++++++++++++------------------------ src/openMSXController.cpp | 31 +++++++++++----------- src/wxCatapultApp.cpp | 12 ++++---- 7 files changed, 69 insertions(+), 90 deletions(-) diff --git a/src/AudioControlPage.cpp b/src/AudioControlPage.cpp index a84c7c6..9374bea 100644 --- a/src/AudioControlPage.cpp +++ b/src/AudioControlPage.cpp @@ -464,7 +464,7 @@ void AudioControlPage::OnChangeMidiInPlug(wxCommandEvent& event) m_controller->GetPluggables(pluggables); m_controller->GetPluggableDescriptions(descriptions); for (unsigned i = 0; i < pluggables.GetCount(); ++i) { - if ((value == descriptions[i]) && (pluggables[i].Find(wxT("midi-in")) != -1)) { + if ((value == descriptions[i]) && pluggables[i].Contains(wxT("midi-in"))) { value = pluggables[i]; } } @@ -493,7 +493,7 @@ void AudioControlPage::OnChangeMidiOutPlug(wxCommandEvent& event) m_controller->GetPluggables(pluggables); m_controller->GetPluggableDescriptions(descriptions); for (unsigned i = 0; i < pluggables.GetCount(); ++i) { - if ((value == descriptions[i]) && (pluggables[i].Find(wxT("midi-out")) != -1)) { + if ((value == descriptions[i]) && pluggables[i].Contains(wxT("midi-out"))) { value = pluggables[i]; } } diff --git a/src/CatapultConfigDlg.cpp b/src/CatapultConfigDlg.cpp index 6e356fb..ff76eb1 100644 --- a/src/CatapultConfigDlg.cpp +++ b/src/CatapultConfigDlg.cpp @@ -43,7 +43,7 @@ CatapultConfigDlg::CatapultConfigDlg(wxWindow* parent, openMSXController* contro guess.RemoveLast(); } int pos = guess.Find('\\', true); - if (pos != -1) { + if (pos != wxNOT_FOUND) { guess = guess.Left(pos + 1); } } @@ -62,11 +62,9 @@ CatapultConfigDlg::CatapultConfigDlg(wxWindow* parent, openMSXController* contro guess = m_ExecPath->GetValue(); guess.Replace(wxT("/"), wxT("\\"), true); int pos = guess.Find('\\', true); - if (pos != -1) { - guess = guess.Left(pos + 1) + wxT("share"); - } else { - guess = wxT(""); - } + guess = (pos != wxNOT_FOUND) + ? guess.Left(pos + 1) + wxT("share") + : wxT(""); #else guess = CATAPULT_OPENMSX_SHARE; #endif diff --git a/src/MiscControlPage.cpp b/src/MiscControlPage.cpp index 3bb6357..e9327c1 100644 --- a/src/MiscControlPage.cpp +++ b/src/MiscControlPage.cpp @@ -100,7 +100,7 @@ MiscControlPage::MiscControlPage(wxWindow* parent, openMSXController* controller text->SetValue(filename); int pos = box->FindString(current); - if (pos != -1) { + if (pos != wxNOT_FOUND) { box->SetSelection(pos); } else { box->SetSelection(0); @@ -138,7 +138,7 @@ void MiscControlPage::FillInitialJoystickPortValues() wxString current; ConfigurationData::instance().GetParameter(JoySaveID[i], current); int pos = box[i]->FindString(current); - if (pos != -1) { + if (pos != wxNOT_FOUND) { box[i]->SetSelection(pos); } else { box[i]->SetSelection(0); diff --git a/src/RomTypeDlg.cpp b/src/RomTypeDlg.cpp index 9e0d08c..ac21b16 100644 --- a/src/RomTypeDlg.cpp +++ b/src/RomTypeDlg.cpp @@ -37,7 +37,7 @@ int RomTypeDlg::ShowModal(wxString type) if (!type.IsEmpty()) { wxString fullName = ConvertRomType(type, false); int pos = m_romTypeList->FindString(fullName); - if (pos != -1) { + if (pos != wxNOT_FOUND) { m_romTypeList->SetSelection(pos, true); } } else { @@ -67,7 +67,7 @@ wxString RomTypeDlg::GetSelectedType() void RomTypeDlg::AddRomType(wxString type) { int index = FindRomType(type); - if (index == -1) { + if (index == wxNOT_FOUND) { m_romTypes.Add(type); m_romTypes.Add(wxT("_")); // empty name } @@ -76,9 +76,9 @@ void RomTypeDlg::AddRomType(wxString type) void RomTypeDlg::SetRomTypeFullName(wxString type, wxString name) { int index = FindRomType(type); - if (index != -1) { + if (index != wxNOT_FOUND) { m_romTypes[index + 1] = name; - if (m_romTypeList->FindString(name) == -1) { + if (m_romTypeList->FindString(name) == wxNOT_FOUND) { m_romTypeList->Append(name); } } @@ -86,30 +86,18 @@ void RomTypeDlg::SetRomTypeFullName(wxString type, wxString name) int RomTypeDlg::FindRomType(wxString type) { - int index = -1; - size_t numberOfRomTypes = m_romTypes.GetCount(); - size_t counter = 0; - while ((index == -1) && (counter < numberOfRomTypes)) { - if (m_romTypes[counter] == type) { - index = counter; - } - counter += 2; + for (size_t counter = 0; counter < m_romTypes.GetCount(); counter += 2) { + if (m_romTypes[counter] == type) return counter; } - return index; + return wxNOT_FOUND; } int RomTypeDlg::FindRomFullTypeName(wxString name) { - int index = -1; - size_t numberOfRomTypes = m_romTypes.GetCount(); - size_t counter = 1; - while ((index == -1) && (counter < numberOfRomTypes)) { - if (m_romTypes[counter] == name) { - index = counter; - } - counter += 2; + for (size_t counter = 1; counter < m_romTypes.GetCount(); counter += 2) { + if (m_romTypes[counter] == name) return counter; } - return index; + return wxNOT_FOUND; } wxString RomTypeDlg::ConvertRomType(wxString source, bool backwards) @@ -117,7 +105,5 @@ wxString RomTypeDlg::ConvertRomType(wxString source, bool backwards) int index = backwards ? FindRomFullTypeName(source) - 1 : FindRomType(source) + 1; - return ((index >= 0) && (index < (int)m_romTypes.GetCount())) - ? m_romTypes[index] - : wxString(); + return (index != wxNOT_FOUND) ? m_romTypes[index] : wxString(); } diff --git a/src/SessionPage.cpp b/src/SessionPage.cpp index 0112bdb..cf60756 100644 --- a/src/SessionPage.cpp +++ b/src/SessionPage.cpp @@ -624,18 +624,18 @@ void SessionPage::SetupHardware(bool initial, bool reset) int pos; do { pos = checkedMachines.Find(wxT("::")); - if (pos != -1) { + if (pos != wxNOT_FOUND) { m_machineArray.Add(checkedMachines.Left(pos)); checkedMachines = checkedMachines.Mid(pos + 2); } - } while (pos != -1); + } while (pos != wxNOT_FOUND); do { pos = checkedExtensions.Find(wxT("::")); - if (pos != -1) { + if (pos != wxNOT_FOUND) { m_extensionArray.Add(checkedExtensions.Left(pos)); checkedExtensions = checkedExtensions.Mid(pos + 2); } - } while (pos != -1); + } while (pos != wxNOT_FOUND); } else { wxString sharepath; config.GetParameter(ConfigurationData::CD_SHAREPATH, sharepath); @@ -658,14 +658,14 @@ void SessionPage::SetupHardware(bool initial, bool reset) fillMachines(m_machineArray); if (!initial) { int sel = m_machineList->FindString(currentMachine); - if (sel != -1) { + if (sel != wxNOT_FOUND) { m_machineList->SetSelection(sel); } else { m_machineList->SetSelection(0); } for (unsigned i = 0; i < currentExtensions.GetCount(); ++i) { sel = m_extensionList->FindString(currentExtensions[i]); - if (sel != -1) { + if (sel != wxNOT_FOUND) { m_extensionList->SetSelection(sel); } } @@ -1017,32 +1017,29 @@ void SessionPage::RestoreHistory() }; auto& config = ConfigurationData::instance(); config.GetParameter(ConfigurationData::CD_MEDIAINSERTED, &m_InsertedMedia); - int pos; unsigned i = 0; int hist = -1; FOREACH(i, media) { media[i]->control->Clear(); wxString value; config.GetParameter(id[i], value); - do { - pos = value.Find(wxT("::")); - if (pos != -1) { - media[i]->history.Add(value.Left(pos)); - media[i]->control->Append(value.Left(pos)); - value = value.Mid(pos + 2); - } - } while (pos != -1); + while (true) { + int pos = value.Find(wxT("::")); + if (pos == wxNOT_FOUND) break; + media[i]->history.Add(value.Left(pos)); + media[i]->control->Append(value.Left(pos)); + value = value.Mid(pos + 2); + } if ((media[i] == m_cartA) || (media[i] == m_cartB)) { ++hist; wxString types; config.GetParameter(typeID[hist], types); - do { - pos = types.Find(wxT("::")); - if (pos != -1) { - media[i]->typehistory.Add(types.Left(pos)); - types = types.Mid(pos + 2); - } - } while (pos != -1); + while (true) { + int pos = types.Find(wxT("::")); + if (pos == wxNOT_FOUND) break; + media[i]->typehistory.Add(types.Left(pos)); + types = types.Mid(pos + 2); + } while (media[i]->typehistory.GetCount() < media[i]->history.GetCount()) { media[i]->typehistory.Add(wxT("auto")); } @@ -1069,7 +1066,7 @@ void SessionPage::RestoreHistory() temp.Replace(wxT("_"), wxT(" "), true); temp.Replace(wxT("\""), wxT(""), true); int pos = m_machineList->FindString(temp); - if (pos != -1) { + if (pos != wxNOT_FOUND) { m_machineList->SetSelection(pos); } else { m_machineList->SetSelection(0); @@ -1079,17 +1076,16 @@ void SessionPage::RestoreHistory() wxString value; config.GetParameter(ConfigurationData::CD_USEDEXTENSIONS, value); m_usedExtensions = value; - do { - pos = value.Find(wxT("::")); - if (pos != -1) { - wxString temp = value.Left(pos); - temp.Replace(wxT("_"), wxT(" "), true); - if (m_extensionList->FindString(temp) != -1) { - m_extensionList->SetStringSelection(temp); - } - value = value.Mid(pos + 2); + while (true) { + int pos = value.Find(wxT("::")); + if (pos == wxNOT_FOUND) break; + wxString temp = value.Left(pos); + temp.Replace(wxT("_"), wxT(" "), true); + if (m_extensionList->FindString(temp) != wxNOT_FOUND) { + m_extensionList->SetStringSelection(temp); } - } while (pos != -1); + value = value.Mid(pos + 2); + } } void SessionPage::SaveHistory() diff --git a/src/openMSXController.cpp b/src/openMSXController.cpp index e3f2997..a3bceb7 100644 --- a/src/openMSXController.cpp +++ b/src/openMSXController.cpp @@ -169,7 +169,7 @@ void openMSXController::HandleParsedOutput(wxCommandEvent& event) wxString lastcmd = PeekPendingCommand(); bool eject = false; int space = lastcmd.Find(' ', false); - if ((space != -1) && (space != (int)lastcmd.Len() - 1)) { + if ((space != wxNOT_FOUND) && (space != (int)lastcmd.Len() - 1)) { eject = true; } if ((lastcmd.Mid(0, data->name.Len() + 1) != (data->name + wxT(" "))) || @@ -417,11 +417,11 @@ bool openMSXController::SetupOpenMSXParameters(wxString version) wxString temp = version; if (version.StartsWith(wxT("openMSX "))) { int pos = version.Find('.'); - if (pos != -1) { + if (pos != wxNOT_FOUND) { temp.Mid(8, pos - 8).ToLong(&majver); temp = temp.Mid(pos + 1); pos = temp.Find('.'); - if (pos != -1) { + if (pos != wxNOT_FOUND) { temp.Mid(0, pos).ToLong(&minver); temp.Mid(pos + 1).ToLong(&subver); ver = (((majver * 100) + minver) * 100) + subver; @@ -583,7 +583,7 @@ void openMSXController::executeLaunch(wxCommandEvent* event, int startLine) ++recvStep; instruction = m_launchScript[recvStep].command; } - if ((recvLoop == -1) && (instruction.Find(wxT("*")) != -1)) { + if ((recvLoop == -1) && instruction.Contains(wxT("*"))) { recvLoop = 0; } wxArrayString tokens; @@ -646,7 +646,7 @@ void openMSXController::executeLaunch(wxCommandEvent* event, int startLine) while (!wait && (sendStep < int(m_launchScript.size()))) { wxString instruction = m_launchScript[sendStep].command; - if ((sendLoop == -1) && (instruction.Find(wxT("*")) != -1)) { + if ((sendLoop == -1) && instruction.Contains(wxT("*"))) { sendLoop = 0; } wxArrayString tokens; @@ -717,15 +717,14 @@ size_t openMSXController::tokenize( wxString openMSXController::translate(wxArrayString tokens, int loop, wxString lastdata) { - for (unsigned token = 0; token < tokens.GetCount(); ++token) { - if (tokens[token].Find(wxT("*")) != -1) { - if (loop != -1) { - wxArrayString lastvalues; - tokenize(lastdata, wxT("\n"), lastvalues); - if (loop < (int)lastvalues.GetCount()) { - tokens[token].Replace(wxT("*"), lastvalues[loop], true); - tokens[token].Replace(wxT(" "), wxT("\\ "), true); - } + if (loop != -1) { + for (auto& token : tokens) { + if (!token.Contains(wxT("*"))) continue; + wxArrayString lastvalues; + tokenize(lastdata, wxT("\n"), lastvalues); + if (loop < (int)lastvalues.GetCount()) { + token.Replace(wxT("*"), lastvalues[loop], true); + token.Replace(wxT(" "), wxT("\\ "), true); } } } @@ -991,7 +990,7 @@ int openMSXController::FillRangeComboBox(wxString setting, wxString data) long max; wxString range; int pos = data.Find(' '); - if (pos != -1) { + if (pos != wxNOT_FOUND) { data.Left(pos).ToLong(&min); data.Mid(pos + 1).ToLong(&max); for (long index = min; index <= max; ++index) { @@ -1005,7 +1004,7 @@ int openMSXController::FillRangeComboBox(wxString setting, wxString data) int openMSXController::EnableFirmware(wxString cmd, wxString data) { if ((data != wxT("0")) || cmd.StartsWith(wxT("set "))) { - if (cmd.Find(wxT("frontswitch")) != -1) { + if (cmd.Contains(wxT("frontswitch"))) { m_appWindow->m_miscControlPage->EnableFirmware(wxT("frontswitch")); } else { m_appWindow->m_miscControlPage->EnableFirmware(wxT("firmwareswitch")); diff --git a/src/wxCatapultApp.cpp b/src/wxCatapultApp.cpp index 0f2ab4a..bc538a0 100644 --- a/src/wxCatapultApp.cpp +++ b/src/wxCatapultApp.cpp @@ -128,12 +128,12 @@ wxString wxCatapultApp::GetResourceDir() wxString temp = ::wxPathOnly(argv[0]); temp.Replace(wxT("/"), wxT("\\"),true); while (temp.Last() == '\\') { - temp = temp.Left(temp.Len() - 1); - } - int pos = temp.Find('\\', true); - if (pos != -1) { - temp = temp.Left(pos + 1) + wxT("resources"); - } + temp = temp.Left(temp.Len() - 1); + } + int pos = temp.Find('\\', true); + if (pos != wxNOT_FOUND) { + temp = temp.Left(pos + 1) + wxT("resources"); + } return temp; #else return RESOURCEDIR; hooks/post-receive -- wxCatapult |