Browse Source

Closes bug #47667

experimental/first_unicode_implementation
Mikko Koppanen 18 years ago
parent
commit
9b50cf342d
  1. 5
      ext/zip/lib/zip_open.c
  2. 40
      ext/zip/tests/bug47667.phpt

5
ext/zip/lib/zip_open.c

@ -65,8 +65,11 @@ zip_open(const char *fn, int flags, int *zep)
struct zip_cdir *cdir;
int i;
off_t len;
if (flags & ZIP_OVERWRITE) {
return _zip_allocate_new(fn, zep);
}
switch (_zip_file_exists(fn, flags, zep)) {
case -1:
if (!(flags & ZIP_OVERWRITE)) {

40
ext/zip/tests/bug47667.phpt

@ -0,0 +1,40 @@
--TEST--
Bug #47667 (ZipArchive::OVERWRITE seems to have no effect)
--SKIPIF--
<?php
/* $Id$ */
if(!extension_loaded('zip')) die('skip');
?>
--FILE--
<?php
$thisdir = dirname(__FILE__);
$filename = $thisdir . "/bug47667.zip";
$zip = new ZipArchive();
if ($zip->open($filename, ZipArchive::CREATE) !== true) {
exit("Unable to open the zip file");
} else {
$zip->addFromString('foo.txt', 'foo bar foobar');
$zip->close();
}
for ($i = 0; $i < 10; $i++) {
$zip = new ZipArchive();
if ($zip->open($filename, ZipArchive::OVERWRITE) !== true) {
exit("Unable to open the zip file");
}
$zip->addFromString("foo_{$i}.txt", 'foo bar foobar');
$zip->close();
}
$zip = new ZipArchive();
if ($zip->open($filename, ZipArchive::CREATE) !== true) {
exit("Unable to open the zip file");
}
echo "files: " , $zip->numFiles;
unlink($filename);
--EXPECT--
files: 1
Loading…
Cancel
Save