From 3ef1bf0f08a3cee78e8a865595acac213f4a2a33 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Tue, 15 Jun 2010 20:50:57 +0200
Subject: [PATCH] micro-optimizations & cleanups

---
 src/plugins/qt4projectmanager/profilereader.cpp | 2 +-
 src/plugins/qt4projectmanager/qt4target.h       | 1 -
 src/shared/proparser/profileevaluator.cpp       | 5 +++--
 src/shared/proparser/profileevaluator.h         | 2 +-
 src/shared/proparser/proitems.cpp               | 5 ++---
 5 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/plugins/qt4projectmanager/profilereader.cpp b/src/plugins/qt4projectmanager/profilereader.cpp
index ecd53ee51c8..66fbc2f8b97 100644
--- a/src/plugins/qt4projectmanager/profilereader.cpp
+++ b/src/plugins/qt4projectmanager/profilereader.cpp
@@ -89,7 +89,7 @@ QList<ProFile*> ProFileReader::includeFiles() const
 
 QString ProFileReader::value(const QString &variable) const
 {
-    QStringList vals = values(variable);
+    const QStringList &vals = values(variable);
     if (!vals.isEmpty())
         return vals.first();
 
diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h
index 9b7f7f0c2a2..ae907d66337 100644
--- a/src/plugins/qt4projectmanager/qt4target.h
+++ b/src/plugins/qt4projectmanager/qt4target.h
@@ -40,7 +40,6 @@ namespace Qt4ProjectManager {
 class Qt4Project;
 
 namespace Internal {
-class ProFileReader;
 class Qt4ProFileNode;
 class Qt4TargetFactory;
 class Qt4BuildConfigurationFactory;
diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index f0969b9abea..b18d06794a4 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -3574,7 +3574,8 @@ ProFileEvaluator::Private::VisitReturn ProFileEvaluator::Private::evaluateCondit
                 logMessage(format("include(file, into, silent) requires one, two or three arguments."));
                 return ReturnFalse;
             }
-            QString fn = resolvePath(expandEnvVars(args.at(0).toQString()));
+            QString fn = resolvePath(expandEnvVars(args.at(0).toQString(m_tmp1)));
+            fn.detach();
             bool ok;
             if (parseInto.isEmpty()) {
                 ok = evaluateFile(fn);
@@ -4147,7 +4148,7 @@ QStringList ProFileEvaluator::absoluteFileValues(
     return result;
 }
 
-ProFileEvaluator::TemplateType ProFileEvaluator::templateType()
+ProFileEvaluator::TemplateType ProFileEvaluator::templateType() const
 {
     const ProStringList &templ = d->values(statics.strTEMPLATE);
     if (templ.count() >= 1) {
diff --git a/src/shared/proparser/profileevaluator.h b/src/shared/proparser/profileevaluator.h
index d956cc1d411..2fe48fc562f 100644
--- a/src/shared/proparser/profileevaluator.h
+++ b/src/shared/proparser/profileevaluator.h
@@ -74,7 +74,7 @@ public:
     ProFileEvaluator(ProFileOption *option);
     virtual ~ProFileEvaluator();
 
-    ProFileEvaluator::TemplateType templateType();
+    ProFileEvaluator::TemplateType templateType() const;
     void setVerbose(bool on); // Default is false
     void setCumulative(bool on); // Default is true!
     void setOutputDir(const QString &dir); // Default is empty
diff --git a/src/shared/proparser/proitems.cpp b/src/shared/proparser/proitems.cpp
index c4005aeacaa..c39473152cf 100644
--- a/src/shared/proparser/proitems.cpp
+++ b/src/shared/proparser/proitems.cpp
@@ -335,9 +335,8 @@ ProFile::ProFile(const QString &fileName)
       m_fileName(fileName)
 {
     int nameOff = fileName.lastIndexOf(QLatin1Char('/'));
-    m_displayFileName = QString(fileName.constData() + nameOff + 1,
-                                fileName.length() - nameOff - 1);
-    m_directoryName = QString(fileName.constData(), nameOff);
+    m_displayFileName = fileName.mid(nameOff + 1);
+    m_directoryName = fileName.left(nameOff);
 }
 
 ProFile::~ProFile()
-- 
GitLab