diff options
| -rw-r--r-- | src/pugixml.cpp | 32 | 
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_); | 
