aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2017-09-13 13:41:17 -0300
committerHisham Muhammad <hisham@gobolinux.org>2017-09-13 13:41:17 -0300
commit26eba4bcfdb3de662c16f359f66e4240fc9283d4 (patch)
tree248f44e2d29037da9cdd1739476687449de49695 /src
parentf1473f71235bb89555dea7041b536144d32bac8c (diff)
downloadluarocks-26eba4bcfdb3de662c16f359f66e4240fc9283d4.tar.gz
luarocks-26eba4bcfdb3de662c16f359f66e4240fc9283d4.tar.bz2
luarocks-26eba4bcfdb3de662c16f359f66e4240fc9283d4.zip
Fix version cache
Diffstat (limited to 'src')
-rw-r--r--src/luarocks/core/vers.lua18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/luarocks/core/vers.lua b/src/luarocks/core/vers.lua
index 2a765b9b..6b6e822e 100644
--- a/src/luarocks/core/vers.lua
+++ b/src/luarocks/core/vers.lua
@@ -91,30 +91,30 @@ function vers.parse_version(vstring)
91 end 91 end
92 92
93 -- trim leading and trailing spaces 93 -- trim leading and trailing spaces
94 vstring = vstring:match("^%s*(.*)%s*$") 94 local v = vstring:match("^%s*(.*)%s*$")
95 version.string = vstring 95 version.string = v
96 -- store revision separately if any 96 -- store revision separately if any
97 local main, revision = vstring:match("(.*)%-(%d+)$") 97 local main, revision = v:match("(.*)%-(%d+)$")
98 if revision then 98 if revision then
99 vstring = main 99 v = main
100 version.revision = tonumber(revision) 100 version.revision = tonumber(revision)
101 end 101 end
102 while #vstring > 0 do 102 while #v > 0 do
103 -- extract a number 103 -- extract a number
104 local token, rest = vstring:match("^(%d+)[%.%-%_]*(.*)") 104 local token, rest = v:match("^(%d+)[%.%-%_]*(.*)")
105 if token then 105 if token then
106 add_token(tonumber(token)) 106 add_token(tonumber(token))
107 else 107 else
108 -- extract a word 108 -- extract a word
109 token, rest = vstring:match("^(%a+)[%.%-%_]*(.*)") 109 token, rest = v:match("^(%a+)[%.%-%_]*(.*)")
110 if not token then 110 if not token then
111 util.printerr("Warning: version number '"..vstring.."' could not be parsed.") 111 util.printerr("Warning: version number '"..v.."' could not be parsed.")
112 version[i] = 0 112 version[i] = 0
113 break 113 break
114 end 114 end
115 version[i] = deltas[token] or (token:byte() / 1000) 115 version[i] = deltas[token] or (token:byte() / 1000)
116 end 116 end
117 vstring = rest 117 v = rest
118 end 118 end
119 setmetatable(version, version_mt) 119 setmetatable(version, version_mt)
120 version_cache[vstring] = version 120 version_cache[vstring] = version