diff options
| author | Xinchen Hui <laruence@gmail.com> | 2013-12-15 16:55:29 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2013-12-15 16:55:29 +0800 |
| commit | 5eb8d9d70009c0bf9bfbbf511f2713e64dc8ee83 (patch) | |
| tree | 2480a26e79d85b4b7f2eacb5a2187eb13f029094 /ext/zip/lib/zip_get_num_entries.c | |
| parent | 10964b78548a5878254f5aa75f4cfdcedb0543bc (diff) | |
| parent | 904721189ff949c67795ec418f04b67951cbd57b (diff) | |
| download | php-git-5eb8d9d70009c0bf9bfbbf511f2713e64dc8ee83.tar.gz | |
Merge branch 'PHP-5.6' of https://git.php.net/push/php-src into PHP-5.6
Diffstat (limited to 'ext/zip/lib/zip_get_num_entries.c')
| -rw-r--r-- | ext/zip/lib/zip_get_num_entries.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ext/zip/lib/zip_get_num_entries.c b/ext/zip/lib/zip_get_num_entries.c index dd392e9095..26484baff2 100644 --- a/ext/zip/lib/zip_get_num_entries.c +++ b/ext/zip/lib/zip_get_num_entries.c @@ -37,16 +37,19 @@ -ZIP_EXTERN(zip_uint64_t) -zip_get_num_entries(struct zip *za, int flags) +ZIP_EXTERN zip_int64_t +zip_get_num_entries(struct zip *za, zip_flags_t flags) { + zip_uint64_t n; + if (za == NULL) return -1; if (flags & ZIP_FL_UNCHANGED) { - if (za->cdir == NULL) - return 0; - return za->cdir->nentry; + n = za->nentry; + while (n>0 && za->entry[n-1].orig == NULL) + --n; + return (zip_int64_t)n; } - return za->nentry; + return (zip_int64_t)za->nentry; } |
