peek should set eofbit if sgetc() returns eof.

llvm-svn: 167238
This commit is contained in:
Howard Hinnant 2012-11-01 17:32:07 +00:00
parent 4eaf8ef5cb
commit 66e7ed959f
1 changed files with 4 additions and 0 deletions

View File

@ -1189,7 +1189,11 @@ basic_istream<_CharT, _Traits>::peek()
#endif // _LIBCPP_NO_EXCEPTIONS
sentry __sen(*this, true);
if (__sen)
{
__r = this->rdbuf()->sgetc();
if (traits_type::eq_int_type(__r, traits_type::eof()))
this->setstate(ios_base::eofbit);
}
#ifndef _LIBCPP_NO_EXCEPTIONS
}
catch (...)