From cab5d85dea17f3ea09343955f29eb47c8b32a05d Mon Sep 17 00:00:00 2001 From: James Turnbull Date: Sat, 13 Sep 2008 15:01:57 +1000 Subject: Fixed #1571 - Puppet::Util::binary returns incorrect results --- lib/puppet/util.rb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb index 94c96db0c..ff9858ed0 100644 --- a/lib/puppet/util.rb +++ b/lib/puppet/util.rb @@ -220,19 +220,14 @@ module Util def binary(bin) if bin =~ /^\// - if FileTest.exists? bin + if FileTest.file? bin and FileTest.executable? bin return bin else return nil end else - # LAK:NOTE See http://snurl.com/21zf8 [groups_google_com] - x = ENV['PATH'].split(":").each do |dir| - if FileTest.exists? File.join(dir, bin) - return File.join(dir, bin) - end - end - return nil + x = %x{which #{bin} 2>/dev/null}.chomp + return x end end module_function :binary -- cgit