From b174aa37b6a99461dc581c63a93a1d706705dd16 Mon Sep 17 00:00:00 2001 From: tsepez Date: Wed, 27 Apr 2016 15:28:25 -0700 Subject: Replace CFX_PtrArray with type-safe CFX_ArrayTemplate<>, Part 1. Ideally, these will become std::vector<>, but in the mean time this is quicker and allow us to remove casts. Doing so has already turned up one place where the wrong type of object was being used. Review-Url: https://codereview.chromium.org/1924073002 --- xfa/fde/xml/fde_xml_imp.cpp | 7 +++---- xfa/fde/xml/fde_xml_imp.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'xfa/fde') diff --git a/xfa/fde/xml/fde_xml_imp.cpp b/xfa/fde/xml/fde_xml_imp.cpp index f4295600c7..446db86950 100644 --- a/xfa/fde/xml/fde_xml_imp.cpp +++ b/xfa/fde/xml/fde_xml_imp.cpp @@ -1328,7 +1328,7 @@ FX_WCHAR* CFDE_BlockBuffer::GetAvailableBlock(int32_t& iIndexInBlock) { return pBlock; } iIndexInBlock = iRealIndex % m_iAllocStep; - return (FX_WCHAR*)m_BlockArray[iRealIndex / m_iAllocStep]; + return m_BlockArray[iRealIndex / m_iAllocStep]; } FX_BOOL CFDE_BlockBuffer::InitBuffer(int32_t iBufferSize) { ClearBuffer(); @@ -1355,7 +1355,7 @@ void CFDE_BlockBuffer::SetTextChar(int32_t iIndex, FX_WCHAR ch) { m_iBufferSize += m_iAllocStep; } while (--iNewBlocks); } - FX_WCHAR* pTextData = (FX_WCHAR*)m_BlockArray[iBlockIndex]; + FX_WCHAR* pTextData = m_BlockArray[iBlockIndex]; *(pTextData + iInnerIndex) = ch; if (m_iDataLength <= iIndex) { m_iDataLength = iIndex + 1; @@ -1412,7 +1412,7 @@ void CFDE_BlockBuffer::GetTextData(CFX_WideString& wsTextData, if (i == iEndBlockIndex) { iCopyLength -= ((m_iAllocStep - 1) - iEndInnerIndex); } - FX_WCHAR* pBlockBuf = (FX_WCHAR*)m_BlockArray[i]; + FX_WCHAR* pBlockBuf = m_BlockArray[i]; FXSYS_memcpy(pBuf + iPointer, pBlockBuf + iBufferPointer, iCopyLength * sizeof(FX_WCHAR)); iPointer += iCopyLength; @@ -1432,7 +1432,6 @@ void CFDE_BlockBuffer::ClearBuffer() { int32_t iSize = m_BlockArray.GetSize(); for (int32_t i = 0; i < iSize; i++) { FX_Free(m_BlockArray[i]); - m_BlockArray[i] = NULL; } m_BlockArray.RemoveAll(); } diff --git a/xfa/fde/xml/fde_xml_imp.h b/xfa/fde/xml/fde_xml_imp.h index 396423a0c1..bad970e5be 100644 --- a/xfa/fde/xml/fde_xml_imp.h +++ b/xfa/fde/xml/fde_xml_imp.h @@ -284,7 +284,7 @@ class CFDE_BlockBuffer : public CFX_Target { int32_t& iBlockIndex, int32_t& iInnerIndex) const; void ClearBuffer(); - CFX_PtrArray m_BlockArray; + CFX_ArrayTemplate m_BlockArray; int32_t m_iDataLength; int32_t m_iBufferSize; int32_t m_iAllocStep; -- cgit v1.2.3