Loading src/html.cpp +28 −18 Original line number Diff line number Diff line Loading @@ -67,10 +67,14 @@ namespace libhtmlpp { epos = 0; } ~DocElements() { virtual ~DocElements() { nextel = nullptr; element=nullptr; prevel = nullptr; element = nullptr; delete nextel; delete element; delete prevel; } }; }; Loading @@ -87,7 +91,7 @@ libhtmlpp::HtmlString::HtmlString(const char* str) : HtmlString(){ libhtmlpp::HtmlString::HtmlString(std::string& str) : HtmlString(){ std::copy(str.begin(),str.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin())); } #include <iostream> libhtmlpp::HtmlString::~HtmlString(){ if(_HTable){ for(size_t i=0; i<_HTableSize; ++i){ Loading @@ -97,6 +101,8 @@ libhtmlpp::HtmlString::~HtmlString(){ delete[] _HTable; while(!_Childs.empty()){ std::cout << "test" << std::endl; std::cout << ((HtmlElement*)_Childs.top())->getTagname() << std::endl; delete _Childs.top(); _Childs.pop(); } Loading Loading @@ -139,9 +145,14 @@ void libhtmlpp::HtmlString::clear(){ } } delete[] _HTable; _HTable=nullptr; _HTableSize=0; while(!_Childs.empty()){ delete _Childs.top(); _Childs.pop(); } _Data.clear(); } Loading Loading @@ -361,17 +372,6 @@ NEXTDOCEL: cpylist.pop(); goto NEXTDOCEL; } while(firstel){ DocElements *next=firstel->nextel; firstel->prevel=nullptr; firstel->nextel=nullptr; firstel->element=nullptr; delete firstel; firstel=next; } lastel=nullptr; } libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree(long& pos) { Loading Loading @@ -454,7 +454,17 @@ libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree(long& pos) { _buildtreenode(firstEl,lastEl); return firstEl->element; Element *first = firstEl->element; while(firstEl){ DocElements *next=firstEl->nextel; delete firstEl; firstEl=next; } lastEl=nullptr; return first; } void libhtmlpp::HtmlString::_serialelize(std::vector<char> in, libhtmlpp::HtmlElement *out) { Loading Loading
src/html.cpp +28 −18 Original line number Diff line number Diff line Loading @@ -67,10 +67,14 @@ namespace libhtmlpp { epos = 0; } ~DocElements() { virtual ~DocElements() { nextel = nullptr; element=nullptr; prevel = nullptr; element = nullptr; delete nextel; delete element; delete prevel; } }; }; Loading @@ -87,7 +91,7 @@ libhtmlpp::HtmlString::HtmlString(const char* str) : HtmlString(){ libhtmlpp::HtmlString::HtmlString(std::string& str) : HtmlString(){ std::copy(str.begin(),str.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin())); } #include <iostream> libhtmlpp::HtmlString::~HtmlString(){ if(_HTable){ for(size_t i=0; i<_HTableSize; ++i){ Loading @@ -97,6 +101,8 @@ libhtmlpp::HtmlString::~HtmlString(){ delete[] _HTable; while(!_Childs.empty()){ std::cout << "test" << std::endl; std::cout << ((HtmlElement*)_Childs.top())->getTagname() << std::endl; delete _Childs.top(); _Childs.pop(); } Loading Loading @@ -139,9 +145,14 @@ void libhtmlpp::HtmlString::clear(){ } } delete[] _HTable; _HTable=nullptr; _HTableSize=0; while(!_Childs.empty()){ delete _Childs.top(); _Childs.pop(); } _Data.clear(); } Loading Loading @@ -361,17 +372,6 @@ NEXTDOCEL: cpylist.pop(); goto NEXTDOCEL; } while(firstel){ DocElements *next=firstel->nextel; firstel->prevel=nullptr; firstel->nextel=nullptr; firstel->element=nullptr; delete firstel; firstel=next; } lastel=nullptr; } libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree(long& pos) { Loading Loading @@ -454,7 +454,17 @@ libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree(long& pos) { _buildtreenode(firstEl,lastEl); return firstEl->element; Element *first = firstEl->element; while(firstEl){ DocElements *next=firstEl->nextel; delete firstEl; firstEl=next; } lastEl=nullptr; return first; } void libhtmlpp::HtmlString::_serialelize(std::vector<char> in, libhtmlpp::HtmlElement *out) { Loading