stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov (JIRA)" <j...@apache.org>
Subject [jira] Closed: (STDCXX-217) [Windows] SIGABRT in std::locale("...") on a combined locale name
Date Thu, 24 May 2007 11:35:18 GMT

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

Farid Zaripov closed STDCXX-217.
--------------------------------


> [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.


Mime
View raw message