summaryrefslogtreecommitdiff
path: root/src/plugins/qtsupport/baseqtversion.cpp
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2013-04-19 16:29:23 +0200
committerhjk <hjk121@nokiamail.com>2013-04-19 18:41:22 +0200
commit893eb51c751151c876a374f0aad5bd114434187e (patch)
tree63eaebc33f29e725e7af2cfdb6fe1bdb719fa794 /src/plugins/qtsupport/baseqtversion.cpp
parentfe2fa214053a4fc7763fb55fb17a091ff1261ed3 (diff)
downloadqt-creator-893eb51c751151c876a374f0aad5bd114434187e.tar.gz
QtVersionNumber: Make it smaller and faster
This yields 1% speedup on total startup with -noload Welcome Change-Id: Ib3f1e45032c4a2dbe21ae86a1df65d118f89cba1 Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/qtsupport/baseqtversion.cpp')
-rw-r--r--src/plugins/qtsupport/baseqtversion.cpp41
1 files changed, 7 insertions, 34 deletions
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index 4fc4204c24..4f7c9d5b28 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -76,15 +76,9 @@ QtVersionNumber::QtVersionNumber(int ma, int mi, int p)
QtVersionNumber::QtVersionNumber(const QString &versionString)
{
- if (!checkVersionString(versionString)) {
+ if (::sscanf(versionString.toLatin1().constData(), "%d.%d.%d",
+ &majorVersion, &minorVersion, &patchVersion) != 3)
majorVersion = minorVersion = patchVersion = -1;
- return;
- }
-
- QStringList parts = versionString.split(QLatin1Char('.'));
- majorVersion = parts.at(0).toInt();
- minorVersion = parts.at(1).toInt();
- patchVersion = parts.at(2).toInt();
}
QtVersionNumber::QtVersionNumber()
@@ -92,34 +86,13 @@ QtVersionNumber::QtVersionNumber()
majorVersion = minorVersion = patchVersion = -1;
}
-bool QtVersionNumber::checkVersionString(const QString &version) const
-{
- int dots = 0;
- const QString validChars = QLatin1String("0123456789.");
- foreach (const QChar &c, version) {
- if (!validChars.contains(c))
- return false;
- if (c == QLatin1Char('.'))
- ++dots;
- }
- if (dots != 2)
- return false;
- return true;
-}
-
bool QtVersionNumber::operator <(const QtVersionNumber &b) const
{
- if (majorVersion < b.majorVersion)
- return true;
- if (majorVersion > b.majorVersion)
- return false;
- if (minorVersion < b.minorVersion)
- return true;
- if (minorVersion > b.minorVersion)
- return false;
- if (patchVersion < b.patchVersion)
- return true;
- return false;
+ if (majorVersion != b.majorVersion)
+ return majorVersion < b.majorVersion;
+ if (minorVersion != b.minorVersion)
+ return minorVersion < b.minorVersion;
+ return patchVersion < b.patchVersion;
}
bool QtVersionNumber::operator >(const QtVersionNumber &b) const