rechecked the merged libzip, took also the indents from the original to

avoid confusion next time
This commit is contained in:
Anatoliy Belsky 2012-06-05 22:11:07 +02:00
parent a39bcfc5ee
commit f4a44f18b8
6 changed files with 18 additions and 28 deletions

View file

@ -316,22 +316,22 @@ zip_close(struct zip *za)
free(temp); free(temp);
return -1; return -1;
} }
if (za->zp) { if (za->zp) {
fclose(za->zp); fclose(za->zp);
za->zp = NULL; za->zp = NULL;
reopen_on_error = 1; reopen_on_error = 1;
} }
if (_zip_rename(temp, za->zn) != 0) { if (_zip_rename(temp, za->zn) != 0) {
_zip_error_set(&za->error, ZIP_ER_RENAME, errno); _zip_error_set(&za->error, ZIP_ER_RENAME, errno);
remove(temp); remove(temp);
free(temp); free(temp);
if (reopen_on_error) { if (reopen_on_error) {
/* ignore errors, since we're already in an error case */ /* ignore errors, since we're already in an error case */
za->zp = fopen(za->zn, "rb"); za->zp = fopen(za->zn, "rb");
}
return -1;
} }
return -1;
}
#ifndef PHP_WIN32 #ifndef PHP_WIN32
mask = umask(0); mask = umask(0);
umask(mask); umask(mask);

View file

@ -40,7 +40,7 @@
ZIP_EXTERN(int) ZIP_EXTERN(int)
zip_delete(struct zip *za, zip_uint64_t idx) zip_delete(struct zip *za, zip_uint64_t idx)
{ {
if (idx < 0 || idx >= za->nentry) { if (idx >= za->nentry) {
_zip_error_set(&za->error, ZIP_ER_INVAL, 0); _zip_error_set(&za->error, ZIP_ER_INVAL, 0);
return -1; return -1;
} }

View file

@ -472,7 +472,7 @@ _zip_dirent_write(struct zip_dirent *zde, FILE *fp, int localp,
static time_t static time_t
_zip_d2u_time(int dtime, int ddate) _zip_d2u_time(int dtime, int ddate)
{ {
struct tm tm = {0}; struct tm tm;
memset(&tm, 0, sizeof(tm)); memset(&tm, 0, sizeof(tm));

View file

@ -39,7 +39,6 @@
#include "zipint.h" #include "zipint.h"
ZIP_EXTERN(struct zip_file *) ZIP_EXTERN(struct zip_file *)

View file

@ -60,15 +60,6 @@ zip_fread(struct zip_file *zf, void *outbuf, zip_uint64_t toread)
_zip_error_set_from_source(&zf->error, zf->src); _zip_error_set_from_source(&zf->error, zf->src);
return -1; return -1;
} }
/* XXX the following left from the previous PHP port, let's see how to use it now */
/*zf->zstr->next_out = (Bytef *)outbuf;
zf->zstr->avail_out = toread;
out_before = zf->zstr->total_out;*/
/* endless loop until something has been accomplished */
/*for (;;) {
ret = inflate(zf->zstr, Z_SYNC_FLUSH);*/
return n; return n;
} }

View file

@ -357,17 +357,17 @@ _zip_check_torrentzip(struct zip *za)
if (za->cdir->comment_len != TORRENT_SIG_LEN+8 if (za->cdir->comment_len != TORRENT_SIG_LEN+8
|| strncmp(za->cdir->comment, TORRENT_SIG, TORRENT_SIG_LEN) != 0) || strncmp(za->cdir->comment, TORRENT_SIG, TORRENT_SIG_LEN) != 0)
return; return;
memcpy(buf, za->cdir->comment+TORRENT_SIG_LEN, 8); memcpy(buf, za->cdir->comment+TORRENT_SIG_LEN, 8);
buf[8] = '\0'; buf[8] = '\0';
errno = 0; errno = 0;
crc_should = strtoul(buf, &end, 16); crc_should = strtoul(buf, &end, 16);
if ((crc_should == UINT_MAX && errno != 0) || (end && *end)) if ((crc_should == UINT_MAX && errno != 0) || (end && *end))
return; return;
if (_zip_filerange_crc(za->zp, za->cdir->offset, za->cdir->size, if (_zip_filerange_crc(za->zp, za->cdir->offset, za->cdir->size,
&crc_got, NULL) < 0) &crc_got, NULL) < 0)
return; return;
if (crc_got == crc_should) if (crc_got == crc_should)
za->flags |= ZIP_AFL_TORRENT; za->flags |= ZIP_AFL_TORRENT;