diff --git a/ChangeLog b/ChangeLog index ee37393867..0faa7067bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Jun 17 23:04:24 2008 James Edward Gray II + + * lib/net/telnet.rb: Fixing Telnet#wairfor() which was broken by changes to + the Kernel::Integer() method. [ruby-core:17272] + Tue Jun 17 23:02:18 2008 Nobuyoshi Nakada * ruby.c (opt_W_getter): made a hooked variable. diff --git a/lib/net/telnet.rb b/lib/net/telnet.rb index d2433554a2..67fd656c63 100644 --- a/lib/net/telnet.rb +++ b/lib/net/telnet.rb @@ -564,8 +564,8 @@ module Net @dumplog.log_dump('<', c) if @options.has_key?("Dump_log") if @options["Telnetmode"] c = rest + c - if Integer(c.rindex(/#{IAC}#{SE}/no)) < - Integer(c.rindex(/#{IAC}#{SB}/no)) + if Integer(c.rindex(/#{IAC}#{SE}/no) || 0) < + Integer(c.rindex(/#{IAC}#{SB}/no) || 0) 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) ||