-
- Downloads
PR libstdc++/9404, PR libstdc++/9701 (partial)
2003-02-24 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/9404, PR libstdc++/9701 (partial)
(aka pptr == epptr implies overflow)
* include/bits/fstream.tcc (_M_allocate_internal_buffer):
Consistently, _M_out_end points to the end of the buffer just
created.
(overflow): Tweak to use _M_out_buf_size().
(_M_convert_to_external): The role of the old _M_out_end is
now played by _M_out_lim.
(_M_really_overflow): Likewise.
(seekoff): Likewise.
(setbuf): _M_out_end points to the end of the external buffer.
* include/bits/sstream.tcc (overflow): Rewrote, taking into
account the resolution of DR 169 (TC).
(seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
(seekpos): Use _M_string.capacity(); tweak.
* include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
* include/std/std_fstream.h (sync): The role of the old
_M_out_end is now played by _M_out_lim.
(_M_set_indeterminate): Use _M_set_determinate.
(_M_set_determinate): _M_out_end is now _M_out_lim.
(_M_is_indeterminate): Likewise.
* include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
(_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
which have the information readily available as _M_string.capacity();
for ate and app modes, pass the string size to _M_really_sync.
(_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
point to the end of the buffer (i.e., epptr) and to the string end,
respectively.
* include/std/std_streambuf.h: tweak comments, add _M_out_lim,
which points to the right limit of the used put area.
(_M_out_cur_move): The role of the old _M_out_end is now played
by _M_out_lim.
(_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
_M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter
of the standard.
(basic_streambuf()): Initialize _M_out_lim too.
* testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
* testsuite/27_io/filebuf_virtuals.cc (test11): Add.
* testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
Co-Authored-By:
Nathan Myers <ncm@cantrip.org>
From-SVN: r63367
Showing
- libstdc++-v3/ChangeLog 43 additions, 0 deletionslibstdc++-v3/ChangeLog
- libstdc++-v3/include/bits/fstream.tcc 13 additions, 9 deletionslibstdc++-v3/include/bits/fstream.tcc
- libstdc++-v3/include/bits/sstream.tcc 29 additions, 30 deletionslibstdc++-v3/include/bits/sstream.tcc
- libstdc++-v3/include/bits/streambuf.tcc 0 additions, 10 deletionslibstdc++-v3/include/bits/streambuf.tcc
- libstdc++-v3/include/std/std_fstream.h 16 additions, 12 deletionslibstdc++-v3/include/std/std_fstream.h
- libstdc++-v3/include/std/std_sstream.h 6 additions, 11 deletionslibstdc++-v3/include/std/std_sstream.h
- libstdc++-v3/include/std/std_streambuf.h 25 additions, 30 deletionslibstdc++-v3/include/std/std_streambuf.h
- libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc 61 additions, 3 deletionslibstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
- libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc 56 additions, 0 deletionslibstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc
Loading
Please register or sign in to comment