diff options
Diffstat (limited to 'vendor/splitbrain/php-archive')
-rw-r--r-- | vendor/splitbrain/php-archive/.gitignore | 3 | ||||
-rw-r--r-- | vendor/splitbrain/php-archive/README.md | 2 | ||||
-rw-r--r-- | vendor/splitbrain/php-archive/composer.json | 2 | ||||
-rw-r--r-- | vendor/splitbrain/php-archive/phpunit.xml | 3 | ||||
-rw-r--r-- | vendor/splitbrain/php-archive/src/Tar.php | 45 |
5 files changed, 28 insertions, 27 deletions
diff --git a/vendor/splitbrain/php-archive/.gitignore b/vendor/splitbrain/php-archive/.gitignore index e11729e19..be66c59e6 100644 --- a/vendor/splitbrain/php-archive/.gitignore +++ b/vendor/splitbrain/php-archive/.gitignore @@ -5,4 +5,5 @@ vendor/ composer.lock apigen.phar docs/ -nbproject/
\ No newline at end of file +nbproject/ +.phpunit.result.cache diff --git a/vendor/splitbrain/php-archive/README.md b/vendor/splitbrain/php-archive/README.md index f18764b61..840148c56 100644 --- a/vendor/splitbrain/php-archive/README.md +++ b/vendor/splitbrain/php-archive/README.md @@ -6,8 +6,6 @@ needed for compression). It can create new files or extract existing ones. To keep things simple, the modification (adding or removing files) of existing archives is not supported. -[](https://travis-ci.org/splitbrain/php-archive) - Install ------- diff --git a/vendor/splitbrain/php-archive/composer.json b/vendor/splitbrain/php-archive/composer.json index 8102838fb..589ab0df4 100644 --- a/vendor/splitbrain/php-archive/composer.json +++ b/vendor/splitbrain/php-archive/composer.json @@ -20,7 +20,7 @@ }, "require-dev": { - "phpunit/phpunit": "^4.8", + "phpunit/phpunit": "^8", "mikey179/vfsstream": "^1.6", "ext-zip": "*", "ext-bz2": "*" diff --git a/vendor/splitbrain/php-archive/phpunit.xml b/vendor/splitbrain/php-archive/phpunit.xml index c5e1ad3ce..41c7fb15d 100644 --- a/vendor/splitbrain/php-archive/phpunit.xml +++ b/vendor/splitbrain/php-archive/phpunit.xml @@ -7,8 +7,7 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" - stopOnFailure="false" - syntaxCheck="false"> + stopOnFailure="false"> <testsuites> <testsuite name="Test Suite"> <directory suffix=".php">./tests/</directory> diff --git a/vendor/splitbrain/php-archive/src/Tar.php b/vendor/splitbrain/php-archive/src/Tar.php index d5bdd612b..c48e80811 100644 --- a/vendor/splitbrain/php-archive/src/Tar.php +++ b/vendor/splitbrain/php-archive/src/Tar.php @@ -256,33 +256,36 @@ class Tar extends Archive throw new ArchiveIOException('Archive has been closed, files can no longer be added'); } - $fp = @fopen($file, 'rb'); - if (!$fp) { - throw new ArchiveIOException('Could not open file for reading: '.$file); - } - // create file header $this->writeFileHeader($fileinfo); - // write data - $read = 0; - while (!feof($fp)) { - $data = fread($fp, 512); - $read += strlen($data); - if ($data === false) { - break; + // write data, but only if we have data to write. + // note: on Windows fopen() on a directory will fail, so we prevent + // errors on Windows by testing if we have data to write. + if (!$fileinfo->getIsdir() && $fileinfo->getSize() > 0) { + $read = 0; + $fp = @fopen($file, 'rb'); + if (!$fp) { + throw new ArchiveIOException('Could not open file for reading: ' . $file); } - if ($data === '') { - break; + while (!feof($fp)) { + $data = fread($fp, 512); + $read += strlen($data); + if ($data === false) { + break; + } + if ($data === '') { + break; + } + $packed = pack("a512", $data); + $this->writebytes($packed); } - $packed = pack("a512", $data); - $this->writebytes($packed); - } - fclose($fp); + fclose($fp); - if($read != $fileinfo->getSize()) { - $this->close(); - throw new ArchiveCorruptedException("The size of $file changed while reading, archive corrupted. read $read expected ".$fileinfo->getSize()); + if ($read != $fileinfo->getSize()) { + $this->close(); + throw new ArchiveCorruptedException("The size of $file changed while reading, archive corrupted. read $read expected ".$fileinfo->getSize()); + } } if(is_callable($this->callback)) { |