[Libreoffice-commits] core.git: lotuswordpro/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Sep 26 07:00:45 UTC 2018
lotuswordpro/source/filter/lwptblformula.cxx | 42 ++++++++++-----------------
lotuswordpro/source/filter/lwptblformula.hxx | 2 -
2 files changed, 18 insertions(+), 26 deletions(-)
New commits:
commit 1140eccc9f620de227efe381980ea06e0b455aed
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Sep 25 15:25:04 2018 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Sep 26 09:00:21 2018 +0200
loplugin:useuniqueptr in LwpFormulaInfo
Change-Id: Iac1f025f1311ef05fd48581d5bee9875163f4f2b
Reviewed-on: https://gerrit.libreoffice.org/60972
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/lotuswordpro/source/filter/lwptblformula.cxx b/lotuswordpro/source/filter/lwptblformula.cxx
index 4b8f56de0379..f539d16cf47d 100644
--- a/lotuswordpro/source/filter/lwptblformula.cxx
+++ b/lotuswordpro/source/filter/lwptblformula.cxx
@@ -67,6 +67,7 @@
#include <osl/thread.h>
#include <rtl/ustrbuf.hxx>
#include <sal/log.hxx>
+#include <o3tl/make_unique.hxx>
#include <memory>
LwpFormulaArg::~LwpFormulaArg()
@@ -81,19 +82,13 @@ LwpFormulaArg::~LwpFormulaArg()
LwpFormulaInfo::~LwpFormulaInfo()
{
- while(m_aStack.size()>0)
- {
- LwpFormulaArg* pArg=m_aStack.back();
- m_aStack.pop_back();
- delete pArg; pArg=nullptr;
- }
}
void LwpFormulaInfo::ReadConst()
{
double Constant = m_pObjStrm->QuickReadDouble();
- m_aStack.push_back( new LwpFormulaConst(Constant) );
+ m_aStack.push_back( o3tl::make_unique<LwpFormulaConst>(Constant) );
}
/**
@@ -112,7 +107,7 @@ void LwpFormulaInfo::ReadText()
aText += OUString(pBuf.get(), nStrLen, osl_getThreadTextEncoding());
aText += "\"";
- m_aStack.push_back(new LwpFormulaText(aText));
+ m_aStack.push_back(o3tl::make_unique<LwpFormulaText>(aText));
}
void LwpFormulaInfo::ReadCellID()
@@ -123,26 +118,24 @@ void LwpFormulaInfo::ReadCellID()
RowSpecifier.QuickRead(m_pObjStrm.get());
ColumnSpecifier.QuickRead(m_pObjStrm.get());
- m_aStack.push_back( new LwpFormulaCellAddr(ColumnSpecifier.ColumnID(cColumn),
+ m_aStack.push_back( o3tl::make_unique<LwpFormulaCellAddr>(ColumnSpecifier.ColumnID(cColumn),
RowSpecifier.RowID(m_nFormulaRow)) );
}
void LwpFormulaInfo::ReadCellRange()
{
ReadCellID( ); // start
- LwpFormulaCellAddr* pStartCellAddr = static_cast<LwpFormulaCellAddr*>(m_aStack.back());
+ std::unique_ptr<LwpFormulaCellAddr> pStartCellAddr( static_cast<LwpFormulaCellAddr*>(m_aStack.back().release()));
m_aStack.pop_back();
ReadCellID(); // end
- LwpFormulaCellAddr* pEndCellAddr = static_cast<LwpFormulaCellAddr*>(m_aStack.back());
+ std::unique_ptr<LwpFormulaCellAddr> pEndCellAddr(static_cast<LwpFormulaCellAddr*>(m_aStack.back().release()));
m_aStack.pop_back();
- m_aStack.push_back( new LwpFormulaCellRangeAddr(pStartCellAddr->GetCol(),
+ m_aStack.push_back( o3tl::make_unique<LwpFormulaCellRangeAddr>(pStartCellAddr->GetCol(),
pStartCellAddr->GetRow(),
pEndCellAddr->GetCol(),
pEndCellAddr->GetRow()) );
- delete pStartCellAddr;
- delete pEndCellAddr;
}
/**
@@ -190,7 +183,7 @@ void LwpFormulaInfo::ReadExpression()
{
std::unique_ptr<LwpFormulaFunc> xFunc(new LwpFormulaFunc(TokenType));
ReadArguments(*xFunc);
- m_aStack.push_back(xFunc.release());
+ m_aStack.push_back(std::move(xFunc));
}
break;
@@ -211,18 +204,18 @@ void LwpFormulaInfo::ReadExpression()
if (m_aStack.size() >= 2)
{//binary operator
- LwpFormulaOp* pOp = new LwpFormulaOp(TokenType);
- pOp->AddArg(std::unique_ptr<LwpFormulaArg>(m_aStack.back())); m_aStack.pop_back();
- pOp->AddArg(std::unique_ptr<LwpFormulaArg>(m_aStack.back())); m_aStack.pop_back();
- m_aStack.push_back(pOp);
+ std::unique_ptr<LwpFormulaOp> pOp(new LwpFormulaOp(TokenType));
+ pOp->AddArg(std::move(m_aStack.back())); m_aStack.pop_back();
+ pOp->AddArg(std::move(m_aStack.back())); m_aStack.pop_back();
+ m_aStack.push_back(std::move(pOp));
}
break;
case TK_UNARY_MINUS:
if (!m_aStack.empty())
{
- LwpFormulaUnaryOp* pOp = new LwpFormulaUnaryOp(TokenType);
- pOp->AddArg(std::unique_ptr<LwpFormulaArg>(m_aStack.back())); m_aStack.pop_back();
- m_aStack.push_back(pOp);
+ std::unique_ptr<LwpFormulaUnaryOp> pOp(new LwpFormulaUnaryOp(TokenType));
+ pOp->AddArg(std::move(m_aStack.back())); m_aStack.pop_back();
+ m_aStack.push_back(std::move(pOp));
}
break;
default:
@@ -293,7 +286,7 @@ void LwpFormulaInfo::ReadArguments(LwpFormulaFunc& aFunc)
if (bArgument && !m_aStack.empty())
{
- aFunc.AddArg(std::unique_ptr<LwpFormulaArg>(m_aStack.back()));
+ aFunc.AddArg(std::move(m_aStack.back()));
m_aStack.pop_back();
}
}
@@ -333,8 +326,7 @@ OUString LwpFormulaInfo::Convert(LwpTableLayout* pCellsMap)
{
if(1==m_aStack.size())
{
- LwpFormulaArg* pFormula = m_aStack.back();
- aFormula = pFormula->ToString(pCellsMap);
+ aFormula = m_aStack[0]->ToString(pCellsMap);
}
else
{
diff --git a/lotuswordpro/source/filter/lwptblformula.hxx b/lotuswordpro/source/filter/lwptblformula.hxx
index 2320c18fa736..8c4a8979a7db 100644
--- a/lotuswordpro/source/filter/lwptblformula.hxx
+++ b/lotuswordpro/source/filter/lwptblformula.hxx
@@ -209,7 +209,7 @@ private:
void ReadConst();
void MarkUnsupported(sal_uInt16 TokenType);
- std::vector<LwpFormulaArg*> m_aStack;
+ std::vector<std::unique_ptr<LwpFormulaArg>> m_aStack;
sal_uInt16 m_nFormulaRow;
};
More information about the Libreoffice-commits
mailing list