Missing handling of None options.
authorCarl Hetherington <cth@carlh.net>
Mon, 3 Jul 2017 00:07:19 +0000 (01:07 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 3 Jul 2017 00:07:19 +0000 (01:07 +0100)
cdist

diff --git a/cdist b/cdist
index 7f056887eaab856944d4ee6cd69ae0ef6a2b78a3..d63e68c2689b1a9e7d663dd57289a5117afd20a6 100755 (executable)
--- a/cdist
+++ b/cdist
@@ -708,6 +708,10 @@ class Tree(object):
             else:
                 deps = self.call('dependencies')
 
+            to = options
+            if to is None:
+                to = dict()
+
             for d in deps:
                 log('Building dependency %s %s of %s' % (d[0], d[1], self.name))
                 dep = globals.trees.get(d[0], d[1], self.target)
@@ -717,14 +721,14 @@ class Tree(object):
 
                 if 'option_defaults' in dep.cscript:
                     for k, v in dep.cscript['option_defaults'].items():
-                        options[k] = v
+                        to[k] = v
 
                 if len(d) > 2:
                     for k, v in d[2].items():
-                        options[k] = v
+                        to[k] = v
 
-                dep.build_dependencies(dry_run, options)
-                dep.build(dry_run, options)
+                dep.build_dependencies(dry_run, to)
+                dep.build(dry_run, to)
 
     def build(self, dry_run, options=None):
         if self.built: