From cd040cfeb47f91b29c6d138f745b442483f4cf44 Mon Sep 17 00:00:00 2001 From: Onran Date: Sun, 21 Jun 2026 21:13:30 +0900 Subject: [PATCH] fix of io_stream:available for non-buffered streams when "length" arg defined --- res/modules/io_stream.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/res/modules/io_stream.lua b/res/modules/io_stream.lua index 3dff50ce4..d2f132802 100644 --- a/res/modules/io_stream.lua +++ b/res/modules/io_stream.lua @@ -125,15 +125,21 @@ function io_stream:set_max_buffer_size(maxBufferSize) end function io_stream:available(length) + local available + if self.mode == BUFFERED_MODE then self:__update_read_buffer() - if not length then - return #self.readBuffer - else - return #self.readBuffer >= length - end - else return self.ioLib.available(self.descriptor) end + available = #self.readBuffer + else + available = self.ioLib.available(self.descriptor) + end + + if not length then + return available + else + return available >= length + end end function io_stream:__update_read_buffer()