summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/openssl/lib/openssl/buffering.rb16
2 files changed, 11 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index e05857c154..9bc225d8f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Mar 7 14:13:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):
+ should set @eof and @rbuffer.
+
Mon Mar 7 10:28:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
* object.c (inspect_obj): unintended space removal.
diff --git a/ext/openssl/lib/openssl/buffering.rb b/ext/openssl/lib/openssl/buffering.rb
index 39c442bfd1..27bf62bda7 100644
--- a/ext/openssl/lib/openssl/buffering.rb
+++ b/ext/openssl/lib/openssl/buffering.rb
@@ -20,6 +20,8 @@ module Buffering
BLOCK_SIZE = 1024*16
def initialize(*args)
+ @eof = false
+ @rbuffer = ""
@sync = @io.sync
end
@@ -29,7 +31,6 @@ module Buffering
private
def fill_rbuff
- @rbuffer = "" unless defined? @rbuffer
begin
@rbuffer << self.sysread(BLOCK_SIZE)
rescue Errno::EAGAIN
@@ -40,7 +41,7 @@ module Buffering
end
def consume_rbuff(size=nil)
- if @rbuffer.size == 0
+ if @rbuffer.empty?
nil
else
size = @rbuffer.size unless size
@@ -61,8 +62,6 @@ module Buffering
return ""
end
end
- fill_rbuff unless defined? @rbuffer
- @eof ||= nil
until @eof
break if size && size <= @rbuffer.size
fill_rbuff
@@ -84,7 +83,7 @@ module Buffering
return ""
end
end
- if !defined?(@rbuffer) || @rbuffer.size == 0
+ if @rbuffer.empty?
begin
return sysread(maxlen, buf)
rescue Errno::EAGAIN
@@ -101,9 +100,7 @@ module Buffering
end
def gets(eol=$/)
- fill_rbuff unless defined? @rbuffer
idx = @rbuffer.index(eol)
- @eof ||= nil
until @eof
break if idx
fill_rbuff
@@ -158,9 +155,8 @@ module Buffering
end
def eof?
- @eof ||= nil
- fill_rbuff if !@eof && (!defined?(@rbuffer) || @rbuffer.size == 0)
- @eof && @rbuffer.size == 0
+ fill_rbuff if !@eof && @rbuffer.empty?
+ @eof && @rbuffer.empty?
end
alias eof eof?