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