Commit 16e708bc authored by jan.koester's avatar jan.koester
Browse files

fixed

parent baafc39f
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -107,8 +107,9 @@ libhtmlpp::HtmlString::HtmlString(char str) : HtmlString(){
}

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

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

    auto clean_end = std::remove(src.begin(), src.end(), '\0');
    _Data.insert(_Data.end(), src.begin(), clean_end);
    std::string cleaned=src;
    auto clean_end = std::remove(cleaned.begin(), cleaned.end(), '\0');
    _Data.insert(_Data.end(), cleaned.begin(), clean_end);

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

void libhtmlpp::HtmlString::append(libhtmlpp::HtmlString& hstring) {
    std::copy(hstring._Data.begin(),hstring._Data.end(),std::back_inserter(_Data));
@@ -850,14 +854,11 @@ void libhtmlpp::HtmlElement::_serialelize(const std::vector<char>& in) {
        return;
    }

    bool maybe_self_closing = false;

    while (i < r) {
        while (i < r && is_space(static_cast<unsigned char>(in[i]))) ++i;
        if (i >= r) break;

        if (in[i] == '/') {
            maybe_self_closing = true;
            ++i;
            while (i < r && is_space(static_cast<unsigned char>(in[i]))) ++i;
            break;