You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2006/07/11 23:43:31 UTC

[jira] Resolved: (STDCXX-206) std::operator<<(ostream, string) doesn't call width(0) on ios_base::failure

     [ http://issues.apache.org/jira/browse/STDCXX-206?page=all ]
     
Martin Sebor resolved STDCXX-206:
---------------------------------

    Fix Version: 4.2
     Resolution: Fixed

Fixed by the referenced patch and tested in http://svn.apache.org/repos/asf/incubator/stdcxx/trunk/tests/strings/21.string.io.cpp.

> std::operator<<(ostream, string) doesn't call width(0) on ios_base::failure
> ---------------------------------------------------------------------------
>
>          Key: STDCXX-206
>          URL: http://issues.apache.org/jira/browse/STDCXX-206
>      Project: C++ Standard Library
>         Type: Bug

>   Components: 21. Strings
>     Versions: 4.1.3
>  Environment: all
>     Reporter: Anton Pevtsov
>     Assignee: Martin Sebor
>     Priority: Minor
>      Fix For: 4.2

>
> The following test fails:
> #include <iostream>
> #include <strstream>
> #include <string>
> #include <cassert>
> int main(int argc, char* argv[])
> {
>     std::string str ("abcdefghijk");
>     char buf[10];
>     std::ostrstream os (buf, sizeof(buf));
>     const std::streamsize width = 2;
>     os.width (width);
>     os.exceptions (std::ios_base::failbit | std::ios_base::badbit);
>     try {
>         os << str;
>     }
>     catch (std::ios_base::failure&) {
>     }
>     assert (0 == os.width ());
>     return 0;
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira