You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Farid Zaripov (JIRA)" <ji...@apache.org> on 2007/08/28 20:21:31 UTC

[jira] Resolved: (STDCXX-515) std::basic_streambuf<>::xsputn() writes characters at the end, but not at the current position if reallocation of internal buffer occurs

     [ https://issues.apache.org/jira/browse/STDCXX-515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Farid Zaripov resolved STDCXX-515.
----------------------------------

    Resolution: Fixed

Fixed thus: http://svn.apache.org/viewvc?rev=570514&view=rev

> std::basic_streambuf<>::xsputn() writes characters at the end, but not at the current position if reallocation of internal buffer occurs
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: STDCXX-515
>                 URL: https://issues.apache.org/jira/browse/STDCXX-515
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 27. Input/Output
>    Affects Versions: 4.2
>         Environment: All
>            Reporter: Farid Zaripov
>            Assignee: Farid Zaripov
>             Fix For: 4.2
>
>
> The test below asserts on i == 512.
> test.cpp:
> ------------------
> #include <sstream>
> #include <string>
> #include <cassert>
> int main ()
> {
>     for (size_t i = 1; i <= 1024; ++i) {
>         std::stringstream strm;
>         std::string s (i, 'a');
>         strm << s;
>         strm.seekp (-1, std::ios::cur);
>         s.erase (0, 1);
>         strm << "bc";
>         s.append ("bc");
>         assert (strm.str () == s);
>     }
>     return 0;
> }
> ------------------
> The test output:
> ------------------
> test: test.cpp:15: int main (): Assertion `strm.str () == s' failed.
> Aborted
> ------------------

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.