Merge branch '138-toggle-free-look-with-hotkey' into 'main/atys-live'
[ryzomcore.git] / nel / src / misc / xml_auto_ptr.cpp
blob2315cd52b3d1112ac3f96e900a314992b6597213
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #include "stdmisc.h"
20 #include "nel/misc/xml_auto_ptr.h"
22 #include <libxml/parser.h>
24 #ifdef DEBUG_NEW
25 #define new DEBUG_NEW
26 #endif
28 //=======================================
29 void CXMLAutoPtr::destroy()
31 if (_Value)
33 xmlFree(const_cast<char *>(_Value));
34 _Value = NULL;
38 //=======================================
39 CXMLAutoPtr::~CXMLAutoPtr()
41 destroy();
44 //=======================================
45 CXMLAutoPtr &CXMLAutoPtr::operator = (const char *other)
47 if (other == _Value) return *this;
48 destroy();
49 _Value = other;
50 return *this;