diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index e11fb896a..e9990767b 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -82,7 +82,9 @@ class input_stream_adapter : public input_adapter_protocol auto res = sb.sbumpc(); // set eof manually, as we don't use the istream interface. if (res == EOF) + { is.clear(is.rdstate() | std::ios::eofbit); + } return res; } diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 806285a43..19fb6ddf7 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -2131,7 +2131,9 @@ class input_stream_adapter : public input_adapter_protocol auto res = sb.sbumpc(); // set eof manually, as we don't use the istream interface. if (res == EOF) + { is.clear(is.rdstate() | std::ios::eofbit); + } return res; }