diff options
Diffstat (limited to 'runtime/lua/vim/loader.lua')
| -rw-r--r-- | runtime/lua/vim/loader.lua | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/runtime/lua/vim/loader.lua b/runtime/lua/vim/loader.lua index c5279990d1..6aa79a0244 100644 --- a/runtime/lua/vim/loader.lua +++ b/runtime/lua/vim/loader.lua @@ -174,13 +174,21 @@ local function read_cachefile(cname) --- @type integer[]|{[0]:integer} local header = vim.split(data:sub(1, zero - 1), ',') - if tonumber(header[1]) ~= VERSION then + local version = vim._tointeger(header[1]) + if version ~= VERSION then + return + end + + local size = vim._tointeger(header[2]) + local sec = vim._tointeger(header[3]) + local nsec = vim._tointeger(header[4]) + if not (size and sec and nsec) then return end local hash = { - size = tonumber(header[2]), - mtime = { sec = tonumber(header[3]), nsec = tonumber(header[4]) }, + size = size, + mtime = { sec = sec, nsec = nsec }, } local chunk = data:sub(zero + 1) |