util.cache: Make sure cache size is specified as an integer
authorKim Alvefur <zash@zash.se>
Wed, 25 Nov 2015 19:49:41 +0000 (20:49 +0100)
committerKim Alvefur <zash@zash.se>
Wed, 25 Nov 2015 19:49:41 +0000 (20:49 +0100)
util/cache.lua

index 9453697ce8a00459afe152d53bdc2af3e6b2e5ca..32670751f8be5133186a770f4daa12248b63341f 100644 (file)
@@ -2,6 +2,8 @@ local cache_methods = {};
 local cache_mt = { __index = cache_methods };
 
 local function new(size)
+       size = assert(tonumber(size), "cache size must be a number");
+       size = math.floor(size);
        assert(size > 0, "cache size must be greater than zero");
        local data = {};
        return setmetatable({ data = data, count = 0, size = size, head = nil, tail = nil }, cache_mt);