From d334bb396111ff0cb6799568098712ffaa511542 Mon Sep 17 00:00:00 2001 From: skyjake Date: Thu, 28 Mar 2013 22:16:12 +0200 Subject: [PATCH] Fixed|VersionInfo: Parsing version with just two components dengine.net now provides a two-component version if the revision is 0. Fixed an out-of-bounds indexing in the parser. --- doomsday/client/src/updater/versioninfo.h | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/doomsday/client/src/updater/versioninfo.h b/doomsday/client/src/updater/versioninfo.h index 4fa9bc72c2..6f6556f69c 100644 --- a/doomsday/client/src/updater/versioninfo.h +++ b/doomsday/client/src/updater/versioninfo.h @@ -49,16 +49,20 @@ struct VersionInfo QStringList parts = version.split('.'); major = parts[0].toInt(); minor = parts[1].toInt(); - if(parts[2].contains('-')) + revision = 0; + patch = 0; + if(parts.size() > 2) { - QStringList rev = parts[2].split('-'); - revision = rev[0].toInt(); - patch = rev[1].toInt(); - } - else - { - revision = parts[2].toInt(); - patch = 0; + if(parts[2].contains('-')) + { + QStringList rev = parts[2].split('-'); + revision = rev[0].toInt(); + patch = rev[1].toInt(); + } + else + { + revision = parts[2].toInt(); + } } }