diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/net/telnet.rb | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Fri Sep 7 09:44:44 2001 Wakou Aoyama <wakou@fsinet.or.jp> + + * lib/net/telnet.rb: waitfor(): bug fix. + Fri Sep 7 07:11:34 2001 Wakou Aoyama <wakou@fsinet.or.jp> * lib/cgi.rb: CGI#doctype(): bug fix (html4Fr). 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) |