From: Pierre Joye Date: Fri, 2 Jan 2009 00:22:21 +0000 (+0000) Subject: - MFB: restore overwrite feature (regression introduced in 5.2.8) X-Git-Tag: php-5.4.0alpha1~191^2~4679 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c465c9b84343eb14e56393f9a3f5f9cec27a0d61;p=php - MFB: restore overwrite feature (regression introduced in 5.2.8) --- diff --git a/ext/zip/lib/zip_open.c b/ext/zip/lib/zip_open.c index 10c5e1e6d8..65f982543c 100644 --- a/ext/zip/lib/zip_open.c +++ b/ext/zip/lib/zip_open.c @@ -66,9 +66,13 @@ zip_open(const char *fn, int flags, int *zep) int i; off_t len; + switch (_zip_file_exists(fn, flags, zep)) { case -1: + if (!(flags & ZIP_OVERWRITE)) { return NULL; + } + case 0: return _zip_allocate_new(fn, zep); default: @@ -440,7 +444,7 @@ _zip_file_exists(const char *fn, int flags, int *zep) } if (stat(fn, &st) != 0) { - if (flags & ZIP_CREATE) + if (flags & ZIP_CREATE || flags & ZIP_OVERWRITE) return 0; else { set_error(zep, NULL, ZIP_ER_OPEN);