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>
|
2002-01-30 Paolo Carlini <pcarlini@unitus.it>
|
||||||
|
|
||||||
* testsuite/27_io/ostream_inserter_arith.cc (test03):
|
* testsuite/27_io/ostream_inserter_arith.cc (test03):
|
||||||
|
|
|
@ -53,7 +53,11 @@ namespace std
|
||||||
// Named locale.
|
// Named locale.
|
||||||
_M_decimal_point = *(__nl_langinfo_l(RADIXCHAR, __cloc));
|
_M_decimal_point = *(__nl_langinfo_l(RADIXCHAR, __cloc));
|
||||||
_M_thousands_sep = *(__nl_langinfo_l(THOUSEP, __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.
|
// NB: There is no way to extact this info from posix locales.
|
||||||
// _M_truename = __nl_langinfo_l(YESSTR, __cloc);
|
// _M_truename = __nl_langinfo_l(YESSTR, __cloc);
|
||||||
|
@ -79,7 +83,10 @@ namespace std
|
||||||
// Named locale.
|
// 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_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_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.
|
// NB: There is no way to extact this info from posix locales.
|
||||||
// _M_truename = __nl_langinfo_l(YESSTR, __cloc);
|
// _M_truename = __nl_langinfo_l(YESSTR, __cloc);
|
||||||
|
|
|
@ -72,9 +72,26 @@ void test01()
|
||||||
VERIFY( dp1 != dp3 );
|
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()
|
int main()
|
||||||
{
|
{
|
||||||
test01();
|
test01();
|
||||||
|
test02();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue