summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luazip
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2015-03-28 00:25:45 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2015-03-28 00:25:45 +0000
commitc70ec3e0cfe1b1f8f8bcd593d8e826c381422f49 (patch)
tree795508e28bfc9d330fcf3943332781e63f279aed /Build/source/texk/web2c/luatexdir/luazip
parent28aff1e0215254537e412e6f8dea0b8cb7a9c04b (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.c17
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;
}