cellog Fri Apr 11 04:20:14 2008 UTC
Modified files: /pecl/phar phar_internal.h phar_object.c /pecl/phar/tests phar_convert_repeated.phpt phar_convert_repeated_b.phpt phar_convert_tar.phpt phar_convert_tar2.phpt phar_convert_tar3.phpt phar_convert_zip.phpt /pecl/phar/tests/tar phar_convert_phar.phpt phar_convert_phar2.phpt phar_convert_phar3.phpt tar_makebz2.phpt tar_makegz.phpt /pecl/phar/tests/zip phar_convert_phar.phpt Log: refactor compress/convertToTar/convertToPhar/convertToZip/convertToExecutable/convertToData into 2 methods: convertToExecutable/convertToData. Both methods accept 3 optional parameters 1 archive type, Phar::PHAR, Phar::TAR, or Phar::ZIP 2 compression Phar::NONE, Phar::GZ, or Phar::BZ2 3 file extension. Default is <format>.<compression> where .phar.tar is executable .tar convertToExecutable always returns a Phar object convertToData always returns a PharData object also added Phar::PHAR, Phar::TAR, and Phar::ZIP class constants [DOC]
http://cvs.php.net/viewvc.cgi/pecl/phar/phar_internal.h?r1=1.98&r2=1.99&diff_format=u Index: pecl/phar/phar_internal.h diff -u pecl/phar/phar_internal.h:1.98 pecl/phar/phar_internal.h:1.99 --- pecl/phar/phar_internal.h:1.98 Mon Mar 24 01:33:29 2008 +++ pecl/phar/phar_internal.h Fri Apr 11 04:20:14 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: phar_internal.h,v 1.98 2008/03/24 01:33:29 cellog Exp $ */ +/* $Id: phar_internal.h,v 1.99 2008/04/11 04:20:14 cellog Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -121,6 +121,10 @@ #define PHAR_ENT_PERM_DEF_FILE 0x000001B6 #define PHAR_ENT_PERM_DEF_DIR 0x000001FF +#define PHAR_FORMAT_PHAR 0 +#define PHAR_FORMAT_TAR 1 +#define PHAR_FORMAT_ZIP 2 + #define TAR_FILE '0' #define TAR_LINK '1' #define TAR_SYMLINK '2' http://cvs.php.net/viewvc.cgi/pecl/phar/phar_object.c?r1=1.199&r2=1.200&diff_format=u Index: pecl/phar/phar_object.c diff -u pecl/phar/phar_object.c:1.199 pecl/phar/phar_object.c:1.200 --- pecl/phar/phar_object.c:1.199 Thu Apr 10 13:41:28 2008 +++ pecl/phar/phar_object.c Fri Apr 11 04:20:14 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: phar_object.c,v 1.199 2008/04/10 13:41:28 cellog Exp $ */ +/* $Id: phar_object.c,v 1.200 2008/04/11 04:20:14 cellog Exp $ */ #include "phar_internal.h" #include "func_interceptors.h" @@ -1744,10 +1744,10 @@ phar->is_data = source->is_data; switch (convert) { - case 1 : + case PHAR_FORMAT_TAR : phar->is_tar = 1; break; - case 2 : + case PHAR_FORMAT_ZIP : phar->is_zip = 1; break; default : @@ -1822,110 +1822,65 @@ } /* }}} */ -/* {{{ proto object Phar::convertToTar([string file_ext]) - * Convert a phar or phar.zip archive to the tar file format. The first - * parameter can be one of Phar::GZ or Phar::BZ2 to specify whole-file - * compression. The second parameter allows the user to determine the new - * filename extension (default is phar.tar/phar.tar.bz2/phar.tar.gz). - * Both parameters are optional. - */ -PHP_METHOD(Phar, convertToTar) -{ - char *ext = NULL; - int ext_len = 0, save; - zval *ret; - PHAR_ARCHIVE_OBJECT(); - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) { - return; - } - - if (phar_obj->arc.archive->is_tar) { - RETURN_TRUE; - } - if (PHAR_G(readonly)) { - save = phar_obj->arc.archive->is_data; - phar_obj->arc.archive->is_data = 1; - } - - ret = phar_convert_to_other(phar_obj->arc.archive, 1, ext, phar_obj->arc.archive->flags TSRMLS_CC); - phar_obj->arc.archive->is_data = save; - if (ret) { - RETURN_ZVAL(ret, 1, 1); - } else { - RETURN_NULL(); - } -} -/* }}} */ - -/* {{{ proto object Phar::convertToZip([string file_ext]) - * Convert a phar or phar.tar archive to the zip file format. The single - * optional argument allows the user to determine the new filename extension - * (default is phar.zip). +/* {{{ proto object Phar::convertToExecutable([int format[, int compression [, string file_ext]]]) + * Convert a phar.tar or phar.zip archive to the phar file format. The + * optional parameter allows the user to determine the new + * filename extension (default is phar). */ -PHP_METHOD(Phar, convertToZip) +PHP_METHOD(Phar, convertToExecutable) { char *ext = NULL; - int ext_len = 0, save; + int is_data, ext_len = 0; + php_uint32 flags; zval *ret; + /* a number that is not 0, 1 or 2 (Which is also Greg's birthday, so there) */ + long format = 9021976, method = 9021976; PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|lls", &format, &method, &ext, &ext_len) == FAILURE) { return; } - if (phar_obj->arc.archive->is_zip) { - RETURN_TRUE; - } - if (PHAR_G(readonly)) { - save = phar_obj->arc.archive->is_data; - phar_obj->arc.archive->is_data = 1; - } - - ret = phar_convert_to_other(phar_obj->arc.archive, 2, ext, PHAR_FILE_COMPRESSED_NONE TSRMLS_CC); - phar_obj->arc.archive->is_data = save; - if (ret) { - RETURN_ZVAL(ret, 1, 1); - } else { - RETURN_NULL(); - } -} -/* }}} */ - -/* {{{ proto object Phar::compress(int method) - * Compress a .tar, or .phar.tar with whole-file compression - * The parameter can be one of Phar::GZ or Phar::BZ2 to specify - * the kind of compression desired - */ -PHP_METHOD(Phar, compress) -{ - long method = 0; - php_uint32 flags; - zval *ret; - PHAR_ARCHIVE_OBJECT(); - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &method) == FAILURE) { - return; - } - - if (PHAR_G(readonly) && !phar_obj->arc.archive->is_data) { zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, - "Cannot compress phar archive, phar is read-only"); + "Cannot write out executable phar archive, phar is read-only"); return; } - if (phar_obj->arc.archive->is_zip) { - zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, - "Cannot compress zipbased archives with whole-archive compression"); - return; + switch (format) { + case 9021976: + /* by default, use the existing format */ + if (phar_obj->arc.archive->is_tar) { + format = PHAR_FORMAT_TAR; + } else if (phar_obj->arc.archive->is_zip) { + format = PHAR_FORMAT_ZIP; + } else { + format = PHAR_FORMAT_PHAR; + } + break; + case PHAR_FORMAT_PHAR: + case PHAR_FORMAT_TAR: + case PHAR_FORMAT_ZIP: + break; + default: + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Unknown file format specified, please pass one of Phar::PHAR, Phar::TAR or Phar::ZIP"); + return; } switch (method) { + case 9021976: + flags = phar_obj->arc.archive->flags & PHAR_FILE_COMPRESSION_MASK; + break; case 0: flags = PHAR_FILE_COMPRESSED_NONE; break; case PHAR_ENT_COMPRESSED_GZ: + if (format == PHAR_FORMAT_ZIP) { + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Cannot compress entire archive with gzip, zip archives do not support whole-archive compression"); + return; + } if (!phar_has_zlib) { zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Cannot compress entire archive with gzip, enable ext/zlib in php.ini"); @@ -1935,6 +1890,11 @@ break; case PHAR_ENT_COMPRESSED_BZ2: + if (format == PHAR_FORMAT_ZIP) { + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Cannot compress entire archive with bz2, zip archives do not support whole-archive compression"); + return; + } if (!phar_has_bz2) { zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Cannot compress entire archive with bz2, enable ext/bz2 in php.ini"); @@ -1948,90 +1908,10 @@ return; } - if (phar_obj->arc.archive->is_tar) { - ret = phar_convert_to_other(phar_obj->arc.archive, 1, NULL, flags TSRMLS_CC); - } else { - ret = phar_convert_to_other(phar_obj->arc.archive, 0, NULL, flags TSRMLS_CC); - } - if (ret) { - RETURN_ZVAL(ret, 1, 1); - } else { - RETURN_NULL(); - } -} -/* }}} */ - - -/* {{{ proto object Phar::convertToPhar([string file_ext]) - * Convert a phar.tar or phar.zip archive to the phar file format. The - * optional parameter allows the user to determine the new - * filename extension (default is phar). - */ -PHP_METHOD(Phar, convertToPhar) -{ - char *ext = NULL; - int ext_len = 0; - zval *ret; - PHAR_ARCHIVE_OBJECT(); - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) { - return; - } - - if (!phar_obj->arc.archive->is_tar && !phar_obj->arc.archive->is_zip) { - RETURN_TRUE; - } - - if (PHAR_G(readonly)) { /* Don't override this one for is_data */ - zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, - "Cannot write out phar archive, phar is read-only"); - return; - } - - ret = phar_convert_to_other(phar_obj->arc.archive, 0, ext, phar_obj->arc.archive->flags TSRMLS_CC); - if (ret) { - RETURN_ZVAL(ret, 1, 1); - } else { - RETURN_NULL(); - } -} -/* }}} */ - -/* {{{ proto object Phar::convertToExecutable([string file_ext]) - * Convert a .tar or .zip archive to an executable .phar.tar or .phar.zip. - * The optional parameter allows the user to determine the new - * filename extension (default is phar.zip or phar.tar). - */ -PHP_METHOD(Phar, convertToExecutable) -{ - char *ext = NULL; - int ext_len = 0; - zval *ret; - PHAR_ARCHIVE_OBJECT(); - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) { - return; - } - - if (!phar_obj->arc.archive->is_tar && !phar_obj->arc.archive->is_zip) { - RETURN_TRUE; - } - if (!phar_obj->arc.archive->is_data) { - RETURN_TRUE; - } - - if (PHAR_G(readonly)) { /* Don't override this one for is_data */ - zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, - "Cannot convert phar archive to executable format, phar is read-only"); - return; - } - + is_data = phar_obj->arc.archive->is_data; phar_obj->arc.archive->is_data = 0; - if (phar_obj->arc.archive->is_tar) { - ret = phar_convert_to_other(phar_obj->arc.archive, 1, ext, phar_obj->arc.archive->flags TSRMLS_CC); - } else { - ret = phar_convert_to_other(phar_obj->arc.archive, 2, ext, phar_obj->arc.archive->flags TSRMLS_CC); - } + ret = phar_convert_to_other(phar_obj->arc.archive, format, ext, flags TSRMLS_CC); + phar_obj->arc.archive->is_data = is_data; if (ret) { RETURN_ZVAL(ret, 1, 1); } else { @@ -2040,35 +1920,94 @@ } /* }}} */ -/* {{{ proto object Phar::convertToData([string file_ext]) - * Convert a phar.tar or phar.zip archive to a non-executable .tar or .zip. +/* {{{ proto object Phar::convertToData([int format[, int compression [, string file_ext]]]) + * Convert an archive to a non-executable .tar or .zip. * The optional parameter allows the user to determine the new * filename extension (default is .zip or .tar). */ PHP_METHOD(Phar, convertToData) { char *ext = NULL; - int ext_len = 0; + int is_data, ext_len = 0; + php_uint32 flags; zval *ret; + /* a number that is not 0, 1 or 2 (Which is also Greg's birthday so there) */ + long format = 9021976, method = 9021976; PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|lls", &format, &method, &ext, &ext_len) == FAILURE) { return; } - if (!phar_obj->arc.archive->is_tar && !phar_obj->arc.archive->is_zip) { - RETURN_TRUE; + switch (format) { + case 9021976: + /* by default, use the existing format */ + if (phar_obj->arc.archive->is_tar) { + format = PHAR_FORMAT_TAR; + } else if (phar_obj->arc.archive->is_zip) { + format = PHAR_FORMAT_ZIP; + } else { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, + "Cannot write out data phar archive, use Phar::TAR or Phar::ZIP"); + } + break; + case PHAR_FORMAT_PHAR: + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, + "Cannot write out data phar archive, use Phar::TAR or Phar::ZIP"); + return; + case PHAR_FORMAT_TAR: + case PHAR_FORMAT_ZIP: + break; + default: + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Unknown file format specified, please pass one of Phar::TAR or Phar::ZIP"); + return; } - if (!phar_obj->arc.archive->is_data) { - RETURN_TRUE; + + switch (method) { + case 9021976: + flags = phar_obj->arc.archive->flags & PHAR_FILE_COMPRESSION_MASK; + break; + case 0: + flags = PHAR_FILE_COMPRESSED_NONE; + break; + case PHAR_ENT_COMPRESSED_GZ: + if (format == PHAR_FORMAT_ZIP) { + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Cannot compress entire archive with gzip, zip archives do not support whole-archive compression"); + return; + } + if (!phar_has_zlib) { + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Cannot compress entire archive with gzip, enable ext/zlib in php.ini"); + return; + } + flags = PHAR_FILE_COMPRESSED_GZ; + break; + + case PHAR_ENT_COMPRESSED_BZ2: + if (format == PHAR_FORMAT_ZIP) { + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Cannot compress entire archive with bz2, zip archives do not support whole-archive compression"); + return; + } + if (!phar_has_bz2) { + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Cannot compress entire archive with bz2, enable ext/bz2 in php.ini"); + return; + } + flags = PHAR_FILE_COMPRESSED_BZ2; + break; + default: + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, + "Unknown compression specified, please pass one of Phar::GZ or Phar::BZ2"); + return; } + is_data = phar_obj->arc.archive->is_data; phar_obj->arc.archive->is_data = 1; - if (phar_obj->arc.archive->is_tar) { - ret = phar_convert_to_other(phar_obj->arc.archive, 1, ext, phar_obj->arc.archive->flags TSRMLS_CC); - } else { - ret = phar_convert_to_other(phar_obj->arc.archive, 2, ext, phar_obj->arc.archive->flags TSRMLS_CC); - } + ret = phar_convert_to_other(phar_obj->arc.archive, format, ext, flags TSRMLS_CC); + phar_obj->arc.archive->is_data = is_data; if (ret) { RETURN_ZVAL(ret, 1, 1); } else { @@ -3836,6 +3775,8 @@ static ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_conv, 0, 0, 0) + ZEND_ARG_INFO(0, format) + ZEND_ARG_INFO(0, compression_type) ZEND_ARG_INFO(0, file_ext) ZEND_END_ARG_INFO(); @@ -3920,12 +3861,10 @@ PHP_ME(Phar, addFile, arginfo_phar_addfile, ZEND_ACC_PUBLIC) PHP_ME(Phar, addFromString, arginfo_phar_fromstring, ZEND_ACC_PUBLIC) PHP_ME(Phar, buildFromIterator, arginfo_phar_build, ZEND_ACC_PUBLIC) - PHP_ME(Phar, compress, arginfo_phar_comp, ZEND_ACC_PUBLIC) PHP_ME(Phar, compressFiles, arginfo_phar_comp, ZEND_ACC_PUBLIC) PHP_ME(Phar, decompressFiles, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Phar, convertToPhar, arginfo_phar_conv, ZEND_ACC_PUBLIC) - PHP_ME(Phar, convertToTar, arginfo_phar_conv, ZEND_ACC_PUBLIC) - PHP_ME(Phar, convertToZip, arginfo_phar_conv, ZEND_ACC_PUBLIC) + PHP_ME(Phar, convertToExecutable, arginfo_phar_conv, ZEND_ACC_PUBLIC) + PHP_ME(Phar, convertToData, arginfo_phar_conv, ZEND_ACC_PUBLIC) PHP_ME(Phar, copy, arginfo_phar_copy, ZEND_ACC_PUBLIC) PHP_ME(Phar, count, NULL, ZEND_ACC_PUBLIC) PHP_ME(Phar, delete, arginfo_phar_delete, ZEND_ACC_PUBLIC) @@ -3944,8 +3883,6 @@ PHP_ME(Phar, isPhar, NULL, ZEND_ACC_PUBLIC) PHP_ME(Phar, isTar, NULL, ZEND_ACC_PUBLIC) PHP_ME(Phar, isZip, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Phar, convertToExecutable, arginfo_phar_conv, ZEND_ACC_PUBLIC) - PHP_ME(Phar, convertToData, arginfo_phar_conv, ZEND_ACC_PUBLIC) PHP_ME(Phar, offsetExists, arginfo_phar_offsetExists, ZEND_ACC_PUBLIC) PHP_ME(Phar, offsetGet, arginfo_phar_offsetExists, ZEND_ACC_PUBLIC) PHP_ME(Phar, offsetSet, arginfo_phar_offsetSet, ZEND_ACC_PUBLIC) @@ -4058,6 +3995,9 @@ REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "BZ2", PHAR_ENT_COMPRESSED_BZ2) REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "GZ", PHAR_ENT_COMPRESSED_GZ) REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "NONE", PHAR_ENT_COMPRESSED_NONE) + REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "PHAR", PHAR_FORMAT_PHAR) + REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "TAR", PHAR_FORMAT_TAR) + REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "ZIP", PHAR_FORMAT_ZIP) REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "COMPRESSED", PHAR_ENT_COMPRESSION_MASK) REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "PHP", PHAR_MIME_PHP) REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "PHPS", PHAR_MIME_PHPS) http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_convert_repeated.phpt?r1=1.4&r2=1.5&diff_format=u Index: pecl/phar/tests/phar_convert_repeated.phpt diff -u pecl/phar/tests/phar_convert_repeated.phpt:1.4 pecl/phar/tests/phar_convert_repeated.phpt:1.5 --- pecl/phar/tests/phar_convert_repeated.phpt:1.4 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/phar_convert_repeated.phpt Fri Apr 11 04:20:14 2008 @@ -32,7 +32,7 @@ echo "================= convertToTar() =====================\n"; -$phar = $phar->convertToTar(); +$phar = $phar->convertToExecutable(Phar::TAR); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -41,7 +41,7 @@ echo "================= convertToZip() =====================\n"; -$phar = $phar->convertToZip(); +$phar = $phar->convertToExecutable(Phar::ZIP); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -50,7 +50,7 @@ echo "================= convertToPhar() ====================\n"; -$phar = $phar->convertToPhar('.2.phar'); +$phar = $phar->convertToExecutable(Phar::PHAR, Phar::NONE, '.2.phar'); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -59,7 +59,7 @@ echo "================= convertToZip() =====================\n"; -$phar = $phar->convertToZip('.2.phar.zip'); +$phar = $phar->convertToExecutable(Phar::ZIP, Phar::NONE, '.2.phar.zip'); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -68,7 +68,7 @@ echo "================= convertToTar() =====================\n"; -$phar = $phar->convertToTar('2.phar.tar'); +$phar = $phar->convertToExecutable(Phar::TAR, Phar::NONE, '2.phar.tar'); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -77,7 +77,7 @@ echo "================= convertToZip() =====================\n"; -$phar = $phar->convertToZip('3.phar.zip'); +$phar = $phar->convertToExecutable(Phar::ZIP, Phar::NONE, '3.phar.zip'); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_convert_repeated_b.phpt?r1=1.4&r2=1.5&diff_format=u Index: pecl/phar/tests/phar_convert_repeated_b.phpt diff -u pecl/phar/tests/phar_convert_repeated_b.phpt:1.4 pecl/phar/tests/phar_convert_repeated_b.phpt:1.5 --- pecl/phar/tests/phar_convert_repeated_b.phpt:1.4 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/phar_convert_repeated_b.phpt Fri Apr 11 04:20:14 2008 @@ -23,7 +23,7 @@ echo "================= convertToTar() =====================\n"; -$phar = $phar->convertToTar(); +$phar = $phar->convertToData(Phar::TAR); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -32,7 +32,7 @@ echo "================= convertToZip() =====================\n"; -$phar = $phar->convertToZip('.1.zip'); +$phar = $phar->convertToData(Phar::ZIP, Phar::NONE, '.1.zip'); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -42,7 +42,7 @@ echo "================= convertToPhar() ====================\n"; try { - $phar = $phar->convertToPhar(); + $phar = $phar->convertToExecutable(Phar::PHAR); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -54,7 +54,7 @@ echo "================ convertToTar(GZ) ====================\n"; -$phar = $phar->convertToTar('.2.tar')->compress(Phar::GZ); +$phar = $phar->convertToData(Phar::TAR, Phar::GZ, '.2.tar'); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -64,7 +64,7 @@ echo "================= convertToPhar() ====================\n"; try { - $phar = $phar->convertToPhar(); + $phar = $phar->convertToExecutable(Phar::PHAR); var_dump($phar->isPhar()); var_dump($phar->isTar()); var_dump($phar->isZip()); @@ -105,7 +105,7 @@ string(0) "" NULL ================= convertToPhar() ==================== -Cannot write out phar archive, phar is read-only +Cannot write out executable phar archive, phar is read-only ================ convertToTar(GZ) ==================== bool(false) bool(true) @@ -113,5 +113,5 @@ string(0) "" NULL ================= convertToPhar() ==================== -Cannot write out phar archive, phar is read-only +Cannot write out executable phar archive, phar is read-only ===DONE=== \ No newline at end of file http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_convert_tar.phpt?r1=1.5&r2=1.6&diff_format=u Index: pecl/phar/tests/phar_convert_tar.phpt diff -u pecl/phar/tests/phar_convert_tar.phpt:1.5 pecl/phar/tests/phar_convert_tar.phpt:1.6 --- pecl/phar/tests/phar_convert_tar.phpt:1.5 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/phar_convert_tar.phpt Fri Apr 11 04:20:14 2008 @@ -26,7 +26,7 @@ var_dump($phar->isTar()); var_dump($phar->getStub()); -$phar = $phar->convertToTar(); +$phar = $phar->convertToExecutable(Phar::TAR); var_dump($phar->isTar()); var_dump($phar->getStub()); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_convert_tar2.phpt?r1=1.10&r2=1.11&diff_format=u Index: pecl/phar/tests/phar_convert_tar2.phpt diff -u pecl/phar/tests/phar_convert_tar2.phpt:1.10 pecl/phar/tests/phar_convert_tar2.phpt:1.11 --- pecl/phar/tests/phar_convert_tar2.phpt:1.10 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/phar_convert_tar2.phpt Fri Apr 11 04:20:14 2008 @@ -28,7 +28,7 @@ var_dump($phar->isCompressed()); var_dump($phar->getStub()); -$phar = $phar->convertToTar()->compress(Phar::GZ); +$phar = $phar->convertToExecutable(Phar::TAR, Phar::GZ); var_dump($phar->isTar()); var_dump($phar->isCompressed()); var_dump($phar->getStub()); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_convert_tar3.phpt?r1=1.9&r2=1.10&diff_format=u Index: pecl/phar/tests/phar_convert_tar3.phpt diff -u pecl/phar/tests/phar_convert_tar3.phpt:1.9 pecl/phar/tests/phar_convert_tar3.phpt:1.10 --- pecl/phar/tests/phar_convert_tar3.phpt:1.9 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/phar_convert_tar3.phpt Fri Apr 11 04:20:14 2008 @@ -28,7 +28,7 @@ var_dump($phar->isCompressed()); var_dump($phar->getStub()); -$phar = $phar->convertToTar()->compress(Phar::BZ2); +$phar = $phar->convertToExecutable(Phar::TAR, Phar::BZ2); var_dump($phar->isTar()); var_dump($phar->isCompressed()); var_dump($phar->getStub()); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_convert_zip.phpt?r1=1.7&r2=1.8&diff_format=u Index: pecl/phar/tests/phar_convert_zip.phpt diff -u pecl/phar/tests/phar_convert_zip.phpt:1.7 pecl/phar/tests/phar_convert_zip.phpt:1.8 --- pecl/phar/tests/phar_convert_zip.phpt:1.7 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/phar_convert_zip.phpt Fri Apr 11 04:20:14 2008 @@ -26,7 +26,7 @@ var_dump($phar->isZip()); var_dump($phar->getStub()); -$phar = $phar->convertToZip(); +$phar = $phar->convertToExecutable(Phar::ZIP); var_dump($phar->isZip()); var_dump($phar->getStub()); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/tar/phar_convert_phar.phpt?r1=1.6&r2=1.7&diff_format=u Index: pecl/phar/tests/tar/phar_convert_phar.phpt diff -u pecl/phar/tests/tar/phar_convert_phar.phpt:1.6 pecl/phar/tests/tar/phar_convert_phar.phpt:1.7 --- pecl/phar/tests/tar/phar_convert_phar.phpt:1.6 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/tar/phar_convert_phar.phpt Fri Apr 11 04:20:14 2008 @@ -17,13 +17,13 @@ var_dump($phar->isTar()); var_dump(strlen($phar->getStub())); -$phar = $phar->convertToTar(); +$phar = $phar->convertToExecutable(Phar::TAR); var_dump($phar->isTar()); var_dump($phar->getStub()); $phar['a'] = 'hi there'; -$phar = $phar->convertToPhar('.3.phar'); +$phar = $phar->convertToExecutable(Phar::PHAR, Phar::NONE, '.3.phar'); var_dump($phar->isPhar()); var_dump(strlen($phar->getStub())); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/tar/phar_convert_phar2.phpt?r1=1.8&r2=1.9&diff_format=u Index: pecl/phar/tests/tar/phar_convert_phar2.phpt diff -u pecl/phar/tests/tar/phar_convert_phar2.phpt:1.8 pecl/phar/tests/tar/phar_convert_phar2.phpt:1.9 --- pecl/phar/tests/tar/phar_convert_phar2.phpt:1.8 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/tar/phar_convert_phar2.phpt Fri Apr 11 04:20:14 2008 @@ -17,13 +17,13 @@ var_dump($phar->isTar()); var_dump(strlen($phar->getStub())); -$phar = $phar->convertToTar(); +$phar = $phar->convertToExecutable(Phar::TAR); var_dump($phar->isTar()); var_dump($phar->getStub()); $phar['a'] = 'hi there'; -$phar = $phar->compress(Phar::GZ)->convertToPhar(); +$phar = $phar->convertToExecutable(Phar::PHAR, Phar::GZ); var_dump($phar->isPhar()); var_dump($phar->isCompressed()); var_dump(strlen($phar->getStub())); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/tar/phar_convert_phar3.phpt?r1=1.8&r2=1.9&diff_format=u Index: pecl/phar/tests/tar/phar_convert_phar3.phpt diff -u pecl/phar/tests/tar/phar_convert_phar3.phpt:1.8 pecl/phar/tests/tar/phar_convert_phar3.phpt:1.9 --- pecl/phar/tests/tar/phar_convert_phar3.phpt:1.8 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/tar/phar_convert_phar3.phpt Fri Apr 11 04:20:14 2008 @@ -17,13 +17,13 @@ var_dump($phar->isTar()); var_dump(strlen($phar->getStub())); -$phar = $phar->convertToTar(); +$phar = $phar->convertToExecutable(Phar::TAR); var_dump($phar->isTar()); var_dump($phar->getStub()); $phar['a'] = 'hi there'; -$phar = $phar->compress(Phar::BZ2)->convertToPhar(); +$phar = $phar->convertToExecutable(Phar::PHAR, Phar::BZ2); var_dump($phar->isPhar()); var_dump($phar->isCompressed()); var_dump(strlen($phar->getStub())); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/tar/tar_makebz2.phpt?r1=1.4&r2=1.5&diff_format=u Index: pecl/phar/tests/tar/tar_makebz2.phpt diff -u pecl/phar/tests/tar/tar_makebz2.phpt:1.4 pecl/phar/tests/tar/tar_makebz2.phpt:1.5 --- pecl/phar/tests/tar/tar_makebz2.phpt:1.4 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/tar/tar_makebz2.phpt Fri Apr 11 04:20:14 2008 @@ -16,7 +16,7 @@ $phar = new Phar($fname); $phar['test'] = 'hi'; var_dump($phar->isTar()); -$phar = $phar->compress(Phar::BZ2); +$phar = $phar->convertToExecutable(Phar::TAR, Phar::BZ2); copy($fname2, $fname3); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/tar/tar_makegz.phpt?r1=1.5&r2=1.6&diff_format=u Index: pecl/phar/tests/tar/tar_makegz.phpt diff -u pecl/phar/tests/tar/tar_makegz.phpt:1.5 pecl/phar/tests/tar/tar_makegz.phpt:1.6 --- pecl/phar/tests/tar/tar_makegz.phpt:1.5 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/tar/tar_makegz.phpt Fri Apr 11 04:20:14 2008 @@ -16,7 +16,8 @@ $phar = new Phar($fname); $phar['test'] = 'hi'; var_dump($phar->isTar()); -$phar = $phar->compress(Phar::GZ); +$phar = $phar->convertToExecutable(Phar::TAR, Phar::GZ); + copy($fname2, $fname3); http://cvs.php.net/viewvc.cgi/pecl/phar/tests/zip/phar_convert_phar.phpt?r1=1.9&r2=1.10&diff_format=u Index: pecl/phar/tests/zip/phar_convert_phar.phpt diff -u pecl/phar/tests/zip/phar_convert_phar.phpt:1.9 pecl/phar/tests/zip/phar_convert_phar.phpt:1.10 --- pecl/phar/tests/zip/phar_convert_phar.phpt:1.9 Mon Mar 24 03:01:30 2008 +++ pecl/phar/tests/zip/phar_convert_phar.phpt Fri Apr 11 04:20:14 2008 @@ -17,13 +17,13 @@ var_dump($phar->isZip()); var_dump(strlen($phar->getStub())); -$phar = $phar->convertToZip(); +$phar = $phar->convertToExecutable(Phar::ZIP); var_dump($phar->isZip()); var_dump($phar->getStub()); $phar['a'] = 'hi there'; -$phar = $phar->convertToPhar('.3.phar'); +$phar = $phar->convertToExecutable(Phar::PHAR, Phar::NONE, '.3.phar'); var_dump($phar->isPhar()); var_dump(strlen($phar->getStub()));