summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pugixml.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp
index c3b685b..93b648b 100644
--- a/src/pugixml.cpp
+++ b/src/pugixml.cpp
@@ -747,18 +747,6 @@ PUGI__NS_BEGIN
node->first_attribute = attr;
}
- inline void insert_attribute_before(xml_attribute_struct* attr, xml_attribute_struct* place, xml_node_struct* node)
- {
- if (place->prev_attribute_c->next_attribute)
- place->prev_attribute_c->next_attribute = attr;
- else
- node->first_attribute = attr;
-
- attr->prev_attribute_c = place->prev_attribute_c;
- attr->next_attribute = place;
- place->prev_attribute_c = attr;
- }
-
inline void insert_attribute_after(xml_attribute_struct* attr, xml_attribute_struct* place, xml_node_struct* node)
{
if (place->next_attribute)
@@ -771,6 +759,18 @@ PUGI__NS_BEGIN
place->next_attribute = attr;
}
+ inline void insert_attribute_before(xml_attribute_struct* attr, xml_attribute_struct* place, xml_node_struct* node)
+ {
+ if (place->prev_attribute_c->next_attribute)
+ place->prev_attribute_c->next_attribute = attr;
+ else
+ node->first_attribute = attr;
+
+ attr->prev_attribute_c = place->prev_attribute_c;
+ attr->next_attribute = place;
+ place->prev_attribute_c = attr;
+ }
+
inline void remove_attribute(xml_attribute_struct* attr, xml_node_struct* node)
{
if (attr->next_attribute)
@@ -4867,7 +4867,7 @@ namespace pugi
return a;
}
- PUGI__FN xml_attribute xml_node::insert_attribute_before(const char_t* name_, const xml_attribute& attr)
+ PUGI__FN xml_attribute xml_node::insert_attribute_after(const char_t* name_, const xml_attribute& attr)
{
if (type() != node_element && type() != node_declaration) return xml_attribute();
if (!attr || !impl::is_attribute_of(attr._attr, _root)) return xml_attribute();
@@ -4875,14 +4875,14 @@ namespace pugi
xml_attribute a(impl::allocate_attribute(impl::get_allocator(_root)));
if (!a) return xml_attribute();
- impl::insert_attribute_before(a._attr, attr._attr, _root);
+ impl::insert_attribute_after(a._attr, attr._attr, _root);
a.set_name(name_);
return a;
}
- PUGI__FN xml_attribute xml_node::insert_attribute_after(const char_t* name_, const xml_attribute& attr)
+ PUGI__FN xml_attribute xml_node::insert_attribute_before(const char_t* name_, const xml_attribute& attr)
{
if (type() != node_element && type() != node_declaration) return xml_attribute();
if (!attr || !impl::is_attribute_of(attr._attr, _root)) return xml_attribute();
@@ -4890,7 +4890,7 @@ namespace pugi
xml_attribute a(impl::allocate_attribute(impl::get_allocator(_root)));
if (!a) return xml_attribute();
- impl::insert_attribute_after(a._attr, attr._attr, _root);
+ impl::insert_attribute_before(a._attr, attr._attr, _root);
a.set_name(name_);