bool AndroidToolChainFactory::versionCompareLess(AndroidToolChain *atc, AndroidToolChain *btc) { QList<int> a = versionNumberFromString(atc->ndkToolChainVersion()); QList<int> b = versionNumberFromString(btc->ndkToolChainVersion()); return versionCompareLess(a, b); }
int ServiceProviderData::compareVersions( const QString &version1, const QString &version2 ) { int pos1 = 0; int pos2 = 0; forever { int versionNumber1 = versionNumberFromString( version1, &pos1 ); int versionNumber2 = versionNumberFromString( version2, &pos2 ); if ( versionNumber1 < 0 || versionNumber2 < 0 ) { // Invalid version strings return 0; } if ( versionNumber1 < versionNumber2 ) { return -1; // Version 1 is smaller than version 2 } else if ( versionNumber1 > versionNumber2 ) { return 1; // Version 1 is bigger than version 2 } if ( pos1 == -1 && pos2 == -1 ) { return 0; // No more version numbers in both version } else if ( pos1 == -1 ) { return -1; // No more version numbers in version1, but in version2, which is therefore bigger } else if ( pos2 == -1 ) { return 1; // No more version numbers in version2, but in version1, which is therefore bigger } // pos1 and pos2 are both >= 0 here, // they are set behind the '.' after the just read version numbers, // this makes the next iteration read the next version number } return 0; }
bool AndroidToolChainFactory::versionCompareLess(QList<AndroidToolChain *> atc, QList<AndroidToolChain *> btc) { const QList<int> a = versionNumberFromString(atc.at(0)->ndkToolChainVersion()); const QList<int> b = versionNumberFromString(btc.at(0)->ndkToolChainVersion()); return versionCompareLess(a, b); }