util/dbuffer.lua
changeset 12766 79b89f382290
parent 11641 19cddf92fcc2
child 12767 d26eefe98d09
equal deleted inserted replaced
12765:82915c755d90 12766:79b89f382290
    94 	if requested_bytes > self._length then
    94 	if requested_bytes > self._length then
    95 		return nil;
    95 		return nil;
    96 	end
    96 	end
    97 
    97 
    98 	local chunk, read_bytes = self:read_chunk(requested_bytes);
    98 	local chunk, read_bytes = self:read_chunk(requested_bytes);
    99 	if chunk then
    99 	requested_bytes = requested_bytes - read_bytes;
   100 		requested_bytes = requested_bytes - read_bytes;
   100 	if requested_bytes == 0 then -- Already read everything we need
   101 		if requested_bytes == 0 then -- Already read everything we need
   101 		return true;
   102 			return true;
       
   103 		end
       
   104 	else
       
   105 		return nil;
       
   106 	end
   102 	end
   107 
   103 
   108 	while chunk do
   104 	while chunk do
   109 		if requested_bytes > 0 then
   105 		if requested_bytes > 0 then
   110 			chunk, read_bytes = self:read_chunk(requested_bytes);
   106 			chunk, read_bytes = self:read_chunk(requested_bytes);