cellog Sun, 26 Jul 2009 02:43:14 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=286344
Log:
fix buildFromIterator with filesystem iterator in php 6
Changed paths:
U pecl/phar/trunk/phar_object.c
U pecl/phar/trunk/tests/phar_buildfromiterator10.phpt
U php/php-src/branches/PHP_5_3/ext/phar/phar_object.c
U
php/php-src/branches/PHP_5_3/ext/phar/tests/phar_buildfromiterator10.phpt
U php/php-src/trunk/ext/phar/phar_object.c
U php/php-src/trunk/ext/phar/tests/phar_buildfromiterator10.phpt
Modified: pecl/phar/trunk/phar_object.c
===================================================================
--- pecl/phar/trunk/phar_object.c 2009-07-26 02:25:17 UTC (rev 286343)
+++ pecl/phar/trunk/phar_object.c 2009-07-26 02:43:14 UTC (rev 286344)
@@ -1669,7 +1669,21 @@
case SPL_FS_INFO:
case SPL_FS_FILE:
#if PHP_VERSION_ID >= 60000
- fname = expand_filepath(intern->file_name.s, NULL TSRMLS_CC);
+ if (intern->file_name_type == IS_UNICODE) {
+ zval zv;
+
+ INIT_ZVAL(zv);
+ Z_UNIVAL(zv) = intern->file_name;
+ Z_UNILEN(zv) = intern->file_name_len;
+ Z_TYPE(zv) = IS_UNICODE;
+
+ zval_copy_ctor(&zv);
+ zval_unicode_to_string(&zv TSRMLS_CC);
+ fname = expand_filepath(Z_STRVAL(zv), NULL TSRMLS_CC);
+ ezfree(Z_UNIVAL(zv));
+ } else {
+ fname = expand_filepath(intern->file_name.s, NULL TSRMLS_CC);
+ }
#else
fname = expand_filepath(intern->file_name, NULL TSRMLS_CC);
#endif
Modified: pecl/phar/trunk/tests/phar_buildfromiterator10.phpt
===================================================================
--- pecl/phar/trunk/tests/phar_buildfromiterator10.phpt 2009-07-26 02:25:17 UTC (rev 286343)
+++ pecl/phar/trunk/tests/phar_buildfromiterator10.phpt 2009-07-26 02:43:14 UTC (rev 286344)
@@ -31,74 +31,74 @@
--EXPECTF--
array(35) {
["phar_ctx_001.phpt"]=>
- %unicode|string%(%d) "%sphar_ctx_001.phpt"
+ string(%d) "%sphar_ctx_001.phpt"
["phar_get_supported_signatures_001.phpt"]=>
- %unicode|string%(%d) "%sphar_get_supported_signatures_001.phpt"
+ string(%d) "%sphar_get_supported_signatures_001.phpt"
["phar_get_supported_signatures_002.phpt"]=>
- %unicode|string%(%d) "%sphar_get_supported_signatures_002.phpt"
+ string(%d) "%sphar_get_supported_signatures_002.phpt"
["phar_oo_001.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_001.phpt"
+ string(%d) "%sphar_oo_001.phpt"
["phar_oo_002.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_002.phpt"
+ string(%d) "%sphar_oo_002.phpt"
["phar_oo_003.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_003.phpt"
+ string(%d) "%sphar_oo_003.phpt"
["phar_oo_004.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_004.phpt"
+ string(%d) "%sphar_oo_004.phpt"
["phar_oo_005.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_005.phpt"
+ string(%d) "%sphar_oo_005.phpt"
["phar_oo_006.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_006.phpt"
+ string(%d) "%sphar_oo_006.phpt"
["phar_oo_007.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_007.phpt"
+ string(%d) "%sphar_oo_007.phpt"
["phar_oo_008.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_008.phpt"
+ string(%d) "%sphar_oo_008.phpt"
["phar_oo_009.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_009.phpt"
+ string(%d) "%sphar_oo_009.phpt"
["phar_oo_010.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_010.phpt"
+ string(%d) "%sphar_oo_010.phpt"
["phar_oo_011.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_011.phpt"
+ string(%d) "%sphar_oo_011.phpt"
["phar_oo_012.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_012.phpt"
+ string(%d) "%sphar_oo_012.phpt"
["phar_oo_compressed_001.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_compressed_001.phpt"
+ string(%d) "%sphar_oo_compressed_001.phpt"
["phar_oo_compressed_002.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_compressed_002.phpt"
+ string(%d) "%sphar_oo_compressed_002.phpt"
["phpinfo_001.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_001.phpt"
+ string(%d) "%sphpinfo_001.phpt"
["phpinfo_002.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_002.phpt"
+ string(%d) "%sphpinfo_002.phpt"
["phpinfo_003.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_003.phpt"
+ string(%d) "%sphpinfo_003.phpt"
["phpinfo_004.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_004.phpt"
+ string(%d) "%sphpinfo_004.phpt"
["tar/tar_001.phpt"]=>
- %unicode|string%(%d) "%star%ctar_001.phpt"
+ string(%d) "%star%ctar_001.phpt"
["tar/tar_002.phpt"]=>
- %unicode|string%(%d) "%star%ctar_002.phpt"
+ string(%d) "%star%ctar_002.phpt"
["tar/tar_003.phpt"]=>
- %unicode|string%(%d) "%star%ctar_003.phpt"
+ string(%d) "%star%ctar_003.phpt"
["tar/tar_004.phpt"]=>
- %unicode|string%(%d) "%star%ctar_004.phpt"
+ string(%d) "%star%ctar_004.phpt"
["zip/corrupt_001.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_001.phpt"
+ string(%d) "%szip%ccorrupt_001.phpt"
["zip/corrupt_002.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_002.phpt"
+ string(%d) "%szip%ccorrupt_002.phpt"
["zip/corrupt_003.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_003.phpt"
+ string(%d) "%szip%ccorrupt_003.phpt"
["zip/corrupt_004.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_004.phpt"
+ string(%d) "%szip%ccorrupt_004.phpt"
["zip/corrupt_005.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_005.phpt"
+ string(%d) "%szip%ccorrupt_005.phpt"
["zip/corrupt_006.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_006.phpt"
+ string(%d) "%szip%ccorrupt_006.phpt"
["zip/corrupt_007.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_007.phpt"
+ string(%d) "%szip%ccorrupt_007.phpt"
["zip/corrupt_008.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_008.phpt"
+ string(%d) "%szip%ccorrupt_008.phpt"
["zip/corrupt_009.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_009.phpt"
+ string(%d) "%szip%ccorrupt_009.phpt"
["zip/corrupt_010.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_010.phpt"
+ string(%d) "%szip%ccorrupt_010.phpt"
}
===DONE===
Modified: php/php-src/branches/PHP_5_3/ext/phar/phar_object.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/phar/phar_object.c 2009-07-26 02:25:17 UTC (rev 286343)
+++ php/php-src/branches/PHP_5_3/ext/phar/phar_object.c 2009-07-26 02:43:14 UTC (rev 286344)
@@ -1669,7 +1669,21 @@
case SPL_FS_INFO:
case SPL_FS_FILE:
#if PHP_VERSION_ID >= 60000
- fname = expand_filepath(intern->file_name.s, NULL TSRMLS_CC);
+ if (intern->file_name_type == IS_UNICODE) {
+ zval zv;
+
+ INIT_ZVAL(zv);
+ Z_UNIVAL(zv) = intern->file_name;
+ Z_UNILEN(zv) = intern->file_name_len;
+ Z_TYPE(zv) = IS_UNICODE;
+
+ zval_copy_ctor(&zv);
+ zval_unicode_to_string(&zv TSRMLS_CC);
+ fname = expand_filepath(Z_STRVAL(zv), NULL TSRMLS_CC);
+ ezfree(Z_UNIVAL(zv));
+ } else {
+ fname = expand_filepath(intern->file_name.s, NULL TSRMLS_CC);
+ }
#else
fname = expand_filepath(intern->file_name, NULL TSRMLS_CC);
#endif
Modified: php/php-src/branches/PHP_5_3/ext/phar/tests/phar_buildfromiterator10.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/phar/tests/phar_buildfromiterator10.phpt 2009-07-26 02:25:17 UTC (rev 286343)
+++ php/php-src/branches/PHP_5_3/ext/phar/tests/phar_buildfromiterator10.phpt 2009-07-26 02:43:14 UTC (rev 286344)
@@ -31,74 +31,74 @@
--EXPECTF--
array(35) {
["phar_ctx_001.phpt"]=>
- %unicode|string%(%d) "%sphar_ctx_001.phpt"
+ string(%d) "%sphar_ctx_001.phpt"
["phar_get_supported_signatures_001.phpt"]=>
- %unicode|string%(%d) "%sphar_get_supported_signatures_001.phpt"
+ string(%d) "%sphar_get_supported_signatures_001.phpt"
["phar_get_supported_signatures_002.phpt"]=>
- %unicode|string%(%d) "%sphar_get_supported_signatures_002.phpt"
+ string(%d) "%sphar_get_supported_signatures_002.phpt"
["phar_oo_001.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_001.phpt"
+ string(%d) "%sphar_oo_001.phpt"
["phar_oo_002.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_002.phpt"
+ string(%d) "%sphar_oo_002.phpt"
["phar_oo_003.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_003.phpt"
+ string(%d) "%sphar_oo_003.phpt"
["phar_oo_004.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_004.phpt"
+ string(%d) "%sphar_oo_004.phpt"
["phar_oo_005.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_005.phpt"
+ string(%d) "%sphar_oo_005.phpt"
["phar_oo_006.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_006.phpt"
+ string(%d) "%sphar_oo_006.phpt"
["phar_oo_007.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_007.phpt"
+ string(%d) "%sphar_oo_007.phpt"
["phar_oo_008.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_008.phpt"
+ string(%d) "%sphar_oo_008.phpt"
["phar_oo_009.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_009.phpt"
+ string(%d) "%sphar_oo_009.phpt"
["phar_oo_010.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_010.phpt"
+ string(%d) "%sphar_oo_010.phpt"
["phar_oo_011.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_011.phpt"
+ string(%d) "%sphar_oo_011.phpt"
["phar_oo_012.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_012.phpt"
+ string(%d) "%sphar_oo_012.phpt"
["phar_oo_compressed_001.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_compressed_001.phpt"
+ string(%d) "%sphar_oo_compressed_001.phpt"
["phar_oo_compressed_002.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_compressed_002.phpt"
+ string(%d) "%sphar_oo_compressed_002.phpt"
["phpinfo_001.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_001.phpt"
+ string(%d) "%sphpinfo_001.phpt"
["phpinfo_002.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_002.phpt"
+ string(%d) "%sphpinfo_002.phpt"
["phpinfo_003.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_003.phpt"
+ string(%d) "%sphpinfo_003.phpt"
["phpinfo_004.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_004.phpt"
+ string(%d) "%sphpinfo_004.phpt"
["tar/tar_001.phpt"]=>
- %unicode|string%(%d) "%star%ctar_001.phpt"
+ string(%d) "%star%ctar_001.phpt"
["tar/tar_002.phpt"]=>
- %unicode|string%(%d) "%star%ctar_002.phpt"
+ string(%d) "%star%ctar_002.phpt"
["tar/tar_003.phpt"]=>
- %unicode|string%(%d) "%star%ctar_003.phpt"
+ string(%d) "%star%ctar_003.phpt"
["tar/tar_004.phpt"]=>
- %unicode|string%(%d) "%star%ctar_004.phpt"
+ string(%d) "%star%ctar_004.phpt"
["zip/corrupt_001.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_001.phpt"
+ string(%d) "%szip%ccorrupt_001.phpt"
["zip/corrupt_002.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_002.phpt"
+ string(%d) "%szip%ccorrupt_002.phpt"
["zip/corrupt_003.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_003.phpt"
+ string(%d) "%szip%ccorrupt_003.phpt"
["zip/corrupt_004.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_004.phpt"
+ string(%d) "%szip%ccorrupt_004.phpt"
["zip/corrupt_005.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_005.phpt"
+ string(%d) "%szip%ccorrupt_005.phpt"
["zip/corrupt_006.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_006.phpt"
+ string(%d) "%szip%ccorrupt_006.phpt"
["zip/corrupt_007.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_007.phpt"
+ string(%d) "%szip%ccorrupt_007.phpt"
["zip/corrupt_008.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_008.phpt"
+ string(%d) "%szip%ccorrupt_008.phpt"
["zip/corrupt_009.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_009.phpt"
+ string(%d) "%szip%ccorrupt_009.phpt"
["zip/corrupt_010.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_010.phpt"
+ string(%d) "%szip%ccorrupt_010.phpt"
}
===DONE===
Modified: php/php-src/trunk/ext/phar/phar_object.c
===================================================================
--- php/php-src/trunk/ext/phar/phar_object.c 2009-07-26 02:25:17 UTC (rev 286343)
+++ php/php-src/trunk/ext/phar/phar_object.c 2009-07-26 02:43:14 UTC (rev 286344)
@@ -1669,7 +1669,21 @@
case SPL_FS_INFO:
case SPL_FS_FILE:
#if PHP_VERSION_ID >= 60000
- fname = expand_filepath(intern->file_name.s, NULL TSRMLS_CC);
+ if (intern->file_name_type == IS_UNICODE) {
+ zval zv;
+
+ INIT_ZVAL(zv);
+ Z_UNIVAL(zv) = intern->file_name;
+ Z_UNILEN(zv) = intern->file_name_len;
+ Z_TYPE(zv) = IS_UNICODE;
+
+ zval_copy_ctor(&zv);
+ zval_unicode_to_string(&zv TSRMLS_CC);
+ fname = expand_filepath(Z_STRVAL(zv), NULL TSRMLS_CC);
+ ezfree(Z_UNIVAL(zv));
+ } else {
+ fname = expand_filepath(intern->file_name.s, NULL TSRMLS_CC);
+ }
#else
fname = expand_filepath(intern->file_name, NULL TSRMLS_CC);
#endif
Modified: php/php-src/trunk/ext/phar/tests/phar_buildfromiterator10.phpt
===================================================================
--- php/php-src/trunk/ext/phar/tests/phar_buildfromiterator10.phpt 2009-07-26 02:25:17 UTC (rev 286343)
+++ php/php-src/trunk/ext/phar/tests/phar_buildfromiterator10.phpt 2009-07-26 02:43:14 UTC (rev 286344)
@@ -31,74 +31,74 @@
--EXPECTF--
array(35) {
["phar_ctx_001.phpt"]=>
- %unicode|string%(%d) "%sphar_ctx_001.phpt"
+ string(%d) "%sphar_ctx_001.phpt"
["phar_get_supported_signatures_001.phpt"]=>
- %unicode|string%(%d) "%sphar_get_supported_signatures_001.phpt"
+ string(%d) "%sphar_get_supported_signatures_001.phpt"
["phar_get_supported_signatures_002.phpt"]=>
- %unicode|string%(%d) "%sphar_get_supported_signatures_002.phpt"
+ string(%d) "%sphar_get_supported_signatures_002.phpt"
["phar_oo_001.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_001.phpt"
+ string(%d) "%sphar_oo_001.phpt"
["phar_oo_002.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_002.phpt"
+ string(%d) "%sphar_oo_002.phpt"
["phar_oo_003.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_003.phpt"
+ string(%d) "%sphar_oo_003.phpt"
["phar_oo_004.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_004.phpt"
+ string(%d) "%sphar_oo_004.phpt"
["phar_oo_005.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_005.phpt"
+ string(%d) "%sphar_oo_005.phpt"
["phar_oo_006.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_006.phpt"
+ string(%d) "%sphar_oo_006.phpt"
["phar_oo_007.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_007.phpt"
+ string(%d) "%sphar_oo_007.phpt"
["phar_oo_008.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_008.phpt"
+ string(%d) "%sphar_oo_008.phpt"
["phar_oo_009.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_009.phpt"
+ string(%d) "%sphar_oo_009.phpt"
["phar_oo_010.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_010.phpt"
+ string(%d) "%sphar_oo_010.phpt"
["phar_oo_011.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_011.phpt"
+ string(%d) "%sphar_oo_011.phpt"
["phar_oo_012.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_012.phpt"
+ string(%d) "%sphar_oo_012.phpt"
["phar_oo_compressed_001.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_compressed_001.phpt"
+ string(%d) "%sphar_oo_compressed_001.phpt"
["phar_oo_compressed_002.phpt"]=>
- %unicode|string%(%d) "%sphar_oo_compressed_002.phpt"
+ string(%d) "%sphar_oo_compressed_002.phpt"
["phpinfo_001.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_001.phpt"
+ string(%d) "%sphpinfo_001.phpt"
["phpinfo_002.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_002.phpt"
+ string(%d) "%sphpinfo_002.phpt"
["phpinfo_003.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_003.phpt"
+ string(%d) "%sphpinfo_003.phpt"
["phpinfo_004.phpt"]=>
- %unicode|string%(%d) "%sphpinfo_004.phpt"
+ string(%d) "%sphpinfo_004.phpt"
["tar/tar_001.phpt"]=>
- %unicode|string%(%d) "%star%ctar_001.phpt"
+ string(%d) "%star%ctar_001.phpt"
["tar/tar_002.phpt"]=>
- %unicode|string%(%d) "%star%ctar_002.phpt"
+ string(%d) "%star%ctar_002.phpt"
["tar/tar_003.phpt"]=>
- %unicode|string%(%d) "%star%ctar_003.phpt"
+ string(%d) "%star%ctar_003.phpt"
["tar/tar_004.phpt"]=>
- %unicode|string%(%d) "%star%ctar_004.phpt"
+ string(%d) "%star%ctar_004.phpt"
["zip/corrupt_001.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_001.phpt"
+ string(%d) "%szip%ccorrupt_001.phpt"
["zip/corrupt_002.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_002.phpt"
+ string(%d) "%szip%ccorrupt_002.phpt"
["zip/corrupt_003.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_003.phpt"
+ string(%d) "%szip%ccorrupt_003.phpt"
["zip/corrupt_004.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_004.phpt"
+ string(%d) "%szip%ccorrupt_004.phpt"
["zip/corrupt_005.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_005.phpt"
+ string(%d) "%szip%ccorrupt_005.phpt"
["zip/corrupt_006.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_006.phpt"
+ string(%d) "%szip%ccorrupt_006.phpt"
["zip/corrupt_007.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_007.phpt"
+ string(%d) "%szip%ccorrupt_007.phpt"
["zip/corrupt_008.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_008.phpt"
+ string(%d) "%szip%ccorrupt_008.phpt"
["zip/corrupt_009.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_009.phpt"
+ string(%d) "%szip%ccorrupt_009.phpt"
["zip/corrupt_010.phpt"]=>
- %unicode|string%(%d) "%szip%ccorrupt_010.phpt"
+ string(%d) "%szip%ccorrupt_010.phpt"
}
===DONE===
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php