diff options
Diffstat (limited to 'core/fxcrt/xml')
-rw-r--r-- | core/fxcrt/xml/cxml_element.cpp | 20 | ||||
-rw-r--r-- | core/fxcrt/xml/cxml_element.h | 14 |
2 files changed, 16 insertions, 18 deletions
diff --git a/core/fxcrt/xml/cxml_element.cpp b/core/fxcrt/xml/cxml_element.cpp index 9d3e22c8f9..f11fd1fe14 100644 --- a/core/fxcrt/xml/cxml_element.cpp +++ b/core/fxcrt/xml/cxml_element.cpp @@ -53,11 +53,11 @@ ByteString CXML_Element::GetNamespaceURI(const ByteString& qName) const { return pwsSpace ? pwsSpace->UTF8Encode() : ByteString(); } -void CXML_Element::GetAttrByIndex(int index, +void CXML_Element::GetAttrByIndex(size_t index, ByteString* space, ByteString* name, WideString* value) const { - if (index < 0 || index >= m_AttrMap.GetSize()) + if (index >= static_cast<size_t>(m_AttrMap.GetSize())) return; CXML_AttrItem& item = m_AttrMap.GetAt(index); @@ -89,9 +89,9 @@ int CXML_Element::GetAttrInteger(const ByteStringView& name) const { return pwsValue ? pwsValue->GetInteger() : 0; } -uint32_t CXML_Element::CountElements(const ByteStringView& space, - const ByteStringView& tag) const { - int count = 0; +size_t CXML_Element::CountElements(const ByteStringView& space, + const ByteStringView& tag) const { + size_t count = 0; for (const auto& pChild : m_Children) { const CXML_Element* pKid = pChild->AsElement(); if (pKid && pKid->m_TagName == tag && @@ -102,22 +102,20 @@ uint32_t CXML_Element::CountElements(const ByteStringView& space, return count; } -CXML_Object* CXML_Element::GetChild(uint32_t index) const { +CXML_Object* CXML_Element::GetChild(size_t index) const { return index < m_Children.size() ? m_Children[index].get() : nullptr; } CXML_Element* CXML_Element::GetElement(const ByteStringView& space, const ByteStringView& tag, - int nth) const { - if (nth < 0) - return nullptr; - + size_t nth) const { for (const auto& pChild : m_Children) { CXML_Element* pKid = pChild->AsElement(); if (pKid && pKid->m_TagName == tag && (space.IsEmpty() || pKid->m_QSpaceName == space)) { - if (nth-- == 0) + if (nth == 0) return pKid; + --nth; } } return nullptr; diff --git a/core/fxcrt/xml/cxml_element.h b/core/fxcrt/xml/cxml_element.h index 5c4d24d661..db9a214c17 100644 --- a/core/fxcrt/xml/cxml_element.h +++ b/core/fxcrt/xml/cxml_element.h @@ -30,8 +30,8 @@ class CXML_Element : public CXML_Object { ByteString GetTagName() const; ByteString GetNamespaceURI(const ByteString& qName) const; const CXML_Element* GetParent() const { return m_pParent.Get(); } - uint32_t CountAttrs() const { return m_AttrMap.GetSize(); } - void GetAttrByIndex(int index, + size_t CountAttrs() const { return m_AttrMap.GetSize(); } + void GetAttrByIndex(size_t index, ByteString* space, ByteString* name, WideString* value) const; @@ -43,13 +43,13 @@ class CXML_Element : public CXML_Object { m_Children.push_back(std::move(child)); } - uint32_t CountChildren() const { return m_Children.size(); } - uint32_t CountElements(const ByteStringView& space, - const ByteStringView& tag) const; - CXML_Object* GetChild(uint32_t index) const; + size_t CountChildren() const { return m_Children.size(); } + size_t CountElements(const ByteStringView& space, + const ByteStringView& tag) const; + CXML_Object* GetChild(size_t index) const; CXML_Element* GetElement(const ByteStringView& space, const ByteStringView& tag, - int nth) const; + size_t nth) const; void SetAttribute(const ByteString& space, const ByteString& name, |