QCollator: add comments re: missing handling of large strings

Task-number: QTBUG-105038
Change-Id: I4777ef5c5543d6fd550d4a7ceb099835c6302a12
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
bb10
Marc Mutz 2022-07-18 16:12:54 +02:00
parent d4b7c81e9e
commit d0aedfab09
2 changed files with 3 additions and 0 deletions

View File

@ -81,6 +81,7 @@ int QCollator::compare(QStringView s1, QStringView s2) const
d->ensureInitialized();
if (d->collator) {
// truncating sizes (QTBUG-105038)
return ucol_strcoll(d->collator,
reinterpret_cast<const UChar *>(s1.data()), s1.size(),
reinterpret_cast<const UChar *>(s2.data()), s2.size());
@ -98,6 +99,7 @@ QCollatorSortKey QCollator::sortKey(const QString &string) const
if (d->collator) {
QByteArray result(16 + string.size() + (string.size() >> 2), Qt::Uninitialized);
// truncating sizes (QTBUG-105038)
int size = ucol_getSortKey(d->collator, (const UChar *)string.constData(),
string.size(), (uint8_t *)result.data(), result.size());
if (size > result.size()) {

View File

@ -96,6 +96,7 @@ QCollatorSortKey QCollator::sortKey(const QString &string) const
if (d->isC())
return QCollatorSortKey(new QCollatorSortKeyPrivate(string));
// truncating sizes (QTBUG-105038)
int size = LCMapStringW(d->localeID, LCMAP_SORTKEY | d->collator,
reinterpret_cast<const wchar_t*>(string.constData()), string.size(),
0, 0);