+2004-05-21 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/istream.tcc (ignore): Remove redundant line.
+ (readsome): Tidy, closely following 27.6.1.3, p30.
+
2004-05-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/istream.tcc (operator>>(basic_istream<>&,
__streambuf_type* __sb = this->rdbuf();
int_type __c;
- __n = std::min(__n, numeric_limits<streamsize>::max());
while (_M_gcount < __n
&& !traits_type::eq_int_type(__c = __sb->sbumpc(), __eof))
{
try
{
// Cannot compare int_type with streamsize generically.
- streamsize __num = this->rdbuf()->in_avail();
- if (__num >= 0)
- {
- __num = std::min(__num, __n);
- if (__num)
- _M_gcount = this->rdbuf()->sgetn(__s, __num);
- }
- else
+ const streamsize __num = this->rdbuf()->in_avail();
+ if (__num > 0)
+ _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
+ else if (__num == -1)
__err |= ios_base::eofbit;
}
catch(...)