From: Oswald Buddenhagen Date: Fri, 31 May 2013 18:04:31 +0000 (+0200) Subject: minor optimization: don't concatenate strings needlessly X-Git-Tag: accepted/tizen/20131212.181521~83^2~22 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd5e84cbf19ee2a319163df2652164c3ad492e54;p=platform%2Fupstream%2Fqttools.git minor optimization: don't concatenate strings needlessly Change-Id: Iddec1a818ff9f3ad8b12491100883e433e4b8246 Reviewed-by: Daniel Teske (cherry picked from qtcreator/12652c20711fd29dcba62b8d5ba71c077d8bd06c) --- diff --git a/src/linguist/shared/ioutils.cpp b/src/linguist/shared/ioutils.cpp index fd4a18f..e61ed4b 100644 --- a/src/linguist/shared/ioutils.cpp +++ b/src/linguist/shared/ioutils.cpp @@ -88,6 +88,11 @@ bool IoUtils::isRelativePath(const QString &path) return true; } +QStringRef IoUtils::pathName(const QString &fileName) +{ + return fileName.leftRef(fileName.lastIndexOf(QLatin1Char('/')) + 1); +} + QStringRef IoUtils::fileName(const QString &fileName) { return fileName.midRef(fileName.lastIndexOf(QLatin1Char('/')) + 1); diff --git a/src/linguist/shared/ioutils.h b/src/linguist/shared/ioutils.h index ad2a775..650b26b 100644 --- a/src/linguist/shared/ioutils.h +++ b/src/linguist/shared/ioutils.h @@ -64,6 +64,7 @@ public: static bool exists(const QString &fileName) { return fileType(fileName) != FileNotFound; } static bool isRelativePath(const QString &fileName); static bool isAbsolutePath(const QString &fileName) { return !isRelativePath(fileName); } + static QStringRef pathName(const QString &fileName); // Requires normalized path static QStringRef fileName(const QString &fileName); // Requires normalized path static QString resolvePath(const QString &baseDir, const QString &fileName); static QString shellQuoteUnix(const QString &arg); diff --git a/src/linguist/shared/qmakeevaluator.cpp b/src/linguist/shared/qmakeevaluator.cpp index 4bf1ea2..e080c15 100644 --- a/src/linguist/shared/qmakeevaluator.cpp +++ b/src/linguist/shared/qmakeevaluator.cpp @@ -1862,8 +1862,9 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateFeatureFile( int start_root = 0; QString currFn = currentFileName(); if (IoUtils::fileName(currFn) == IoUtils::fileName(fn)) { + QStringRef currPath = IoUtils::pathName(currFn); for (int root = 0; root < m_featureRoots.size(); ++root) - if (currFn == m_featureRoots.at(root) + fn) { + if (currPath == m_featureRoots.at(root)) { start_root = root + 1; break; }