summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-20 11:28:04 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-20 14:29:31 +0000
commit2bc4d35fb32defc59cd6ed1fc87e35924c201a5c (patch)
tree7763b8e9ae09df97a66cd29ad8aa2ec6618bc565
parent70e297e5c285ce0a02e9efd3117ff62cdc77ec12 (diff)
downloadopenembedded-core-contrib-2bc4d35fb32defc59cd6ed1fc87e35924c201a5c.tar.gz
data_smart: Fix unneeded variable manipulation
If was pointed out that if we have: XXX = " A" XXX_remove_inactive-override = "YY" then XXX can become "A" and the leading space can be removed. This is because the remove override code changes the variable value even when there is no removals active. In the process it dirties the cache. We don't really need to do this so tweak the code accordingly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/data_smart.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index 79d591a237..0cd41683d9 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -784,13 +784,14 @@ class DataSmart(MutableMapping):
if match:
removes.extend(self.expand(r).split())
- filtered = filter(lambda v: v not in removes,
- value.split())
- value = " ".join(filtered)
- if expand and var in self.expand_cache:
- # We need to ensure the expand cache has the correct value
- # flag == "_content" here
- self.expand_cache[var].value = value
+ if removes:
+ filtered = filter(lambda v: v not in removes,
+ value.split())
+ value = " ".join(filtered)
+ if expand and var in self.expand_cache:
+ # We need to ensure the expand cache has the correct value
+ # flag == "_content" here
+ self.expand_cache[var].value = value
return value
def delVarFlag(self, var, flag, **loginfo):