From c465c9b84343eb14e56393f9a3f5f9cec27a0d61 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Fri, 2 Jan 2009 00:22:21 +0000 Subject: [PATCH] - MFB: restore overwrite feature (regression introduced in 5.2.8) --- ext/zip/lib/zip_open.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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); -- 2.50.1