Changeset

11158:3a72cb126d6c

Merge 0.11->trunk
author Kim Alvefur <zash@zash.se>
date Mon, 12 Oct 2020 21:29:20 +0200
parents 11155:8d692a8a8f48 (current diff) 11157:413bd21ba449 (diff)
children 11160:e9eeaefa09a7
files net/websocket/frames.lua spec/util_dbuffer_spec.lua util/dbuffer.lua
diffstat 3 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/net/websocket/frames.lua	Mon Oct 12 18:27:42 2020 +0200
+++ b/net/websocket/frames.lua	Mon Oct 12 21:29:20 2020 +0200
@@ -75,7 +75,7 @@
 end
 
 local function parse_frame_header(frame)
-	if #frame < 2 then return; end
+	if frame:len() < 2 then return; end
 
 	local byte1, byte2 = frame:byte(1, 2);
 	local result = {
@@ -97,7 +97,7 @@
 	end
 
 	local header_length = 2 + length_bytes + (result.MASK and 4 or 0);
-	if #frame < header_length then return; end
+	if frame:len() < header_length then return; end
 
 	if length_bytes == 2 then
 		result.length = read_uint16be(frame, 3);
@@ -140,7 +140,7 @@
 
 local function parse_frame(frame)
 	local result, pos = parse_frame_header(frame);
-	if result == nil or #frame < (pos + result.length) then return nil, nil, result; end
+	if result == nil or frame:len() < (pos + result.length) then return nil, nil, result; end
 	result.data = parse_frame_body(frame, result, pos+1);
 	return result, pos + result.length;
 end
--- a/spec/util_dbuffer_spec.lua	Mon Oct 12 18:27:42 2020 +0200
+++ b/spec/util_dbuffer_spec.lua	Mon Oct 12 21:29:20 2020 +0200
@@ -42,6 +42,7 @@
 			assert.truthy(b:write("hello world"));
 			assert.truthy(b:discard(6));
 			assert.equal(5, b:length());
+			assert.equal(5, b:len());
 			assert.equal("world", b:read(5));
 		end);
 	end);
--- a/util/dbuffer.lua	Mon Oct 12 18:27:42 2020 +0200
+++ b/util/dbuffer.lua	Mon Oct 12 21:29:20 2020 +0200
@@ -135,6 +135,7 @@
 function dbuffer_methods:length()
 	return self._length;
 end
+dbuffer_methods.len = dbuffer_methods.length; -- strings have :len()
 dynamic_buffer_mt.__len = dbuffer_methods.length; -- support # operator
 
 function dbuffer_methods:collapse(bytes)