From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp55.i.mail.ru (smtp55.i.mail.ru [217.69.128.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 7F36E4696C3 for ; Fri, 3 Apr 2020 14:04:00 +0300 (MSK) Date: Fri, 3 Apr 2020 14:03:51 +0300 From: Sergey Bronnikov Message-ID: <20200403110351.GA38209@pony.bronevichok.ru> References: <20200403093902.GA42848@pony.bronevichok.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [Tarantool-patches] [PATCH] Fix luacheck warnings in src/lua/*.lua List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: lvasiliev , tarantool-patches@dev.tarantool.org, avtikhon@tarantool.org, alexander.turenko@tarantool.org, o.piskunov@tarantool.org You can help me with review and set one LGTM :) On 13:13 Fri 03 Apr , lvasiliev wrote: > My patch was died in maillist, I hope you will more lucky than me:) > https://lists.tarantool.org/pipermail/tarantool-patches/2019-November/012549.html > > On 03.04.2020 12:39, Sergey Bronnikov wrote: > > GitHub branch: https://github.com/tarantool/tarantool/tree/ligurio/gh-4681-fix-luacheck-warnings > > > > How-to check: > > > > $ tarantoolctl rocks install luacheck > > $ .rocks/bin/luacheck src/lua/*.lua > > > > --- > > src/lua/argparse.lua | 6 ++-- > > src/lua/buffer.lua | 4 +-- > > src/lua/clock.lua | 2 +- > > src/lua/crypto.lua | 18 +++++----- > > src/lua/csv.lua | 5 ++- > > src/lua/digest.lua | 6 ++-- > > src/lua/env.lua | 2 +- > > src/lua/errno.lua | 2 +- > > src/lua/fio.lua | 28 ++++++++-------- > > src/lua/help.lua | 24 +++++++------- > > src/lua/httpc.lua | 3 -- > > src/lua/init.lua | 17 +++++----- > > src/lua/msgpackffi.lua | 15 ++++----- > > src/lua/socket.lua | 66 ++++++++++++++++++------------------- > > src/lua/string.lua | 1 - > > src/lua/swim.lua | 20 +++++------ > > src/lua/tap.lua | 75 ++++++++++++++++++++---------------------- > > src/lua/trigger.lua | 3 -- > > 18 files changed, 142 insertions(+), 155 deletions(-) > > > > diff --git a/src/lua/argparse.lua b/src/lua/argparse.lua > > index faa0ae130..f58985425 100644 > > --- a/src/lua/argparse.lua > > +++ b/src/lua/argparse.lua > > @@ -90,8 +90,8 @@ local function convert_parameter(name, convert_from, convert_to) > > return convert_from > > end > > -local function parameters_parse(t_in, options) > > - local t_out, t_in = {}, t_in or {} > > +local function parameters_parse(t__in, options) > > + local t_out, t_in = {}, t__in or {} > > -- Prepare a lookup table for options. An option name -> a > > -- type name to convert a parameter into or true (which means > > @@ -145,7 +145,7 @@ local function parameters_parse(t_in, options) > > if parameter_has_value(lookup[command]) then > > -- in case next argument is value of this key (not --arg) > > local next_arg = t_in[i + 1] > > - local is_long, is_short, is_dash = parse_param_prefix(next_arg) > > + is_long, is_short, is_dash = parse_param_prefix(next_arg) > > if is_dash then > > skip_param = true > > elseif is_long == false and not is_short and not is_dash then > > diff --git a/src/lua/buffer.lua b/src/lua/buffer.lua > > index 9aac82b39..5979980ed 100644 > > --- a/src/lua/buffer.lua > > +++ b/src/lua/buffer.lua > > @@ -182,7 +182,7 @@ local ibuf_methods = { > > unused = ibuf_unused; > > } > > -local function ibuf_tostring(ibuf) > > +local function ibuf_tostring(ibuf) -- luacheck: ignore 212 > > return '' > > end > > local ibuf_mt = { > > @@ -193,7 +193,7 @@ local ibuf_mt = { > > ffi.metatype(ibuf_t, ibuf_mt); > > -local function ibuf_new(arg, arg2) > > +local function ibuf_new(arg) > > local buf = ffi.new(ibuf_t) > > local slabc = builtin.tarantool_lua_slab_cache() > > builtin.ibuf_create(buf, slabc, READAHEAD) > > diff --git a/src/lua/clock.lua b/src/lua/clock.lua > > index 60c78663c..fee43ccde 100644 > > --- a/src/lua/clock.lua > > +++ b/src/lua/clock.lua > > @@ -33,7 +33,7 @@ clock.bench = function(fun, ...) > > overhead = clock.proc() - overhead > > local start_time = clock.proc() > > local res = {0, fun(...)} > > - res[1] = clock.proc() - start_time - overhead, res > > + res[1] = clock.proc() - start_time - overhead > > return res > > end > > diff --git a/src/lua/crypto.lua b/src/lua/crypto.lua > > index bf3064c70..9929b93ba 100644 > > --- a/src/lua/crypto.lua > > +++ b/src/lua/crypto.lua > > @@ -75,7 +75,7 @@ local function openssl_err_str() > > end > > local digests = {} > > -for class, name in pairs({ > > +for class, _ in pairs({ > > md2 = 'MD2', md4 = 'MD4', md5 = 'MD5', > > sha1 = 'SHA1', sha224 = 'SHA224', > > sha256 = 'SHA256', sha384 = 'SHA384', sha512 = 'SHA512', > > @@ -318,7 +318,7 @@ for class, digest in pairs(digests) do > > digest_api[class] = setmetatable({ > > new = function () return digest_new(digest) end > > }, { > > - __call = function (self, str) > > + __call = function (self, str) -- luacheck: ignore 212 > > if type(str) ~= 'string' then > > error("Usage: digest."..class.."(string)") > > end > > @@ -332,7 +332,7 @@ for class, digest in pairs(digests) do > > end > > digest_api = setmetatable(digest_api, > > - {__index = function(self, digest) > > + {__index = function(self, digest) -- luacheck: ignore 212 > > return error('Digest method "' .. digest .. '" is not supported') > > end }) > > @@ -341,7 +341,7 @@ for class, digest in pairs(hmacs) do > > hmac_api[class] = setmetatable({ > > new = function (key) return hmac_new(digest, key) end > > }, { > > - __call = function (self, key, str) > > + __call = function (self, key, str) -- luacheck: ignore 212 > > if type(str) ~= 'string' then > > error("Usage: hmac."..class.."(key, string)") > > end > > @@ -361,7 +361,7 @@ for class, digest in pairs(hmacs) do > > end > > hmac_api = setmetatable(hmac_api, > > - {__index = function(self, digest) > > + {__index = function(self, digest) -- luacheck: ignore 212 > > return error('HMAC method "' .. digest .. '" is not supported') > > end }) > > @@ -384,12 +384,12 @@ local crypto_dirs = { > > } > > local algo_api_mt = { > > - __index = function(self, mode) > > + __index = function(self, mode) -- luacheck: ignore 212 > > error('Cipher mode ' .. mode .. ' is not supported') > > end > > } > > local crypto_api_mt = { > > - __index = function(self, cipher) > > + __index = function(self, cipher) -- luacheck: ignore 212 > > return error('Cipher method "' .. cipher .. '" is not supported') > > end > > } > > @@ -408,7 +408,7 @@ for algo_name, algo_value in pairs(crypto_algos) do > > dir_value) > > end > > }, { > > - __call = function(self, str, key, iv) > > + __call = function(self, str, key, iv) -- luacheck: ignore 212 > > local ctx = crypto_stream_new(algo_value, mode_value, key, > > iv, dir_value) > > local res = ctx:update(str) > > @@ -428,7 +428,7 @@ local public_methods = { > > } > > local module_mt = { > > - __serialize = function(s) > > + __serialize = function() > > return public_methods > > end, > > __index = public_methods > > diff --git a/src/lua/csv.lua b/src/lua/csv.lua > > index 7dff2f213..de6726bb7 100644 > > --- a/src/lua/csv.lua > > +++ b/src/lua/csv.lua > > @@ -188,10 +188,10 @@ module.dump = function(t, opts, writable) > > if type(writable) == 'nil' then > > result_table = {} > > end > > - for k, line in pairs(t) do > > + for _, line in pairs(t) do > > local first = true > > local output_tuple = {} > > - for k2, field in pairs(line) do > > + for _, field in pairs(line) do > > local strf = tostring(field) > > local buf_new_size = (strf:len() + 1) * 2 > > if buf_new_size > bufsz then > > @@ -214,7 +214,6 @@ module.dump = function(t, opts, writable) > > else > > writable:write(table.concat(output_tuple)) > > end > > - output_tuple = {} > > end > > ffi.C.csv_destroy(csv) > > csv.realloc(buf, 0) > > diff --git a/src/lua/digest.lua b/src/lua/digest.lua > > index 6ed91cfa2..5c6eb2ae2 100644 > > --- a/src/lua/digest.lua > > +++ b/src/lua/digest.lua > > @@ -91,7 +91,7 @@ PMurHash = { > > } > > setmetatable(PMurHash, { > > - __call = function(self, str) > > + __call = function(self, str) -- luacheck: ignore 212 > > if type(str) ~= 'string' then > > error("Usage: digest.murhash(string)") > > end > > @@ -134,7 +134,7 @@ CRC32 = { > > } > > setmetatable(CRC32, { > > - __call = function(self, str) > > + __call = function(self, str) -- luacheck: ignore 212 > > if type(str) ~= 'string' then > > error("Usage digest.crc32(string)") > > end > > @@ -246,7 +246,7 @@ local m = { > > end > > } > > -for digest, name in pairs(digest_shortcuts) do > > +for digest, _ in pairs(digest_shortcuts) do > > m[digest] = function (str) > > return crypto.digest[digest](str) > > end > > diff --git a/src/lua/env.lua b/src/lua/env.lua > > index dd1616a84..d851586f0 100644 > > --- a/src/lua/env.lua > > +++ b/src/lua/env.lua > > @@ -28,7 +28,7 @@ os.environ = function() > > end > > os.setenv = function(key, value) > > - local rv = nil > > + local rv = nil -- luacheck: ignore 311 > > if value ~= nil then > > rv = ffi.C.setenv(key, value, 1) > > else > > diff --git a/src/lua/errno.lua b/src/lua/errno.lua > > index db800ce30..c91cad4b7 100644 > > --- a/src/lua/errno.lua > > +++ b/src/lua/errno.lua > > @@ -17,5 +17,5 @@ return setmetatable({ > > }, { > > __index = errno_list, > > __newindex = function() error("Can't create new errno constants") end, > > - __call = function(self, ...) return ffi.errno(...) end > > + __call = function(self, ...) return ffi.errno(...) end -- luacheck: ignore 212 > > }) > > diff --git a/src/lua/fio.lua b/src/lua/fio.lua > > index 4692e1026..dd71c6742 100644 > > --- a/src/lua/fio.lua > > +++ b/src/lua/fio.lua > > @@ -306,7 +306,7 @@ fio.abspath = function(path) > > error("Usage: fio.abspath(path)") > > end > > path = path > > - local joined_path = '' > > + local joined_path = '' -- luacheck: ignore 311 > > local path_tab = {} > > if string.sub(path, 1, 1) == '/' then > > joined_path = path > > @@ -343,7 +343,7 @@ fio.listdir = function(path) > > return t > > end > > local names = string.split(str, "\n") > > - for i, name in ipairs(names) do > > + for _, name in ipairs(names) do > > table.insert(t, name) > > end > > return t > > @@ -355,15 +355,15 @@ fio.mktree = function(path, mode) > > end > > path = fio.abspath(path) > > - local path = string.gsub(path, '^/', '') > > + path = string.gsub(path, '^/', '') > > local dirs = string.split(path, "/") > > local current_dir = "/" > > - for i, dir in ipairs(dirs) do > > + for _, dir in ipairs(dirs) do > > current_dir = fio.pathjoin(current_dir, dir) > > local stat = fio.stat(current_dir) > > if stat == nil then > > - local st, err = fio.mkdir(current_dir, mode) > > + local _, err = fio.mkdir(current_dir, mode) > > -- fio.stat() and fio.mkdir() above are separate calls > > -- and a file system may be changed between them. So > > -- if the error here is due to an existing directory, > > @@ -384,20 +384,20 @@ fio.rmtree = function(path) > > if type(path) ~= 'string' then > > error("Usage: fio.rmtree(path)") > > end > > - local status, err > > + local status -- luacheck: ignore 231 > > path = fio.abspath(path) > > local ls, err = fio.listdir(path) > > if err ~= nil then > > return nil, err > > end > > - for i, f in ipairs(ls) do > > + for _, f in ipairs(ls) do > > local tmppath = fio.pathjoin(path, f) > > local st = fio.lstat(tmppath) > > if st then > > if st:is_dir() then > > - st, err = fio.rmtree(tmppath) > > + _, err = fio.rmtree(tmppath) > > else > > - st, err = fio.unlink(tmppath) > > + _, err = fio.unlink(tmppath) > > end > > if err ~= nil then > > return nil, err > > @@ -430,7 +430,6 @@ fio.copytree = function(from, to) > > if type(from) ~= 'string' or type(to) ~= 'string' then > > error('Usage: fio.copytree(from, to)') > > end > > - local status, reason > > local st = fio.stat(from) > > if not st then > > return false, string.format("Directory %s does not exist", from) > > @@ -444,14 +443,14 @@ fio.copytree = function(from, to) > > end > > -- create tree of destination > > - status, reason = fio.mktree(to) > > + local status, reason = fio.mktree(to) -- luacheck: ignore 231 > > if reason ~= nil then > > return false, reason > > end > > - for i, f in ipairs(ls) do > > + for _, f in ipairs(ls) do > > local ffrom = fio.pathjoin(from, f) > > local fto = fio.pathjoin(to, f) > > - local st = fio.lstat(ffrom) > > + st = fio.lstat(ffrom) > > if st and st:is_dir() then > > status, reason = fio.copytree(ffrom, fto) > > if reason ~= nil then > > @@ -465,7 +464,8 @@ fio.copytree = function(from, to) > > end > > end > > if st:is_link() then > > - local link_to, reason = fio.readlink(ffrom) > > + local link_to > > + link_to, reason = fio.readlink(ffrom) > > if reason ~= nil then > > return false, reason > > end > > diff --git a/src/lua/help.lua b/src/lua/help.lua > > index 54ff1b5d0..768f4dec4 100644 > > --- a/src/lua/help.lua > > +++ b/src/lua/help.lua > > @@ -7,22 +7,22 @@ local doc = require('help.en_US') > > -- corresponds to a tarantool version a user runs. > > local DOCUMENTATION_VERSION = '2.1' > > -help = { doc.help } > > -tutorial = {} > > -tutorial[1] = help[1] > > +help = { doc.help } -- luacheck: ignore 111 > > +tutorial = {} -- luacheck: ignore 111 > > +tutorial[1] = help[1] -- luacheck: ignore 112 113 > > -local help_function_data = {}; > > -local help_object_data = {} > > +local help_function_data = {}; -- luacheck: ignore 211 > > +local help_object_data = {} -- luacheck: ignore 211 > > -local function help_call(table, param) > > - return help > > +local function help_call(table, param) -- luacheck: ignore 212 > > + return help -- luacheck: ignore 113 > > end > > -setmetatable(help, { __call = help_call }) > > +setmetatable(help, { __call = help_call }) -- luacheck: ignore 113 > > local screen_id = 1; > > -local function tutorial_call(table, action) > > +local function tutorial_call(table, action) -- luacheck: ignore 212 > > if action == 'start' then > > screen_id = 1; > > elseif action == 'next' or action == 'more' then > > @@ -46,9 +46,9 @@ local function tutorial_call(table, action) > > return (res:gsub('', DOCUMENTATION_VERSION)) > > end > > -setmetatable(tutorial, { __call = tutorial_call }) > > +setmetatable(tutorial, { __call = tutorial_call }) -- luacheck: ignore 113 > > return { > > - help = help; > > - tutorial = tutorial; > > + help = help; -- luacheck: ignore 113 > > + tutorial = tutorial; -- luacheck: ignore 113 > > } > > diff --git a/src/lua/httpc.lua b/src/lua/httpc.lua > > index 6381c6a1a..9336dcee0 100644 > > --- a/src/lua/httpc.lua > > +++ b/src/lua/httpc.lua > > @@ -29,8 +29,6 @@ > > -- SUCH DAMAGE. > > -- > > -local fiber = require('fiber') > > - > > local driver = package.loaded.http.client > > package.loaded.http = nil > > @@ -112,7 +110,6 @@ local special_characters = { > > [']'] = true, > > ['<'] = true, > > ['>'] = true, > > - ['>'] = true, > > ['@'] = true, > > [','] = true, > > [';'] = true, > > diff --git a/src/lua/init.lua b/src/lua/init.lua > > index ff3e74c3c..b075915a3 100644 > > --- a/src/lua/init.lua > > +++ b/src/lua/init.lua > > @@ -71,7 +71,7 @@ local function setsearchroot(path) > > package_searchroot = path and fio.abspath(path) > > end > > -dostring = function(s, ...) > > +dostring = function(s, ...) -- luacheck: ignore 121 > > local chunk, message = loadstring(s) > > if chunk == nil then > > error(message, 2) > > @@ -80,7 +80,7 @@ dostring = function(s, ...) > > end > > local fiber = require("fiber") > > -os.exit = function(code) > > +os.exit = function(code) -- luacheck: ignore 122 > > code = (type(code) == 'number') and code or 0 > > ffi.C.tarantool_exit(code) > > -- Make sure we yield even if the code after > > @@ -144,9 +144,9 @@ local function gen_search_func(path_fn, templates, need_traverse) > > local searchpaths = {} > > - for _, path in ipairs(paths) do > > + for _, p in ipairs(paths) do > > for _, template in pairs(templates) do > > - table.insert(searchpaths, fio.pathjoin(path, template)) > > + table.insert(searchpaths, fio.pathjoin(p, template)) > > end > > end > > @@ -176,7 +176,8 @@ local function gen_loader_func(search_fn, load_fn) > > if not file then > > return err > > end > > - local loaded, err = load_fn(file, name) > > + local loaded > > + loaded, err = load_fn(file, name) > > if err == nil then > > return loaded > > else > > @@ -221,9 +222,9 @@ table.insert(package.loaders, 5, gen_loader_func(search_rocks_lib, load_lib)) > > -- package.cpath 7 > > -- croot 8 > > -package.search = search > > -package.searchroot = searchroot > > -package.setsearchroot = setsearchroot > > +package.search = search -- luacheck: ignore 122 > > +package.searchroot = searchroot -- luacheck: ignore 122 > > +package.setsearchroot = setsearchroot -- luacheck: ignore 122 > > return { > > uptime = uptime; > > diff --git a/src/lua/msgpackffi.lua b/src/lua/msgpackffi.lua > > index f775f2d41..471b72c84 100644 > > --- a/src/lua/msgpackffi.lua > > +++ b/src/lua/msgpackffi.lua > > @@ -291,7 +291,7 @@ local function encode(obj) > > return r > > end > > -local function encode_ibuf(obj, ibuf) > > +local function encode_ibuf(obj, ibuf) -- luacheck: ignore 211 > > encode_r(ibuf, obj, 0) > > end > > @@ -320,7 +320,7 @@ local decode_r > > -- See similar constants in utils.cc > > local DBL_INT_MAX = 1e14 - 1 > > -local DBL_INT_MIN = -1e14 + 1 > > +local DBL_INT_MIN = -1e14 + 1 -- luacheck: ignore 211 > > local function decode_u8(data) > > local num = ffi.cast(uint8_ptr_t, data[0])[0] > > @@ -465,8 +465,7 @@ end > > local function decode_array(data, size) > > assert (type(size) == "number") > > local arr = {} > > - local i > > - for i=1,size,1 do > > + for i=1,size,1 do -- luacheck: ignore 213 > > table.insert(arr, decode_r(data)) > > end > > if not msgpack.cfg.decode_save_metatables then > > @@ -478,8 +477,7 @@ end > > local function decode_map(data, size) > > assert (type(size) == "number") > > local map = {} > > - local i > > - for i=1,size,1 do > > + for i=1,size,1 do -- luacheck: ignore 213 > > local key = decode_r(data); > > local val = decode_r(data); > > map[key] = val > > @@ -492,7 +490,7 @@ end > > local ext_decoder = { > > -- MP_UNKNOWN_EXTENSION > > - [0] = function(data, len) error("unsupported extension type") end, > > + [0] = function() error("unsupported extension type") end, > > -- MP_DECIMAL > > [1] = function(data, len) local num = ffi.new("decimal_t") builtin.decimal_unpack(data, len, num) return num end, > > } > > @@ -502,7 +500,6 @@ local function decode_ext(data) > > -- mp_decode_extl and mp_decode_decimal > > -- need type code > > data[0] = data[0] - 1 > > - local old_data = data[0] > > local len = builtin.mp_decode_extl(data, t) > > local fun = ext_decoder[t[0]] > > if type(fun) == 'function' then > > @@ -589,7 +586,7 @@ local function check_offset(offset, len) > > if offset == nil then > > return 1 > > end > > - local offset = ffi.cast('ptrdiff_t', offset) > > + offset = ffi.cast('ptrdiff_t', offset) > > if offset < 1 or offset > len then > > error(string.format("offset = %d is out of bounds [1..%d]", > > tonumber(offset), len)) > > diff --git a/src/lua/socket.lua b/src/lua/socket.lua > > index a334ad45b..c5691a425 100644 > > --- a/src/lua/socket.lua > > +++ b/src/lua/socket.lua > > @@ -172,7 +172,7 @@ local function get_iflags(table, flags) > > if type(flags) ~= 'table' then > > flags = { flags } > > end > > - for i, f in pairs(flags) do > > + for _, f in pairs(flags) do > > if table[f] == nil then > > return nil > > end > > @@ -660,7 +660,7 @@ local function check_delimiter(self, limit, eols) > > end > > local shortest > > - for i, eol in ipairs(eols) do > > + for _, eol in ipairs(eols) do > > local data = ffi.C.memmem(rbuf.rpos, rbuf:size(), eol, #eol) > > if data ~= nil then > > local len = ffi.cast('char *', data) - rbuf.rpos + #eol > > @@ -706,16 +706,16 @@ local function read(self, limit, timeout, check, ...) > > local res = sysread(self, data, rbuf:unused()) > > if res == 0 then -- eof > > self._errno = nil > > - local len = rbuf:size() > > - local data = ffi.string(rbuf.rpos, len) > > + len = rbuf:size() > > + data = ffi.string(rbuf.rpos, len) > > rbuf.rpos = rbuf.rpos + len > > return data > > elseif res ~= nil then > > rbuf.wpos = rbuf.wpos + res > > - local len = check(self, limit, ...) > > + len = check(self, limit, ...) > > if len ~= nil then > > self._errno = nil > > - local data = ffi.string(rbuf.rpos, len) > > + data = ffi.string(rbuf.rpos, len) > > rbuf.rpos = rbuf.rpos + len > > return data > > end > > @@ -1039,7 +1039,7 @@ local function tcp_connect(host, port, timeout) > > boxerrno(0) > > return s > > end > > - local timeout = timeout or TIMEOUT_INFINITY > > + timeout = timeout or TIMEOUT_INFINITY > > local stop = fiber.clock() + timeout > > local dns = getaddrinfo(host, port, timeout, { type = 'SOCK_STREAM', > > protocol = 'tcp' }) > > @@ -1047,7 +1047,7 @@ local function tcp_connect(host, port, timeout) > > boxerrno(boxerrno.EINVAL) > > return nil > > end > > - for i, remote in pairs(dns) do > > + for _, remote in pairs(dns) do > > timeout = stop - fiber.clock() > > if timeout <= 0 then > > boxerrno(boxerrno.ETIMEDOUT) > > @@ -1078,8 +1078,8 @@ local function tcp_server_handler(server, sc, from) > > end > > end > > -local function tcp_server_loop(server, s, addr) > > - fiber.name(format("%s/%s:%s", server.name, addr.host, addr.port), {truncate = true}) > > +local function tcp_server_loop(server, s, address) > > + fiber.name(format("%s/%s:%s", server.name, address.host, address.port), {truncate = true}) > > log.info("started") > > while socket_readable(s) do > > local sc, from = socket_accept(s) > > @@ -1104,15 +1104,15 @@ local function tcp_server_usage() > > error('Usage: socket.tcp_server(host, port, handler | opts)') > > end > > -local function tcp_server_do_bind(s, addr) > > - if socket_bind(s, addr.host, addr.port) then > > - if addr.family == 'AF_UNIX' then > > +local function tcp_server_do_bind(s, address) > > + if socket_bind(s, address.host, address.port) then > > + if address.family == 'AF_UNIX' then > > -- Make close() remove the unix socket file created > > -- by bind(). Note, this must be done before closing > > -- the socket fd so that no other tcp server can > > -- reuse the same path before we remove the file. > > s.close = function(self) > > - fio.unlink(addr.port) > > + fio.unlink(address.port) > > return socket_close(self) > > end > > end > > @@ -1121,12 +1121,12 @@ local function tcp_server_do_bind(s, addr) > > return false > > end > > -local function tcp_server_bind_addr(s, addr) > > - if tcp_server_do_bind(s, addr) then > > +local function tcp_server_bind_addr(s, address) > > + if tcp_server_do_bind(s, address) then > > return true > > end > > - if addr.family ~= 'AF_UNIX' then > > + if address.family ~= 'AF_UNIX' then > > return false > > end > > @@ -1136,7 +1136,7 @@ local function tcp_server_bind_addr(s, addr) > > local save_errno = boxerrno() > > - local sc = tcp_connect(addr.host, addr.port) > > + local sc = tcp_connect(address.host, address.port) > > if sc ~= nil then > > sc:close() > > boxerrno(save_errno) > > @@ -1148,13 +1148,13 @@ local function tcp_server_bind_addr(s, addr) > > return false > > end > > - log.info("tcp_server: remove dead UNIX socket: %s", addr.port) > > - if not fio.unlink(addr.port) then > > + log.info("tcp_server: remove dead UNIX socket: %s", address.port) > > + if not fio.unlink(address.port) then > > log.warn("tcp_server: %s", boxerrno.strerror()) > > boxerrno(save_errno) > > return false > > end > > - return tcp_server_do_bind(s, addr) > > + return tcp_server_do_bind(s, address) > > end > > @@ -1172,8 +1172,8 @@ local function tcp_server_bind(host, port, prepare, timeout) > > end > > end > > - for _, addr in ipairs(dns) do > > - local s = socket_new(addr.family, addr.type, addr.protocol) > > + for _, address in ipairs(dns) do > > + local s = socket_new(address.family, address.type, address.protocol) > > if s ~= nil then > > local backlog > > if prepare then > > @@ -1181,13 +1181,13 @@ local function tcp_server_bind(host, port, prepare, timeout) > > else > > socket_setsockopt(s, 'SOL_SOCKET', 'SO_REUSEADDR', 1) -- ignore error > > end > > - if not tcp_server_bind_addr(s, addr) or not s:listen(backlog) then > > + if not tcp_server_bind_addr(s, address) or not s:listen(backlog) then > > local save_errno = boxerrno() > > socket_close(s) > > boxerrno(save_errno) > > return nil > > end > > - return s, addr > > + return s, address > > end > > end > > -- DNS resolved successfully, but addresss family is not supported > > @@ -1211,12 +1211,12 @@ local function tcp_server(host, port, opts, timeout) > > tcp_server_usage() > > end > > server.name = server.name or 'server' > > - local s, addr = tcp_server_bind(host, port, server.prepare, timeout) > > + local s, address = tcp_server_bind(host, port, server.prepare, timeout) > > if not s then > > return nil > > end > > - fiber.create(tcp_server_loop, server, s, addr) > > - return s, addr > > + fiber.create(tcp_server_loop, server, s, address) > > + return s, address > > end > > socket_mt = { > > @@ -1311,7 +1311,7 @@ local function lsocket_tcp_getpeername(self) > > return peer.host, tostring(peer.port), peer.family:match("AF_(.*)"):lower() > > end > > -local function lsocket_tcp_settimeout(self, value, mode) > > +local function lsocket_tcp_settimeout(self, value, mode) -- luacheck: ignore 212 > > check_socket(self) > > self.timeout = value > > -- mode is effectively ignored > > @@ -1467,7 +1467,7 @@ local function lsocket_tcp_receive(self, pattern, prefix) > > local result = { prefix } > > local deadline = fiber.clock() + (self.timeout or TIMEOUT_INFINITY) > > repeat > > - local data = read(self, LIMIT_INFINITY, timeout, check_infinity) > > + data = read(self, LIMIT_INFINITY, timeout, check_infinity) > > if data == nil then > > if not errno_is_transient[self._errno] then > > return nil, socket_error(self) > > @@ -1535,7 +1535,7 @@ lsocket_tcp_mt.__index.send = lsocket_tcp_send; > > -- TCP Constructor and Shortcuts > > -- > > -local function lsocket_tcp() > > +local function lsocket_tcp(self) > > local s = socket_new('AF_INET', 'SOCK_STREAM', 'tcp') > > if not s then > > return nil, socket_error(self) > > @@ -1559,7 +1559,7 @@ local function lsocket_bind(host, port, backlog) > > if host == nil or port == nil then > > error("Usage: luasocket.bind(host, port [, backlog])") > > end > > - local function prepare(s) return backlog end > > + local function prepare() return backlog end > > local s = tcp_server_bind(host, port, prepare) > > if not s then > > return nil, boxerrno.strerror() > > @@ -1578,7 +1578,7 @@ return setmetatable({ > > iowait = internal.iowait, > > internal = internal, > > }, { > > - __call = function(self, ...) return socket_new(...) end; > > + __call = function(self, ...) return socket_new(...) end; -- luacheck: ignore 212 > > __index = { > > tcp = lsocket_tcp; > > connect = lsocket_connect; > > diff --git a/src/lua/string.lua b/src/lua/string.lua > > index 6e12c59ae..d3a846645 100644 > > --- a/src/lua/string.lua > > +++ b/src/lua/string.lua > > @@ -233,7 +233,6 @@ local function string_startswith(inp, head, _start, _end) > > return false > > end > > _start = _start - 1 > > - _end = _start + head_len - 1 > > return memcmp(c_char_ptr(inp) + _start, c_char_ptr(head), head_len) == 0 > > end > > diff --git a/src/lua/swim.lua b/src/lua/swim.lua > > index 01eeb7eae..7fd2e8250 100644 > > --- a/src/lua/swim.lua > > +++ b/src/lua/swim.lua > > @@ -1,5 +1,5 @@ > > local ffi = require('ffi') > > -local uuid = require('uuid') > > +local uuid_ = require('uuid') > > local buffer = require('buffer') > > local msgpack = require('msgpack') > > local crypto = require('crypto') > > @@ -239,7 +239,7 @@ local function swim_check_uuid(value, func_name) > > end > > return error(func_name..': expected string UUID or struct tt_uuid') > > end > > - value = uuid.fromstr(value) > > + value = uuid_.fromstr(value) > > if not value then > > return error(func_name..': invalid UUID') > > end > > @@ -370,7 +370,7 @@ end > > -- > > local function swim_member_payload_str(m) > > local ptr = swim_check_member(m, 'member:payload_str()') > > - local cdata, size = swim_member_payload_raw(ptr) > > + local _, size = swim_member_payload_raw(ptr) > > if size > 0 then > > return ffi.string(swim_member_payload_raw(ptr)) > > end > > @@ -461,7 +461,7 @@ local swim_member_mt = { > > is_dropped = swim_member_is_dropped, > > }, > > __serialize = swim_member_serialize, > > - __newindex = function(m) > > + __newindex = function() > > return error('swim_member is a read-only object') > > end > > } > > @@ -781,20 +781,20 @@ local swim_member_event_mt = { > > -- > > -- Create a closure function for preprocessing raw SWIM member > > -- event trigger parameters. > > --- @param s SWIM instance. > > +-- @param instance SWIM instance. > > -- @param callback User functions to call. > > -- @param ctx An optional parameter for @a callback passed as is. > > -- @return A function to set as a trigger. > > -- > > -local function swim_on_member_event_new(s, callback, ctx) > > +local function swim_on_member_event_new(instance, callback, ctx) > > -- Do not keep a hard reference to a SWIM instance. Otherwise > > -- it is a cyclic reference, and both the instance and the > > -- trigger will never be GC-ed. > > - s = setmetatable({s}, {__mode = 'v'}) > > + instance = setmetatable({instance}, {__mode = 'v'}) > > return function(member_ptr, event_mask) > > - local s = s[1] > > - if s then > > - local m = swim_wrap_member(s, member_ptr) > > + local i = instance[1] > > + if i then > > + local m = swim_wrap_member(i, member_ptr) > > local event = setmetatable({event_mask}, swim_member_event_mt) > > return callback(m, event, ctx) > > end > > diff --git a/src/lua/tap.lua b/src/lua/tap.lua > > index 94b080d5a..04497386e 100644 > > --- a/src/lua/tap.lua > > +++ b/src/lua/tap.lua > > @@ -53,7 +53,7 @@ local function ok(test, cond, message, extra) > > io.write(string.format("not ok - %s\n", message)) > > extra = extra or {} > > if test.trace then > > - local frame = debug.getinfo(3, "Sl") > > + debug.getinfo(3, "Sl") > > extra.trace = traceback() > > extra.filename = extra.trace[#extra.trace].filename > > extra.line = extra.trace[#extra.trace].line > > @@ -76,9 +76,6 @@ local function skip(test, message, extra) > > ok(test, true, message.." # skip", extra) > > end > > - > > -local nan = 0/0 > > - > > local function cmpdeeply(got, expected, extra) > > if type(expected) == "number" or type(got) == "number" then > > extra.got = got > > @@ -190,38 +187,38 @@ local function isboolean(test, v, message, extra) > > return is(test, type(v), 'boolean', message, extra) > > end > > -local function isfunction(test, v, message, extra) > > - return is(test, type(v), 'function', message, extra) > > +local function isfunction(testcase, v, message, extra) > > + return is(testcase, type(v), 'function', message, extra) > > end > > -local function isudata(test, v, utype, message, extra) > > +local function isudata(testcase, v, utype, message, extra) > > extra = extra or {} > > extra.expected = 'userdata<'..utype..'>' > > if type(v) == 'userdata' then > > extra.got = 'userdata<'..getmetatable(v)..'>' > > - return ok(test, getmetatable(v) == utype, message, extra) > > + return ok(testcase, getmetatable(v) == utype, message, extra) > > else > > extra.got = type(v) > > - return fail(test, message, extra) > > + return fail(testcase, message, extra) > > end > > end > > -local function iscdata(test, v, ctype, message, extra) > > +local function iscdata(testcase, v, ctype, message, extra) > > extra = extra or {} > > extra.expected = ffi.typeof(ctype) > > if type(v) == 'cdata' then > > extra.got = ffi.typeof(v) > > - return ok(test, ffi.istype(ctype, v), message, extra) > > + return ok(testcase, ffi.istype(ctype, v), message, extra) > > else > > extra.got = type(v) > > - return fail(test, message, extra) > > + return fail(testcase, message, extra) > > end > > end > > local test_mt > > local function test(parent, name, fun, ...) > > local level = parent ~= nil and parent.level + 1 or 0 > > - local test = setmetatable({ > > + local testcase = setmetatable({ > > parent = parent; > > name = name; > > level = level; > > @@ -232,48 +229,48 @@ local function test(parent, name, fun, ...) > > strict = false; > > }, test_mt) > > if fun ~= nil then > > - test:diag('%s', test.name) > > - fun(test, ...) > > - test:diag('%s: end', test.name) > > - return test:check() > > + testcase:diag('%s', testcase.name) > > + fun(testcase, ...) > > + testcase:diag('%s: end', testcase.name) > > + return testcase:check() > > else > > - return test > > + return testcase > > end > > end > > -local function plan(test, planned) > > - test.planned = planned > > - io.write(string.rep(' ', 4 * test.level), string.format("1..%d\n", planned)) > > +local function plan(testcase, planned) > > + testcase.planned = planned > > + io.write(string.rep(' ', 4 * testcase.level), string.format("1..%d\n", planned)) > > end > > -local function check(test) > > - if test.checked then > > +local function check(testcase) > > + if testcase.checked then > > error('check called twice') > > end > > - test.checked = true > > - if test.planned ~= test.total then > > - if test.parent ~= nil then > > - ok(test.parent, false, "bad plan", { planned = test.planned; > > - run = test.total}) > > + testcase.checked = true > > + if testcase.planned ~= testcase.total then > > + if testcase.parent ~= nil then > > + ok(testcase.parent, false, "bad plan", { planned = testcase.planned; > > + run = testcase.total}) > > else > > - diag(test, string.format("bad plan: planned %d run %d", > > - test.planned, test.total)) > > + diag(testcase, string.format("bad plan: planned %d run %d", > > + testcase.planned, testcase.total)) > > end > > - elseif test.failed > 0 then > > - if test.parent ~= nil then > > - ok(test.parent, false, "failed subtests", { > > - failed = test.failed; > > - planned = test.planned; > > + elseif testcase.failed > 0 then > > + if testcase.parent ~= nil then > > + ok(testcase.parent, false, "failed subtests", { > > + failed = testcase.failed; > > + planned = testcase.planned; > > }) > > else > > - diag(test, "failed subtest: %d", test.failed) > > + diag(testcase, "failed subtest: %d", testcase.failed) > > end > > else > > - if test.parent ~= nil then > > - ok(test.parent, true, test.name) > > + if testcase.parent ~= nil then > > + ok(testcase.parent, true, testcase.name) > > end > > end > > - return test.planned == test.total and test.failed == 0 > > + return testcase.planned == testcase.total and testcase.failed == 0 > > end > > test_mt = { > > diff --git a/src/lua/trigger.lua b/src/lua/trigger.lua > > index 76a582c47..1330ecdd4 100644 > > --- a/src/lua/trigger.lua > > +++ b/src/lua/trigger.lua > > @@ -1,7 +1,4 @@ > > local fun = require('fun') > > -local log = require('log') > > - > > -local table_clear = require('table.clear') > > -- > > -- Checks that argument is a callable, i.e. a function or a table > > -- sergeyb@