summaryrefslogtreecommitdiff
path: root/xmake/modules
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/modules')
-rw-r--r--xmake/modules/utils/archive/extension.lua9
1 files changed, 4 insertions, 5 deletions
diff --git a/xmake/modules/utils/archive/extension.lua b/xmake/modules/utils/archive/extension.lua
index ca4c8abd8..fe33a395f 100644
--- a/xmake/modules/utils/archive/extension.lua
+++ b/xmake/modules/utils/archive/extension.lua
@@ -25,13 +25,12 @@ import("core.base.hashset")
function main(archivefile)
local extension = ""
local filename = path.filename(archivefile)
- local extensionset = hashset.from({".zip", ".7z", ".gz", ".xz", ".tgz", ".bz2", ".tar", ".tar.gz", ".tar.xz", ".tar.bz2", ".tar.lz"})
+ local extensionset = hashset.from({".zip", ".7z", ".gz", ".xz", ".tgz", ".bz2", ".tar", ".tar.gz", ".tar.xz", ".tar.bz2"})
local i = filename:lastof(".", true)
if i then
local p = filename:sub(1, i - 1):lastof(".", true)
- if p and extensionset:has(filename:sub(p)) then
- extension = filename:sub(p)
- end
+ if p and extensionset:has(filename:sub(p)) then i = p end
+ extension = filename:sub(i)
end
- return extension
+ return extensionset:has(extension) and extension or ""
end