lib/rbbt/util/cmd.rb in rbbt-util-5.31.10 vs lib/rbbt/util/cmd.rb in rbbt-util-5.31.11

- old
+ new

@@ -36,20 +36,22 @@ else block.call end end version_txt = "" - %w(--version -version --help).each do |f| + version = nil + ["--version", "-version", "--help", ""].each do |f| begin - version_txt += CMD.cmd("#{tool} #{f}").read - break + version_txt += CMD.cmd("#{tool} #{f} 2>&1", :nofail => true).read + ppp version_txt + version = Misc.scan_version_text(version_txt, tool) + break if version rescue + Log.exception $! end end - version = Misc.scan_version_text(version_txt, tool) - @@init_cmd_tool[tool] = version || true return cmd if cmd end @@ -73,10 +75,11 @@ add_dashes = Misc.process_options options, :add_option_dashes string = "" options.each do |option, value| raise "Invalid option key: #{option.inspect}" if option.to_s !~ /^[a-z_0-9\-=]+$/i - raise "Invalid option value: #{value.inspect}" if value.to_s.include? "'" + #raise "Invalid option value: #{value.inspect}" if value.to_s.include? "'" + value = value.gsub("'","\\'") if value.to_s.include? "'" option = "--" << option.to_s if add_dashes and option.to_s[0] != '-' case when value.nil? || FalseClass === value