From 9f51e3b72c443c27ca7f9c8bd8453d71e7389b4e Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Mon, 2 Mar 2009 19:58:54 +0100
Subject: [PATCH] re-enable $$system() processing

unlike the conditional variant, the substituting variant may actually
provide interesting output with rather low likelyhood of side effects.
btw, my FIXME was bogus - i confused the two variants.
---
 src/shared/proparser/profileevaluator.cpp | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index e2fe2087edd..60b71aa8a59 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -1447,11 +1447,8 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
                         ret += val;
             }
             break;
-#if 0 // Disabled, as it is relatively useless, too slow and dangerous.
         case E_SYSTEM:
-            if (!m_skipLevel) { // FIXME: should exec only if the result is being used
-                                // (i.e., if this is nested into an assignment) - these
-                                // are less likely to have side effects
+            if (!m_skipLevel) {
                 if (args.count() < 1 || args.count() > 2) {
                     q->logMessage(format("system(execute) requires one or two arguments."));
                 } else {
@@ -1476,7 +1473,6 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
                 }
             }
             break;
-#endif
         case E_UNIQUE:
             if(args.count() != 1) {
                 q->logMessage(format("unique(var) requires one argument."));
-- 
GitLab