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

html4 term fix

parent 637bf295
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -392,7 +392,7 @@ libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree() {
    for(size_t ii=0; ii<_Data.size(); ++ii){
        if(_Data[ii]==HTMLTAG_OPEN){
            if(strncmp(_Data.data()+ii,"<!--",4)==0){
                ii+=3;
                ii+=4;
                size_t start=ii;
                while(ii<_Data.size()){
                    if(strncmp(_Data.data()+ii,"-->",3)==0 ) {
@@ -409,6 +409,9 @@ libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree() {

                while(ii<_Data.size()){
                    if(_Data[ii]==HTMLTAG_CLOSE) {

                        ++ii;

                        addelement(&firstEl,&lastEl,new ScriptElement());
                        std::vector<char> tel;

@@ -425,18 +428,20 @@ libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree() {

                while(ii<_Data.size()){
                    if( strncmp(_Data.data()+ii,"</script",8)==0 ) {

                        std::copy(_Data.begin()+close,_Data.begin()+ii,
                                  std::back_inserter(((ScriptElement*)lastEl->element)->_Script));
                        ii+=8;
                        ii+=7;
                        break;
                    }
                    ++ii;
                }
            }else {
                size_t start=ii;
                size_t start=++ii;
                addelement(&firstEl,&lastEl,new HtmlElement());
                bool term=false;
                while(ii<_Data.size()){
                    if(_Data[ii]==HTMLTAG_TERMINATE){
                    if(!term && _Data[ii]==HTMLTAG_TERMINATE){
                         lastEl->terminator=true;
                    }else if(_Data[ii]==HTMLTAG_CLOSE) {
                         std::vector<char> tel;
@@ -444,6 +449,9 @@ libhtmlpp::Element *libhtmlpp::HtmlString::_buildTree() {
                        _serialelize(tel,(HtmlElement*)lastEl->element);
                        break;
                    }
                    if(_Data[ii]!=' '){
                        term=true;
                    }
                    ++ii;
                }
            }