From 27503e29b8712fdacf5195fa536ee2c50cc2e4c1 Mon Sep 17 00:00:00 2001 From: V1K1NGbg Date: Tue, 6 Aug 2024 10:20:56 +0300 Subject: fix misaligned return signatures --- src/luarocks/fetch.lua | 12 ++++++------ src/luarocks/fetch.tl | 12 ++++++------ src/luarocks/fs.d.tl | 2 +- src/luarocks/fs/lua.lua | 12 +++++++----- src/luarocks/fs/tools.lua | 6 +++--- 5 files changed, 23 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/luarocks/fetch.lua b/src/luarocks/fetch.lua index 193e5e39..0277657b 100644 --- a/src/luarocks/fetch.lua +++ b/src/luarocks/fetch.lua @@ -113,7 +113,7 @@ local function download_with_mirrors(url, filename, cache, servers) end local ok, name, from_cache = fs.download(try_url, filename, cache) if ok then - return ok, name, from_cache + return name, nil, nil, from_cache else err = err .. name .. "\n" end @@ -172,14 +172,14 @@ function fetch.fetch_url(url, filename, cache, mirroring) return nil, "Failed copying local file " .. fullname .. " to " .. dstname .. ": " .. err end elseif dir.is_basic_protocol(protocol) then - local ok, name, from_cache + local name, err, err_code, from_cache if mirroring ~= "no_mirror" then - ok, name, from_cache = download_with_mirrors(url, filename, cache, cfg.rocks_servers) + name, err, err_code, from_cache = download_with_mirrors(url, filename, cache, cfg.rocks_servers) else - ok, name, from_cache = fs.download(url, filename, cache) + name, err, err_code, from_cache = fs.download(url, filename, cache) end - if not ok then - return nil, "Failed downloading "..url..(name and " - "..name or ""), from_cache + if not name then + return nil, "Failed downloading "..url..(err and " - "..err or ""), err_code end return name, nil, nil, from_cache else diff --git a/src/luarocks/fetch.tl b/src/luarocks/fetch.tl index 34437f78..2d7ae15a 100644 --- a/src/luarocks/fetch.tl +++ b/src/luarocks/fetch.tl @@ -37,7 +37,7 @@ local function is_url_relative_to_rocks_servers(url: string, servers: {{string}} end end -local function download_with_mirrors(url: string, filename: string, cache: boolean, servers: {{string}}): boolean, string, string +local function download_with_mirrors(url: string, filename: string, cache: boolean, servers: {{string}}): string, string, string, boolean local idx, rest, mirrors = is_url_relative_to_rocks_servers(url, servers) if not idx then @@ -111,14 +111,14 @@ function fetch.fetch_url(url: string, filename?: string, cache?: boolean, mirror return nil, "Failed copying local file " .. fullname .. " to " .. dstname .. ": " .. err end elseif dir.is_basic_protocol(protocol) then - local ok, name, from_cache: boolean, string, string | boolean + local name, err, err_code, from_cache: string, string, string, boolean if mirroring ~= "no_mirror" then - ok, name, from_cache = download_with_mirrors(url, filename, cache, cfg.rocks_servers) + name, err, err_code, from_cache = download_with_mirrors(url, filename, cache, cfg.rocks_servers) else - ok, name, from_cache = fs.download(url, filename, cache) + name, err, err_code, from_cache = fs.download(url, filename, cache) end - if not ok then - return nil, "Failed downloading "..url..(name and " - "..name or ""), from_cache + if not name then + return nil, "Failed downloading "..url..(err and " - "..err or ""), err_code end return name, nil, nil, from_cache --! string or boolean else diff --git a/src/luarocks/fs.d.tl b/src/luarocks/fs.d.tl index e5047af7..dcfaa954 100644 --- a/src/luarocks/fs.d.tl +++ b/src/luarocks/fs.d.tl @@ -25,7 +25,7 @@ local record fs tmpname: function(): string execute_string: function(string): boolean Q: function(string): string - download: function(string, string, ?boolean): boolean, string, boolean + download: function(string, string, ?boolean): string, string, string, boolean set_permissions: function(string, string, string) -- patch absolute_name: function(string, ?string): string diff --git a/src/luarocks/fs/lua.lua b/src/luarocks/fs/lua.lua index 4016ddcd..fdf3af78 100644 --- a/src/luarocks/fs/lua.lua +++ b/src/luarocks/fs/lua.lua @@ -936,14 +936,16 @@ local downloader_warning = false -- resulting local filename of the remote file as the basename of the URL; -- if that is not correct (due to a redirection, for example), the local -- filename can be given explicitly as this second argument. --- @return (boolean, string, boolean): +-- @return (string, string, string, boolean): -- In case of success: --- * true --- * a string with the filename +-- * name +-- nil +-- nil -- * true if the file was retrieved from local cache -- In case of failure: --- * false +-- nil -- * error message +-- * error code function fs_lua.download(url, filename, cache) assert(type(url) == "string") assert(type(filename) == "string" or not filename) @@ -984,7 +986,7 @@ function fs_lua.download(url, filename, cache) elseif not ok then return nil, err, "network" end - return true, filename, from_cache + return filename, nil, nil, from_cache end else --...if socket_ok == false then diff --git a/src/luarocks/fs/tools.lua b/src/luarocks/fs/tools.lua index 23f2561e..b7d03759 100644 --- a/src/luarocks/fs/tools.lua +++ b/src/luarocks/fs/tools.lua @@ -148,7 +148,7 @@ end -- filename can be given explicitly as this second argument. -- @param cache boolean: compare remote timestamps via HTTP HEAD prior to -- re-downloading the file. --- @return (boolean, string, string): true and the filename on success, +-- @return (string, string, string): filename on success, -- false and the error message and code on failure. function tools.use_downloader(url, filename, cache) assert(type(url) == "string") @@ -190,10 +190,10 @@ function tools.use_downloader(url, filename, cache) ok = fs.execute_string(fs.quiet_stderr(curl_cmd..fs.Q(url).." --output "..fs.Q(filename))) end if ok then - return true, filename + return filename else os.remove(filename) - return false, "failed downloading " .. url, "network" + return nil, "failed downloading " .. url, "network" end end -- cgit v1.2.3-55-g6feb