diff options
Diffstat (limited to 'lib/net/telnet.rb')
-rw-r--r-- | lib/net/telnet.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/net/telnet.rb b/lib/net/telnet.rb index 1d523c551f..0a520eaabb 100644 --- a/lib/net/telnet.rb +++ b/lib/net/telnet.rb @@ -467,13 +467,14 @@ module Net begin c = @sock.sysread(1024 * 1024) @dumplog.log_dump('<', c) if @options.has_key?("Dump_log") + c = rest + c if @options["Telnetmode"] if Integer(c.rindex(/#{IAC}#{SE}/no)) < Integer(c.rindex(/#{IAC}#{SB}/no)) - buf = preprocess(rest + c[0 ... c.rindex(/#{IAC}#{SB}/no)]) + buf = preprocess(c[0 ... c.rindex(/#{IAC}#{SB}/no)]) rest = c[c.rindex(/#{IAC}#{SB}/no) .. -1] elsif pt = c.rindex(/#{IAC}[^#{IAC}#{AO}#{AYT}#{DM}#{IP}#{NOP}]?\z/no) - buf = preprocess(rest + c[0 ... pt]) + buf = preprocess(c[0 ... pt]) rest = c[pt .. -1] else buf = preprocess(c) |