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

ups better

parent 8598e702
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -414,11 +414,29 @@ libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree() {
            }else if(strncmp(_Data.data()+ii,"<script",7)==0){
                ii+=4;
                size_t start=ii;

                addelement(&firstEl,&lastEl,new ScriptElement());

                while(ii<_Data.size()){
                    if(_Data[ii]==HTMLTAG_CLOSE) {
                        std::vector<char> tel;

                        std::copy(_Data.begin()+start,_Data.begin()+ii,
                                std::inserter<std::vector<char>>(tel,tel.begin()));

                        _serialelize(tel,(HtmlElement*)lastEl->element);
                    }
                }

                while(ii<_Data.size()){
                    if( strncmp(_Data.data()+ii,"</script>",9)==0 ) {
                        addelement(&firstEl,&lastEl,new CommentElement());
                        addelement(&firstEl,&lastEl,new ScriptElement());

                        lastEl->terminator=true;

                        std::copy(_Data.begin()+start,_Data.begin()+ii,
                                  std::back_inserter(((ScriptElement*)lastEl->element)->_Script));

                        close=ii+9;
                        break;
                    }
@@ -1123,10 +1141,10 @@ int libhtmlpp::CommentElement::getType() const{
    return ElementType::CommentEl;
}

libhtmlpp::ScriptElement::ScriptElement() : Element(){
libhtmlpp::ScriptElement::ScriptElement() : HtmlElement(){
}

libhtmlpp::ScriptElement::ScriptElement(const ScriptElement &scriptsrc) : Element(){
libhtmlpp::ScriptElement::ScriptElement(const ScriptElement &scriptsrc) : HtmlElement(){
    _copy(this,&scriptsrc);
}

+1 −1
Original line number Diff line number Diff line
@@ -187,7 +187,7 @@ namespace libhtmlpp {
        friend void _copy(libhtmlpp::Element *dest,const libhtmlpp::Element *src);
    };

    class ScriptElement : public Element{
    class ScriptElement : public HtmlElement{
    public:
        ScriptElement();
        ScriptElement(const ScriptElement &scriptsrc);