[ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474266 ]
Mark Brown commented on STDCXX-333: ----------------------------------- I tried to see if I could reproduce this problem on Cygwin. My version of Cygwin doesn't have any locales so I tried to generate the en_US.UTF-8 locale using the stdcxx localedef program. I got this error: nls$ ../bin/localedef -c -f /home/mbrown/stdcxx/etc/nls/charmaps/UTF-8 -i /home/mbrown/stdcxx/etc/nls/src/en_US en_US.UTF-8 call to system LC_ALL=C /usr/bin/locale -a >/tmp/tdf4.0 2>/dev/null: No such file or directory Hangup > 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 > Environment: gcc 3.2.3 on Linux > Reporter: Mark Brown > > 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 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.