aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/vendor/splitbrain/php-archive
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/splitbrain/php-archive')
-rw-r--r--vendor/splitbrain/php-archive/.gitignore3
-rw-r--r--vendor/splitbrain/php-archive/README.md2
-rw-r--r--vendor/splitbrain/php-archive/composer.json2
-rw-r--r--vendor/splitbrain/php-archive/phpunit.xml3
-rw-r--r--vendor/splitbrain/php-archive/src/Tar.php45
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.
-[![Build Status](https://travis-ci.org/splitbrain/php-archive.svg)](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)) {