Fix VariantParser::StreamString EOF determination

(cherry picked from commit 521da75380)
This commit is contained in:
Pedro J. Estébanez 2020-02-10 09:18:58 +01:00 committed by Rémi Verschelde
parent a8ae52e998
commit edb70682d5
1 changed files with 8 additions and 2 deletions

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 {