================ @@ -35,25 +42,29 @@ Progress::~Progress() { ReportProgress(); } -void Progress::Increment(uint64_t amount, std::string update) { +void Progress::Increment(uint64_t amount, + std::optional<std::string> updated_detail) { if (amount > 0) { std::lock_guard<std::mutex> guard(m_mutex); + if (updated_detail) + m_details = *updated_detail; // Watch out for unsigned overflow and make sure we don't increment too // much and exceed m_total. - if (amount > (m_total - m_completed)) + if (m_total && (amount > (m_total - m_completed))) m_completed = m_total; else m_completed += amount; - ReportProgress(update); + ReportProgress(); } } -void Progress::ReportProgress(std::string update) { +void Progress::ReportProgress() { if (!m_complete) { // Make sure we only send one notification that indicates the progress is - // complete. - m_complete = m_completed == m_total; - Debugger::ReportProgress(m_id, m_title, std::move(update), m_completed, - m_total, m_debugger_id); + // complete, and only modify m_complete is m_total isn't null. + if (m_total) + m_complete = m_completed == m_total; ---------------- clayborg wrote:
No need for the if statement anymore, these two lines can just be: ``` m_complete = m_completed == m_total; ``` https://github.com/llvm/llvm-project/pull/77547 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits