Finish porting cross-platform parts of QStringConverter to qsizetype/size_t

There are still problems with platforms-specific APIs that are 32-bit
only (cf. QTBUG-105105), but this patch finishes the port of the
cross-platform parts of QStringConverter.

None of these changes have a user-visible effect. They just avoid the
Code Smell that int has become since Qt 6.0.

Pick-to: 6.4
Task-number: QTBUG-103531
Change-Id: I267e2e1268a18c130892fa2fd80d1b5dabb3d9b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Marc Mutz 2022-08-11 15:32:23 +02:00
parent eb55e2980e
commit 48c8072bb8
2 changed files with 3 additions and 3 deletions

View File

@ -1990,7 +1990,7 @@ const char *QStringConverter::name() const noexcept
*/
std::optional<QStringConverter::Encoding> QStringConverter::encodingForName(const char *name) noexcept
{
for (int i = 0; i < LastEncoding + 1; ++i) {
for (qsizetype i = 0; i < LastEncoding + 1; ++i) {
if (nameMatch(encodingInterfaces[i].name, name))
return QStringConverter::Encoding(i);
}
@ -2058,7 +2058,7 @@ static QByteArray parseHtmlMetaForEncoding(QByteArrayView data)
if (pos != -1) {
pos = charsetSearcher.indexIn(header, pos);
if (pos != -1) {
pos += int(qstrlen("charset="));
pos += qstrlen("charset=");
if (pos < header.size() && (header.at(pos) == '\"' || header.at(pos) == '\''))
++pos;

View File

@ -129,7 +129,7 @@ protected:
: iface(nullptr)
{}
constexpr explicit QStringConverter(Encoding encoding, Flags f)
: iface(&encodingInterfaces[int(encoding)]), state(f)
: iface(&encodingInterfaces[qsizetype(encoding)]), state(f)
{}
constexpr explicit QStringConverter(const Interface *i) noexcept
: iface(i)