Fixed destroying of attribute/node name/values (it now uses custom deallocation function, if any)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@121 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
parent
1e37455c1b
commit
c95b553a81
@ -114,8 +114,17 @@ namespace pugi
|
|||||||
|
|
||||||
void destroy()
|
void destroy()
|
||||||
{
|
{
|
||||||
if (!name_insitu) delete[] name;
|
if (!name_insitu)
|
||||||
if (!value_insitu) delete[] value;
|
{
|
||||||
|
global_deallocate(name);
|
||||||
|
name = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!value_insitu)
|
||||||
|
{
|
||||||
|
global_deallocate(value);
|
||||||
|
value = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool name_insitu : 1;
|
bool name_insitu : 1;
|
||||||
@ -144,13 +153,13 @@ namespace pugi
|
|||||||
|
|
||||||
if (!name_insitu)
|
if (!name_insitu)
|
||||||
{
|
{
|
||||||
delete[] name;
|
global_deallocate(name);
|
||||||
name = 0;
|
name = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!value_insitu)
|
if (!value_insitu)
|
||||||
{
|
{
|
||||||
delete[] value;
|
global_deallocate(value);
|
||||||
value = 0;
|
value = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2876,8 +2885,11 @@ namespace pugi
|
|||||||
|
|
||||||
void xml_document::destroy()
|
void xml_document::destroy()
|
||||||
{
|
{
|
||||||
global_deallocate(_buffer);
|
if (_buffer)
|
||||||
_buffer = 0;
|
{
|
||||||
|
global_deallocate(_buffer);
|
||||||
|
_buffer = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (_root) _root->destroy();
|
if (_root) _root->destroy();
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user