mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-25 03:44:04 +08:00
2002-01-30 Paolo Carlini <pcarlini@unitus.it>
* config/locale/numpunct_members_gnu.cc (numpunct<char, wchar_t>::_M_initialize_numpunct()): Fix initialization of _M_grouping for locales which have _M_thousands_sep == '\0'(L'\0', respectively). * testsuite/22_locale/numpunct_byname.cc (test02): Add test. From-SVN: r49343
This commit is contained in:
parent
a852d50fb4
commit
f2e7381d8e
@ -1,3 +1,11 @@
|
||||
2002-01-30 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
* config/locale/numpunct_members_gnu.cc
|
||||
(numpunct<char, wchar_t>::_M_initialize_numpunct()):
|
||||
Fix initialization of _M_grouping for locales which have
|
||||
_M_thousands_sep == '\0'(L'\0', respectively).
|
||||
* testsuite/22_locale/numpunct_byname.cc (test02): Add test.
|
||||
|
||||
2002-01-30 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
* testsuite/27_io/ostream_inserter_arith.cc (test03):
|
||||
|
@ -53,7 +53,11 @@ namespace std
|
||||
// Named locale.
|
||||
_M_decimal_point = *(__nl_langinfo_l(RADIXCHAR, __cloc));
|
||||
_M_thousands_sep = *(__nl_langinfo_l(THOUSEP, __cloc));
|
||||
_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
|
||||
// Check for NUL, which implies no grouping.
|
||||
if (_M_thousands_sep == '\0')
|
||||
_M_grouping = "";
|
||||
else
|
||||
_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
|
||||
}
|
||||
// NB: There is no way to extact this info from posix locales.
|
||||
// _M_truename = __nl_langinfo_l(YESSTR, __cloc);
|
||||
@ -79,7 +83,10 @@ namespace std
|
||||
// Named locale.
|
||||
_M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
|
||||
_M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w);
|
||||
_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
|
||||
if (_M_thousands_sep == L'\0')
|
||||
_M_grouping = "";
|
||||
else
|
||||
_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
|
||||
}
|
||||
// NB: There is no way to extact this info from posix locales.
|
||||
// _M_truename = __nl_langinfo_l(YESSTR, __cloc);
|
||||
|
@ -72,9 +72,26 @@ void test01()
|
||||
VERIFY( dp1 != dp3 );
|
||||
}
|
||||
|
||||
void test02()
|
||||
{
|
||||
using namespace std;
|
||||
|
||||
bool test = true;
|
||||
|
||||
locale loc_it("it_IT");
|
||||
|
||||
const numpunct<char>& nump_it = use_facet<numpunct<char> >(loc_it);
|
||||
|
||||
string g = nump_it.grouping();
|
||||
|
||||
VERIFY( g == "" );
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
test01();
|
||||
test02();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user