summaryrefslogtreecommitdiffstats
path: root/src/corelib/text/qlocale.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-07-20 21:23:32 +0200
committerMarc Mutz <marc.mutz@qt.io>2022-09-01 13:51:48 +0000
commit24e8a693cdf418a90559472addfd49637ff4e270 (patch)
tree7e86227e9b42010682c51f7fbffd8372d14c78cf /src/corelib/text/qlocale.cpp
parentdf76a0585f2badb30aa90ccfb52fa9fa33a00784 (diff)
QLocale: port to qsizetype [2/N]: remainder (qlocale_win.cpp partial)
Port ints to qsizetypes where they're not blatantly wrong. This includes indexed loops that don't require the additional range, because int these days is a code smell, so if we can save the next code reader a few moments of digging to convince herself that the int is ok even in 64-bit builds, then let's do it. The Windows implementation only has the most obvious occurrences ported, because I lack platform access. Created QTBUG-105100 to track the missing changes. OSX should be fine, provided sizeof(long) == 8 on 64-bit OSX. Pick-to: 6.4 6.3 Task-number: QTBUG-103531 Change-Id: I679183f28ed42e89e2879e29457e6a4e487fed0d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/text/qlocale.cpp')
-rw-r--r--src/corelib/text/qlocale.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/corelib/text/qlocale.cpp b/src/corelib/text/qlocale.cpp
index 75186798ae..cd2c4f535d 100644
--- a/src/corelib/text/qlocale.cpp
+++ b/src/corelib/text/qlocale.cpp
@@ -177,7 +177,7 @@ QLocale::Script QLocalePrivate::codeToScript(QStringView code) noexcept
unsigned char c3 = code[3].toLower().toLatin1();
const unsigned char *c = script_code_list;
- for (int i = 0; i < QLocale::LastScript; ++i, c += 4) {
+ for (qsizetype i = 0; i < QLocale::LastScript; ++i, c += 4) {
if (c0 == c[0] && c1 == c[1] && c2 == c[2] && c3 == c[3])
return QLocale::Script(i);
}
@@ -3580,7 +3580,7 @@ QString QLocaleData::doubleToString(double d, int precision, DoubleForm form,
Q_ASSERT(!zero.at(0).isSurrogate());
char16_t z = zero.at(0).unicode();
char16_t *const value = reinterpret_cast<char16_t *>(digits.data());
- for (int i = 0; i < digits.length(); ++i)
+ for (qsizetype i = 0; i < digits.size(); ++i)
value[i] = unicodeForDigit(value[i] - '0', z);
}
@@ -3628,7 +3628,7 @@ QString QLocaleData::doubleToString(double d, int precision, DoubleForm form,
// Assume digitCount < 95, so we can ignore the 3-digit
// exponent case (we'll set useDecimal false anyway).
- const int digitCount = digits.length() / zero.size();
+ const qsizetype digitCount = digits.size() / zero.size();
if (!mustMarkDecimal) {
// Decimal separator is skipped if at end; adjust if
// that happens for only one form:
@@ -3662,7 +3662,7 @@ QString QLocaleData::doubleToString(double d, int precision, DoubleForm form,
// Pad with zeros. LeftAdjusted overrides ZeroPadded.
if (flags & ZeroPadded && !(flags & LeftAdjusted)) {
- for (int i = numStr.length() / zero.length() + prefix.size(); i < width; ++i)
+ for (qsizetype i = numStr.size() / zero.size() + prefix.size(); i < width; ++i)
numStr.prepend(zero);
}
}
@@ -3685,17 +3685,17 @@ QString QLocaleData::decimalForm(QString &&digits, int decpt, int precision,
for (; decpt < 0; ++decpt)
digits.prepend(zero);
} else {
- for (int i = digits.length() / digitWidth; i < decpt; ++i)
+ for (qsizetype i = digits.size() / digitWidth; i < decpt; ++i)
digits.append(zero);
}
switch (pm) {
case PMDecimalDigits:
- for (int i = digits.length() / digitWidth - decpt; i < precision; ++i)
+ for (qsizetype i = digits.size() / digitWidth - decpt; i < precision; ++i)
digits.append(zero);
break;
case PMSignificantDigits:
- for (int i = digits.length() / digitWidth; i < precision; ++i)
+ for (qsizetype i = digits.size() / digitWidth; i < precision; ++i)
digits.append(zero);
break;
case PMChopTrailingZeros:
@@ -3708,7 +3708,7 @@ QString QLocaleData::decimalForm(QString &&digits, int decpt, int precision,
if (groupDigits) {
const QString group = groupSeparator();
- int i = decpt - m_grouping_least;
+ qsizetype i = decpt - m_grouping_least;
if (i >= m_grouping_top) {
digits.insert(i * digitWidth, group);
while ((i -= m_grouping_higher) >= m_grouping_top)
@@ -3733,11 +3733,11 @@ QString QLocaleData::exponentForm(QString &&digits, int decpt, int precision,
switch (pm) {
case PMDecimalDigits:
- for (int i = digits.length() / digitWidth; i < precision + 1; ++i)
+ for (qsizetype i = digits.size() / digitWidth; i < precision + 1; ++i)
digits.append(zero);
break;
case PMSignificantDigits:
- for (int i = digits.length() / digitWidth; i < precision; ++i)
+ for (qsizetype i = digits.size() / digitWidth; i < precision; ++i)
digits.append(zero);
break;
case PMChopTrailingZeros:
@@ -3811,11 +3811,11 @@ QString QLocaleData::applyIntegerFormatting(QString &&numStr, bool negative, int
const QString prefix = signPrefix(negative, flags) + basePrefix;
// Count how much of width we've used up. Each digit counts as one
- int usedWidth = digitCount + prefix.size();
+ qsizetype usedWidth = digitCount + prefix.size();
if (base == 10 && flags & GroupDigits) {
const QString group = groupSeparator();
- int i = digitCount - m_grouping_least;
+ qsizetype i = digitCount - m_grouping_least;
if (i >= m_grouping_top) {
numStr.insert(i * digitWidth, group);
++usedWidth;
@@ -3831,7 +3831,7 @@ QString QLocaleData::applyIntegerFormatting(QString &&numStr, bool negative, int
if (noPrecision)
precision = 1;
- for (int i = numStr.length(); i < precision; ++i) {
+ for (qsizetype i = numStr.size(); i < precision; ++i) {
numStr.prepend(zero);
usedWidth++;
}
@@ -3839,7 +3839,7 @@ QString QLocaleData::applyIntegerFormatting(QString &&numStr, bool negative, int
// LeftAdjusted overrides ZeroPadded; and sprintf() only pads when
// precision is not specified in the format string.
if (noPrecision && flags & ZeroPadded && !(flags & LeftAdjusted)) {
- for (int i = usedWidth; i < width; ++i)
+ for (qsizetype i = usedWidth; i < width; ++i)
numStr.prepend(zero);
}
@@ -3868,11 +3868,11 @@ bool QLocaleData::numberToCLocale(QStringView s, QLocale::NumberOptions number_o
auto length = s.size();
decltype(length) idx = 0;
- int digitsInGroup = 0;
- int decpt_idx = -1;
- int last_separator_idx = -1;
- int start_of_digits_idx = -1;
- int exponent_idx = -1;
+ qsizetype digitsInGroup = 0;
+ qsizetype decpt_idx = -1;
+ qsizetype last_separator_idx = -1;
+ qsizetype start_of_digits_idx = -1;
+ qsizetype exponent_idx = -1;
while (idx < length) {
const QStringView in = QStringView(uc + idx, uc[idx].isHighSurrogate() ? 2 : 1);
@@ -4219,7 +4219,7 @@ QString QLocale::currencySymbol(QLocale::CurrencySymbolFormat format) const
case CurrencyIsoCode: {
const char *code = d->m_data->m_currency_iso_code;
if (auto len = qstrnlen(code, 3))
- return QString::fromLatin1(code, int(len));
+ return QString::fromLatin1(code, qsizetype(len));
break;
}
}
@@ -4416,12 +4416,12 @@ QStringList QLocale::uiLanguages() const
{
locales.append(*this);
}
- for (int i = locales.size(); i-- > 0; ) {
+ for (qsizetype i = locales.size(); i-- > 0; ) {
const QLocale &locale = locales.at(i);
const auto data = locale.d->m_data;
QLocaleId id = data->id();
- int j;
+ qsizetype j;
QByteArray prior;
if (isSystem && i < uiLanguages.size()) {
// Adding likely-adjusted forms to system locale's list.