From 24d779283af803077d8377fbdc49d9d07da335e7 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Thu, 4 Jan 2018 15:38:54 -0500 Subject: Convert CXFA_Node::GetChild to take a size_t for the index Change-Id: I99ab62f03a42bb1dc5f4d228cd60c0e254a8c70b Reviewed-on: https://pdfium-review.googlesource.com/22259 Commit-Queue: Ryan Harrison Reviewed-by: dsinclair --- xfa/fxfa/parser/cxfa_attachnodelist.cpp | 2 +- xfa/fxfa/parser/cxfa_node.cpp | 10 ++++------ xfa/fxfa/parser/cxfa_node.h | 6 ++---- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/xfa/fxfa/parser/cxfa_attachnodelist.cpp b/xfa/fxfa/parser/cxfa_attachnodelist.cpp index 2a4741175a..f9bd26bf82 100644 --- a/xfa/fxfa/parser/cxfa_attachnodelist.cpp +++ b/xfa/fxfa/parser/cxfa_attachnodelist.cpp @@ -43,6 +43,6 @@ bool CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { CXFA_Node* CXFA_AttachNodeList::Item(size_t index) { return m_pAttachNode->GetChild( - pdfium::base::checked_cast(index), XFA_Element::Unknown, + index, XFA_Element::Unknown, m_pAttachNode->GetElementType() == XFA_Element::Subform); } diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index 3d132fedbc..08af2004a1 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -796,22 +796,20 @@ size_t CXFA_Node::CountChildren(XFA_Element eType, bool bOnlyChild) { return count; } -CXFA_Node* CXFA_Node::GetChildInternal(int32_t index, +CXFA_Node* CXFA_Node::GetChildInternal(size_t index, XFA_Element eType, bool bOnlyChild) { - ASSERT(index > -1); - - int32_t iCount = 0; + size_t count = 0; for (CXFA_Node* pNode = m_pChild; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { if (pNode->GetElementType() != eType && eType != XFA_Element::Unknown) continue; if (bOnlyChild && HasProperty(pNode->GetElementType())) continue; - if (iCount == index) + if (count == index) return pNode; - ++iCount; + ++count; } return nullptr; } diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h index cc8d5e8f8d..dea53e4525 100644 --- a/xfa/fxfa/parser/cxfa_node.h +++ b/xfa/fxfa/parser/cxfa_node.h @@ -157,7 +157,7 @@ class CXFA_Node : public CXFA_Object { size_t CountChildren(XFA_Element eType, bool bOnlyChild); template - T* GetChild(int32_t index, XFA_Element eType, bool bOnlyChild) { + T* GetChild(size_t index, XFA_Element eType, bool bOnlyChild) { return static_cast(GetChildInternal(index, eType, bOnlyChild)); } @@ -246,9 +246,7 @@ class CXFA_Node : public CXFA_Object { void OnRemoved(bool bNotify); Optional GetDefaultValue(XFA_Attribute attr, XFA_AttributeType eType) const; - CXFA_Node* GetChildInternal(int32_t index, - XFA_Element eType, - bool bOnlyChild); + CXFA_Node* GetChildInternal(size_t index, XFA_Element eType, bool bOnlyChild); CXFA_Node* GetFirstChildByClassInternal(XFA_Element eType) const; CXFA_Node* GetNextSameNameSiblingInternal( const WideStringView& wsNodeName) const; -- cgit v1.2.3