summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDaniel Pittman <daniel@rimspace.net>2011-01-31 16:00:37 -0800
committerDaniel Pittman <daniel@rimspace.net>2011-01-31 17:07:29 -0800
commit3a125d486ba4555796840a93a01ca5055eb9e157 (patch)
tree16b5168b39a18b7cd00b2f8944c2148c47648421 /lib
parent5bba59a7126e150e0e1e671d331878f4a00e2b2b (diff)
Bug #5755 -- ZAML generates extra newline in some hash backreferences.
This data structure generates YAML with an extra newline that violates the syntax rules and all: list = [1] { :a => list, :b => list }.to_yaml This breaks real client use of the YAML catalogs, not to mention our own use of cached catalogs...
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/util/zaml.rb7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/puppet/util/zaml.rb b/lib/puppet/util/zaml.rb
index 9fda5ae3b..6ac956565 100644
--- a/lib/puppet/util/zaml.rb
+++ b/lib/puppet/util/zaml.rb
@@ -59,13 +59,12 @@ class ZAML
@@previously_emitted_object = {}
@@next_free_label_number = 0
end
- def initialize(obj,indent)
- @indent = indent
+ def initialize(obj)
@this_label_number = nil
@@previously_emitted_object[obj.object_id] = self
end
def to_s
- @this_label_number ? ('&id%03d%s' % [@this_label_number, @indent]) : ''
+ @this_label_number ? ('&id%03d ' % @this_label_number) : ''
end
def reference
@this_label_number ||= (@@next_free_label_number += 1)
@@ -76,7 +75,7 @@ class ZAML
end
end
def new_label_for(obj)
- Label.new(obj,(Hash === obj || Array === obj) ? "#{@indent || "\n"} " : ' ')
+ Label.new(obj)
end
def first_time_only(obj)
if label = Label.for(obj)