Disable parallel uploads for server versions <= 8.0.2
authorOlivier Goffart <ogoffart@woboq.com>
Wed, 11 Mar 2015 10:31:51 +0000 (11:31 +0100)
committerOlivier Goffart <ogoffart@woboq.com>
Wed, 11 Mar 2015 10:31:51 +0000 (11:31 +0100)
Issue #2938

src/libsync/propagateupload.cpp

index 1d2fccf5d1cfab0f7a4cf90704992573fb504809..49b213da40eb4d5f60d610b80e519abe5aa0c6fe 100644 (file)
@@ -422,18 +422,14 @@ void PropagateUploadFileQNAM::startNextChunk()
         parallelChunkUpload = env != "false" && env != "0";
     } else {
         auto version = _propagator->account()->serverVersion();
-        auto dotPos = version.indexOf('.');
-        if (dotPos > 0) {
-            if (version.leftRef(dotPos)
-#if QT_VERSION < QT_VERSION_CHECK(5, 1, 0)
-                    .toString()  // QStringRef::toInt was added in Qt 5.1
-#endif
-                    .toInt() < 8) {
-
-                // Disable parallel chunk upload on older sever to avoid too many
-                // internal sever errors (#2743)
-                parallelChunkUpload = false;
-            }
+        auto components = version.split('.');
+        int versionNum = (components.value(0).toInt() << 16)
+                       + (components.value(1).toInt() << 8)
+                       + components.value(2).toInt();
+        if (versionNum < 0x080003) {
+            // Disable parallel chunk upload severs older than 8.0.3 to avoid too many
+            // internal sever errors (#2743, #2938)
+            parallelChunkUpload = false;
         }
     }