[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdb/3.1] src/drivers/sqlite: SQLite Fix loading value Incorrect display of large unsigned int (>0x7
From: Jaroslaw Staniek <null () kde ! org>
Date: 2018-06-09 22:01:39
Message-ID: E1fRlvX-00057s-Jc () code ! kde ! org
[Download RAW message or body]
Git commit bc5a7bea6e12892930e2e02ae3cc1c6d2b27277f by Jaroslaw Staniek.
Committed on 09/06/2018 at 22:01.
Pushed by staniek into branch '3.1'.
SQLite Fix loading value Incorrect display of large unsigned int (>0x7FFFFFFF)
Summary: BUG:394913
Test Plan: Follow test case: https://bugs.kde.org/show_bug.cgi?id=394913#c
Reviewers: piggz
Reviewed By: piggz
Subscribers: Kexi-Devel-list
Tags: #kdb
Differential Revision: https://phabricator.kde.org/D13448
M +4 -2 src/drivers/sqlite/SqliteCursor.cpp
https://commits.kde.org/kdb/bc5a7bea6e12892930e2e02ae3cc1c6d2b27277f
diff --git a/src/drivers/sqlite/SqliteCursor.cpp \
b/src/drivers/sqlite/SqliteCursor.cpp index 157fb807..eb6b4d2f 100644
--- a/src/drivers/sqlite/SqliteCursor.cpp
+++ b/src/drivers/sqlite/SqliteCursor.cpp
@@ -111,7 +111,8 @@ public:
if (t == KDbField::BigInteger) {
return QVariant(qint64(sqlite3_column_int64(prepared_st_handle, \
i))); } else if (KDbField::isIntegerType(t)) {
- return QVariant(sqlite3_column_int(prepared_st_handle, i));
+ const int intVal = sqlite3_column_int(prepared_st_handle, i);
+ return f->isUnsigned() ? QVariant(static_cast<uint>(intVal)) : \
QVariant(intVal); } else if (t == KDbField::Boolean) {
return sqlite3_column_int(prepared_st_handle, i) != 0;
} else if (KDbField::isFPNumericType(t)) { //WEIRD, YEAH?
@@ -126,7 +127,8 @@ public:
} else if (t == KDbField::BigInteger) {
return QVariant(qint64(sqlite3_column_int64(prepared_st_handle, \
i))); } else if (KDbField::isIntegerType(t)) {
- return QVariant(int(sqlite3_column_double(prepared_st_handle, i)));
+ const double doubleVal = sqlite3_column_double(prepared_st_handle, \
i); + return f->isUnsigned() ? QVariant(static_cast<uint>(doubleVal)) \
: QVariant(static_cast<int>(doubleVal)); } else {
return QVariant(); //!< @todo
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic