Chromium Code Reviews| Index: xfa/fxfa/fm2js/xfa_program.cpp |
| diff --git a/xfa/fxfa/fm2js/xfa_program.cpp b/xfa/fxfa/fm2js/xfa_program.cpp |
| index 5146a5e1296b807e67fbb4af4a9e6c2ec3ed9d86..aa7cad3f56bdb625c20793a73dbeaf1a7fc413ce 100644 |
| --- a/xfa/fxfa/fm2js/xfa_program.cpp |
| +++ b/xfa/fxfa/fm2js/xfa_program.cpp |
| @@ -6,6 +6,11 @@ |
| #include "xfa/fxfa/fm2js/xfa_program.h" |
| +#include <utility> |
| +#include <vector> |
| + |
| +#include "third_party/base/ptr_util.h" |
| + |
| CXFA_FMProgram::CXFA_FMProgram() {} |
| CXFA_FMProgram::~CXFA_FMProgram() {} |
| @@ -15,21 +20,17 @@ int32_t CXFA_FMProgram::Init(const CFX_WideStringC& wsFormcalc) { |
| } |
| int32_t CXFA_FMProgram::ParseProgram() { |
| - CFX_ArrayTemplate<CXFA_FMExpression*>* expressions = nullptr; |
| m_parse.NextToken(); |
| if (!m_pErrorInfo.message.IsEmpty()) { |
|
Tom Sepez
2016/11/28 18:09:12
nit: no {}
npm
2016/11/28 20:04:39
Done.
|
| return -1; |
| } |
| - expressions = m_parse.ParseTopExpression(); |
| - if (!m_pErrorInfo.message.IsEmpty()) { |
| - for (int32_t u = 0; u < expressions->GetSize(); ++u) |
| - delete expressions->GetAt(u); |
| - |
| - delete expressions; |
| + std::vector<std::unique_ptr<CXFA_FMExpression>> expressions = |
| + m_parse.ParseTopExpression(); |
| + if (!m_pErrorInfo.message.IsEmpty()) |
| return -1; |
| - } |
| - m_globalFunction.reset( |
| - new CXFA_FMFunctionDefinition(1, 1, FX_WSTRC(L""), nullptr, expressions)); |
| + |
| + m_globalFunction = pdfium::MakeUnique<CXFA_FMFunctionDefinition>( |
| + 1, true, FX_WSTRC(L""), nullptr, std::move(expressions)); |
|
Tom Sepez
2016/11/28 18:09:12
nit: I think you can just pass L"" here, the ctor
npm
2016/11/28 20:04:39
Done.
|
| return 0; |
| } |