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

Side by Side Diff: xfa/fde/xml/fde_xml_imp.cpp

Issue 1830323006: Remove FX_DWORD from XFA. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 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/fde/tto/fde_textout.cpp ('k') | xfa/fee/fde_txtedtengine.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/fde/xml/fde_xml_imp.h" 7 #include "xfa/fde/xml/fde_xml_imp.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 m_ws1(), 1095 m_ws1(),
1096 m_ws2() { 1096 m_ws2() {
1097 m_NodeStack.Push(m_pParent); 1097 m_NodeStack.Push(m_pParent);
1098 } 1098 }
1099 CFDE_XMLDOMParser::~CFDE_XMLDOMParser() { 1099 CFDE_XMLDOMParser::~CFDE_XMLDOMParser() {
1100 m_NodeStack.RemoveAll(); 1100 m_NodeStack.RemoveAll();
1101 m_ws1.Empty(); 1101 m_ws1.Empty();
1102 m_ws2.Empty(); 1102 m_ws2.Empty();
1103 } 1103 }
1104 int32_t CFDE_XMLDOMParser::DoParser(IFX_Pause* pPause) { 1104 int32_t CFDE_XMLDOMParser::DoParser(IFX_Pause* pPause) {
1105 FX_DWORD dwRet; 1105 uint32_t dwRet;
1106 int32_t iCount = 0; 1106 int32_t iCount = 0;
1107 while (TRUE) { 1107 while (TRUE) {
1108 dwRet = m_pParser->DoSyntaxParse(); 1108 dwRet = m_pParser->DoSyntaxParse();
1109 switch (dwRet) { 1109 switch (dwRet) {
1110 case FDE_XMLSYNTAXSTATUS_InstructionOpen: 1110 case FDE_XMLSYNTAXSTATUS_InstructionOpen:
1111 break; 1111 break;
1112 case FDE_XMLSYNTAXSTATUS_InstructionClose: 1112 case FDE_XMLSYNTAXSTATUS_InstructionClose:
1113 if (m_pChild->GetType() != FDE_XMLNODE_Instruction) { 1113 if (m_pChild->GetType() != FDE_XMLNODE_Instruction) {
1114 dwRet = FDE_XMLSYNTAXSTATUS_Error; 1114 dwRet = FDE_XMLSYNTAXSTATUS_Error;
1115 break; 1115 break;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1213 m_TagStack(16), 1213 m_TagStack(16),
1214 m_pTagTop(NULL), 1214 m_pTagTop(NULL),
1215 m_ws1(), 1215 m_ws1(),
1216 m_ws2() {} 1216 m_ws2() {}
1217 CFDE_XMLSAXParser::~CFDE_XMLSAXParser() { 1217 CFDE_XMLSAXParser::~CFDE_XMLSAXParser() {
1218 m_TagStack.RemoveAll(); 1218 m_TagStack.RemoveAll();
1219 m_ws1.Empty(); 1219 m_ws1.Empty();
1220 m_ws2.Empty(); 1220 m_ws2.Empty();
1221 } 1221 }
1222 int32_t CFDE_XMLSAXParser::DoParser(IFX_Pause* pPause) { 1222 int32_t CFDE_XMLSAXParser::DoParser(IFX_Pause* pPause) {
1223 FX_DWORD dwRet = 0; 1223 uint32_t dwRet = 0;
1224 int32_t iCount = 0; 1224 int32_t iCount = 0;
1225 while (TRUE) { 1225 while (TRUE) {
1226 dwRet = m_pParser->DoSyntaxParse(); 1226 dwRet = m_pParser->DoSyntaxParse();
1227 switch (dwRet) { 1227 switch (dwRet) {
1228 case FDE_XMLSYNTAXSTATUS_ElementBreak: 1228 case FDE_XMLSYNTAXSTATUS_ElementBreak:
1229 if (m_pTagTop == NULL) { 1229 if (m_pTagTop == NULL) {
1230 dwRet = FDE_XMLSYNTAXSTATUS_Error; 1230 dwRet = FDE_XMLSYNTAXSTATUS_Error;
1231 break; 1231 break;
1232 } 1232 }
1233 if (m_pTagTop->eType == FDE_XMLNODE_Element) { 1233 if (m_pTagTop->eType == FDE_XMLNODE_Element) {
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
1492 m_iCurrentPos = m_pStream->GetBOM(bom); 1492 m_iCurrentPos = m_pStream->GetBOM(bom);
1493 FXSYS_assert(m_pBuffer == NULL); 1493 FXSYS_assert(m_pBuffer == NULL);
1494 m_pBuffer = FX_Alloc(FX_WCHAR, m_iXMLPlaneSize); 1494 m_pBuffer = FX_Alloc(FX_WCHAR, m_iXMLPlaneSize);
1495 m_pStart = m_pEnd = m_pBuffer; 1495 m_pStart = m_pEnd = m_pBuffer;
1496 FXSYS_assert(!m_BlockBuffer.IsInitialized()); 1496 FXSYS_assert(!m_BlockBuffer.IsInitialized());
1497 m_BlockBuffer.InitBuffer(); 1497 m_BlockBuffer.InitBuffer();
1498 m_pCurrentBlock = m_BlockBuffer.GetAvailableBlock(m_iIndexInBlock); 1498 m_pCurrentBlock = m_BlockBuffer.GetAvailableBlock(m_iIndexInBlock);
1499 m_iParsedBytes = m_iParsedChars = 0; 1499 m_iParsedBytes = m_iParsedChars = 0;
1500 m_iBufferChars = 0; 1500 m_iBufferChars = 0;
1501 } 1501 }
1502 FX_DWORD CFDE_XMLSyntaxParser::DoSyntaxParse() { 1502 uint32_t CFDE_XMLSyntaxParser::DoSyntaxParse() {
1503 if (m_dwStatus == FDE_XMLSYNTAXSTATUS_Error || 1503 if (m_dwStatus == FDE_XMLSYNTAXSTATUS_Error ||
1504 m_dwStatus == FDE_XMLSYNTAXSTATUS_EOS) { 1504 m_dwStatus == FDE_XMLSYNTAXSTATUS_EOS) {
1505 return m_dwStatus; 1505 return m_dwStatus;
1506 } 1506 }
1507 FXSYS_assert(m_pStream && m_pBuffer && m_BlockBuffer.IsInitialized()); 1507 FXSYS_assert(m_pStream && m_pBuffer && m_BlockBuffer.IsInitialized());
1508 int32_t iStreamLength = m_pStream->GetLength(); 1508 int32_t iStreamLength = m_pStream->GetLength();
1509 int32_t iPos; 1509 int32_t iPos;
1510 FX_WCHAR ch; 1510 FX_WCHAR ch;
1511 FX_DWORD dwStatus = FDE_XMLSYNTAXSTATUS_None; 1511 uint32_t dwStatus = FDE_XMLSYNTAXSTATUS_None;
1512 while (TRUE) { 1512 while (TRUE) {
1513 if (m_pStart >= m_pEnd) { 1513 if (m_pStart >= m_pEnd) {
1514 if (m_bEOS || m_iCurrentPos >= iStreamLength) { 1514 if (m_bEOS || m_iCurrentPos >= iStreamLength) {
1515 m_dwStatus = FDE_XMLSYNTAXSTATUS_EOS; 1515 m_dwStatus = FDE_XMLSYNTAXSTATUS_EOS;
1516 return m_dwStatus; 1516 return m_dwStatus;
1517 } 1517 }
1518 m_iParsedChars += (m_pEnd - m_pBuffer); 1518 m_iParsedChars += (m_pEnd - m_pBuffer);
1519 m_iParsedBytes = m_iCurrentPos; 1519 m_iParsedBytes = m_iCurrentPos;
1520 if (m_pStream->GetPosition() != m_iCurrentPos) { 1520 if (m_pStream->GetPosition() != m_iCurrentPos) {
1521 m_pStream->Seek(FX_STREAMSEEK_Begin, m_iCurrentPos); 1521 m_pStream->Seek(FX_STREAMSEEK_Begin, m_iCurrentPos);
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
1807 m_SkipStack.Push(L'>'); 1807 m_SkipStack.Push(L'>');
1808 } 1808 }
1809 break; 1809 break;
1810 case FDE_XMLSYNTAXMODE_SkipDeclNode: 1810 case FDE_XMLSYNTAXMODE_SkipDeclNode:
1811 if (m_SkipChar == L'\'' || m_SkipChar == L'\"') { 1811 if (m_SkipChar == L'\'' || m_SkipChar == L'\"') {
1812 m_pStart++; 1812 m_pStart++;
1813 if (ch != m_SkipChar) { 1813 if (ch != m_SkipChar) {
1814 break; 1814 break;
1815 } 1815 }
1816 m_SkipStack.Pop(); 1816 m_SkipStack.Pop();
1817 FX_DWORD* pDWord = m_SkipStack.GetTopElement(); 1817 uint32_t* pDWord = m_SkipStack.GetTopElement();
1818 if (pDWord == NULL) { 1818 if (pDWord == NULL) {
1819 m_dwMode = FDE_XMLSYNTAXMODE_Text; 1819 m_dwMode = FDE_XMLSYNTAXMODE_Text;
1820 } else { 1820 } else {
1821 m_SkipChar = (FX_WCHAR)*pDWord; 1821 m_SkipChar = (FX_WCHAR)*pDWord;
1822 } 1822 }
1823 } else { 1823 } else {
1824 switch (ch) { 1824 switch (ch) {
1825 case L'<': 1825 case L'<':
1826 m_SkipChar = L'>'; 1826 m_SkipChar = L'>';
1827 m_SkipStack.Push(L'>'); 1827 m_SkipStack.Push(L'>');
(...skipping 10 matching lines...) Expand all
1838 m_SkipChar = L'\''; 1838 m_SkipChar = L'\'';
1839 m_SkipStack.Push(L'\''); 1839 m_SkipStack.Push(L'\'');
1840 break; 1840 break;
1841 case L'\"': 1841 case L'\"':
1842 m_SkipChar = L'\"'; 1842 m_SkipChar = L'\"';
1843 m_SkipStack.Push(L'\"'); 1843 m_SkipStack.Push(L'\"');
1844 break; 1844 break;
1845 default: 1845 default:
1846 if (ch == m_SkipChar) { 1846 if (ch == m_SkipChar) {
1847 m_SkipStack.Pop(); 1847 m_SkipStack.Pop();
1848 FX_DWORD* pDWord = m_SkipStack.GetTopElement(); 1848 uint32_t* pDWord = m_SkipStack.GetTopElement();
1849 if (pDWord == NULL) { 1849 if (pDWord == NULL) {
1850 if (m_iDataLength >= 9) { 1850 if (m_iDataLength >= 9) {
1851 CFX_WideString wsHeader; 1851 CFX_WideString wsHeader;
1852 m_BlockBuffer.GetTextData(wsHeader, 0, 7); 1852 m_BlockBuffer.GetTextData(wsHeader, 0, 7);
1853 if (wsHeader.Equal(FX_WSTRC(L"[CDATA["))) { 1853 if (wsHeader.Equal(FX_WSTRC(L"[CDATA["))) {
1854 CFX_WideString wsTailer; 1854 CFX_WideString wsTailer;
1855 m_BlockBuffer.GetTextData(wsTailer, m_iDataLength - 2, 1855 m_BlockBuffer.GetTextData(wsTailer, m_iDataLength - 2,
1856 2); 1856 2);
1857 if (wsTailer.Equal(FX_WSTRC(L"]]"))) { 1857 if (wsTailer.Equal(FX_WSTRC(L"]]"))) {
1858 m_BlockBuffer.DeleteTextChars(7, TRUE); 1858 m_BlockBuffer.DeleteTextChars(7, TRUE);
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
1986 } 1986 }
1987 if (m_dwStatus == FDE_XMLSYNTAXSTATUS_Error) { 1987 if (m_dwStatus == FDE_XMLSYNTAXSTATUS_Error) {
1988 return -1; 1988 return -1;
1989 } 1989 }
1990 if (m_dwStatus == FDE_XMLSYNTAXSTATUS_EOS) { 1990 if (m_dwStatus == FDE_XMLSYNTAXSTATUS_EOS) {
1991 return 100; 1991 return 100;
1992 } 1992 }
1993 return m_iParsedBytes * 100 / iStreamLength; 1993 return m_iParsedBytes * 100 / iStreamLength;
1994 } 1994 }
1995 static int32_t FX_GetUTF8EncodeLength(const FX_WCHAR* pSrc, int32_t iSrcLen) { 1995 static int32_t FX_GetUTF8EncodeLength(const FX_WCHAR* pSrc, int32_t iSrcLen) {
1996 FX_DWORD unicode = 0; 1996 uint32_t unicode = 0;
1997 int32_t iDstNum = 0; 1997 int32_t iDstNum = 0;
1998 while (iSrcLen-- > 0) { 1998 while (iSrcLen-- > 0) {
1999 unicode = *pSrc++; 1999 unicode = *pSrc++;
2000 int nbytes = 0; 2000 int nbytes = 0;
2001 if ((FX_DWORD)unicode < 0x80) { 2001 if ((uint32_t)unicode < 0x80) {
2002 nbytes = 1; 2002 nbytes = 1;
2003 } else if ((FX_DWORD)unicode < 0x800) { 2003 } else if ((uint32_t)unicode < 0x800) {
2004 nbytes = 2; 2004 nbytes = 2;
2005 } else if ((FX_DWORD)unicode < 0x10000) { 2005 } else if ((uint32_t)unicode < 0x10000) {
2006 nbytes = 3; 2006 nbytes = 3;
2007 } else if ((FX_DWORD)unicode < 0x200000) { 2007 } else if ((uint32_t)unicode < 0x200000) {
2008 nbytes = 4; 2008 nbytes = 4;
2009 } else if ((FX_DWORD)unicode < 0x4000000) { 2009 } else if ((uint32_t)unicode < 0x4000000) {
2010 nbytes = 5; 2010 nbytes = 5;
2011 } else { 2011 } else {
2012 nbytes = 6; 2012 nbytes = 6;
2013 } 2013 }
2014 iDstNum += nbytes; 2014 iDstNum += nbytes;
2015 } 2015 }
2016 return iDstNum; 2016 return iDstNum;
2017 } 2017 }
2018 FX_FILESIZE CFDE_XMLSyntaxParser::GetCurrentBinaryPos() const { 2018 FX_FILESIZE CFDE_XMLSyntaxParser::GetCurrentBinaryPos() const {
2019 if (m_pStream == NULL) { 2019 if (m_pStream == NULL) {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
2090 m_BlockBuffer.DeleteTextChars(m_iDataLength - m_iEntityStart, FALSE); 2090 m_BlockBuffer.DeleteTextChars(m_iDataLength - m_iEntityStart, FALSE);
2091 m_pCurrentBlock = m_BlockBuffer.GetAvailableBlock(m_iIndexInBlock); 2091 m_pCurrentBlock = m_BlockBuffer.GetAvailableBlock(m_iIndexInBlock);
2092 m_iEntityStart = -1; 2092 m_iEntityStart = -1;
2093 } else { 2093 } else {
2094 if (m_iEntityStart < 0 && ch == L'&') { 2094 if (m_iEntityStart < 0 && ch == L'&') {
2095 m_iEntityStart = m_iDataLength - 1; 2095 m_iEntityStart = m_iDataLength - 1;
2096 } 2096 }
2097 } 2097 }
2098 m_pStart++; 2098 m_pStart++;
2099 } 2099 }
OLDNEW
« no previous file with comments | « xfa/fde/tto/fde_textout.cpp ('k') | xfa/fee/fde_txtedtengine.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698