Commit e46df44d authored by Jan Koester's avatar Jan Koester
Browse files

use vector<char> instead std::string

parent 30a128b4
Loading
Loading
Loading
Loading
+6 −5
Changes for src/html.cpp: 6 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ libhtmlpp::HtmlString::~HtmlString(){
}

void libhtmlpp::HtmlString::assign(const char* src, size_t srcsize){
    _Data.assign(src,srcsize);
    _Data.insert(_Data.end(),src,src+srcsize);
}

void libhtmlpp::HtmlString::push_back(const char src){
@@ -73,7 +73,7 @@ void libhtmlpp::HtmlString::assign(const char* src) {
}

void libhtmlpp::HtmlString::insert(size_t pos, char src){
    _Data.insert(pos,&src);
    _Data[pos]=src;
}

void libhtmlpp::HtmlString::clear(){
@@ -98,7 +98,8 @@ libhtmlpp::HtmlString & libhtmlpp::HtmlString::operator+=(libhtmlpp::HtmlString&


libhtmlpp::HtmlString &libhtmlpp::HtmlString::operator=(const char *src){
    _Data=src;
    _Data.clear();
    _Data.insert(_Data.begin(),src,src+sys::getlen(src));
    return *this;
}

@@ -135,7 +136,7 @@ libhtmlpp::HtmlString &libhtmlpp::HtmlString::operator<<(char src){
const char *libhtmlpp::HtmlString::c_str() {
    size_t level=0;
    _printHtml(_HtmlRootNode,level);
    return _Data.c_str();
    return reinterpret_cast<const char*>(_Data.data());
}

void libhtmlpp::HtmlString::_printHtml(libhtmlpp::HtmlElement* node,size_t &level){
@@ -301,7 +302,7 @@ void libhtmlpp::HtmlString::_parseTree(){
    
    bool open=false;
    size_t ip=0;
    for(size_t ii=0; ii<_Data.length(); ++ii){
    for(size_t ii=0; ii<_Data.size(); ++ii){
        switch(_Data[ii]){
            case HTMLTAG_OPEN:
                open=true;
+2 −2
Changes for src/html.h: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*******************************************************************************/

#include <string>
#include <vector>

#include <sys/types.h>

@@ -99,7 +99,7 @@ namespace libhtmlpp {
        HtmlElement      *_serialzeElements(HtmlElement *prevnode,ssize_t &pos);
        int               _serialzeTags(size_t spos,size_t epos,char **value,size_t &valuesize);
        void              _printHtml(HtmlElement *node,size_t &level);
        std::string             _Data;
        std::vector<char>       _Data;
        ssize_t               **_HTable;
        size_t                  _HTableSize;
        char                   *_HtmlHeader;