diff --git a/src/coders/BasicParser.inl b/src/coders/BasicParser.inl index 72f644ba..3616b4a1 100644 --- a/src/coders/BasicParser.inl +++ b/src/coders/BasicParser.inl @@ -283,9 +283,12 @@ std::basic_string_view BasicParser::readUntilWhitespace() { template std::basic_string_view BasicParser::readUntilEOL() { int start = pos; - while (hasNext() && source[pos] != '\r' && source[pos] != '\n') { + while (hasNext() && source[pos] != '\n') { pos++; } + if (pos > start && source[pos - 1] == '\r') { + return source.substr(start, pos - start - 1); + } return source.substr(start, pos - start); }