static int mod_list(lua_State *L)
{
struct engine *engine = engine_luaget(L);
+ lua_newtable(L);
for (unsigned i = 0; i < engine->modules.len; ++i) {
struct kr_module *module = &engine->modules.at[i];
lua_pushstring(L, module->name);
+ lua_rawseti(L, -2, i + 1);
}
- return engine->modules.len;
+ return 1;
}
/** Load module. */
lua_pushstring(L, kr_strerror(ret));
lua_error(L);
}
- return 0;
+
+ lua_pushboolean(L, 1);
+ return 1;
}
/** Unload module. */
lua_pushstring(L, kr_strerror(ret));
lua_error(L);
}
- return 0;
+
+ lua_pushboolean(L, 1);
+ return 1;
}
int lib_modules(lua_State *L)
engine->resolver.cache = NULL;
}
- return 0;
+ lua_pushboolean(L, 1);
+ return 1;
}
int lib_cache(lua_State *L)
if (ret == 0) {
asprintf(&result, "{ \"size\": %d }", storage->count(&txn));
kr_cache_txn_abort(&txn);
+ } else {
+ asprintf(&result, "{ \"error\": \"%s\" }", knot_strerror(ret));
}
return result;