diff options
Diffstat (limited to 'ext/zip/lib/zip_fclose.c')
-rw-r--r-- | ext/zip/lib/zip_fclose.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/ext/zip/lib/zip_fclose.c b/ext/zip/lib/zip_fclose.c index f24f109cb2..25a201b187 100644 --- a/ext/zip/lib/zip_fclose.c +++ b/ext/zip/lib/zip_fclose.c @@ -1,6 +1,6 @@ /* zip_fclose.c -- close file in zip archive - Copyright (C) 1999-2007 Dieter Baron and Thomas Klausner + Copyright (C) 1999-2014 Dieter Baron and Thomas Klausner This file is part of libzip, a library to manipulate ZIP archives. The authors can be contacted at <libzip@nih.at> @@ -17,7 +17,7 @@ 3. The names of the authors may not be used to endorse or promote products derived from this software without specific prior written permission. - + THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -32,37 +32,24 @@ */ - #include <stdlib.h> #include "zipint.h" - ZIP_EXTERN int -zip_fclose(struct zip_file *zf) +zip_fclose(zip_file_t *zf) { int ret; - unsigned int i; - + if (zf->src) zip_source_free(zf->src); - if (zf->za) { - for (i=0; i<zf->za->nfile; i++) { - if (zf->za->file[i] == zf) { - zf->za->file[i] = zf->za->file[zf->za->nfile-1]; - zf->za->nfile--; - break; - } - } - } - ret = 0; if (zf->error.zip_err) ret = zf->error.zip_err; - _zip_error_fini(&zf->error); + zip_error_fini(&zf->error); free(zf); return ret; } |