From cbee426854c09fae4d9675edb787d4563e9b9ac8 Mon Sep 17 00:00:00 2001 From: Brice Figureau Date: Mon, 23 Mar 2009 23:17:11 +0100 Subject: Fix #2101 - Return to recurse=0 == no recursion behavior Ticket #1469 introduced an incorrect change of behaviour where recurse = 0 was considered as an infinite recursion, unlike before. This patch restores this behavior, and makes some test pass. Signed-off-by: Brice Figureau --- lib/puppet/type/file.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/puppet/type/file.rb b/lib/puppet/type/file.rb index 05a4b37f9..0cd9ebece 100644 --- a/lib/puppet/type/file.rb +++ b/lib/puppet/type/file.rb @@ -128,11 +128,20 @@ module Puppet when :remote: :remote when Integer, Fixnum, Bignum: self.warning "Setting recursion depth with the recurse parameter is now deprecated, please use recurselimit" + + # recurse == 0 means no recursion + return false if value == 0 + resource[:recurselimit] = value true when /^\d+$/: self.warning "Setting recursion depth with the recurse parameter is now deprecated, please use recurselimit" - resource[:recurselimit] = Integer(value) + value = Integer(value) + + # recurse == 0 means no recursion + return false if value == 0 + + resource[:recurselimit] = value true else raise ArgumentError, "Invalid recurse value %s" % value.inspect -- cgit