diff options
author | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2020-02-10 09:18:58 +0100 |
---|---|---|
committer | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2020-02-10 10:57:01 +0100 |
commit | 521da75380be712157fa172e27dda4dabba1de51 (patch) | |
tree | 2d29ef0c9351882146d4fa8802bcb2a44232a292 /core | |
parent | 47f19cc776940469a006aa3f7331166b32d9f7b4 (diff) |
Fix VariantParser::StreamString EOF determination
Diffstat (limited to 'core')
-rw-r--r-- | core/variant_parser.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp index 6ca9d6c246..4ce33b0123 100644 --- a/core/variant_parser.cpp +++ b/core/variant_parser.cpp @@ -51,10 +51,16 @@ bool VariantParser::StreamFile::is_eof() const { CharType VariantParser::StreamString::get_char() { - if (pos >= s.length()) + if (pos > s.length()) { 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++]; + } } bool VariantParser::StreamString::is_utf8() const { |