summaryrefslogtreecommitdiffstats
path: root/api/logic/Version.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2017-04-01 18:38:04 +0200
committerPetr Mrázek <peterix@gmail.com>2017-04-07 00:20:02 +0200
commitf565798650b453ed8c94422096d9b37ba81ebf3e (patch)
treef187cc1c17d8665c499cb65b6d84726dddc849a6 /api/logic/Version.cpp
parente0596d3c86806d952a9811f306f497f84430ae3c (diff)
downloadMultiMC-f565798650b453ed8c94422096d9b37ba81ebf3e.tar
MultiMC-f565798650b453ed8c94422096d9b37ba81ebf3e.tar.gz
MultiMC-f565798650b453ed8c94422096d9b37ba81ebf3e.tar.lz
MultiMC-f565798650b453ed8c94422096d9b37ba81ebf3e.tar.xz
MultiMC-f565798650b453ed8c94422096d9b37ba81ebf3e.zip
NOISSUE remove unused version range filtering
Diffstat (limited to 'api/logic/Version.cpp')
-rw-r--r--api/logic/Version.cpp57
1 files changed, 1 insertions, 56 deletions
diff --git a/api/logic/Version.cpp b/api/logic/Version.cpp
index 3c4727ad..2c83374f 100644
--- a/api/logic/Version.cpp
+++ b/api/logic/Version.cpp
@@ -75,6 +75,7 @@ void Version::parse()
{
m_sections.clear();
+ // FIXME: this is bad. versions can contain a lot more separators...
QStringList parts = m_string.split('.');
for (const auto part : parts)
@@ -82,59 +83,3 @@ void Version::parse()
m_sections.append(Section(part));
}
}
-
-bool versionIsInInterval(const QString &version, const QString &interval)
-{
- return versionIsInInterval(Version(version), interval);
-}
-bool versionIsInInterval(const Version &version, const QString &interval)
-{
- if (interval.isEmpty() || version.toString() == interval)
- {
- return true;
- }
-
- // Interval notation is used
- QRegularExpression exp(
- "(?<start>[\\[\\]\\(\\)])(?<bottom>.*?)(,(?<top>.*?))?(?<end>[\\[\\]\\(\\)]),?");
- QRegularExpressionMatch match = exp.match(interval);
- if (match.hasMatch())
- {
- const QChar start = match.captured("start").at(0);
- const QChar end = match.captured("end").at(0);
- const QString bottom = match.captured("bottom");
- const QString top = match.captured("top");
-
- // check if in range (bottom)
- if (!bottom.isEmpty())
- {
- const auto bottomVersion = Version(bottom);
- if ((start == '[') && !(version >= bottomVersion))
- {
- return false;
- }
- else if ((start == '(') && !(version > bottomVersion))
- {
- return false;
- }
- }
-
- // check if in range (top)
- if (!top.isEmpty())
- {
- const auto topVersion = Version(top);
- if ((end == ']') && !(version <= topVersion))
- {
- return false;
- }
- else if ((end == ')') && !(version < topVersion))
- {
- return false;
- }
- }
-
- return true;
- }
-
- return false;
-}