Fix VariantParser::StreamString EOF determination
(cherry picked from commit 521da75380
)
This commit is contained in:
parent
a8ae52e998
commit
edb70682d5
1 changed files with 8 additions and 2 deletions
|
@ -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 {
|
||||||
|
|
Loading…
Reference in a new issue