summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/tools/qstring.cpp6
-rw-r--r--util/unicode/main.cpp10
2 files changed, 10 insertions, 6 deletions
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index b0c259272e..704545667c 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -4906,7 +4906,7 @@ QString QString::toLower() const
} else {
prop = qGetProp(*p);
}
- if (prop->lowerCaseDiff || prop->lowerCaseSpecial) {
+ if (prop->lowerCaseDiff) {
if (QChar::isLowSurrogate(*p))
--p; // safe; diff is 0 for surrogates
QString s(d->size, Qt::Uninitialized);
@@ -4967,7 +4967,7 @@ QString QString::toCaseFolded() const
} else {
prop = qGetProp(*p);
}
- if (prop->caseFoldDiff || prop->caseFoldSpecial) {
+ if (prop->caseFoldDiff) {
if (QChar::isLowSurrogate(*p))
--p; // safe; diff is 0 for surrogates
QString s(d->size, Qt::Uninitialized);
@@ -5028,7 +5028,7 @@ QString QString::toUpper() const
} else {
prop = qGetProp(*p);
}
- if (prop->upperCaseDiff || prop->upperCaseSpecial) {
+ if (prop->upperCaseDiff) {
if (QChar::isLowSurrogate(*p))
--p; // safe; diff is 0 for surrogates
QString s(d->size, Qt::Uninitialized);
diff --git a/util/unicode/main.cpp b/util/unicode/main.cpp
index 40294eba4d..4a11ec667b 100644
--- a/util/unicode/main.cpp
+++ b/util/unicode/main.cpp
@@ -476,7 +476,10 @@ static int appendToSpecialCaseMap(const QList<int> &map)
utf16map.prepend(length);
specialCaseMaxLen = qMax(specialCaseMaxLen, length);
- int i = 0;
+ if (specialCaseMap.isEmpty())
+ specialCaseMap << 0; // placeholder
+
+ int i = 1;
while (i < specialCaseMap.size()) {
int n = specialCaseMap.at(i);
if (n == length) {
@@ -2251,8 +2254,9 @@ static QByteArray createPropertyInfo()
"}\n\n";
- out += "static const ushort specialCaseMap[] = {";
- int i = 0;
+ out += "static const ushort specialCaseMap[] = {\n";
+ out += " 0x0, // placeholder";
+ int i = 1;
while (i < specialCaseMap.size()) {
out += "\n ";
int n = specialCaseMap.at(i);