re PR libstdc++/12048 (unget does not work)
authorPetur Runolfsson <peturr02@ru.is>
Wed, 3 Sep 2003 14:54:03 +0000 (14:54 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Wed, 3 Sep 2003 14:54:03 +0000 (14:54 +0000)
commit149639d4f14ae921b4d14f6e35a840755b29f098
tree171f78496fb967c04d39c1a4fabcdd7216ddcb8c
parent916b57cedabb2d80ac3e947a682efa3bce15cf4e
re PR libstdc++/12048 (unget does not work)

2003-09-03  Petur Runolfsson  <peturr02@ru.is>

PR libstdc++/12048
* include/ext/stdio_sync_filebuf.h
(stdio_sync_filebuf::_M_unget_buf): Declare it.
(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
(stdio_sync_filebuf::uflow): Store the returned character in
_M_unget_buf.
(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
(stdio_sync_filebuf<char>::xsgetn): Store last read character in
_M_unget_buf, if any, else eof().
(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
_M_unget_buf, if any, else eof().
* testsuite/27_io/objects/char/12048.cc: Rename to...
* testsuite/27_io/objects/char/12048-1.cc: ...this.
* testsuite/27_io/objects/char/12048-2.cc: New test.
* testsuite/27_io/objects/char/12048-3.cc: New test.
* testsuite/27_io/objects/char/12048-4.cc: New test.
* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
* testsuite/ext/stdio_sync_filebuf_char.cc
(test02, test03, test04, test05): New tests.
* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
(test02, test03, test04, test05): New tests.

2003-09-03  Petur Runolfsson  <peturr02@ru.is>

* docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
stringbuf or strstreambuf. Fix typos.

From-SVN: r71026
libstdc++-v3/ChangeLog
libstdc++-v3/docs/html/27_io/howto.html
libstdc++-v3/include/ext/stdio_sync_filebuf.h
libstdc++-v3/testsuite/ext/stdio_sync_filebuf_char.cc
libstdc++-v3/testsuite/ext/stdio_sync_filebuf_wchar_t.cc