stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Updated: (STDCXX-333) [gcc 3.2.3/Linux] std::wfilebuf extracts more than 1 character from a 1 byte file
Date Wed, 12 Mar 2008 00:02:52 GMT

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

Martin Sebor updated STDCXX-333:
--------------------------------

          Description: 
I get an an abort when I run the following program on Linux.

{noformat}
#include <cassert>
#include <fstream>
#include <iostream>

int main ()
{
    {
        std::filebuf fb;
        fb.open ("file", std::ios::out);
        fb.sputc ('a');
    }

    std::wfilebuf fb;
    fb.pubimbue (std::locale ("en_US.UTF-8"));
    fb.open ("file", std::ios::in);

    const int c[] = { fb.sbumpc (), fb.sgetc () };
    std::cout << c [0] << ' ' << c [1] << std::endl;

    assert (L'a' == c [0]);
    assert (std::wfilebuf::traits_type::eof () == c [1]);
}

test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed.
Aborted
{noformat}

  was:
I get an an abort when I run the following program on Linux.

#include <cassert>
#include <fstream>
#include <iostream>

int main ()
{
    {
        std::filebuf fb;
        fb.open ("file", std::ios::out);
        fb.sputc ('a');
    }

    std::wfilebuf fb;
    fb.pubimbue (std::locale ("en_US.UTF-8"));
    fb.open ("file", std::ios::in);

    const int c[] = { fb.sbumpc (), fb.sgetc () };
    std::cout << c [0] << ' ' << c [1] << std::endl;

    assert (L'a' == c [0]);
    assert (std::wfilebuf::traits_type::eof () == c [1]);
}

test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed.
Aborted


    Affects Version/s: 4.2.0
        Fix Version/s: 4.2.1

Disabled formatting and set Affects and Fix Version/s.

> [gcc 3.2.3/Linux] std::wfilebuf extracts more than 1 character from a 1 byte file
> ---------------------------------------------------------------------------------
>
>                 Key: STDCXX-333
>                 URL: https://issues.apache.org/jira/browse/STDCXX-333
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 27. Input/Output
>    Affects Versions: 4.1.3, 4.2.0
>         Environment: gcc 3.2.3 on Linux
>            Reporter: Mark Brown
>            Assignee: Martin Sebor
>            Priority: Minor
>             Fix For: 4.2.1
>
>
> I get an an abort when I run the following program on Linux.
> {noformat}
> #include <cassert>
> #include <fstream>
> #include <iostream>
> int main ()
> {
>     {
>         std::filebuf fb;
>         fb.open ("file", std::ios::out);
>         fb.sputc ('a');
>     }
>     std::wfilebuf fb;
>     fb.pubimbue (std::locale ("en_US.UTF-8"));
>     fb.open ("file", std::ios::in);
>     const int c[] = { fb.sbumpc (), fb.sgetc () };
>     std::cout << c [0] << ' ' << c [1] << std::endl;
>     assert (L'a' == c [0]);
>     assert (std::wfilebuf::traits_type::eof () == c [1]);
> }
> test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]'
failed.
> Aborted
> {noformat}

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


Mime
View raw message