Software /
code /
prosody
Diff
util/dbuffer.lua @ 12802:4a8740e01813
Merge 0.12->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 12 Dec 2022 07:10:54 +0100 |
parent | 12763:d26eefe98d09 |
child | 12975:d10957394a3c |
line wrap: on
line diff
--- a/util/dbuffer.lua Mon Dec 12 20:40:23 2022 +0100 +++ b/util/dbuffer.lua Mon Dec 12 07:10:54 2022 +0100 @@ -91,18 +91,18 @@ end function dbuffer_methods:discard(requested_bytes) - if requested_bytes > self._length then - return nil; + if self._length == 0 then return true; end + if not requested_bytes or requested_bytes >= self._length then + self.front_consumed = 0; + self._length = 0; + for _ in self.items:consume() do end + return true; end local chunk, read_bytes = self:read_chunk(requested_bytes); - if chunk then - requested_bytes = requested_bytes - read_bytes; - if requested_bytes == 0 then -- Already read everything we need - return true; - end - else - return nil; + requested_bytes = requested_bytes - read_bytes; + if requested_bytes == 0 then -- Already read everything we need + return true; end while chunk do