Skip to content

Commit

Permalink
Further simplify character type handling
Browse files Browse the repository at this point in the history
  • Loading branch information
pjkundert committed Oct 6, 2017
1 parent 1b43a45 commit 5e480b5
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/json.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1451,9 +1451,12 @@ class input_stream_adapter : public input_adapter_protocol
input_stream_adapter(const input_stream_adapter&) = delete;
input_stream_adapter& operator=(input_stream_adapter&) = delete;

// std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
// ensure that std::char_traits<char>::eof() and the character 0xff do not
// end up as the same value, eg. 0xffffffff.
int get_character() override
{
return reinterpret_cast<int>( sb->sbumpc() );
return sb->sbumpc();
}

void unget_character() override
Expand Down Expand Up @@ -1489,10 +1492,10 @@ class input_buffer_adapter : public input_adapter_protocol
{
if (JSON_LIKELY(cursor < limit))
{
return reinterpret_cast<int>(std::char_traits<char>::to_int_type(*(cursor++)));
return std::char_traits<char>::to_int_type(*(cursor++));
}

return reinterpret_cast<int>(std::char_traits<char>::eof());
return std::char_traits<char>::eof();
}

void unget_character() noexcept override
Expand Down

0 comments on commit 5e480b5

Please sign in to comment.