aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:31:18 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:31:18 -0400
commit4de57f628bc74f00ba1885e91c84ea07c5405d8f (patch)
tree5d91900751e826d491ff1b2ebc571a787e84f864 /SQLiteStudio3/coreSQLiteStudio/parser/parsercontext.cpp
parent74d881cefa9097e58e129e37b9c44d680d8c7dfe (diff)
parent3565aad630864ecdbe53fdaa501ea708555b3c7c (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.cpp14
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();