Commit 3646a907 authored by jan.koester's avatar jan.koester
Browse files

reduce mem

parent 16e708bc
Loading
Loading
Loading
Loading
+17 −6
Original line number Diff line number Diff line
@@ -107,9 +107,18 @@ libhtmlpp::HtmlString::HtmlString(char str) : HtmlString(){
}

libhtmlpp::HtmlString::HtmlString(const std::string& str) : HtmlString(){
    std::string cleaned=str;
    auto clean_end = std::remove(cleaned.begin(), cleaned.end(), '\0');
    _Data.insert(_Data.end(), cleaned.begin(), clean_end);
    if(str.empty())
        return;

    if (!_Data.empty() && _Data.back() == '\0') {
        _Data.pop_back();
    }

   for(auto i = str.begin(); i!=str.end(); ++i){
       if(*i=='\0')
           break;
       _Data.push_back(*i);
   }

    if (_Data.empty() || _Data.back() != '\0') {
        _Data.push_back('\0');
@@ -143,9 +152,11 @@ void libhtmlpp::HtmlString::append(const std::string& src) {
        _Data.pop_back();
    }

    std::string cleaned=src;
    auto clean_end = std::remove(cleaned.begin(), cleaned.end(), '\0');
    _Data.insert(_Data.end(), cleaned.begin(), clean_end);
   for(auto i = src.begin(); i!=src.end(); ++i){
       if(*i=='\0')
           break;
       _Data.push_back(*i);
   }

    if (_Data.empty() || _Data.back() != '\0') {
        _Data.push_back('\0');