]> granicus.if.org Git - php/commitdiff
- MFB: restore overwrite feature (regression introduced in 5.2.8)
authorPierre Joye <pajoye@php.net>
Fri, 2 Jan 2009 00:22:21 +0000 (00:22 +0000)
committerPierre Joye <pajoye@php.net>
Fri, 2 Jan 2009 00:22:21 +0000 (00:22 +0000)
ext/zip/lib/zip_open.c

index 10c5e1e6d819c0e007de1121e897de737ab74ac2..65f982543c7e50739515c9a3033916d4cb3c0a2d 100644 (file)
@@ -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);