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

fixed memory leak

parent acfbd98a
Loading
Loading
Loading
Loading
+7 −12
Changes for src/html.cpp: 7 added lines, 12 removed lines.
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ void libhtmlpp::HtmlString::clear(){
        delete[] _HTable[i];
    }
    delete[]   _HTable;
    delete     _RootNode;
    _InitString();
}

@@ -541,15 +542,13 @@ int libhtmlpp::Element::getType(){


libhtmlpp::HtmlPage::HtmlPage(){
    _RootNode=nullptr;
}

libhtmlpp::HtmlPage::~HtmlPage(){
    delete _RootNode;
}

libhtmlpp::HtmlElement *libhtmlpp::HtmlPage::loadFile(const char* path){
    HtmlString page;
    std::string data;
    char tmp[HTML_BLOCKSIZE];
    std::ifstream fs;
    try{
@@ -561,24 +560,20 @@ libhtmlpp::HtmlElement *libhtmlpp::HtmlPage::loadFile(const char* path){

    while (fs.good()) {
        fs.read(tmp,HTML_BLOCKSIZE);
        page.append(tmp,fs.gcount());
        data.append(tmp,fs.gcount());
    }
    fs.close();
    _RootNode=loadString(page);
    return _RootNode;
    return loadString(data);
}

libhtmlpp::HtmlElement *libhtmlpp::HtmlPage::loadString(const std::string src){
    HtmlString page;
    page << src;
    _RootNode=loadString(page);
    return _RootNode;
    _Page=src.c_str();
    return loadString(_Page);
}

libhtmlpp::HtmlElement *libhtmlpp::HtmlPage::loadString(HtmlString node){
    _RootNode=node.parse();
    _CheckHeader(node);
    return _RootNode;
    return _Page.parse();
}

void libhtmlpp::HtmlPage::saveFile(const char* path){
+1 −1
Changes for src/html.h: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ namespace libhtmlpp {
        HtmlElement *loadString(HtmlString node);
    private:
        void         _CheckHeader(const HtmlString& page);
        HtmlElement *_RootNode;
        HtmlString   _Page;
    };

    class HtmlTable {