Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Side by Side Diff: xfa/fxfa/parser/xfa_locale.cpp

Issue 1925363002: Do not check pointers before deleting them. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fxfa/parser/xfa_document_layout_imp.cpp ('k') | xfa/fxfa/parser/xfa_parser_imp.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/fxfa/parser/xfa_locale.h" 7 #include "xfa/fxfa/parser/xfa_locale.h"
8 8
9 #include "core/fxcrt/include/fx_xml.h" 9 #include "core/fxcrt/include/fx_xml.h"
10 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" 10 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
11 #include "xfa/fxfa/parser/xfa_doclayout.h" 11 #include "xfa/fxfa/parser/xfa_doclayout.h"
12 #include "xfa/fxfa/parser/xfa_document.h" 12 #include "xfa/fxfa/parser/xfa_document.h"
13 #include "xfa/fxfa/parser/xfa_localemgr.h" 13 #include "xfa/fxfa/parser/xfa_localemgr.h"
14 #include "xfa/fxfa/parser/xfa_object.h" 14 #include "xfa/fxfa/parser/xfa_object.h"
15 #include "xfa/fxfa/parser/xfa_parser.h" 15 #include "xfa/fxfa/parser/xfa_parser.h"
16 #include "xfa/fxfa/parser/xfa_script.h" 16 #include "xfa/fxfa/parser/xfa_script.h"
17 #include "xfa/fxfa/parser/xfa_utils.h" 17 #include "xfa/fxfa/parser/xfa_utils.h"
18 18
19 static const FX_WCHAR g_FX_Percent[] = L"z,zzz,zzz,zzz,zzz,zzz%"; 19 static const FX_WCHAR g_FX_Percent[] = L"z,zzz,zzz,zzz,zzz,zzz%";
20 static const FX_WCHAR g_FX_Currency[] = L"$z,zzz,zzz,zzz,zzz,zz9.99"; 20 static const FX_WCHAR g_FX_Currency[] = L"$z,zzz,zzz,zzz,zzz,zz9.99";
21 static const FX_WCHAR g_FX_Decimal[] = L"z,zzz,zzz,zzz,zzz,zz9.zzz"; 21 static const FX_WCHAR g_FX_Decimal[] = L"z,zzz,zzz,zzz,zzz,zz9.zzz";
22 static const FX_WCHAR g_FX_Integer[] = L"z,zzz,zzz,zzz,zzz,zzz"; 22 static const FX_WCHAR g_FX_Integer[] = L"z,zzz,zzz,zzz,zzz,zzz";
23 23
24 CXFA_XMLLocale::CXFA_XMLLocale(CXML_Element* pLocaleData) { 24 CXFA_XMLLocale::CXFA_XMLLocale(CXML_Element* pLocaleData)
25 m_pLocaleData = pLocaleData; 25 : m_pLocaleData(pLocaleData) {}
26
27 CXFA_XMLLocale::~CXFA_XMLLocale() {
28 delete m_pLocaleData;
26 } 29 }
27 CXFA_XMLLocale::~CXFA_XMLLocale() { 30
28 if (m_pLocaleData) {
29 delete m_pLocaleData;
30 }
31 }
32 void CXFA_XMLLocale::Release() { 31 void CXFA_XMLLocale::Release() {
33 delete this; 32 delete this;
34 } 33 }
35 CFX_WideString CXFA_XMLLocale::GetName() { 34 CFX_WideString CXFA_XMLLocale::GetName() {
36 return m_pLocaleData ? m_pLocaleData->GetAttrValue("name") : CFX_WideString(); 35 return m_pLocaleData ? m_pLocaleData->GetAttrValue("name") : CFX_WideString();
37 } 36 }
38 void CXFA_XMLLocale::GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, 37 void CXFA_XMLLocale::GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
39 CFX_WideString& wsNumSymbol) const { 38 CFX_WideString& wsNumSymbol) const {
40 CFX_ByteString bsSymbols; 39 CFX_ByteString bsSymbols;
41 CFX_WideString wsName; 40 CFX_WideString wsName;
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 CXFA_Node* pNode = pCalendar->GetFirstChildByClass(eElement); 365 CXFA_Node* pNode = pCalendar->GetFirstChildByClass(eElement);
367 for (; pNode; pNode = pNode->GetNextSameClassSibling(eElement)) { 366 for (; pNode; pNode = pNode->GetNextSameClassSibling(eElement)) {
368 if (pNode->GetBoolean(XFA_ATTRIBUTE_Abbr) == bAbbr) { 367 if (pNode->GetBoolean(XFA_ATTRIBUTE_Abbr) == bAbbr) {
369 CXFA_Node* pSymbol = pNode->GetChild(index, XFA_ELEMENT_UNKNOWN); 368 CXFA_Node* pSymbol = pNode->GetChild(index, XFA_ELEMENT_UNKNOWN);
370 return pSymbol ? pSymbol->GetContent() : CFX_WideString(); 369 return pSymbol ? pSymbol->GetContent() : CFX_WideString();
371 } 370 }
372 } 371 }
373 } 372 }
374 return CFX_WideString(); 373 return CFX_WideString();
375 } 374 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_document_layout_imp.cpp ('k') | xfa/fxfa/parser/xfa_parser_imp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698