Fix bug.
This commit is contained in:
parent
6051cb7a40
commit
647a57b5f4
|
@ -166,22 +166,36 @@ namespace :exec_commands do
|
|||
channel.send_data "#{@password}\n"
|
||||
else
|
||||
print "#{data}"
|
||||
data_str = data.to_s
|
||||
if data.include?("\n") || outputs.empty?
|
||||
output_lines = data.to_s.split("\n").select{|l| l.present?}
|
||||
outputs += output_lines
|
||||
output_lines = data_str.split("\n")
|
||||
first_output = nil
|
||||
if outputs.count != 0
|
||||
first_output = output_lines[0]
|
||||
outputs[-1] += first_output
|
||||
end
|
||||
new_arr = output_lines[1..-1]
|
||||
if data_str[-1] == "\n"
|
||||
new_arr << ""
|
||||
end
|
||||
outputs += new_arr
|
||||
if update
|
||||
update_thread_infos_for_exec(output_lines,false,true) if @flag
|
||||
update_infos_for_exec(output_lines,false,true)
|
||||
if first_output
|
||||
update_thread_infos_for_exec(first_output,true) if @flag
|
||||
update_infos_for_exec(first_output,true)
|
||||
end
|
||||
update_thread_infos_for_exec(new_arr,false,true) if @flag
|
||||
update_infos_for_exec(new_arr,false,true)
|
||||
end
|
||||
else
|
||||
if outputs.count == 0
|
||||
outputs.push(data.to_s)
|
||||
outputs.push(data_str)
|
||||
else
|
||||
outputs[-1] += (data.to_s rescue "")
|
||||
outputs[-1] += (data_str rescue "")
|
||||
end
|
||||
if update
|
||||
update_thread_infos_for_exec(data,true) if @flag
|
||||
update_infos_for_exec(data,true)
|
||||
update_thread_infos_for_exec(data_str,true) if @flag
|
||||
update_infos_for_exec(data_str,true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue