diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2015-03-28 00:25:45 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2015-03-28 00:25:45 +0000 |
commit | c70ec3e0cfe1b1f8f8bcd593d8e826c381422f49 (patch) | |
tree | 795508e28bfc9d330fcf3943332781e63f279aed /Build/source/texk/web2c/luatexdir/luazip | |
parent | 28aff1e0215254537e412e6f8dea0b8cb7a9c04b (diff) |
web2c/luatexdir: Sync with luatex trunk
git-svn-id: svn://tug.org/texlive/trunk@36652 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luazip')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luazip/src/luazip.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luazip/src/luazip.c b/Build/source/texk/web2c/luatexdir/luazip/src/luazip.c index eb731349f0d..a7248ae4759 100644 --- a/Build/source/texk/web2c/luatexdir/luazip/src/luazip.c +++ b/Build/source/texk/web2c/luatexdir/luazip/src/luazip.c @@ -97,15 +97,22 @@ static int zip_open (lua_State *L) { return 1; } + static int zip_close (lua_State *L) { ZZIP_DIR* f = tofile(L, 1); - if (zzip_dir_close(f) == 0) + if (zzip_dir_refcount(f) != 0) { - *(ZZIP_DIR**)lua_touserdata(L, 1) = NULL; /* mark file as close */ - lua_pushboolean(L, 1); - } - else lua_pushboolean(L, 0); + } else { + if (zzip_dir_close(f) == 0) + { + *(ZZIP_DIR**)lua_touserdata(L, 1) = NULL; /* mark file as close */ + lua_pushboolean(L, 1); + } + else { + lua_pushboolean(L, 0); + } + } return 1; } |