Signed-off-by: James Turnbull <[email protected]>
---
 lib/puppet/provider/service/freebsd.rb |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/lib/puppet/provider/service/freebsd.rb 
b/lib/puppet/provider/service/freebsd.rb
index 10970e4..a02507e 100644
--- a/lib/puppet/provider/service/freebsd.rb
+++ b/lib/puppet/provider/service/freebsd.rb
@@ -18,6 +18,9 @@ Puppet::Type.type(:service).provide :freebsd, :parent => 
:init do
   def rcvar
     rcvar = execute([self.initscript, :rcvar], :failonfail => true, :squelch 
=> false)
     rcvar = rcvar.split("\n")
+    rcvar.delete_if {|str| str !~ /^(#\s\S+|\$?\w+enable=.*)$/ }
+    rcvar[1] = rcvar[1].gsub!(/^\$?(.*)/, '\1')
+    rcvar
   end
 
   # Extract service name
@@ -44,7 +47,7 @@ Puppet::Type.type(:service).provide :freebsd, :parent => 
:init do
   def rcvar_value
     value = self.rcvar[1]
     self.error("No rcvar value found in rcvar") if value.nil?
-    value = value.gsub!(/(.*)_enable=\"?(.*)\"?/, '\2')
+    value = value.gsub!(/(.*)_enable=\"?(\w+)\"?/, '\2')
     self.error("rcvar value is empty") if value.nil?
     self.debug("rcvar value is #{value}")
     value
-- 
1.7.2.2

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to