🐛 fixed a bug in the unget function

This commit is contained in:
Niels Lohmann 2018-10-07 16:48:45 +02:00
parent 011b15dd08
commit 6d09cdec34
No known key found for this signature in database
GPG key ID: 7F3CEA63AE251B69
4 changed files with 21 additions and 16 deletions

View file

@ -1278,12 +1278,18 @@ scan_number_done:
next_unget = true;
--position.chars_read_total;
--position.chars_read_current_line;
// in case we "unget" a newline, we have to also decrement the lines_read
if (position.lines_read != 0 and position.chars_read_current_line == 0)
if (position.chars_read_current_line == 0)
{
--position.lines_read;
if (position.lines_read > 0)
{
--position.lines_read;
}
}
else
{
--position.chars_read_current_line;
}
if (JSON_LIKELY(current != std::char_traits<char>::eof()))