[ https://issues.apache.org/jira/browse/STDCXX-217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Farid Zaripov resolved STDCXX-217. ---------------------------------- Resolution: Cannot Reproduce Fix Version/s: 4.2 Not reproducible. > [Windows] SIGABRT in std::locale("...") on a combined locale name > ----------------------------------------------------------------- > > Key: STDCXX-217 > URL: https://issues.apache.org/jira/browse/STDCXX-217 > Project: C++ Standard Library > Issue Type: Bug > Components: 22. Localization > Affects Versions: 4.1.3, 4.1.2 > Environment: Windows > Reporter: Martin Sebor > Assigned To: Farid Zaripov > Fix For: 4.2 > > > Moved from the Rogue Wave bug tracking database: > ****Created By: sebor @ Mar 16, 2004 04:58:48 PM**** > The program below aborts on Win32: > #include <clocale> > #include <cstdio> > #include <locale> > int main () > { > const char shortname[] = > "ENG;NON;MSB;FRM;ENP"; > const char longname[] = { > "LC_COLLATE=ENG;" > "LC_CTYPE=NON;" > "LC_MONETARY=MSB;" > "LC_NUMERIC=FRM;" > "LC_TIME=ENP" > }; > const char* fullname = std::setlocale (LC_ALL, shortname); > std::printf ("%s\n", fullname ? fullname : "(null)"); > const std::locale classic = std::locale::classic (); > { > const std::locale loc (shortname); > std::printf ("%s\n", loc.name ()); > std::printf ("%s\n", classic.name ().c_str ()); > } > fullname = std::setlocale (LC_ALL, longname); > std::printf ("%s\n", fullname ? fullname : "(null)"); > { > const std::locale loc (longname); > std::printf ("%s\n", loc.name ()); > std::printf ("%s\n", classic.name ().c_str ()); > } > > return 0; > } > $ cl -D_RWCONFIG=11s -Ic:\contrib\cygwin\build\sebor\dev-hal\include > -I.\..\..\..\..\include > -Ic:\contrib\cygwin\build\sebor\dev-hal\tests\stdlib\locale\..\include > -Ic:\contrib\cygwin\build\sebor\dev-hal\include\ansi -I.\..\..\..\.. > -Ic:\contrib\cygwin\build\sebor\dev-hal > -Ic:\contrib\cygwin\build\sebor\dev-hal\tests\stdlib\locale -I. -nologo -GX > -MLd -W3 -Zi -GA -GR -GF -GZ -c t.cpp > t.cpp > link -nologo /NODEFAULTLIB:libcpd /debug /LIBPATH:.\..\..\..\..\lib > /OUT:t.exe t.obj testx11s.lib tlt11s.lib std11s.lib user32.lib > $ t.exe > English_United States.1252 > LC_COLLATE=ENG;LC_CTYPE=Norw;LC_MONETARY=Malay_Bru;LC_NUMERIC=French_Principality;LC_TIME=English_Republic > of the Philippines.125;LC_COLLATE=English_United States.1252 > C > LC_COLLATE=English_United > Kingdom.1252;LC_CTYPE=Norwegian-Nynorsk_Norway.1252;LC_MONETARY=Malay_Brunei > Darussalam.1252;LC_NUMERIC=French_Principality of > Monaco.1252;LC_TIME=English_Republic of the Philippines.1252 > c:\contrib\cygwin\build\sebor\dev-hal\source\stdlib\locale_body.cpp:669: int > __cdecl __rw::cmplocale(const void *,const void *): Assertion '0 != > plocale->_C_get_name ()' failed. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.