mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-23 15:01:17 +08:00
istream.tcc: Removed test for _M_gcount < in_avail()...
2000-10-05 Brent Verner <brent@rcfile.org> * bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed test for _M_gcount < in_avail(), as in_avail() only reports info for current buffer, causing method to return at end of buffer. * testsuite/27_io/istream_unformatted.cc [test07()]: New test. * testsuite/27_io/istream_unformatted-3.txt: New file. * testsuite/27_io/istream_unformatted-3.tst: New file. From-SVN: r36752
This commit is contained in:
parent
3a1ed6a1d1
commit
7c7688c76a
@ -588,11 +588,10 @@ namespace std {
|
||||
bool __testdelim = __c == __idelim;
|
||||
bool __testeof = __c == __eof;
|
||||
bool __testput = true;
|
||||
streamsize __n = __this_sb->in_avail();
|
||||
|
||||
while (_M_gcount <= __n && !__testeof && !__testdelim
|
||||
while (!__testeof && !__testdelim
|
||||
&& (__testput = __sb.sputc(traits_type::to_char_type(__c))
|
||||
!= __eof))
|
||||
!= __eof))
|
||||
{
|
||||
++_M_gcount;
|
||||
__c = __this_sb->sbumpc();
|
||||
|
@ -452,7 +452,28 @@ test06()
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// bug reported by bgarcia@laurelnetworks.com
|
||||
// http://sources.redhat.com/ml/libstdc++-prs/2000-q3/msg00041.html
|
||||
int
|
||||
test07()
|
||||
{
|
||||
const char* tfn = "testsuite/istream_unformatted-3.txt";
|
||||
std::ifstream infile;
|
||||
infile.open(tfn);
|
||||
VERIFY( infile );
|
||||
while (infile)
|
||||
{
|
||||
std::string line;
|
||||
std::ostringstream line_ss;
|
||||
while (infile.peek() == '\n')
|
||||
infile.get();
|
||||
infile.get(*(line_ss.rdbuf()));
|
||||
line = line_ss.str();
|
||||
VERIFY( line == "1234567890" || line == "" );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
@ -462,7 +483,8 @@ main()
|
||||
test04();
|
||||
test05();
|
||||
test06();
|
||||
|
||||
test07();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user