From 0ce677434f5eb1ff388d0f33306b9dba9b5beaab Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 3 May 2018 13:50:52 +0200 Subject: loplugin:useuniqueptr in MQueryHelper Change-Id: Ic76213b5bfa31310d8633ac7a8db7e4cc9020710 Reviewed-on: https://gerrit.libreoffice.org/53864 Tested-by: Jenkins Reviewed-by: Noel Grandin --- connectivity/source/drivers/mork/MQueryHelper.cxx | 21 +++++++-------------- connectivity/source/drivers/mork/MQueryHelper.hxx | 4 ++-- 2 files changed, 9 insertions(+), 16 deletions(-) (limited to 'connectivity/source/drivers') diff --git a/connectivity/source/drivers/mork/MQueryHelper.cxx b/connectivity/source/drivers/mork/MQueryHelper.cxx index ffa7a2082e9a..0c0027c13733 100644 --- a/connectivity/source/drivers/mork/MQueryHelper.cxx +++ b/connectivity/source/drivers/mork/MQueryHelper.cxx @@ -88,17 +88,14 @@ void MQueryHelper::setAddressbook(OUString const &ab) m_aAddressbook = ab; } -void MQueryHelper::append(MQueryHelperResultEntry* resEnt) +void MQueryHelper::append(std::unique_ptr resEnt) { - if ( resEnt != nullptr ) { - m_aResults.push_back( resEnt ); - } + assert(resEnt); + m_aResults.push_back( std::move(resEnt) ); } void MQueryHelper::clear_results() { - for (auto const& result : m_aResults) - delete result; m_aResults.clear(); } @@ -116,7 +113,7 @@ MQueryHelper::getByIndex(sal_uInt32 nRow) if ( nRow < 1 ) { return nullptr; } - return m_aResults[nRow -1]; + return m_aResults[nRow -1].get(); } sal_Int32 MQueryHelper::getResultCount() const @@ -225,7 +222,7 @@ sal_Int32 MQueryHelper::executeQuery(OConnection* xConnection, MQueryExpression } } - MQueryHelperResultEntry* entry = new MQueryHelperResultEntry(); + std::unique_ptr entry(new MQueryHelperResultEntry()); for (auto const& cell : row.second) { std::string column = pMork->getColumn(cell.first); @@ -236,17 +233,13 @@ sal_Int32 MQueryHelper::executeQuery(OConnection* xConnection, MQueryExpression entry->setValue(key, valueOUString); } bool result = true; - for (auto const& elem : entryMatchedByExpression(this, &expr, entry)) + for (auto const& elem : entryMatchedByExpression(this, &expr, entry.get())) { result = result && elem; } if (result) { - append(entry); - } - else - { - delete entry; + append(std::move(entry)); } } } diff --git a/connectivity/source/drivers/mork/MQueryHelper.hxx b/connectivity/source/drivers/mork/MQueryHelper.hxx index 75db029ae4a7..cc240d36b0f3 100644 --- a/connectivity/source/drivers/mork/MQueryHelper.hxx +++ b/connectivity/source/drivers/mork/MQueryHelper.hxx @@ -159,11 +159,11 @@ namespace connectivity class MQueryHelper final { private: - typedef std::vector< MQueryHelperResultEntry* > resultsArray; + typedef std::vector< std::unique_ptr > resultsArray; mutable ::osl::Mutex m_aMutex; resultsArray m_aResults; - void append(MQueryHelperResultEntry* resEnt ); + void append(std::unique_ptr resEnt ); void clear_results(); OColumnAlias m_rColumnAlias; ErrorDescriptor m_aError; -- cgit