summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-05-03 13:50:52 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-05-07 08:31:04 +0200
commit0ce677434f5eb1ff388d0f33306b9dba9b5beaab (patch)
tree4fc2890f9fed03d360e36e4f0aad1ff695d03e13 /connectivity
parent7baed0c028df4b5215557e8410467277d068021b (diff)
loplugin:useuniqueptr in MQueryHelper
Change-Id: Ic76213b5bfa31310d8633ac7a8db7e4cc9020710 Reviewed-on: https://gerrit.libreoffice.org/53864 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/mork/MQueryHelper.cxx21
-rw-r--r--connectivity/source/drivers/mork/MQueryHelper.hxx4
2 files changed, 9 insertions, 16 deletions
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<MQueryHelperResultEntry> 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<MQueryHelperResultEntry> 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<MQueryHelperResultEntry> > resultsArray;
mutable ::osl::Mutex m_aMutex;
resultsArray m_aResults;
- void append(MQueryHelperResultEntry* resEnt );
+ void append(std::unique_ptr<MQueryHelperResultEntry> resEnt );
void clear_results();
OColumnAlias m_rColumnAlias;
ErrorDescriptor m_aError;