fix of io_stream:available for non-buffered streams when "length" arg defined

This commit is contained in:
Onran 2026-06-21 21:13:30 +09:00
parent f8317e05c4
commit cd040cfeb4

View file

@ -125,15 +125,21 @@ function io_stream:set_max_buffer_size(maxBufferSize)
end end
function io_stream:available(length) function io_stream:available(length)
local available
if self.mode == BUFFERED_MODE then if self.mode == BUFFERED_MODE then
self:__update_read_buffer() self:__update_read_buffer()
if not length then available = #self.readBuffer
return #self.readBuffer else
else available = self.ioLib.available(self.descriptor)
return #self.readBuffer >= length end
end
else return self.ioLib.available(self.descriptor) end if not length then
return available
else
return available >= length
end
end end
function io_stream:__update_read_buffer() function io_stream:__update_read_buffer()