2002-03-09 Ulrich Drepper <drepper@redhat.com>
Paolo Carlini <pcarlini@unitus.it> * config/locale/generic/collate_members.cc (collate<char,wchar_t>::_M_compare_helper): normalize values returned by strcoll and wcscoll. * config/locale/gnu/collate_members.cc (collate<char,wchar_t>::_M_compare_helper): ditto for __strcoll_l and __wcscoll_l. Co-Authored-By: Paolo Carlini <pcarlini@unitus.it> From-SVN: r50551
This commit is contained in:
parent
26b738be01
commit
a10e3b428c
3 changed files with 26 additions and 4 deletions
|
@ -1,3 +1,13 @@
|
|||
2002-03-10 Ulrich Drepper <drepper@redhat.com>
|
||||
Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
* config/locale/generic/collate_members.cc
|
||||
(collate<char,wchar_t>::_M_compare_helper): normalize
|
||||
values returned by strcoll and wcscoll.
|
||||
* config/locale/gnu/collate_members.cc
|
||||
(collate<char,wchar_t>::_M_compare_helper): ditto
|
||||
for __strcoll_l and __wcscoll_l.
|
||||
|
||||
2002-03-10 Anthony Green <green@redhat.com>
|
||||
|
||||
* configure.in: Support cross builds to mingw32 target.
|
||||
|
|
|
@ -43,7 +43,10 @@ namespace std
|
|||
int
|
||||
collate<char>::_M_compare_helper(const char* __one,
|
||||
const char* __two) const
|
||||
{ return strcoll(__one, __two); }
|
||||
{
|
||||
int __cmp = strcoll(__one, __two);
|
||||
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
|
||||
}
|
||||
|
||||
template<>
|
||||
size_t
|
||||
|
@ -56,7 +59,10 @@ namespace std
|
|||
int
|
||||
collate<wchar_t>::_M_compare_helper(const wchar_t* __one,
|
||||
const wchar_t* __two) const
|
||||
{ return wcscoll(__one, __two); }
|
||||
{
|
||||
int __cmp = wcscoll(__one, __two);
|
||||
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
|
||||
}
|
||||
|
||||
template<>
|
||||
size_t
|
||||
|
|
|
@ -43,7 +43,10 @@ namespace std
|
|||
int
|
||||
collate<char>::_M_compare_helper(const char* __one,
|
||||
const char* __two) const
|
||||
{ return __strcoll_l(__one, __two, _M_c_locale_collate); }
|
||||
{
|
||||
int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
|
||||
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
|
||||
}
|
||||
|
||||
template<>
|
||||
size_t
|
||||
|
@ -56,7 +59,10 @@ namespace std
|
|||
int
|
||||
collate<wchar_t>::_M_compare_helper(const wchar_t* __one,
|
||||
const wchar_t* __two) const
|
||||
{ return __wcscoll_l(__one, __two, _M_c_locale_collate); }
|
||||
{
|
||||
int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
|
||||
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
|
||||
}
|
||||
|
||||
template<>
|
||||
size_t
|
||||
|
|
Loading…
Add table
Reference in a new issue