diff --git a/ext/phar/phar.c b/ext/phar/phar.c index e201d59de1f..9b55bfc5ff8 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -2092,7 +2092,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, long len, int convert, return EOF; } - if (!zend_hash_num_elements(&phar->manifest)) { + if (!zend_hash_num_elements(&phar->manifest) && !user_stub) { return EOF; } diff --git a/ext/phar/tests/tar/phar_convert_phar.phpt b/ext/phar/tests/tar/phar_convert_phar.phpt index 3f982a9a1ed..216c353dd43 100644 --- a/ext/phar/tests/tar/phar_convert_phar.phpt +++ b/ext/phar/tests/tar/phar_convert_phar.phpt @@ -13,6 +13,7 @@ $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '2.phar'; $fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.3.phar'; $phar = new Phar($fname); +$phar['a.txt'] = 'some text'; $phar->stopBuffering(); var_dump($phar->isTar()); var_dump(strlen($phar->getStub())); diff --git a/ext/phar/tests/tar/phar_convert_phar2.phpt b/ext/phar/tests/tar/phar_convert_phar2.phpt index b0e360af9be..e79c0fe91f0 100644 --- a/ext/phar/tests/tar/phar_convert_phar2.phpt +++ b/ext/phar/tests/tar/phar_convert_phar2.phpt @@ -13,6 +13,7 @@ $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar'; $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '2.phar'; $phar = new Phar($fname); +$phar['a.txt'] = 'some text'; $phar->stopBuffering(); var_dump($phar->isTar()); var_dump(strlen($phar->getStub())); diff --git a/ext/phar/tests/tar/phar_convert_phar3.phpt b/ext/phar/tests/tar/phar_convert_phar3.phpt index de2ccbe10f3..e4155deb3b4 100644 --- a/ext/phar/tests/tar/phar_convert_phar3.phpt +++ b/ext/phar/tests/tar/phar_convert_phar3.phpt @@ -13,6 +13,7 @@ $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar'; $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '2.phar'; $phar = new Phar($fname); +$phar['a.txt'] = 'some text'; $phar->stopBuffering(); var_dump($phar->isTar()); var_dump(strlen($phar->getStub())); diff --git a/ext/phar/tests/zip/phar_convert_phar.phpt b/ext/phar/tests/zip/phar_convert_phar.phpt index aa29cbb82d5..dcc0dd1f097 100644 --- a/ext/phar/tests/zip/phar_convert_phar.phpt +++ b/ext/phar/tests/zip/phar_convert_phar.phpt @@ -13,6 +13,7 @@ $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '2.phar'; $fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.3.phar'; $phar = new Phar($fname); +$phar['a.txt'] = 'some text'; $phar->stopBuffering(); var_dump($phar->isZip()); var_dump(strlen($phar->getStub()));