Fix VariantParser::StreamString EOF determination

This commit is contained in:
Pedro J. Estébanez 2020-02-10 09:18:58 +01:00
parent 47f19cc776
commit 521da75380

View file

@ -51,10 +51,16 @@ bool VariantParser::StreamFile::is_eof() const {
CharType VariantParser::StreamString::get_char() { CharType VariantParser::StreamString::get_char() {
if (pos >= s.length()) if (pos > s.length()) {
return 0; return 0;
else } else if (pos == s.length()) {
// You need to try to read again when you have reached the end for EOF to be reported,
// so this works the same as files (like StreamFile does)
pos++;
return 0;
} else {
return s[pos++]; return s[pos++];
}
} }
bool VariantParser::StreamString::is_utf8() const { bool VariantParser::StreamString::is_utf8() const {