diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2013-01-08 14:41:58 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2013-01-08 14:43:58 -0600 |
| commit | 00d303eeadf23f394836ecd317eb800f0047a0bf (patch) | |
| tree | 77f86d2cbf0fc97be73c572d97f9cb1fc1cc0e09 /Source/Core | |
| parent | 815fd197d3e292e869b85c5475ff08863b04a8de (diff) | |
clean up FifoPlayerDlg::OnBeginSearch a bit
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinWX/Src/FifoPlayerDlg.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/Source/Core/DolphinWX/Src/FifoPlayerDlg.cpp b/Source/Core/DolphinWX/Src/FifoPlayerDlg.cpp index 494931f959..160aaf211a 100644 --- a/Source/Core/DolphinWX/Src/FifoPlayerDlg.cpp +++ b/Source/Core/DolphinWX/Src/FifoPlayerDlg.cpp @@ -22,9 +22,13 @@ #include "FifoPlayer/FifoPlayer.h" #include "FifoPlayer/FifoRecorder.h" #include "OpcodeDecoding.h" + #include <wx/spinctrl.h> #include <wx/clipbrd.h> +#include <algorithm> +#include <vector> + DECLARE_EVENT_TYPE(RECORDING_FINISHED_EVENT, -1) DEFINE_EVENT_TYPE(RECORDING_FINISHED_EVENT) @@ -440,26 +444,22 @@ void FifoPlayerDlg::OnBeginSearch(wxCommandEvent& event) return; } - unsigned int val_length = str_search_val.Length() / 2; - u8* search_val = new u8[val_length]; + unsigned int const val_length = str_search_val.Length() / 2; + std::vector<u8> search_val(val_length); for (unsigned int i = 0; i < val_length; ++i) { wxString char_str = str_search_val.Mid(2*i, 2); - unsigned long val; + unsigned long val = 0; if (!char_str.ToULong(&val, 16)) { m_numResultsText->SetLabel(_("Invalid search string (couldn't convert to number)")); - delete[] search_val; return; } search_val[i] = (u8)val; } search_results.clear(); - u8* start_ptr; - u8* end_ptr; - - int frame_idx = m_framesList->GetSelection(); + int const frame_idx = m_framesList->GetSelection(); FifoPlayer& player = FifoPlayer::GetInstance(); const AnalyzedFrameInfo& frame = player.GetAnalyzedFrameInfo(frame_idx); const FifoFrameInfo& fifo_frame = player.GetFile()->GetFrame(frame_idx); @@ -470,15 +470,15 @@ void FifoPlayerDlg::OnBeginSearch(wxCommandEvent& event) if (obj_idx == -1) { m_numResultsText->SetLabel(_("Invalid search parameters (no object selected)")); - delete[] search_val; return; } - start_ptr = &fifo_frame.fifoData[frame.objectStarts[obj_idx]]; - end_ptr = &fifo_frame.fifoData[frame.objectStarts[obj_idx+1]]; - for (u8* ptr = start_ptr; ptr < end_ptr-val_length+1; ++ptr) + const u8* const start_ptr = &fifo_frame.fifoData[frame.objectStarts[obj_idx]]; + const u8* const end_ptr = &fifo_frame.fifoData[frame.objectStarts[obj_idx+1]]; + + for (const u8* ptr = start_ptr; ptr < end_ptr-val_length+1; ++ptr) { - if (memcmp(ptr, search_val, val_length) == 0) + if (std::equal(search_val.begin(), search_val.end(), ptr)) { SearchResult result; result.frame_idx = frame_idx; @@ -497,7 +497,6 @@ void FifoPlayerDlg::OnBeginSearch(wxCommandEvent& event) search_results.push_back(result); } } - delete[] search_val; ChangeSearchResult(0); m_beginSearch->Disable(); |
