Merge pull request #81 from houqp/master

djvulibre cache size control from Lua script
This commit is contained in:
Dobrica Pavlinušić
2012-03-31 05:44:16 -07:00
2 changed files with 3 additions and 1 deletions

2
djvu.c
View File

@@ -72,6 +72,7 @@ static int handle(lua_State *L, ddjvu_context_t *ctx, int wait)
static int openDocument(lua_State *L) {
const char *filename = luaL_checkstring(L, 1);
/*const char *password = luaL_checkstring(L, 2);*/
int cache_size = luaL_optint(L, 2, 10 << 20);
DjvuDocument *doc = (DjvuDocument*) lua_newuserdata(L, sizeof(DjvuDocument));
luaL_getmetatable(L, "djvudocument");
@@ -81,6 +82,7 @@ static int openDocument(lua_State *L) {
if (! doc->context) {
return luaL_error(L, "cannot create context.");
}
ddjvu_cache_set_size(doc->context, (unsigned long)cache_size);
doc->doc_ref = ddjvu_document_create_by_filename_utf8(doc->context, filename, TRUE);
while (! ddjvu_document_decoding_done(doc->doc_ref))

View File

@@ -6,7 +6,7 @@ DJVUReader = UniReader:new{}
-- DJVU does not support password yet
function DJVUReader:open(filename)
local ok
ok, self.doc = pcall(djvu.openDocument, filename)
ok, self.doc = pcall(djvu.openDocument, filename, 10*1024*1024)
if not ok then
return ok, self.doc -- this will be the error message instead
end