diff options
| author | 2023-04-30 18:31:18 -0400 | |
|---|---|---|
| committer | 2023-04-30 18:31:18 -0400 | |
| commit | 4de57f628bc74f00ba1885e91c84ea07c5405d8f (patch) | |
| tree | 5d91900751e826d491ff1b2ebc571a787e84f864 /SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp | |
| parent | 74d881cefa9097e58e129e37b9c44d680d8c7dfe (diff) | |
| parent | 3565aad630864ecdbe53fdaa501ea708555b3c7c (diff) | |
Update upstream source from tag 'upstream/3.4.4+dfsg'
Update to upstream version '3.4.4+dfsg'
with Debian dir 482614bd23f0ef52dabc9803477204ad88e917ed
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp index a9eae82..a275882 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp @@ -167,9 +167,9 @@ const QList<ParserError *> &ParserContext::getErrors() QVariant *ParserContext::handleNumberToken(const QString &tokenValue) { recentNumberIsCandidateForMaxNegative = false; + bool ok; if (tokenValue.startsWith("0x", Qt::CaseInsensitive)) { - bool ok; qint64 i64 = tokenValue.toLongLong(&ok, 16); if (!ok) { @@ -183,10 +183,12 @@ QVariant *ParserContext::handleNumberToken(const QString &tokenValue) recentNumberIsCandidateForMaxNegative = true; return new QVariant(static_cast<qint64>(0L)); } - else - { - return new QVariant(QVariant(tokenValue).toLongLong()); - } + + QVariant varLong = QVariant(tokenValue).toLongLong(&ok); + if (!ok) + varLong = QVariant(tokenValue).toDouble(); + + return new QVariant(varLong); } bool ParserContext::isCandidateForMaxNegativeNumber() const @@ -196,7 +198,7 @@ bool ParserContext::isCandidateForMaxNegativeNumber() const void ParserContext::cleanUp() { - for (ParserError* err : errors) + for (ParserError*& err : errors) delete err; parsedQueries.clear(); |
