From 7f02071503edb7bb0f77e59b834c0a200d76d6a7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 18 Dec 2020 17:32:45 +0100 Subject: sqlite: Fix MSVC integer conversion warnings Change-Id: I58ab6a8d7787abce5b0f73562eb53f40e39c8186 Reviewed-by: Joerg Bornemann --- src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/plugins/sqldrivers/sqlite') diff --git a/src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp b/src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp index 2914fac3e7..13f4bc421f 100644 --- a/src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp +++ b/src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp @@ -383,12 +383,13 @@ bool QSQLiteResult::prepare(const QString &query) setSelect(false); const void *pzTail = NULL; + const auto size = int((query.size() + 1) * sizeof(QChar)); #if (SQLITE_VERSION_NUMBER >= 3003011) - int res = sqlite3_prepare16_v2(d->drv_d_func()->access, query.constData(), (query.size() + 1) * sizeof(QChar), + int res = sqlite3_prepare16_v2(d->drv_d_func()->access, query.constData(), size, &d->stmt, &pzTail); #else - int res = sqlite3_prepare16(d->access, query.constData(), (query.size() + 1) * sizeof(QChar), + int res = sqlite3_prepare16(d->access, query.constData(), size, &d->stmt, &pzTail); #endif @@ -519,27 +520,31 @@ bool QSQLiteResult::exec() const QDateTime dateTime = value.toDateTime(); const QString str = dateTime.toString(Qt::ISODateWithMs); res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(), - str.size() * sizeof(ushort), SQLITE_TRANSIENT); + int(str.size() * sizeof(ushort)), + SQLITE_TRANSIENT); break; } case QMetaType::QTime: { const QTime time = value.toTime(); const QString str = time.toString(u"hh:mm:ss.zzz"); res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(), - str.size() * sizeof(ushort), SQLITE_TRANSIENT); + int(str.size() * sizeof(ushort)), + SQLITE_TRANSIENT); break; } case QMetaType::QString: { // lifetime of string == lifetime of its qvariant const QString *str = static_cast(value.constData()); res = sqlite3_bind_text16(d->stmt, i + 1, str->utf16(), - (str->size()) * sizeof(QChar), SQLITE_STATIC); + int(str->size()) * sizeof(QChar), + SQLITE_STATIC); break; } default: { QString str = value.toString(); // SQLITE_TRANSIENT makes sure that sqlite buffers the data res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(), - (str.size()) * sizeof(QChar), SQLITE_TRANSIENT); + int(str.size()) * sizeof(QChar), + SQLITE_TRANSIENT); break; } } } -- cgit v1.2.3