diff options
Diffstat (limited to 'xfa')
28 files changed, 134 insertions, 318 deletions
diff --git a/xfa/fde/cfde_txtedtpage.cpp b/xfa/fde/cfde_txtedtpage.cpp index 3af29f26cd..a31997fc65 100644 --- a/xfa/fde/cfde_txtedtpage.cpp +++ b/xfa/fde/cfde_txtedtpage.cpp @@ -30,6 +30,7 @@ IFDE_TxtEdtPage* IFDE_TxtEdtPage::Create(CFDE_TxtEdtEngine* pEngine, CFDE_TxtEdtPage::CFDE_TxtEdtPage(CFDE_TxtEdtEngine* pEngine, int32_t nPageIndex) : m_pTextSet(nullptr), + m_PieceMassArr(100), m_pBgnParag(nullptr), m_pEndParag(nullptr), m_nRefCount(0), @@ -446,7 +447,7 @@ void CFDE_TxtEdtPage::UnloadPage(const CFX_RectF* pClipBox) { if (m_nRefCount != 0) return; - m_PieceMassArr.RemoveAll(); + m_PieceMassArr.RemoveAll(FALSE); delete m_pTextSet; m_pTextSet = nullptr; delete[] m_pCharWidth; diff --git a/xfa/fde/css/fde_css.h b/xfa/fde/css/fde_css.h index a0ede3d9f7..74a0ef609a 100644 --- a/xfa/fde/css/fde_css.h +++ b/xfa/fde/css/fde_css.h @@ -718,8 +718,6 @@ class IFDE_CSSRule { virtual FDE_CSSRULETYPE GetType() const = 0; }; -typedef CFX_MassArrayTemplate<IFDE_CSSRule*> CFDE_CSSRuleArray; - class IFDE_CSSStyleRule : public IFDE_CSSRule { public: // IFDE_CSSValue diff --git a/xfa/fde/css/fde_csscache.cpp b/xfa/fde/css/fde_csscache.cpp index a355a43c61..2343c993a2 100644 --- a/xfa/fde/css/fde_csscache.cpp +++ b/xfa/fde/css/fde_csscache.cpp @@ -53,12 +53,12 @@ FDE_CSSTagCache::FDE_CSSTagCache(const FDE_CSSTagCache& it) iClassIndex(0), dwClassHashs(1) { if (it.dwClassHashs.GetSize() > 0) - dwClassHashs.Copy(it.dwClassHashs); + dwClassHashs.Copy(it.dwClassHashs, 0, -1); } FDE_CSSTagCache::~FDE_CSSTagCache() {} -CFDE_CSSAccelerator::CFDE_CSSAccelerator() {} +CFDE_CSSAccelerator::CFDE_CSSAccelerator() : m_Stack(100) {} CFDE_CSSAccelerator::~CFDE_CSSAccelerator() {} diff --git a/xfa/fde/css/fde_csscache.h b/xfa/fde/css/fde_csscache.h index bab86ea880..8f4f2a78c7 100644 --- a/xfa/fde/css/fde_csscache.h +++ b/xfa/fde/css/fde_csscache.h @@ -49,7 +49,6 @@ class FDE_CSSTagCache : public CFX_Target { int32_t iClassIndex; CFX_BaseArrayTemplate<uint32_t> dwClassHashs; }; -typedef CFX_ObjectStackTemplate<FDE_CSSTagCache> CFDE_CSSTagStack; class CFDE_CSSAccelerator : public CFX_Target { public: @@ -59,12 +58,12 @@ class CFDE_CSSAccelerator : public CFX_Target { void OnEnterTag(CXFA_CSSTagProvider* pTag); void OnLeaveTag(CXFA_CSSTagProvider* pTag); - void Clear() { m_Stack.RemoveAll(); } + void Clear() { m_Stack.RemoveAll(FALSE); } FDE_CSSTagCache* GetTopElement() const { return m_Stack.GetTopElement(); } protected: - CFDE_CSSTagStack m_Stack; + CFX_ObjectStackTemplate<FDE_CSSTagCache> m_Stack; }; #endif // XFA_FDE_CSS_FDE_CSSCACHE_H_ diff --git a/xfa/fde/css/fde_cssstylesheet.cpp b/xfa/fde/css/fde_cssstylesheet.cpp index 87137c4259..99beab8cf6 100644 --- a/xfa/fde/css/fde_cssstylesheet.cpp +++ b/xfa/fde/css/fde_cssstylesheet.cpp @@ -78,7 +78,8 @@ CFDE_CSSStyleSheet::CFDE_CSSStyleSheet(uint32_t dwMediaList) : m_wCodePage(FX_CODEPAGE_UTF8), m_wRefCount(1), m_dwMediaList(dwMediaList), - m_pAllocator(nullptr) { + m_pAllocator(nullptr), + m_RuleArray(100) { ASSERT(m_dwMediaList > 0); } @@ -104,7 +105,7 @@ void CFDE_CSSStyleSheet::Reset() { break; } } - m_RuleArray.RemoveAll(); + m_RuleArray.RemoveAll(FALSE); m_Selectors.RemoveAll(); m_StringCache.clear(); delete m_pAllocator; @@ -241,7 +242,7 @@ FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadMediaRule( FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadStyleRule( CFDE_CSSSyntaxParser* pSyntax, - CFDE_CSSRuleArray& ruleArray) { + CFX_MassArrayTemplate<IFDE_CSSRule*>& ruleArray) { m_Selectors.RemoveAt(0, m_Selectors.GetSize()); CFDE_CSSStyleRule* pStyleRule = nullptr; const FX_WCHAR* pszValue = nullptr; @@ -306,7 +307,7 @@ FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadStyleRule( FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadFontFaceRule( CFDE_CSSSyntaxParser* pSyntax, - CFDE_CSSRuleArray& ruleArray) { + CFX_MassArrayTemplate<IFDE_CSSRule*>& ruleArray) { CFDE_CSSFontFaceRule* pFontFaceRule = nullptr; const FX_WCHAR* pszValue = nullptr; int32_t iValueLen = 0; @@ -392,8 +393,9 @@ CFDE_CSSDeclaration* CFDE_CSSStyleRule::GetDeclaration() { return &m_Declaration; } -void CFDE_CSSStyleRule::SetSelector(IFX_MemoryAllocator* pStaticStore, - const CFDE_CSSSelectorArray& list) { +void CFDE_CSSStyleRule::SetSelector( + IFX_MemoryAllocator* pStaticStore, + const CFX_ArrayTemplate<CFDE_CSSSelector*>& list) { ASSERT(!m_ppSelector); m_iSelectors = list.GetSize(); m_ppSelector = static_cast<CFDE_CSSSelector**>( @@ -404,7 +406,7 @@ void CFDE_CSSStyleRule::SetSelector(IFX_MemoryAllocator* pStaticStore, } CFDE_CSSMediaRule::CFDE_CSSMediaRule(uint32_t dwMediaList) - : m_dwMediaList(dwMediaList) {} + : m_dwMediaList(dwMediaList), m_RuleArray(100) {} CFDE_CSSMediaRule::~CFDE_CSSMediaRule() { for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) { diff --git a/xfa/fde/css/fde_cssstylesheet.h b/xfa/fde/css/fde_cssstylesheet.h index 83eac993e7..d4781f8a8d 100644 --- a/xfa/fde/css/fde_cssstylesheet.h +++ b/xfa/fde/css/fde_cssstylesheet.h @@ -39,8 +39,6 @@ class CFDE_CSSSelector : public CFX_Target { CFDE_CSSSelector* m_pNext; }; -typedef CFX_ArrayTemplate<CFDE_CSSSelector*> CFDE_CSSSelectorArray; - class CFDE_CSSStyleRule : public IFDE_CSSStyleRule, public CFX_Target { public: CFDE_CSSStyleRule(); @@ -52,7 +50,7 @@ class CFDE_CSSStyleRule : public IFDE_CSSStyleRule, public CFX_Target { CFDE_CSSDeclaration& GetDeclImp() { return m_Declaration; } void SetSelector(IFX_MemoryAllocator* pStaticStore, - const CFDE_CSSSelectorArray& list); + const CFX_ArrayTemplate<CFDE_CSSSelector*>& list); protected: CFDE_CSSDeclaration m_Declaration; @@ -70,11 +68,11 @@ class CFDE_CSSMediaRule : public IFDE_CSSMediaRule, public CFX_Target { int32_t CountRules() const override; IFDE_CSSRule* GetRule(int32_t index) override; - CFDE_CSSRuleArray& GetArray() { return m_RuleArray; } + CFX_MassArrayTemplate<IFDE_CSSRule*>& GetArray() { return m_RuleArray; } protected: uint32_t m_dwMediaList; - CFDE_CSSRuleArray m_RuleArray; + CFX_MassArrayTemplate<IFDE_CSSRule*> m_RuleArray; }; class CFDE_CSSFontFaceRule : public IFDE_CSSFontFaceRule, public CFX_Target { @@ -122,21 +120,23 @@ class CFDE_CSSStyleSheet : public IFDE_CSSStyleSheet, public CFX_Target { protected: void Reset(); FX_BOOL LoadFromSyntax(CFDE_CSSSyntaxParser* pSyntax); - FDE_CSSSYNTAXSTATUS LoadStyleRule(CFDE_CSSSyntaxParser* pSyntax, - CFDE_CSSRuleArray& ruleArray); + FDE_CSSSYNTAXSTATUS LoadStyleRule( + CFDE_CSSSyntaxParser* pSyntax, + CFX_MassArrayTemplate<IFDE_CSSRule*>& ruleArray); FDE_CSSSYNTAXSTATUS LoadImportRule(CFDE_CSSSyntaxParser* pSyntax); FDE_CSSSYNTAXSTATUS LoadPageRule(CFDE_CSSSyntaxParser* pSyntax); FDE_CSSSYNTAXSTATUS LoadMediaRule(CFDE_CSSSyntaxParser* pSyntax); - FDE_CSSSYNTAXSTATUS LoadFontFaceRule(CFDE_CSSSyntaxParser* pSyntax, - CFDE_CSSRuleArray& ruleArray); + FDE_CSSSYNTAXSTATUS LoadFontFaceRule( + CFDE_CSSSyntaxParser* pSyntax, + CFX_MassArrayTemplate<IFDE_CSSRule*>& ruleArray); FDE_CSSSYNTAXSTATUS SkipRuleSet(CFDE_CSSSyntaxParser* pSyntax); uint16_t m_wCodePage; uint16_t m_wRefCount; uint32_t m_dwMediaList; IFX_MemoryAllocator* m_pAllocator; - CFDE_CSSRuleArray m_RuleArray; + CFX_MassArrayTemplate<IFDE_CSSRule*> m_RuleArray; CFX_WideString m_szUrl; - CFDE_CSSSelectorArray m_Selectors; + CFX_ArrayTemplate<CFDE_CSSSelector*> m_Selectors; std::unordered_map<uint32_t, FX_WCHAR*> m_StringCache; }; diff --git a/xfa/fde/css/fde_csssyntax.cpp b/xfa/fde/css/fde_csssyntax.cpp index 4595396c13..c2b0265a6e 100644 --- a/xfa/fde/css/fde_csssyntax.cpp +++ b/xfa/fde/css/fde_csssyntax.cpp @@ -25,11 +25,14 @@ CFDE_CSSSyntaxParser::CFDE_CSSSyntaxParser() m_iTextDatLen(0), m_dwCheck((uint32_t)-1), m_eMode(FDE_CSSSYNTAXMODE_RuleSet), - m_eStatus(FDE_CSSSYNTAXSTATUS_None) {} + m_eStatus(FDE_CSSSYNTAXSTATUS_None), + m_ModeStack(100) {} + CFDE_CSSSyntaxParser::~CFDE_CSSSyntaxParser() { m_TextData.Reset(); m_TextPlane.Reset(); } + FX_BOOL CFDE_CSSSyntaxParser::Init(IFX_Stream* pStream, int32_t iCSSPlaneSize, int32_t iTextDataSize, diff --git a/xfa/fde/fde_iterator.cpp b/xfa/fde/fde_iterator.cpp index 6e8ca0061a..a51b8ad90a 100644 --- a/xfa/fde/fde_iterator.cpp +++ b/xfa/fde/fde_iterator.cpp @@ -8,16 +8,17 @@ #include "xfa/fgas/crt/fgas_utils.h" -CFDE_VisualSetIterator::CFDE_VisualSetIterator() : m_dwFilter(0) {} +CFDE_VisualSetIterator::CFDE_VisualSetIterator() + : m_dwFilter(0), m_CanvasStack(100) {} CFDE_VisualSetIterator::~CFDE_VisualSetIterator() { - m_CanvasStack.RemoveAll(); + m_CanvasStack.RemoveAll(FALSE); } FX_BOOL CFDE_VisualSetIterator::AttachCanvas(IFDE_CanvasSet* pCanvas) { ASSERT(pCanvas); - m_CanvasStack.RemoveAll(); + m_CanvasStack.RemoveAll(FALSE); FDE_CANVASITEM canvas; canvas.hCanvas = nullptr; canvas.pCanvas = pCanvas; diff --git a/xfa/fde/tto/fde_textout.cpp b/xfa/fde/tto/fde_textout.cpp index b0c4bdd234..a29a420216 100644 --- a/xfa/fde/tto/fde_textout.cpp +++ b/xfa/fde/tto/fde_textout.cpp @@ -51,7 +51,7 @@ CFDE_TextOut::~CFDE_TextOut() { FX_Free(m_pCharWidths); FX_Free(m_pEllCharWidths); FX_Free(m_pCharPos); - m_ttoLines.RemoveAll(); + m_ttoLines.RemoveAll(FALSE); } void CFDE_TextOut::SetFont(CFGAS_GEFont* pFont) { ASSERT(pFont); @@ -907,7 +907,7 @@ CFDE_TTOLine::CFDE_TTOLine() CFDE_TTOLine::CFDE_TTOLine(const CFDE_TTOLine& ttoLine) : m_pieces(5) { m_bNewReload = ttoLine.m_bNewReload; m_iPieceCount = ttoLine.m_iPieceCount; - m_pieces.Copy(ttoLine.m_pieces); + m_pieces.Copy(ttoLine.m_pieces, 0, -1); } CFDE_TTOLine::~CFDE_TTOLine() {} diff --git a/xfa/fde/xml/fde_xml_imp.cpp b/xfa/fde/xml/fde_xml_imp.cpp index da7e0a2fca..4c6dcf989c 100644 --- a/xfa/fde/xml/fde_xml_imp.cpp +++ b/xfa/fde/xml/fde_xml_imp.cpp @@ -625,7 +625,7 @@ FX_FLOAT CFDE_XMLInstruction::GetFloat(const FX_WCHAR* pwsAttriName, int32_t iCount = m_Attributes.GetSize(); for (int32_t i = 0; i < iCount; i += 2) { if (m_Attributes[i].Compare(pwsAttriName) == 0) { - return FX_wcstof(m_Attributes[i + 1].c_str()); + return FX_wcstof(m_Attributes[i + 1].c_str(), -1, nullptr); } } return fDefValue; @@ -841,7 +841,7 @@ FX_FLOAT CFDE_XMLElement::GetFloat(const FX_WCHAR* pwsAttriName, int32_t iCount = m_Attributes.GetSize(); for (int32_t i = 0; i < iCount; i += 2) { if (m_Attributes[i].Compare(pwsAttriName) == 0) { - return FX_wcstof(m_Attributes[i + 1].c_str()); + return FX_wcstof(m_Attributes[i + 1].c_str(), -1, nullptr); } } return fDefValue; diff --git a/xfa/fde/xml/fde_xml_imp.h b/xfa/fde/xml/fde_xml_imp.h index 2667a106b7..b7892d6ff4 100644 --- a/xfa/fde/xml/fde_xml_imp.h +++ b/xfa/fde/xml/fde_xml_imp.h @@ -344,7 +344,7 @@ class CFDE_XMLSyntaxParser : public CFX_Target { FDE_XmlSyntaxState m_syntaxParserState; FX_WCHAR m_wQuotationMark; int32_t m_iEntityStart; - CFX_DWordStack m_SkipStack; + CFX_StackTemplate<uint32_t> m_SkipStack; FX_WCHAR m_SkipChar; }; diff --git a/xfa/fgas/crt/fgas_codepage.cpp b/xfa/fgas/crt/fgas_codepage.cpp index 834056eddd..57f3e1e322 100644 --- a/xfa/fgas/crt/fgas_codepage.cpp +++ b/xfa/fgas/crt/fgas_codepage.cpp @@ -35,16 +35,6 @@ const FX_CHARSET_MAP g_FXCharset2CodePageTable[] = { {255, 850}, }; -const FX_CHARSET_MAP g_FXCodepage2CharsetTable[] = { - {1, 0}, {2, 42}, {254, 437}, {255, 850}, {222, 874}, - {128, 932}, {134, 936}, {129, 949}, {136, 950}, {238, 1250}, - {204, 1251}, {0, 1252}, {161, 1253}, {162, 1254}, {177, 1255}, - {178, 1256}, {186, 1257}, {163, 1258}, {130, 1361}, {77, 10000}, - {78, 10001}, {79, 10003}, {80, 10008}, {81, 10002}, {83, 10005}, - {84, 10004}, {85, 10006}, {86, 10081}, {87, 10021}, {88, 10029}, - {89, 10007}, -}; - const FX_LANG2CPMAP g_FXLang2CodepageTable[] = { {FX_LANG_Arabic_SaudiArabia, FX_CODEPAGE_MSWin_Arabic}, {FX_LANG_Bulgarian_Bulgaria, FX_CODEPAGE_MSWin_Cyrillic}, @@ -317,24 +307,6 @@ uint16_t FX_GetCodePageFromCharset(uint8_t charset) { return 0xFFFF; } -uint16_t FX_GetCharsetFromCodePage(uint16_t codepage) { - int32_t iEnd = sizeof(g_FXCodepage2CharsetTable) / sizeof(FX_CHARSET_MAP) - 1; - ASSERT(iEnd >= 0); - int32_t iStart = 0, iMid; - do { - iMid = (iStart + iEnd) / 2; - const FX_CHARSET_MAP& cp = g_FXCodepage2CharsetTable[iMid]; - if (codepage == cp.codepage) { - return cp.charset; - } else if (codepage < cp.codepage) { - iEnd = iMid - 1; - } else { - iStart = iMid + 1; - } - } while (iStart <= iEnd); - return 0xFFFF; -} - uint16_t FX_GetDefCodePageByLanguage(uint16_t wLanguage) { int32_t iEnd = sizeof(g_FXLang2CodepageTable) / sizeof(FX_LANG2CPMAP) - 1; ASSERT(iEnd >= 0); @@ -403,18 +375,6 @@ void FX_UTF16ToWChar(void* pBuffer, int32_t iLength) { } } -void FX_WCharToUTF16(void* pBuffer, int32_t iLength) { - ASSERT(pBuffer && iLength > 0); - if (sizeof(FX_WCHAR) == 2) { - return; - } - const FX_WCHAR* pSrc = (const FX_WCHAR*)pBuffer; - uint16_t* pDst = (uint16_t*)pBuffer; - while (--iLength >= 0) { - *pDst++ = (uint16_t)*pSrc++; - } -} - int32_t FX_DecodeString(uint16_t wCodePage, const FX_CHAR* pSrc, int32_t* pSrcLen, diff --git a/xfa/fgas/crt/fgas_codepage.h b/xfa/fgas/crt/fgas_codepage.h index 5d867feb8e..78aee83219 100644 --- a/xfa/fgas/crt/fgas_codepage.h +++ b/xfa/fgas/crt/fgas_codepage.h @@ -134,19 +134,17 @@ #define FX_CHARSET_OEM 255 uint16_t FX_GetCodePageFromCharset(uint8_t charset); -uint16_t FX_GetCharsetFromCodePage(uint16_t codepage); uint16_t FX_GetCodePageFromStringW(const FX_WCHAR* pStr, int32_t iLength); uint16_t FX_GetDefCodePageByLanguage(uint16_t wLanguage); void FX_SwapByteOrder(FX_WCHAR* pStr, int32_t iLength); void FX_UTF16ToWChar(void* pBuffer, int32_t iLength); -void FX_WCharToUTF16(void* pBuffer, int32_t iLength); int32_t FX_DecodeString(uint16_t wCodePage, const FX_CHAR* pSrc, int32_t* pSrcLen, FX_WCHAR* pDst, int32_t* pDstLen, - FX_BOOL bErrBreak = FALSE); + FX_BOOL bErrBreak); int32_t FX_UTF8Decode(const FX_CHAR* pSrc, int32_t* pSrcLen, FX_WCHAR* pDst, diff --git a/xfa/fgas/crt/fgas_stream.cpp b/xfa/fgas/crt/fgas_stream.cpp index dd54fbed28..25d8514257 100644 --- a/xfa/fgas/crt/fgas_stream.cpp +++ b/xfa/fgas/crt/fgas_stream.cpp @@ -227,8 +227,7 @@ class CFX_Stream : public IFX_Stream { int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) override; int32_t ReadString(FX_WCHAR* pStr, int32_t iMaxLength, - FX_BOOL& bEOS, - int32_t const* pByteSize = nullptr) override; + FX_BOOL& bEOS) override; int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) override; int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) override; void Flush() override; @@ -267,8 +266,7 @@ class CFX_TextStream : public IFX_Stream { int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) override; int32_t ReadString(FX_WCHAR* pStr, int32_t iMaxLength, - FX_BOOL& bEOS, - int32_t const* pByteSize = nullptr) override; + FX_BOOL& bEOS) override; int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) override; int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) override; void Flush() override; @@ -338,21 +336,7 @@ FX_BOOL FileSetSize(FXSYS_FILE* file, int32_t size) { } // namespace -IFX_Stream* IFX_Stream::CreateStream(IFX_BufferRead* pBufferRead, - uint32_t dwAccess, - int32_t iFileSize, - FX_BOOL bReleaseBufferRead) { - CFX_Stream* pSR = new CFX_Stream; - if (!pSR->LoadBufferRead(pBufferRead, iFileSize, dwAccess, - bReleaseBufferRead)) { - pSR->Release(); - return nullptr; - } - if (dwAccess & FX_STREAMACCESS_Text) { - return new CFX_TextStream(pSR, TRUE); - } - return pSR; -} +// static IFX_Stream* IFX_Stream::CreateStream(IFX_FileRead* pFileRead, uint32_t dwAccess) { CFX_Stream* pSR = new CFX_Stream; @@ -365,6 +349,8 @@ IFX_Stream* IFX_Stream::CreateStream(IFX_FileRead* pFileRead, } return pSR; } + +// static IFX_Stream* IFX_Stream::CreateStream(IFX_FileWrite* pFileWrite, uint32_t dwAccess) { CFX_Stream* pSR = new CFX_Stream; @@ -377,18 +363,8 @@ IFX_Stream* IFX_Stream::CreateStream(IFX_FileWrite* pFileWrite, } return pSR; } -IFX_Stream* IFX_Stream::CreateStream(const FX_WCHAR* pszFileName, - uint32_t dwAccess) { - CFX_Stream* pSR = new CFX_Stream; - if (!pSR->LoadFile(pszFileName, dwAccess)) { - pSR->Release(); - return nullptr; - } - if (dwAccess & FX_STREAMACCESS_Text) { - return new CFX_TextStream(pSR, TRUE); - } - return pSR; -} + +// static IFX_Stream* IFX_Stream::CreateStream(uint8_t* pData, int32_t length, uint32_t dwAccess) { @@ -932,11 +908,14 @@ int32_t CFX_BufferStreamImp::WriteString(const FX_WCHAR* pStr, } return iLen; } + +// static IFX_Stream* IFX_Stream::CreateTextStream(IFX_Stream* pBaseStream, FX_BOOL bDeleteOnRelease) { ASSERT(pBaseStream); return new CFX_TextStream(pBaseStream, bDeleteOnRelease); } + CFX_TextStream::CFX_TextStream(IFX_Stream* pStream, FX_BOOL bDelStream) : m_wCodePage(FX_CODEPAGE_DefANSI), m_wBOMLength(0), @@ -1073,8 +1052,7 @@ uint16_t CFX_TextStream::SetCodePage(uint16_t wCodePage) { } int32_t CFX_TextStream::ReadString(FX_WCHAR* pStr, int32_t iMaxLength, - FX_BOOL& bEOS, - int32_t const* pByteSize) { + FX_BOOL& bEOS) { ASSERT(pStr && iMaxLength > 0); if (!m_pStreamImp) { return -1; @@ -1082,7 +1060,7 @@ int32_t CFX_TextStream::ReadString(FX_WCHAR* pStr, int32_t iLen; if (m_wCodePage == FX_CODEPAGE_UTF16LE || m_wCodePage == FX_CODEPAGE_UTF16BE) { - int32_t iBytes = pByteSize ? *pByteSize : iMaxLength * 2; + int32_t iBytes = iMaxLength * 2; iLen = m_pStreamImp->ReadData((uint8_t*)pStr, iBytes); iMaxLength = iLen / 2; if (sizeof(FX_WCHAR) > 2) { @@ -1099,7 +1077,7 @@ int32_t CFX_TextStream::ReadString(FX_WCHAR* pStr, #endif } else { int32_t pos = m_pStreamImp->GetPosition(); - int32_t iBytes = pByteSize ? *pByteSize : iMaxLength; + int32_t iBytes = iMaxLength; iBytes = std::min(iBytes, m_pStreamImp->GetLength() - pos); if (iBytes > 0) { if (!m_pBuf) { @@ -1341,17 +1319,13 @@ int32_t CFX_Stream::ReadData(uint8_t* pBuffer, int32_t iBufferSize) { } int32_t CFX_Stream::ReadString(FX_WCHAR* pStr, int32_t iMaxLength, - FX_BOOL& bEOS, - int32_t const* pByteSize) { + FX_BOOL& bEOS) { ASSERT(pStr && iMaxLength > 0); if (!m_pStreamImp) { return -1; } int32_t iEnd = m_iStart + m_iLength; int32_t iLen = iEnd - m_iPosition; - if (pByteSize) { - iLen = std::min(iLen, *pByteSize); - } iLen = std::min(iEnd / 2, iMaxLength); if (iLen <= 0) { return 0; diff --git a/xfa/fgas/crt/fgas_stream.h b/xfa/fgas/crt/fgas_stream.h index 5cd2a3daa7..443e8c7f5c 100644 --- a/xfa/fgas/crt/fgas_stream.h +++ b/xfa/fgas/crt/fgas_stream.h @@ -13,7 +13,7 @@ class IFX_Stream; IFX_FileRead* FX_CreateFileRead(IFX_Stream* pBaseStream, - FX_BOOL bReleaseStream = FALSE); + FX_BOOL bReleaseStream); enum FX_STREAMACCESS { FX_STREAMACCESS_Binary = 0x00, @@ -35,20 +35,19 @@ class IFX_Stream { public: static IFX_Stream* CreateStream(IFX_FileRead* pFileRead, uint32_t dwAccess); static IFX_Stream* CreateStream(IFX_FileWrite* pFileWrite, uint32_t dwAccess); - static IFX_Stream* CreateStream(const FX_WCHAR* pszFileName, - uint32_t dwAccess); static IFX_Stream* CreateStream(uint8_t* pData, int32_t length, uint32_t dwAccess); - static IFX_Stream* CreateStream(IFX_BufferRead* pBufferRead, - uint32_t dwAccess, - int32_t iFileSize = -1, - FX_BOOL bReleaseBufferRead = TRUE); static IFX_Stream* CreateTextStream(IFX_Stream* pBaseStream, FX_BOOL bDeleteOnRelease); virtual ~IFX_Stream() {} virtual void Release() = 0; virtual IFX_Stream* Retain() = 0; + + virtual IFX_Stream* CreateSharedStream(uint32_t dwAccess, + int32_t iOffset, + int32_t iLength) = 0; + virtual uint32_t GetAccessModes() const = 0; virtual int32_t GetLength() const = 0; virtual int32_t Seek(FX_STREAMSEEK eSeek, int32_t iOffset) = 0; @@ -57,8 +56,7 @@ class IFX_Stream { virtual int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) = 0; virtual int32_t ReadString(FX_WCHAR* pStr, int32_t iMaxLength, - FX_BOOL& bEOS, - int32_t const* pByteSize = nullptr) = 0; + FX_BOOL& bEOS) = 0; virtual int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) = 0; virtual int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) = 0; virtual void Flush() = 0; @@ -66,9 +64,6 @@ class IFX_Stream { virtual int32_t GetBOM(uint8_t bom[4]) const = 0; virtual uint16_t GetCodePage() const = 0; virtual uint16_t SetCodePage(uint16_t wCodePage) = 0; - virtual IFX_Stream* CreateSharedStream(uint32_t dwAccess, - int32_t iOffset, - int32_t iLength) = 0; }; #endif // XFA_FGAS_CRT_FGAS_STREAM_H_ diff --git a/xfa/fgas/crt/fgas_system.h b/xfa/fgas/crt/fgas_system.h index 83c67735dc..6cf628f9d4 100644 --- a/xfa/fgas/crt/fgas_system.h +++ b/xfa/fgas/crt/fgas_system.h @@ -9,9 +9,7 @@ #include "core/fxcrt/include/fx_system.h" -FX_FLOAT FX_wcstof(const FX_WCHAR* pwsStr, - int32_t iLength = -1, - int32_t* pUsedLen = nullptr); +FX_FLOAT FX_wcstof(const FX_WCHAR* pwsStr, int32_t iLength, int32_t* pUsedLen); int32_t FX_wcsnicmp(const FX_WCHAR* s1, const FX_WCHAR* s2, size_t count); #endif // XFA_FGAS_CRT_FGAS_SYSTEM_H_ diff --git a/xfa/fgas/crt/fgas_utils.cpp b/xfa/fgas/crt/fgas_utils.cpp index 7207f055e5..e1f7c477fd 100644 --- a/xfa/fgas/crt/fgas_utils.cpp +++ b/xfa/fgas/crt/fgas_utils.cpp @@ -38,7 +38,7 @@ CFX_BaseArray::CFX_BaseArray(int32_t iGrowSize, int32_t iBlockSize) { m_pData = new FX_BASEARRAYDATA(iGrowSize, iBlockSize); } CFX_BaseArray::~CFX_BaseArray() { - RemoveAll(); + RemoveAll(FALSE); delete m_pData; } int32_t CFX_BaseArray::GetSize() const { @@ -153,7 +153,7 @@ CFX_BaseMassArrayImp::CFX_BaseMassArrayImp(int32_t iChunkSize, m_pData->SetSize(16); } CFX_BaseMassArrayImp::~CFX_BaseMassArrayImp() { - RemoveAll(); + RemoveAll(FALSE); delete m_pData; } uint8_t* CFX_BaseMassArrayImp::AddSpaceTo(int32_t index) { diff --git a/xfa/fgas/crt/fgas_utils.h b/xfa/fgas/crt/fgas_utils.h index 0cf853fa70..d7b753994c 100644 --- a/xfa/fgas/crt/fgas_utils.h +++ b/xfa/fgas/crt/fgas_utils.h @@ -22,14 +22,10 @@ class CFX_BaseArray : public CFX_Target { uint8_t* AddSpaceTo(int32_t index); uint8_t* GetAt(int32_t index) const; uint8_t* GetBuffer() const; - int32_t Append(const CFX_BaseArray& src, - int32_t iStart = 0, - int32_t iCount = -1); - int32_t Copy(const CFX_BaseArray& src, - int32_t iStart = 0, - int32_t iCount = -1); - int32_t RemoveLast(int32_t iCount = -1); - void RemoveAll(FX_BOOL bLeaveMemory = FALSE); + int32_t Append(const CFX_BaseArray& src, int32_t iStart, int32_t iCount); + int32_t Copy(const CFX_BaseArray& src, int32_t iStart, int32_t iCount); + int32_t RemoveLast(int32_t iCount); + void RemoveAll(FX_BOOL bLeaveMemory); FX_BASEARRAYDATA* m_pData; }; @@ -37,10 +33,11 @@ class CFX_BaseArray : public CFX_Target { template <class baseType> class CFX_BaseArrayTemplate : public CFX_BaseArray { public: - CFX_BaseArrayTemplate(int32_t iGrowSize = 100) + CFX_BaseArrayTemplate(int32_t iGrowSize) : CFX_BaseArray(iGrowSize, sizeof(baseType)) {} CFX_BaseArrayTemplate(int32_t iGrowSize, int32_t iBlockSize) : CFX_BaseArray(iGrowSize, iBlockSize) {} + int32_t GetSize() const { return CFX_BaseArray::GetSize(); } int32_t GetBlockSize() const { return CFX_BaseArray::GetBlockSize(); } baseType* AddSpace() { @@ -65,119 +62,19 @@ class CFX_BaseArrayTemplate : public CFX_BaseArray { *(baseType*)CFX_BaseArray::AddSpaceTo(index) = element; } int32_t Append(const CFX_BaseArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { + int32_t iStart, + int32_t iCount) { return CFX_BaseArray::Append(src, iStart, iCount); } int32_t Copy(const CFX_BaseArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { + int32_t iStart, + int32_t iCount) { return CFX_BaseArray::Copy(src, iStart, iCount); } - int32_t RemoveLast(int32_t iCount = -1) { + int32_t RemoveLast(int32_t iCount) { return CFX_BaseArray::RemoveLast(iCount); } - void RemoveAll(FX_BOOL bLeaveMemory = FALSE) { - CFX_BaseArray::RemoveAll(bLeaveMemory); - } -}; - -template <class baseType> -class CFX_ObjectBaseArrayTemplate : public CFX_BaseArray { - public: - CFX_ObjectBaseArrayTemplate(int32_t iGrowSize = 100) - : CFX_BaseArray(iGrowSize, sizeof(baseType)) {} - ~CFX_ObjectBaseArrayTemplate() { RemoveAll(FALSE); } - int32_t GetSize() const { return CFX_BaseArray::GetSize(); } - int32_t GetBlockSize() const { return CFX_BaseArray::GetBlockSize(); } - int32_t Add(const baseType& element) { - int32_t index = CFX_BaseArray::GetSize(); - baseType* p = (baseType*)CFX_BaseArray::AddSpaceTo(index); - new ((void*)p) baseType(element); - return index; - } - baseType& GetAt(int32_t index) const { - return *(baseType*)CFX_BaseArray::GetAt(index); - } - baseType* GetPtrAt(int32_t index) const { - return (baseType*)CFX_BaseArray::GetAt(index); - } - int32_t Append(const CFX_ObjectBaseArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { - ASSERT(GetBlockSize() == src.GetBlockSize()); - if (iCount == 0) { - return 0; - } - int32_t iSize = src.GetSize(); - ASSERT(iStart > -1 && iStart < iSize); - if (iCount < 0) { - iCount = iSize; - } - if (iStart + iCount > iSize) { - iCount = iSize - iStart; - } - if (iCount < 1) { - return 0; - } - iSize = CFX_BaseArray::GetSize(); - CFX_BaseArray::AddSpaceTo(iSize + iCount - 1); - uint8_t** pStart = CFX_BaseArray::GetAt(iSize); - int32_t iBlockSize = CFX_BaseArray::GetBlockSize(); - iSize = iStart + iCount; - for (int32_t i = iStart; i < iSize; i++) { - FXTARGET_NewWith((void*)pStart) baseType(src.GetAt(i)); - pStart += iBlockSize; - } - return iCount; - } - int32_t Copy(const CFX_ObjectBaseArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { - ASSERT(GetBlockSize() == src.GetBlockSize()); - if (iCount == 0) { - return 0; - } - int32_t iSize = src.GetSize(); - ASSERT(iStart > -1 && iStart < iSize); - if (iCount < 0) { - iCount = iSize; - } - if (iStart + iCount > iSize) { - iCount = iSize - iStart; - } - if (iCount < 1) { - return 0; - } - RemoveAll(TRUE); - CFX_BaseArray::AddSpaceTo(iCount - 1); - uint8_t** pStart = CFX_BaseArray::GetAt(0); - int32_t iBlockSize = CFX_BaseArray::GetBlockSize(); - iSize = iStart + iCount; - for (int32_t i = iStart; i < iSize; i++) { - new ((void*)pStart) baseType(src.GetAt(i)); - pStart += iBlockSize; - } - return iCount; - } - int32_t RemoveLast(int32_t iCount = -1) { - int32_t iSize = CFX_BaseArray::GetSize(); - if (iCount < 0 || iCount > iSize) { - iCount = iSize; - } - if (iCount == 0) { - return iSize; - } - for (int32_t i = iSize - iCount; i < iSize; i++) { - ((baseType*)GetPtrAt(i))->~baseType(); - } - return CFX_BaseArray::RemoveLast(iCount); - } - void RemoveAll(FX_BOOL bLeaveMemory = FALSE) { - int32_t iSize = CFX_BaseArray::GetSize(); - for (int32_t i = 0; i < iSize; i++) { - ((baseType*)GetPtrAt(i))->~baseType(); - } + void RemoveAll(FX_BOOL bLeaveMemory) { CFX_BaseArray::RemoveAll(bLeaveMemory); } }; @@ -191,13 +88,11 @@ class CFX_BaseMassArrayImp : public CFX_Target { uint8_t* AddSpaceTo(int32_t index); uint8_t* GetAt(int32_t index) const; int32_t Append(const CFX_BaseMassArrayImp& src, - int32_t iStart = 0, - int32_t iCount = -1); - int32_t Copy(const CFX_BaseMassArrayImp& src, - int32_t iStart = 0, - int32_t iCount = -1); - int32_t RemoveLast(int32_t iCount = -1); - void RemoveAll(FX_BOOL bLeaveMemory = FALSE); + int32_t iStart, + int32_t iCount); + int32_t Copy(const CFX_BaseMassArrayImp& src, int32_t iStart, int32_t iCount); + int32_t RemoveLast(int32_t iCount); + void RemoveAll(FX_BOOL bLeaveMemory); int32_t m_iChunkSize; int32_t m_iBlockSize; @@ -208,8 +103,8 @@ class CFX_BaseMassArrayImp : public CFX_Target { protected: void Append(int32_t iDstStart, const CFX_BaseMassArrayImp& src, - int32_t iSrcStart = 0, - int32_t iSrcCount = -1); + int32_t iSrcStart, + int32_t iSrcCount); }; class CFX_BaseMassArray : public CFX_Target { @@ -220,24 +115,21 @@ class CFX_BaseMassArray : public CFX_Target { int32_t GetSize() const; uint8_t* AddSpaceTo(int32_t index); uint8_t* GetAt(int32_t index) const; - int32_t Append(const CFX_BaseMassArray& src, - int32_t iStart = 0, - int32_t iCount = -1); - int32_t Copy(const CFX_BaseMassArray& src, - int32_t iStart = 0, - int32_t iCount = -1); - int32_t RemoveLast(int32_t iCount = -1); - void RemoveAll(FX_BOOL bLeaveMemory = FALSE); + int32_t Append(const CFX_BaseMassArray& src, int32_t iStart, int32_t iCount); + int32_t Copy(const CFX_BaseMassArray& src, int32_t iStart, int32_t iCount); + int32_t RemoveLast(int32_t iCount); + void RemoveAll(FX_BOOL bLeaveMemory); CFX_BaseMassArrayImp* m_pData; }; template <class baseType> class CFX_MassArrayTemplate : public CFX_BaseMassArray { public: - CFX_MassArrayTemplate(int32_t iChunkSize = 100) + CFX_MassArrayTemplate(int32_t iChunkSize) : CFX_BaseMassArray(iChunkSize, sizeof(baseType)) {} CFX_MassArrayTemplate(int32_t iChunkSize, int32_t iBlockSize) : CFX_BaseMassArray(iChunkSize, iBlockSize) {} + int32_t GetSize() const { return CFX_BaseMassArray::GetSize(); } baseType* AddSpace() { return (baseType*)CFX_BaseMassArray::AddSpaceTo( @@ -261,19 +153,19 @@ class CFX_MassArrayTemplate : public CFX_BaseMassArray { *(baseType*)CFX_BaseMassArray::AddSpaceTo(index) = element; } int32_t Append(const CFX_MassArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { + int32_t iStart, + int32_t iCount) { return CFX_BaseMassArray::Append(src, iStart, iCount); } int32_t Copy(const CFX_MassArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { + int32_t iStart, + int32_t iCount) { return CFX_BaseMassArray::Copy(src, iStart, iCount); } - int32_t RemoveLast(int32_t iCount = -1) { + int32_t RemoveLast(int32_t iCount) { return CFX_BaseMassArray::RemoveLast(iCount); } - void RemoveAll(FX_BOOL bLeaveMemory = FALSE) { + void RemoveAll(FX_BOOL bLeaveMemory) { CFX_BaseMassArray::RemoveAll(bLeaveMemory); } }; @@ -281,9 +173,10 @@ class CFX_MassArrayTemplate : public CFX_BaseMassArray { template <class baseType> class CFX_ObjectMassArrayTemplate : public CFX_BaseMassArray { public: - CFX_ObjectMassArrayTemplate(int32_t iChunkSize = 100) + CFX_ObjectMassArrayTemplate(int32_t iChunkSize) : CFX_BaseMassArray(iChunkSize, sizeof(baseType)) {} ~CFX_ObjectMassArrayTemplate() { RemoveAll(FALSE); } + int32_t GetSize() const { return CFX_BaseMassArray::GetSize(); } int32_t Add(const baseType& element) { int32_t index = CFX_BaseMassArray::GetSize(); @@ -298,8 +191,8 @@ class CFX_ObjectMassArrayTemplate : public CFX_BaseMassArray { return (baseType*)CFX_BaseMassArray::GetAt(index); } int32_t Append(const CFX_ObjectMassArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { + int32_t iStart, + int32_t iCount) { if (iCount == 0) { return CFX_BaseMassArray::GetSize(); } @@ -318,8 +211,8 @@ class CFX_ObjectMassArrayTemplate : public CFX_BaseMassArray { return CFX_BaseMassArray::GetSize(); } int32_t Copy(const CFX_ObjectMassArrayTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { + int32_t iStart, + int32_t iCount) { if (iCount == 0) { return CFX_BaseMassArray::GetSize(); } @@ -338,7 +231,7 @@ class CFX_ObjectMassArrayTemplate : public CFX_BaseMassArray { } return CFX_BaseMassArray::GetSize(); } - int32_t RemoveLast(int32_t iCount = -1) { + int32_t RemoveLast(int32_t iCount) { int32_t iSize = CFX_BaseMassArray::GetSize(); if (iCount < 0 || iCount > iSize) { iCount = iSize; @@ -351,7 +244,7 @@ class CFX_ObjectMassArrayTemplate : public CFX_BaseMassArray { } return CFX_BaseMassArray::RemoveLast(iCount); } - void RemoveAll(FX_BOOL bLeaveMemory = FALSE) { + void RemoveAll(FX_BOOL bLeaveMemory) { int32_t iSize = CFX_BaseMassArray::GetSize(); for (int32_t i = 0; i < iSize; i++) { ((baseType*)GetPtrAt(i))->~baseType(); @@ -374,8 +267,9 @@ class CFX_BaseDiscreteArray : public CFX_Target { template <class baseType> class CFX_DiscreteArrayTemplate : public CFX_BaseDiscreteArray { public: - CFX_DiscreteArrayTemplate(int32_t iChunkSize = 100) + CFX_DiscreteArrayTemplate(int32_t iChunkSize) : CFX_BaseDiscreteArray(iChunkSize, sizeof(baseType)) {} + baseType& GetAt(int32_t index, const baseType& defValue) const { baseType* p = (baseType*)CFX_BaseDiscreteArray::GetAt(index); return p ? *p : (baseType&)defValue; @@ -388,9 +282,6 @@ class CFX_DiscreteArrayTemplate : public CFX_BaseDiscreteArray { } void RemoveAll() { CFX_BaseDiscreteArray::RemoveAll(); } }; -typedef CFX_DiscreteArrayTemplate<void*> CFX_PtrDiscreteArray; -typedef CFX_DiscreteArrayTemplate<uint32_t> CFX_DWordDiscreteArray; -typedef CFX_DiscreteArrayTemplate<uint16_t> CFX_WordDiscreteArray; class CFX_BaseStack : public CFX_Target { protected: @@ -402,15 +293,16 @@ class CFX_BaseStack : public CFX_Target { uint8_t* GetTopElement() const; int32_t GetSize() const; uint8_t* GetAt(int32_t index) const; - void RemoveAll(FX_BOOL bLeaveMemory = FALSE); + void RemoveAll(FX_BOOL bLeaveMemory); CFX_BaseMassArrayImp* m_pData; }; template <class baseType> class CFX_StackTemplate : public CFX_BaseStack { public: - CFX_StackTemplate(int32_t iChunkSize = 100) + CFX_StackTemplate(int32_t iChunkSize) : CFX_BaseStack(iChunkSize, sizeof(baseType)) {} + int32_t Push(const baseType& element) { int32_t index = CFX_BaseStack::GetSize(); *(baseType*)CFX_BaseStack::Push() = element; @@ -424,21 +316,18 @@ class CFX_StackTemplate : public CFX_BaseStack { baseType* GetAt(int32_t index) const { return (baseType*)CFX_BaseStack::GetAt(index); } - void RemoveAll(FX_BOOL bLeaveMemory = FALSE) { + void RemoveAll(FX_BOOL bLeaveMemory) { CFX_BaseStack::RemoveAll(bLeaveMemory); } }; -typedef CFX_StackTemplate<void*> CFX_PtrStack; -typedef CFX_StackTemplate<uint32_t> CFX_DWordStack; -typedef CFX_StackTemplate<uint16_t> CFX_WordStack; -typedef CFX_StackTemplate<int32_t> CFX_Int32Stack; template <class baseType> class CFX_ObjectStackTemplate : public CFX_BaseStack { public: - CFX_ObjectStackTemplate(int32_t iChunkSize = 100) + CFX_ObjectStackTemplate(int32_t iChunkSize) : CFX_BaseStack(iChunkSize, sizeof(baseType)) {} - ~CFX_ObjectStackTemplate() { RemoveAll(); } + ~CFX_ObjectStackTemplate() { RemoveAll(FALSE); } + int32_t Push(const baseType& element) { int32_t index = CFX_BaseStack::GetSize(); baseType* p = (baseType*)CFX_BaseStack::Push(); @@ -459,7 +348,7 @@ class CFX_ObjectStackTemplate : public CFX_BaseStack { baseType* GetAt(int32_t index) const { return (baseType*)CFX_BaseStack::GetAt(index); } - void RemoveAll(FX_BOOL bLeaveMemory = FALSE) { + void RemoveAll(FX_BOOL bLeaveMemory) { int32_t iSize = CFX_BaseStack::GetSize(); for (int32_t i = 0; i < iSize; i++) { ((baseType*)CFX_BaseStack::GetAt(i))->~baseType(); @@ -467,8 +356,8 @@ class CFX_ObjectStackTemplate : public CFX_BaseStack { CFX_BaseStack::RemoveAll(bLeaveMemory); } int32_t Copy(const CFX_ObjectStackTemplate& src, - int32_t iStart = 0, - int32_t iCount = -1) { + int32_t iStart, + int32_t iCount) { if (iCount == 0) { return CFX_BaseStack::GetSize(); } diff --git a/xfa/fgas/font/fgas_gefont.cpp b/xfa/fgas/font/fgas_gefont.cpp index a7d8c49cbf..576f482df2 100644 --- a/xfa/fgas/font/fgas_gefont.cpp +++ b/xfa/fgas/font/fgas_gefont.cpp @@ -219,7 +219,7 @@ FX_BOOL CFGAS_GEFont::LoadFontInternal(IFX_Stream* pFontStream, if (bSaveStream) { m_pStream = pFontStream; } - m_pFileRead = FX_CreateFileRead(pFontStream); + m_pFileRead = FX_CreateFileRead(pFontStream, FALSE); m_pFont = new CFX_Font; FX_BOOL bRet = m_pFont->LoadFile(m_pFileRead); if (bRet) { @@ -250,7 +250,7 @@ FX_BOOL CFGAS_GEFont::InitFont() { return FALSE; } if (!m_pCharWidthMap) - m_pCharWidthMap = new CFX_WordDiscreteArray(1024); + m_pCharWidthMap = new CFX_DiscreteArrayTemplate<uint16_t>(1024); if (!m_pRectArray) m_pRectArray = new CFX_MassArrayTemplate<CFX_Rect>(16); if (!m_pBBoxMap) @@ -473,7 +473,7 @@ void CFGAS_GEFont::Reset() { m_pBBoxMap->RemoveAll(); } if (m_pRectArray) { - m_pRectArray->RemoveAll(); + m_pRectArray->RemoveAll(FALSE); } } CFGAS_GEFont* CFGAS_GEFont::GetSubstFont(int32_t iGlyphIndex) const { diff --git a/xfa/fgas/font/fgas_gefont.h b/xfa/fgas/font/fgas_gefont.h index 5d7b664cf9..a94583fa65 100644 --- a/xfa/fgas/font/fgas_gefont.h +++ b/xfa/fgas/font/fgas_gefont.h @@ -98,7 +98,7 @@ class CFGAS_GEFont { IFX_Stream* m_pStream; IFX_FileRead* m_pFileRead; CFX_UnicodeEncoding* m_pFontEncoding; - CFX_WordDiscreteArray* m_pCharWidthMap; + CFX_DiscreteArrayTemplate<uint16_t>* m_pCharWidthMap; CFX_MassArrayTemplate<CFX_Rect>* m_pRectArray; CFX_MapPtrToPtr* m_pBBoxMap; CXFA_PDFFontMgr* m_pProvider; diff --git a/xfa/fgas/font/fgas_stdfontmgr.cpp b/xfa/fgas/font/fgas_stdfontmgr.cpp index 47ec72b807..8af3f22b9a 100644 --- a/xfa/fgas/font/fgas_stdfontmgr.cpp +++ b/xfa/fgas/font/fgas_stdfontmgr.cpp @@ -20,7 +20,7 @@ IFGAS_FontMgr* IFGAS_FontMgr::Create(FX_LPEnumAllFonts pEnumerator) { CFGAS_StdFontMgrImp::CFGAS_StdFontMgrImp(FX_LPEnumAllFonts pEnumerator) : m_pEnumerator(pEnumerator), - m_FontFaces(), + m_FontFaces(100), m_CPFonts(8), m_FamilyFonts(16), m_UnicodeFonts(16), @@ -33,7 +33,7 @@ CFGAS_StdFontMgrImp::CFGAS_StdFontMgrImp(FX_LPEnumAllFonts pEnumerator) } CFGAS_StdFontMgrImp::~CFGAS_StdFontMgrImp() { - m_FontFaces.RemoveAll(); + m_FontFaces.RemoveAll(FALSE); m_CPFonts.RemoveAll(); m_FamilyFonts.RemoveAll(); m_UnicodeFonts.RemoveAll(); @@ -298,7 +298,7 @@ FX_FONTDESCRIPTOR const* CFGAS_StdFontMgrImp::FindFont( return pDesc; } if (pszFontFamily && m_pEnumerator) { - CFX_FontDescriptors namedFonts; + CFX_FontDescriptors namedFonts(100); m_pEnumerator(namedFonts, pszFontFamily, wUnicode); params.pwsFamily = nullptr; pDesc = FX_DefFontMatcher(¶ms, namedFonts); diff --git a/xfa/fgas/layout/fgas_rtfbreak.cpp b/xfa/fgas/layout/fgas_rtfbreak.cpp index 8a4f6eac2b..bfe3ca674f 100644 --- a/xfa/fgas/layout/fgas_rtfbreak.cpp +++ b/xfa/fgas/layout/fgas_rtfbreak.cpp @@ -646,7 +646,7 @@ uint32_t CFX_RTFBreak::EndBreak(uint32_t dwStatus) { CFX_RTFLine* pNextLine = (m_pCurLine == &m_RTFLine1) ? &m_RTFLine2 : &m_RTFLine1; FX_BOOL bAllChars = (m_iAlignment > FX_RTFLINEALIGNMENT_Right); - CFX_TPOArray tpos; + CFX_TPOArray tpos(100); if (EndBreak_SplitLine(pNextLine, bAllChars, dwStatus)) { goto EndBreak_Ret; } diff --git a/xfa/fgas/layout/fgas_textbreak.cpp b/xfa/fgas/layout/fgas_textbreak.cpp index 0c1c6a2202..89b17ccb9b 100644 --- a/xfa/fgas/layout/fgas_textbreak.cpp +++ b/xfa/fgas/layout/fgas_textbreak.cpp @@ -951,7 +951,7 @@ uint32_t CFX_TxtBreak::EndBreak(uint32_t dwStatus) { CFX_TxtLine* pNextLine = (m_pCurLine == m_pTxtLine1) ? m_pTxtLine2 : m_pTxtLine1; FX_BOOL bAllChars = (m_iCurAlignment > FX_TXTLINEALIGNMENT_Right); - CFX_TPOArray tpos; + CFX_TPOArray tpos(100); CFX_Char* pTC; if (m_bArabicShapes) { EndBreak_UpdateArabicShapes(); diff --git a/xfa/fxfa/parser/cxfa_xml_parser.cpp b/xfa/fxfa/parser/cxfa_xml_parser.cpp index 268c8b1416..654a449a88 100644 --- a/xfa/fxfa/parser/cxfa_xml_parser.cpp +++ b/xfa/fxfa/parser/cxfa_xml_parser.cpp @@ -23,7 +23,7 @@ CXFA_XMLParser::CXFA_XMLParser(CFDE_XMLNode* pRoot, IFX_Stream* pStream) } CXFA_XMLParser::~CXFA_XMLParser() { - m_NodeStack.RemoveAll(); + m_NodeStack.RemoveAll(FALSE); m_ws1.clear(); m_ws2.clear(); } diff --git a/xfa/fxfa/parser/xfa_basic_imp.cpp b/xfa/fxfa/parser/xfa_basic_imp.cpp index f236d0e8a3..4d3b128bdb 100644 --- a/xfa/fxfa/parser/xfa_basic_imp.cpp +++ b/xfa/fxfa/parser/xfa_basic_imp.cpp @@ -544,8 +544,7 @@ int32_t CXFA_WideTextRead::ReadData(uint8_t* pBuffer, int32_t iBufferSize) { } int32_t CXFA_WideTextRead::ReadString(FX_WCHAR* pStr, int32_t iMaxLength, - FX_BOOL& bEOS, - int32_t const* pByteSize) { + FX_BOOL& bEOS) { iMaxLength = std::min(iMaxLength, m_wsBuffer.GetLength() - m_iPosition); if (iMaxLength == 0) return 0; diff --git a/xfa/fxfa/parser/xfa_basic_imp.h b/xfa/fxfa/parser/xfa_basic_imp.h index 3badbb463e..8ca153b90f 100644 --- a/xfa/fxfa/parser/xfa_basic_imp.h +++ b/xfa/fxfa/parser/xfa_basic_imp.h @@ -36,8 +36,7 @@ class CXFA_WideTextRead : public IFX_Stream { int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) override; int32_t ReadString(FX_WCHAR* pStr, int32_t iMaxLength, - FX_BOOL& bEOS, - int32_t const* pByteSize = nullptr) override; + FX_BOOL& bEOS) override; int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) override; int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) override; void Flush() override {} diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp index a9a5b29458..de2f804a4c 100644 --- a/xfa/fxfa/parser/xfa_object_imp.cpp +++ b/xfa/fxfa/parser/xfa_object_imp.cpp @@ -3625,7 +3625,7 @@ FX_BOOL CXFA_Node::SetAttribute(XFA_ATTRIBUTE eAttr, case XFA_ATTRIBUTETYPE_Integer: return SetInteger( pAttr->eName, - FXSYS_round(FX_wcstof(wsValue.c_str(), wsValue.GetLength())), + FXSYS_round(FX_wcstof(wsValue.c_str(), wsValue.GetLength(), nullptr)), bNotify); case XFA_ATTRIBUTETYPE_Measure: return SetMeasure(pAttr->eName, CXFA_Measurement(wsValue), bNotify); diff --git a/xfa/fxfa/parser/xfa_utils.h b/xfa/fxfa/parser/xfa_utils.h index 0aa9064288..794624a8de 100644 --- a/xfa/fxfa/parser/xfa_utils.h +++ b/xfa/fxfa/parser/xfa_utils.h @@ -27,7 +27,7 @@ template <class NodeType, class TraverseStrategy> class CXFA_NodeIteratorTemplate { public: CXFA_NodeIteratorTemplate(NodeType* pRootNode = nullptr) - : m_pRoot(pRootNode) { + : m_pRoot(pRootNode), m_NodeStack(100) { if (pRootNode) { m_NodeStack.Push(pRootNode); } @@ -37,11 +37,11 @@ class CXFA_NodeIteratorTemplate { return FALSE; } m_pRoot = pRootNode; - m_NodeStack.RemoveAll(); + m_NodeStack.RemoveAll(FALSE); m_NodeStack.Push(pRootNode); return TRUE; } - void Clear() { m_NodeStack.RemoveAll(); } + void Clear() { m_NodeStack.RemoveAll(FALSE); } void Reset() { Clear(); if (m_pRoot) { @@ -49,9 +49,9 @@ class CXFA_NodeIteratorTemplate { } } FX_BOOL SetCurrent(NodeType* pCurNode) { - m_NodeStack.RemoveAll(); + m_NodeStack.RemoveAll(FALSE); if (pCurNode) { - CFX_StackTemplate<NodeType*> revStack; + CFX_StackTemplate<NodeType*> revStack(100); NodeType* pNode; for (pNode = pCurNode; pNode && pNode != m_pRoot; pNode = TraverseStrategy::GetParent(pNode)) { @@ -94,7 +94,7 @@ class CXFA_NodeIteratorTemplate { } m_NodeStack.Push(pPrevItem); } else { - m_NodeStack.RemoveAll(); + m_NodeStack.RemoveAll(FALSE); if (m_pRoot) { m_NodeStack.Push(m_pRoot); } |