# HG changeset patch # User Matthew Wild # Date 1598282293 -3600 # Node ID 8c6bace13229d3bd9e62c0d19f635a31d15be02f # Parent 7b720a81551946226cd400da2199fa72b6df8184 util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks Zash for test case) This also appears to fix some bugs with chunk-encoded streams in net.http.parser. diff -r 7b720a815519 -r 8c6bace13229 spec/util_dbuffer_spec.lua --- a/spec/util_dbuffer_spec.lua Mon Aug 24 17:07:37 2020 +0200 +++ b/spec/util_dbuffer_spec.lua Mon Aug 24 16:18:13 2020 +0100 @@ -67,7 +67,7 @@ assert.equals("hello", b:sub(1, 5)); end); - pending("works after discard", function () + it("works after discard", function () local b = dbuffer.new(256); assert.truthy(b:write("foo")); assert.truthy(b:write("bar")); diff -r 7b720a815519 -r 8c6bace13229 util/dbuffer.lua --- a/util/dbuffer.lua Mon Aug 24 17:07:37 2020 +0200 +++ b/util/dbuffer.lua Mon Aug 24 16:18:13 2020 +0100 @@ -123,7 +123,7 @@ self:collapse(j); - return self.items:peek():sub(i, j); + return self.items:peek():sub(self.front_consumed+1):sub(i, j); end function dbuffer_methods:byte(i, j)