summaryrefslogtreecommitdiff
path: root/lib/net/protocol.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/net/protocol.rb')
-rw-r--r--lib/net/protocol.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/net/protocol.rb b/lib/net/protocol.rb
index 0e887d5aa9..45da560062 100644
--- a/lib/net/protocol.rb
+++ b/lib/net/protocol.rb
@@ -191,7 +191,12 @@ module Net # :nodoc:
end
def rbuf_consume(len)
- s = @rbuf.slice!(0, len)
+ if len == @rbuf.size
+ s = @rbuf
+ @rbuf = ''.dup
+ else
+ s = @rbuf.slice!(0, len)
+ end
@debug_output << %Q[-> #{s.dump}\n] if @debug_output
s
end