Commit a0c64c60 authored by jan.koester's avatar jan.koester
Browse files

some fiex

parent f9be65aa
Loading
Loading
Loading
Loading
+28 −18
Original line number Diff line number Diff line
@@ -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;
        }
    };
};
@@ -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){
@@ -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();
    }
@@ -139,9 +145,14 @@ void libhtmlpp::HtmlString::clear(){
        }
    }
    delete[]   _HTable;

    _HTable=nullptr;
    _HTableSize=0;

    while(!_Childs.empty()){
        delete _Childs.top();
        _Childs.pop();
    }

    _Data.clear();
}

@@ -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) {
@@ -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) {