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

removed cstr methods

parent e4b7883d
Loading
Loading
Loading
Loading
+7 −16
Changes for src/html.cpp: 7 added lines, 16 removed lines.
Original line number Diff line number Diff line
@@ -109,7 +109,8 @@ libhtmlpp::HtmlString &libhtmlpp::HtmlString::operator+=(const char *src){
}

libhtmlpp::HtmlString & libhtmlpp::HtmlString::operator+=(libhtmlpp::HtmlString& hstring){
    this->append(hstring.c_str());
    HtmlElement *tmp=hstring.parse();
    tmp->printHtmlElement(_Data);
    return *this;
}

@@ -159,13 +160,6 @@ libhtmlpp::HtmlString& libhtmlpp::HtmlString::operator<<(char src) {
    return *this;
}

const char* libhtmlpp::HtmlString::c_str() {
    _Cstr.clear();
    _Cstr = _RootNode->printHtmlElement();
    return _Cstr.c_str();
}


size_t libhtmlpp::HtmlString::size() {
    return _Data.size();
}
@@ -438,11 +432,9 @@ void libhtmlpp::HtmlPage::addElement(HtmlElement *element){
    return;
}

const char* libhtmlpp::HtmlPage::printHtml(){
    _C_str.clear();
    _C_str.append("<!DOCTYPE html>");
    _C_str.append(_RootNode->printHtmlElement());
    return _C_str.c_str();
void libhtmlpp::HtmlPage::printHtml(std::string &html){
    html.append("<!DOCTYPE html>");
    _RootNode->printHtmlElement(html);
}

void libhtmlpp::HtmlPage::loadFile(const char* path){
@@ -533,9 +525,8 @@ void libhtmlpp::HtmlElement::_print(HtmlElement* el, HtmlElement* parent,std::st
}


const char* libhtmlpp::HtmlElement::printHtmlElement() {
    _print(this,nullptr,_Cstr);
    return _Cstr.c_str();
void libhtmlpp::HtmlElement::printHtmlElement(std::string &html) {
    _print(this,nullptr,html);
}

void libhtmlpp::HtmlElement::setAttribute(const char* name, const char* value) {
+2 −8
Changes for src/html.h: 2 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ namespace libhtmlpp {
        const char* getAtributte(const char* name);
        int         getIntAtributte(const char* name);

        const char* printHtmlElement();
        void printHtmlElement(std::string &html);

    protected:

@@ -73,9 +73,6 @@ namespace libhtmlpp {
        Attributes*    _firstAttr;
        Attributes*    _lastAttr;

        //buffer for c_str() function
        std::string    _Cstr;

        friend class HtmlString;
    };

@@ -114,9 +111,8 @@ namespace libhtmlpp {
        size_t toString(const char** dest);

        void addElement(HtmlElement* element);
        const char* printHtml();
        void printHtml(std::string &html);
    private:
        std::string   _C_str;
        HtmlElement*  _RootNode;
    };

@@ -144,7 +140,6 @@ namespace libhtmlpp {
        HtmlString& operator<<(char src);
        HtmlString& operator<<(unsigned long src);

        const char*        c_str();
        size_t             size();
        size_t             length();
        void               clear();
@@ -158,7 +153,6 @@ namespace libhtmlpp {
        HtmlElement*      _buildTreeElement(libhtmlpp::DocElements* curel, libhtmlpp::DocElements* nexel, 
                                            HtmlElement* parent);
        std::string             _Data;
        std::string             _Cstr;
        ssize_t**               _HTable;
        size_t                  _HTableSize;
        HtmlElement*            _RootNode;
+3 −1
Changes for test/htmlpagetest.cpp: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -38,7 +38,9 @@ int main(int arc,char *argv[]){
    libhtmlpp::HtmlPage page;
    try{
        page.loadFile(argv[1]);
        std::cout << page.printHtml() << std::endl;
        std::string html;
        page.printHtml(html);
        std::cout << html << std::endl;
        std::cout << Green << "Test Passed!" << NOCOLOR << std::endl;
    }catch(libhtmlpp::HTMLException &exp){
        std::cout << exp.what() << std::endl;