aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMau Magnaguagno <maumagnaguagno@gmail.com>2022-12-26 08:35:54 -0300
committerGitHub <noreply@github.com>2022-12-26 08:35:54 -0300
commit5f6abff178496455536b41f7faeb55c0bb7d1ebf (patch)
tree1eb4187fec1bb09104e91be65e719100361ae866
parentc263cd40057fd4a7ea36ceefc7ad88054ed6ffea (diff)
downloadruby-openssl-5f6abff178496455536b41f7faeb55c0bb7d1ebf.tar.gz
Refactor Buffering consume_rbuff and getbyte methods
Prefer ``slice!`` for ``Buffering#consume_rbuff`` and safe navigation with ``ord`` for ``Buffering#getbyte``, similar to ``each_byte``.
-rw-r--r--lib/openssl/buffering.rb7
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/openssl/buffering.rb b/lib/openssl/buffering.rb
index d47e1082..9570f14f 100644
--- a/lib/openssl/buffering.rb
+++ b/lib/openssl/buffering.rb
@@ -93,9 +93,7 @@ module OpenSSL::Buffering
nil
else
size = @rbuffer.size unless size
- ret = @rbuffer[0, size]
- @rbuffer[0, size] = ""
- ret
+ @rbuffer.slice!(0, size)
end
end
@@ -106,8 +104,7 @@ module OpenSSL::Buffering
#
# Get the next 8bit byte from `ssl`. Returns `nil` on EOF
def getbyte
- byte = read(1)
- byte && byte.unpack1("C")
+ read(1)&.ord
end
##