diff options
author | Matthew Wild <mwild1@gmail.com> | 2020-08-24 16:18:13 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2020-08-24 16:18:13 +0100 |
commit | 7fa4cc8de0ffb0a0914c1861987a19cf666febf6 (patch) | |
tree | e2b18a6b4676022a9a205fa3cae61043ce212b08 | |
parent | e21429d8e4533f765072f432b138a68092dab3fa (diff) | |
download | prosody-7fa4cc8de0ffb0a0914c1861987a19cf666febf6.tar.gz prosody-7fa4cc8de0ffb0a0914c1861987a19cf666febf6.zip |
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.
-rw-r--r-- | spec/util_dbuffer_spec.lua | 2 | ||||
-rw-r--r-- | util/dbuffer.lua | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/spec/util_dbuffer_spec.lua b/spec/util_dbuffer_spec.lua index 26fa7da6..554a7e54 100644 --- a/spec/util_dbuffer_spec.lua +++ b/spec/util_dbuffer_spec.lua @@ -67,7 +67,7 @@ describe("util.dbuffer", function () 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 --git a/util/dbuffer.lua b/util/dbuffer.lua index 9ec40eb9..a50f3a64 100644 --- a/util/dbuffer.lua +++ b/util/dbuffer.lua @@ -123,7 +123,7 @@ function dbuffer_methods:sub(i, j) 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) |