Boost C++ Libraries: Ticket #7681: Bug in indirect_streambuf::seek_impl https://svn.boost.org/trac10/ticket/7681 <p> Currently indirect_streambuf::seek_impl always modifies input and output pointers with code: </p> <p> setg(0, 0, 0); setp(0, 0); </p> <p> See detail/indirect_streambuf.hpp. However, this is incorrect for dual seekable streams buffers which only modifies one set of pointers on each seek (in or out). As a consequence, dual seekable devices cannot be correctly seek. Those 2 lines should be replaced by: </p> <p> if (is_convertible&lt;category, dual_seekable&gt;::value) { </p> <blockquote> <p> if (which == BOOST_IOS::in) { </p> <blockquote> <p> setg(0, 0, 0); </p> </blockquote> <p> } if (which == BOOST_IOS::out) { </p> <blockquote> <p> setp(0, 0); </p> </blockquote> <p> } </p> </blockquote> <p> } else { </p> <blockquote> <p> setg(0, 0, 0); setp(0, 0); </p> </blockquote> <p> } </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7681 Trac 1.4.3