summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2012-10-17 17:23:37 +0200
committerAndrey Hristov <andrey@php.net>2012-10-17 17:23:37 +0200
commit7314ed535f93841ff2d2bca5e65afcb0f2b003bb (patch)
treebceec620f2cb1d5f255196e00ae7ea1187b41fe2
parentc50d732f7686352381d44926988aca194204433d (diff)
parentda541ff561e0ac6ac72d2efd8b785ecfeef868dc (diff)
downloadphp-git-7314ed535f93841ff2d2bca5e65afcb0f2b003bb.tar.gz
Merge branch 'PHP-5.3' of ssh://git.php.net/php-src into PHP-5.3
-rw-r--r--CODING_STANDARDS6
-rw-r--r--INSTALL202
-rw-r--r--NEWS96
-rw-r--r--README.RELEASE_PROCESS37
-rw-r--r--[-rwxr-xr-x]Zend/tests/array_type_hint_001.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug20240.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug20242.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug21478.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug21888.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug22725.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug24436.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug24884.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26077.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26166.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26229.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26281.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26696.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26697.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26698.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26801.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug26802.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug27268.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug27304.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug27598.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug27669.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug27798.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug28072.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug28377.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug28442.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug28444.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug29368.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug29505.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug29674.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug29896.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30080.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30140.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30161.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30162.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30346.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30394.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30519.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30707.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30725.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30791.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30820.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30828.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug30998.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug31102.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug31177-2.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug31177.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug31341.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug31525.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32226.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32252.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32290.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32296.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32322.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32428.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32596.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32660.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32799.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug32993.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33116.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33171.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33257.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33318.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33512.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33558.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33710.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33732.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33802.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33996.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug33999.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34045.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34062.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34064.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34065.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34137.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34199.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34260.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34358.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34467.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34518.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34617.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34678.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34786.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34879.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug34893.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35017.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35106.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35163.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35163_2.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35163_3.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35239.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35393.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35411.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35437.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35470.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35509.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35634.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug35655.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36006.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36037.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36071.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36214.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36268.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36303.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36513.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36568.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug36759.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37046.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37138.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37144.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37212.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37632.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37667.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37707.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37715.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug37811.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38047.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38146.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38211.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38220.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38234.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38287.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38623.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38772.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38808.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug38942.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39017.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39297.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39304.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39438.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39445.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39449.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39542.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39602.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39721.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39775.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39825.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39944.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug39990.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40236.inc0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40236.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40261.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40509.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40705.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40757.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40770.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40809.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug40833.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41117_1.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41372.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41401.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41633_1.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41633_2.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41633_3.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41633_4.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41929.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug41961.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug42772.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug42802.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug42819.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug42820.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug42859.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug42937.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug43027.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug43128.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug43175.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug43183.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug43201.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug44660.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug45178.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug45805.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug46304.phpt0
-rw-r--r--Zend/tests/bug51394.phpt6
-rw-r--r--Zend/tests/bug60909_1.phpt24
-rw-r--r--Zend/tests/bug60909_2.phpt20
-rw-r--r--Zend/tests/bug61442.phpt30
-rw-r--r--Zend/tests/bug61767.phpt34
-rw-r--r--Zend/tests/bug63111.phpt36
-rw-r--r--[-rwxr-xr-x]Zend/tests/bug_debug_backtrace.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/call_static.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/catch.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/catch_002.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/catch_003.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/catch_004.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/closure_016.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/closure_022.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/closure_023.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/closure_033.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/constants/dir-constant-eval.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/constants/dir-constant-includes.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/constants/dir-constant-nested_includes.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/constants/dir-constant-normal.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/constants_005.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/debug_backtrace_options.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/dtor_scope.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/exception_007.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/exception_008.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/instanceof.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/is_a.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump01.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump02.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump03.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump04.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump05.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump06.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump07.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump08.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump09.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/jump10.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/lsb_018.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/lsb_022.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/multibyte/multibyte_encoding_001.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/multibyte/multibyte_encoding_002.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/multibyte/multibyte_encoding_003.phptbin449 -> 449 bytes
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_001.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_002.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_003.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_004.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_005.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_006.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_007.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_008.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_009.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_010.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_011.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_012.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_013.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_014.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_015.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_016.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_017.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_018.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_019.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_020.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_021.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_022.inc0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_022.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_023.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_024.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_025.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_026.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_027.inc0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_027.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_028.inc0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_028.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_029.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_030.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_031.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_032.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_033.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_034.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_035.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_036.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_037.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_038.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_054.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_055.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_056.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_057.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_058.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_059.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_065.inc0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_065.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_075.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_076.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_1.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_2.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_3.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_4.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_5.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_6.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_7.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_077_8.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/ns_078.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/object_handlers.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/objects_015.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/selfParent_001.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/selfParent_002.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/unexpected_ref_bug.phpt0
-rw-r--r--[-rwxr-xr-x]Zend/tests/unset_cv12.phpt0
-rw-r--r--Zend/zend.c23
-rw-r--r--Zend/zend_API.c13
-rw-r--r--[-rwxr-xr-x]Zend/zend_build.h0
-rw-r--r--[-rwxr-xr-x]Zend/zend_interfaces.c0
-rw-r--r--[-rwxr-xr-x]Zend/zend_interfaces.h0
-rw-r--r--[-rwxr-xr-x]Zend/zend_iterators.c0
-rw-r--r--[-rwxr-xr-x]Zend/zend_iterators.h0
-rw-r--r--Zend/zend_object_handlers.c1
-rw-r--r--Zend/zend_operators.c3
-rw-r--r--Zend/zend_vm_def.h6
-rw-r--r--Zend/zend_vm_execute.h39
-rw-r--r--Zend/zend_vm_execute.skl2
-rw-r--r--Zend/zend_vm_gen.php7
-rw-r--r--configure.in2
-rw-r--r--[-rwxr-xr-x]ext/bcmath/tests/bcdiv_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/bcmath/tests/bcpowmod_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/bcmath/tests/bcpowmod_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/bcmath/tests/bcsqrt_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/com_dotnet/com_persist.c0
-rw-r--r--[-rwxr-xr-x]ext/com_dotnet/tests/27974.phpt0
-rw-r--r--ext/curl/multi.c3
-rw-r--r--ext/curl/streams.c4
-rw-r--r--ext/curl/tests/bug62839.phpt2
-rw-r--r--[-rwxr-xr-x]ext/curl/tests/curl_basic_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/curl/tests/curl_basic_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/curl/tests/curl_basic_008.phpt0
-rw-r--r--ext/date/lib/astro.c2
-rw-r--r--ext/date/lib/dow.c2
-rw-r--r--ext/date/lib/interval.c2
-rw-r--r--ext/date/lib/parse_date.c2
-rw-r--r--ext/date/lib/parse_date.re2
-rw-r--r--ext/date/lib/parse_iso_intervals.c2
-rw-r--r--ext/date/lib/parse_iso_intervals.re2
-rw-r--r--ext/date/lib/parse_tz.c2
-rw-r--r--ext/date/lib/timelib.c2
-rw-r--r--ext/date/lib/timelib.h2
-rw-r--r--ext/date/lib/timelib_structs.h2
-rw-r--r--ext/date/lib/timezonedb.h1200
-rw-r--r--ext/date/lib/tm2unixtime.c2
-rw-r--r--ext/date/lib/unixtime2tm.c2
-rw-r--r--ext/date/php_date.c16
-rw-r--r--[-rwxr-xr-x]ext/date/tests/bug55253.phpt0
-rw-r--r--ext/date/tests/bug62852.phpt33
-rw-r--r--[-rwxr-xr-x]ext/date/tests/strtotime-mysql.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dba/dba_db1.c0
-rw-r--r--[-rwxr-xr-x]ext/dba/dba_qdbm.c0
-rw-r--r--ext/dba/libcdb/cdb.c2
-rw-r--r--ext/dba/libcdb/cdb.h2
-rw-r--r--ext/dba/libcdb/cdb_make.c2
-rw-r--r--ext/dba/libcdb/cdb_make.h2
-rw-r--r--ext/dba/libcdb/uint32.c2
-rw-r--r--ext/dba/libcdb/uint32.h2
-rw-r--r--ext/dba/libflatfile/flatfile.c2
-rw-r--r--ext/dba/libflatfile/flatfile.h2
-rw-r--r--ext/dba/libinifile/inifile.c2
-rw-r--r--ext/dba/libinifile/inifile.h2
-rw-r--r--[-rwxr-xr-x]ext/dba/php_db1.h0
-rw-r--r--[-rwxr-xr-x]ext/dba/tests/bug36436.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dba/tests/bug38698.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dba/tests/dba009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dba/tests/dba_db1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dba/tests/dba_qdbm.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMAttr_ownerElement_error_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMAttr_value_basic_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMCharacterData_data_error_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMCharacterData_length_error_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidate_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidate_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidate_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidate_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidate_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/dom/tests/DOMDocument_schemaValidate_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/enchant/enchant.c0
-rw-r--r--[-rwxr-xr-x]ext/exif/tests/bug34704.phpt0
-rw-r--r--[-rwxr-xr-x]ext/exif/tests/bug60150.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/045.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/046.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/047.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/048.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/049.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/050.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/051.phpt0
-rw-r--r--[-rwxr-xr-x]ext/filter/tests/callback_closure.phpt0
-rw-r--r--[-rwxr-xr-x]ext/ftp/tests/ftp_alloc_basic1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/ftp/tests/ftp_alloc_basic2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/ftp/tests/ftp_chmod_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/ftp/tests/ftp_exec_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/ftp/tests/ftp_rmdir_basic.phpt0
-rw-r--r--ext/gd/gd.c5
-rw-r--r--ext/gd/libgd/xbm.c2
-rw-r--r--ext/gd/tests/bug43073.phpt5
-rw-r--r--ext/gd/tests/bug43073_1.phpt51
-rw-r--r--ext/gd/tests/bug48801.phpt5
-rw-r--r--ext/gd/tests/bug48801_1.phpt25
-rw-r--r--ext/gd/tests/func.inc61
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageantialias_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageantialias_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolorset_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecopymerge_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecopymerge_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error8.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error10.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error11.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error12.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error13.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error14.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error15.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error16.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error17.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error18.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error19.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error20.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error8.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error9.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error8.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagesetbrush_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/jpeg2wbmp_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/jpeg2wbmp_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/jpeg2wbmp_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/png2wbmp_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/png2wbmp_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/png2wbmp_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv-charset-length-cve-2007-4840.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv_mime_decode-charset-length-cve-2007-4840.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv_mime_decode_headers-charset-length-cve-2007-4840.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv_set_encoding-charset-length-cve-2007-4840.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv_strlen-charset-length-cve-2007-4840.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv_strpos-charset-length-cve-2007-4840.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv_strrpos-charset-length-cve-2007-4840.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/iconv_substr-charset-length-cve-2007-4783.phpt0
-rw-r--r--[-rwxr-xr-x]ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt0
-rw-r--r--ext/interbase/interbase.rc2
-rw-r--r--[-rwxr-xr-x]ext/interbase/php_ibase_includes.h0
-rw-r--r--[-rwxr-xr-x]ext/interbase/tests/008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/interbase/tests/interbase.inc0
-rw-r--r--[-rwxr-xr-x]ext/interbase/tests/skipif.inc0
-rw-r--r--ext/intl/collator/collator_class.h9
-rw-r--r--ext/intl/collator/collator_create.c2
-rw-r--r--ext/intl/dateformat/dateformat.c2
-rw-r--r--ext/intl/dateformat/dateformat_attr.c5
-rw-r--r--ext/intl/dateformat/dateformat_class.c23
-rw-r--r--ext/intl/dateformat/dateformat_class.h10
-rw-r--r--ext/intl/formatter/formatter_class.c25
-rw-r--r--ext/intl/formatter/formatter_class.h15
-rw-r--r--ext/intl/formatter/formatter_main.c2
-rw-r--r--ext/intl/msgformat/msgformat.c2
-rw-r--r--ext/intl/msgformat/msgformat_class.c24
-rw-r--r--ext/intl/msgformat/msgformat_class.h10
-rw-r--r--ext/intl/resourcebundle/resourcebundle_class.c9
-rw-r--r--ext/intl/resourcebundle/resourcebundle_class.h11
-rw-r--r--ext/intl/tests/bug62915-2.phpt29
-rw-r--r--ext/intl/tests/dateformat_clone_bad_obj.phpt20
-rw-r--r--ext/intl/tests/formatter_clone_bad_obj.phpt20
-rw-r--r--ext/intl/tests/locale_get_display_script2.phpt2
-rw-r--r--ext/intl/tests/msgfmt_clone_bad_obj.phpt20
-rw-r--r--[-rwxr-xr-x]ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/libmbfl/mbfl/mbfl_defs.h0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/oniguruma/enc/utf16_be.c0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/oniguruma/enc/utf16_le.c0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/oniguruma/enc/utf32_be.c0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/oniguruma/enc/utf32_le.c0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/oniguruma/regext.c0
-rw-r--r--[-rwxr-xr-x]ext/mbstring/tests/mb_ereg_search.phpt0
-rw-r--r--[-rwxr-xr-x]ext/mysql/tests/001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/mysql/tests/002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/mysql/tests/003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/mysql/tests/connect.inc0
-rw-r--r--ext/mysql/tests/mysql_field_flags.phpt8
-rw-r--r--[-rwxr-xr-x]ext/mysql/tests/mysql_pconn_kill.phpt0
-rw-r--r--ext/mysql/tests/mysql_stat.phpt4
-rw-r--r--[-rwxr-xr-x]ext/mysql/tests/skipif.inc0
-rw-r--r--[-rwxr-xr-x]ext/mysql/tests/skipifconnectfailure.inc0
-rw-r--r--ext/mysqli/mysqli_libmysql.h2
-rw-r--r--[-rwxr-xr-x]ext/mysqli/tests/bug38710.phpt0
-rw-r--r--ext/mysqli/tests/bug51647.phpt4
-rw-r--r--ext/mysqli/tests/bug55283.phpt4
-rw-r--r--ext/mysqli/tests/bug55859.phpt4
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_interface.phpt2
-rw-r--r--ext/mysqli/tests/mysqli_fetch_field_flags.phpt6
-rw-r--r--[-rwxr-xr-x]ext/mysqli/tests/mysqli_pconn_kill.phpt0
-rw-r--r--[-rwxr-xr-x]ext/mysqli/tests/mysqli_send_query.phpt0
-rw-r--r--[-rwxr-xr-x]ext/mysqli/tests/mysqli_set_local_infile_handler_closures.phpt0
-rw-r--r--[-rwxr-xr-x]ext/mysqli/tests/skipifconnectfailure.inc0
-rw-r--r--ext/oci8/config.m48
-rw-r--r--ext/oci8/package.xml29
-rw-r--r--[-rwxr-xr-x]ext/pcntl/pcntl.c0
-rw-r--r--[-rwxr-xr-x]ext/pcntl/tests/signal_closure_handler.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pcre/tests/bug34790.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pcre/tests/preg_filter.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pdo/pdo.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo/pdo_dbh.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo/pdo_stmt.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo/php_pdo.h0
-rw-r--r--[-rwxr-xr-x]ext/pdo/php_pdo_driver.h0
-rw-r--r--[-rwxr-xr-x]ext/pdo/php_pdo_int.h0
-rw-r--r--[-rwxr-xr-x]ext/pdo/tests/bug_36428.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pdo/tests/pdo.inc0
-rw-r--r--[-rwxr-xr-x]ext/pdo/tests/pdo_016a.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pdo/tests/pdo_029.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pdo/tests/pdo_030.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pdo/tests/pdo_031.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pdo_mysql/mysql_driver.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_mysql/mysql_statement.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_mysql/pdo_mysql.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_mysql/php_pdo_mysql.h0
-rw-r--r--[-rwxr-xr-x]ext/pdo_mysql/php_pdo_mysql_int.h0
-rw-r--r--ext/pdo_mysql/tests/pdo_mysql_attr_server_info.phpt2
-rw-r--r--[-rwxr-xr-x]ext/pdo_mysql/tests/skipif.inc0
-rw-r--r--[-rwxr-xr-x]ext/pdo_oci/oci_driver.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_oci/oci_statement.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_oci/pdo_oci.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_oci/php_pdo_oci.h0
-rw-r--r--[-rwxr-xr-x]ext/pdo_oci/php_pdo_oci_int.h0
-rw-r--r--[-rwxr-xr-x]ext/pdo_odbc/odbc_driver.c2
-rw-r--r--[-rwxr-xr-x]ext/pdo_odbc/odbc_stmt.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_odbc/pdo_odbc.c0
-rw-r--r--[-rwxr-xr-x]ext/pdo_odbc/php_pdo_odbc_int.h0
-rw-r--r--[-rwxr-xr-x]ext/pgsql/tests/22pg_fetch_object.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pgsql/tests/80_bug24499.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pgsql/tests/80_bug27597.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pgsql/tests/80_bug32223.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pgsql/tests/80_bug32223b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/pgsql/tests/80_bug36625.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/phar/clicommand.inc0
-rw-r--r--[-rwxr-xr-x]ext/phar/phar/directorygraphiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/phar/phar/directorytreeiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/phar/phar/invertedregexiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/phar/phar/phar.inc0
-rw-r--r--[-rwxr-xr-x]ext/phar/phar/pharcommand.inc0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/003a.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/015b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/016b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/019b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/019c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/023.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/024.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/025.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/026.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/027.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/028.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/029.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/030.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/031.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/032.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/create_new_and_modify.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/create_new_phar_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/create_new_phar_c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/create_path_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/delete_in_phar_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/metadata_write.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/metadata_write_commit.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/open_for_write_existing_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/open_for_write_existing_c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/open_for_write_newfile_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/open_for_write_newfile_c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_begin_setstub_commit.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_offset_get_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_011b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_012b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_compressed_001b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_compressed_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_oo_compressed_002b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_stub_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_stub_write.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/phar_stub_write_file.phpt0
-rw-r--r--ext/phar/tests/phpinfo_003.phpt2
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/refcount1_5_2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/rename_dir_and_mount.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/tar/open_for_write_existing_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/tar/open_for_write_existing_c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/tar/open_for_write_newfile_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/tar/open_for_write_newfile_c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/tar/phar_begin_setstub_commit.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/tar/phar_stub_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/tar/refcount1_5_2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/zip/open_for_write_existing_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/zip/open_for_write_existing_c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/zip/open_for_write_newfile_b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/zip/open_for_write_newfile_c.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/zip/phar_begin_setstub_commit.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/zip/phar_stub_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/phar/tests/zip/refcount1_5_2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/014.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/015.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/016.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/017.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/018.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/019.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/020.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/021.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/022.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/023.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/024.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug26640.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug26695.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug29268.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug29523.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug29828.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug30146.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug30148.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug30209.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug30856.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug30961.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug31651.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug32981.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug33312.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug33389.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug36308.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug37816.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug38132.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug38194.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug38942.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/bug41061.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/closures_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/closures_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/parameters_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/parameters_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/property_exists.phpt0
-rw-r--r--[-rwxr-xr-x]ext/reflection/tests/static_properties_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/session/tests/save_handler_closures.inc0
-rw-r--r--[-rwxr-xr-x]ext/session/tests/session_set_save_handler_closures.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/php_simplexml_exports.h0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/sxe.c0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/sxe.h0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/000.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/009b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/014a.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/014b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/016a.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/019.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/020.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/022.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/023.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/024.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/025.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/026.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/027.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/028.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/029.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/032.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/033.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/034.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/bug27010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/bug35785.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/bug37565.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/profile12.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/profile13.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/simplexml_import_dom.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/sxe_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/sxe_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/sxe_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/sxe_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/simplexml/tests/sxe_005.phpt0
-rw-r--r--ext/soap/php_encoding.c7
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/any.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug32941.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug34449.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug34453.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug34643.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug34657.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug35142.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug35273.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug36226-2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug36226.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug36575.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug36614.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug36629.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug36908.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug36999.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug37013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug37083.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug37278.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug38004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug38005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug38055.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug38067.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug38536.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug39121.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug39815.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug39832.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug40609.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug41004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug41097.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug41337.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug41337_2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug41566.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42086.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42151.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42183.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42214.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42326.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42359.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42488.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/bugs/bug42692.phpt0
-rw-r--r--ext/soap/tests/bugs/bug50997.phpt16
-rw-r--r--ext/soap/tests/bugs/bug50997.wsdl54
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/classmap003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/classmap004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/schema/schema082.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/schema/schema083.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/schema/schema084.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/schema/schema085.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/server022.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/server023.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/server024.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/server025.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/server026.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/server027.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/server028.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/setheaders.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/soap/tests/typemap013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/autoload.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/callbackfilteriterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/dbaarray.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/dbareader.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/directoryfilterdots.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/directorytree.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/dualiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/findfile.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/inigroups.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/keyfilter.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/recursivecomparedualiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/recursivedualiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/regexfindfile.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/searchiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/tests/dualiterator_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/examples/tests/examples.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/appenditerator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/cachingiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/emptyiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/filteriterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/infiniteiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/iteratoriterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/limititerator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/multipleiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/norewinditerator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/outeriterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/parentiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/recursivearrayiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/recursivecachingiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/recursivefilteriterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/recursiveiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/recursiveiteratoriterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/recursiveregexiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/recursivetreeiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/regexiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/seekableiterator.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/splfileobject.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/internal/splobjectstorage.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/php_spl.c0
-rw-r--r--[-rwxr-xr-x]ext/spl/php_spl.h0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_array.c70
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_array.h0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_directory.c0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_directory.h0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_engine.c0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_engine.h0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_exceptions.c0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_exceptions.h0
-rw-r--r--ext/spl/spl_fixedarray.c12
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_functions.c0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_functions.h0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_iterators.c0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_iterators.h0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_observer.c0
-rw-r--r--[-rwxr-xr-x]ext/spl/spl_observer.h0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_009a.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_014.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_015.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_016.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_017.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_018.phptbin633 -> 633 bytes
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_019.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_020.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_021.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/array_022.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug28822.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug31185.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug31346.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug31348.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug31926.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug32134.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug32394.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug33136.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug36287.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug36941.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug37457.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug40442.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug40872.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug42654.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug42703.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug49972.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/bug60082.phpt0
-rw-r--r--ext/spl/tests/bug62904.phpt19
-rw-r--r--ext/spl/tests/bug62978.phpt50
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/dit_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/dit_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/dit_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/fileobject_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/fileobject_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/fileobject_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_014.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_015.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_016.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_017.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_018.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_019.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_020.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_021.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_022.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_023.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_024.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_025.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_026.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_027.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_028.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_029.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_030.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_031.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_032.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_033.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_034.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_036.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_037.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_038.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_039.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_040.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_041.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_041a.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_041b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_042.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_043.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_044.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_045.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_046.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_047.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_048.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_049.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_049b.phptbin633 -> 633 bytes
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_050.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_051.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_052.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_053.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_054.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_055.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/iterator_068.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/multiple_iterator_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/observer_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/observer_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/observer_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/observer_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/observer_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/observer_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/recursive_tree_iterator_008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_autoload_012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_iterator_apply_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_iterator_apply_error_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/spl_iterator_to_array_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/testclass.class.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/testclass.inc0
-rw-r--r--[-rwxr-xr-x]ext/spl/tests/testclass.php.inc0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/libsqlite/src/config_static.w32.h0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/blankdb_oo.inc0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/bug28112.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_014.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_015.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_016.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_017.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_018.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_019.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_022.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_024.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_025.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_026.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_027.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_closures_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_closures_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_008.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_009.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_010.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_014.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_015.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_016.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_020.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_021.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_022.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_024.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_025.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_026.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_027.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_028.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_029.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_oo_030.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_spl_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_spl_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/sqlite/tests/sqlite_spl_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/array_combine.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/array_diff_assoc.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/array_fill_keys.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug21918.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug29253.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug30266.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug31158.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug33940.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug33989.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug34227.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/bug34982.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/prev_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/prev_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/prev_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/prev_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/prev_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/prev_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/array/unexpected_array_mod_bug.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/assert/assert_closures.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/class_object/forward_static_call_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/class_object/forward_static_call_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/class_object/forward_static_call_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/bug39367.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/bug43216.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/bug43248.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/fflush_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/fflush_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/fflush_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/fflush_variation3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/fflush_variation4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/fputcsv.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/glob_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/glob_variation.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/include_userstream_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/include_userstream_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/lstat_stat_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/lstat_stat_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/lstat_stat_variation3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/lstat_stat_variation4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/lstat_stat_variation5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/lstat_stat_variation6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/realpath_basic4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/rename_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/rename_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/stream_rfc2397_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/stream_rfc2397_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/stream_rfc2397_003.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/stream_rfc2397_004.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/stream_rfc2397_005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/stream_rfc2397_006.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/stream_rfc2397_007.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/umask_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/file/umask_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/bug25038.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/bug35229.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/bug36011.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/bug40398.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/bug44461.phpt0
-rw-r--r--ext/standard/tests/general_functions/bug60723.phpt19
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/call_user_func_return.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/closures_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/closures_002.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/dl-cve-2007-4887.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation10.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation11.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation12.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation13.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation14.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation8.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/getservbyname_variation9.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/general_functions/ob_start_closures.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/image/image_type_to_mime_type_variation3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/math/bug27646.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/math/bug28228.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/math/bug30069.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/network/shutdown.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/serialize/005.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/serialize/bug26762.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/serialize/bug30234.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/serialize/bug31442.phpt0
-rw-r--r--ext/standard/tests/serialize/bug35895.phpt24
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/serialize/bug37947.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/serialize/bug42919.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/serialize/unserializeS.phpt0
-rw-r--r--ext/standard/tests/streams/bug63240.phpt17
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/htmlentities-utf-2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/htmlentities-utf.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/moneyformat.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/printf.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/printf_64bit.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/sprintf_f.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/sprintf_f_2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/strings/sprintf_f_3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/standard/tests/time/bug38524.phpt0
-rw-r--r--ext/standard/url_scanner_ex.c2
-rw-r--r--ext/standard/url_scanner_ex.re2
-rw-r--r--ext/standard/var.c8
-rw-r--r--[-rwxr-xr-x]ext/standard/winver.h0
-rw-r--r--[-rwxr-xr-x]ext/wddx/tests/bug27287.phpt0
-rw-r--r--[-rwxr-xr-x]ext/wddx/tests/bug34306.phpt0
-rw-r--r--[-rwxr-xr-x]ext/wddx/tests/bug35410.phpt0
-rw-r--r--[-rwxr-xr-x]ext/wddx/tests/bug35410_64bit.phpt0
-rw-r--r--[-rwxr-xr-x]ext/wddx/tests/bug37569.phpt0
-rw-r--r--[-rwxr-xr-x]ext/wddx/tests/bug37587.phpt0
-rw-r--r--[-rwxr-xr-x]ext/xml/tests/bug26614_libxml.phpt0
-rw-r--r--[-rwxr-xr-x]ext/xml/tests/bug32001b.phpt0
-rw-r--r--[-rwxr-xr-x]ext/xml/tests/xml_closures_001.phpt0
-rw-r--r--[-rwxr-xr-x]ext/xmlreader/tests/012.phpt0
-rw-r--r--[-rwxr-xr-x]ext/xmlreader/tests/013.phpt0
-rw-r--r--[-rwxr-xr-x]ext/xsl/tests/bug33853.phpt0
-rw-r--r--ext/zlib/tests/bug_52944-darwin.phpt24
-rw-r--r--ext/zlib/tests/bug_52944-win.phpt24
-rw-r--r--ext/zlib/tests/bug_52944.phpt189
-rw-r--r--ext/zlib/tests/bug_52944_corrupted_data.inc142
-rw-r--r--main/main.c10
-rw-r--r--[-rwxr-xr-x]main/php_streams.h0
-rw-r--r--main/php_version.h6
-rw-r--r--[-rwxr-xr-x]main/streams/glob_wrapper.c0
-rw-r--r--[-rwxr-xr-x]main/streams/php_stream_glob_wrapper.h0
-rw-r--r--[-rwxr-xr-x]main/streams/streams.c12
-rw-r--r--netware/start.c2
-rw-r--r--[-rwxr-xr-x]sapi/cli/tests/003-2.phpt0
-rw-r--r--sapi/fpm/config.m42
-rw-r--r--sapi/fpm/fpm/fastcgi.c2
-rw-r--r--sapi/fpm/fpm/fastcgi.h2
-rw-r--r--sapi/fpm/fpm/fpm.c6
-rw-r--r--sapi/fpm/fpm/fpm.h4
-rw-r--r--sapi/fpm/fpm/fpm_conf.c11
-rw-r--r--sapi/fpm/fpm/fpm_conf.h2
-rw-r--r--sapi/fpm/fpm/fpm_main.c40
-rw-r--r--sapi/fpm/fpm/fpm_signals.c12
-rw-r--r--sapi/fpm/fpm/fpm_signals.h3
-rw-r--r--sapi/fpm/fpm/fpm_status.c18
-rw-r--r--sapi/fpm/fpm/fpm_unix.c91
-rw-r--r--sapi/fpm/init.d.php-fpm.in4
-rw-r--r--sapi/fpm/php-fpm.8.in23
-rw-r--r--sapi/fpm/php-fpm.service.in12
-rw-r--r--sapi/litespeed/lsapi_main.c6
-rw-r--r--sapi/litespeed/lsapidef.h2
-rw-r--r--sapi/litespeed/lsapilib.c2
-rw-r--r--sapi/litespeed/lsapilib.h2
-rw-r--r--[-rwxr-xr-x]tests/basic/bug29971.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/__call_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/__set__get_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/__set__get_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/__set__get_004.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/__set__get_005.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/abstract_by_interface_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/abstract_by_interface_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/abstract_user_call.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_005.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_007.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_008.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_009.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_010.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_011.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_012.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/array_access_013.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/autoload_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/autoload_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/autoload_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/autoload_004.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/autoload_005.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/autoload_006.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/class_abstract.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/class_final.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/class_stdclass.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/clone_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/clone_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/clone_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/clone_004.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/clone_005.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/clone_006.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/ctor_failure.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/ctor_in_interface_01.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/ctor_in_interface_02.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/ctor_in_interface_03.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/ctor_in_interface_04.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/ctor_visibility.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_and_echo.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_and_exceptions.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_and_globals.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_and_references.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_inheritance.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_visibility_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_visibility_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/destructor_visibility_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_004.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_005.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_006.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_007.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_008.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_009.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/factory_and_singleton_010.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/final_ctor1.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/final_ctor2.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/inheritance_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/inheritance_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/inheritance_004.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/interface_and_extends.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/interface_optional_arg.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/interfaces_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/iterators_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/iterators_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/iterators_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/iterators_004.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/iterators_005.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/iterators_007.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/private_members.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/private_redeclare.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/serialize_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/static_properties_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/static_this.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/this.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/tostring_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/tostring_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/tostring_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/type_hinting_002.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/type_hinting_003.phpt0
-rw-r--r--[-rwxr-xr-x]tests/classes/visibility_005.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/015.inc0
-rw-r--r--[-rwxr-xr-x]tests/lang/016.inc0
-rw-r--r--[-rwxr-xr-x]tests/lang/023-1.inc0
-rw-r--r--[-rwxr-xr-x]tests/lang/023-2.inc0
-rw-r--r--[-rwxr-xr-x]tests/lang/036.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/037.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/038.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/039.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/040.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug23524.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug24499.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug24640.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug24652.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug24908.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug25145.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug25547.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug25652.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug25922.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug27439.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug29566.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug29893.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug29944.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug35176.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug35382.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug38579.inc0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug38579.phpt0
-rw-r--r--[-rwxr-xr-x]tests/lang/bug44654.phpt0
-rw-r--r--tests/lang/compare_objects_basic2.phpt8
-rw-r--r--[-rwxr-xr-x]tests/lang/foreach_with_object_001.phpt0
-rw-r--r--[-rwxr-xr-x]tests/strings/bug22592.phpt0
-rw-r--r--win32/build/deplister.c2
-rw-r--r--win32/build/libs_version.txt14
-rw-r--r--win32/build/template.rc2
-rw-r--r--[-rwxr-xr-x]win32/globals.c0
-rw-r--r--[-rwxr-xr-x]win32/php_win32_globals.h0
-rw-r--r--win32/registry.c9
1316 files changed, 2199 insertions, 1153 deletions
diff --git a/CODING_STANDARDS b/CODING_STANDARDS
index ae8ee04190..7413be453c 100644
--- a/CODING_STANDARDS
+++ b/CODING_STANDARDS
@@ -2,11 +2,11 @@
PHP Coding Standards
========================
-This file lists several standards that any programmer, adding or changing
-code in PHP, should follow. Since this file was added at a very late
+This file lists several standards that any programmer adding or changing
+code in PHP should follow. Since this file was added at a very late
stage of the development of PHP v3.0, the code base does not (yet) fully
follow it, but it's going in that general direction. Since we are now
-well into the version 4 releases, many sections have been recoded to use
+well into version 5 releases, many sections have been recoded to use
these rules.
Code Implementation
diff --git a/INSTALL b/INSTALL
index b493f3c29b..c0cbe5f2c1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -24,6 +24,7 @@ Installing PHP
+ Installing a PHP extension on Windows
+ Compiling shared PECL extensions with the pecl command
+ Compiling shared PECL extensions with phpize
+ + php-config
+ Compiling PECL extensions statically into PHP
* Problems?
+ Read the FAQ
@@ -83,7 +84,7 @@ General Installation Considerations
With PHP you can also write desktop GUI applications using the PHP-GTK
extension. This is a completely different approach than writing web
pages, as you do not output any HTML, but manage windows and objects
- within them. For more information about PHP-GTK, please » visit the
+ within them. For more information about PHP-GTK, please » visit the
site dedicated to this extension. PHP-GTK is not included in the
official PHP distribution.
@@ -92,9 +93,9 @@ General Installation Considerations
will also find information on the command line executable in the
following sections.
- PHP source code and binary distributions for Windows can be found at »
- http://www.php.net/downloads.php. We recommend you to choose a » mirror
- nearest to you for downloading the distributions.
+ PHP source code and binary distributions for Windows can be found at
+ » http://www.php.net/downloads.php. We recommend you to choose a
+ » mirror nearest to you for downloading the distributions.
__________________________________________________________________
__________________________________________________________________
@@ -140,9 +141,9 @@ Table of Contents
* A web server
* Any module specific components (such as GD, PDF libs, etc.)
- When building directly from SVN sources or after custom modifications
+ When building directly from Git sources or after custom modifications
you might also need:
- * autoconf: 2.13
+ * autoconf: 2.13+ (for PHP < 5.4.0), 2.59+ (for PHP >= 5.4.0)
* automake: 1.4+
* libtool: 1.4.x+ (except 1.4.2)
* re2c: Version 0.13.4 or newer
@@ -375,12 +376,12 @@ Apache 2.x on Unix systems
For information on why, read the related FAQ entry on using Apache2
with a threaded MPM
- The » Apache Documentation is the most authoritative source of
+ The » Apache Documentation is the most authoritative source of
information on the Apache 2.x server. More information about
installation options for Apache may be found there.
- The most recent version of Apache HTTP Server may be obtained from »
- Apache download site, and a fitting PHP version from the above
+ The most recent version of Apache HTTP Server may be obtained from
+ » Apache download site, and a fitting PHP version from the above
mentioned places. This quick guide covers only the basics to get
started with Apache 2.x and PHP. For more information read the » Apache
Documentation. The version numbers have been omitted here, to ensure
@@ -498,7 +499,7 @@ service httpd restart
This should not be undertaken without being aware of the consequences
of this decision, and having at least a fair understanding of the
- implications. The Apache documentation regarding » MPM-Modules
+ implications. The Apache documentation regarding » MPM-Modules
discusses MPMs in a great deal more detail.
Note:
@@ -520,7 +521,7 @@ Lighttpd 1.4 on Unix systems
This section contains notes and hints specific to Lighttpd 1.4 installs
of PHP on Unix systems.
- Please use the » Lighttpd trac to learn how to install Lighttpd
+ Please use the » Lighttpd trac to learn how to install Lighttpd
properly before continuing.
Fastcgi is the preferred SAPI to connect PHP and Lighttpd. Fastcgi is
@@ -627,15 +628,15 @@ Sun, iPlanet and Netscape servers on Sun Solaris
current web servers read the note about subrequests.
You can find more information about setting up PHP for the Netscape
- Enterprise Server (NES) here: »
- http://benoit.noss.free.fr/php/install-php4.html
+ Enterprise Server (NES) here:
+ » http://benoit.noss.free.fr/php/install-php4.html
To build PHP with Sun JSWS/Sun ONE WS/iPlanet/Netscape web servers,
enter the proper install directory for the --with-nsapi=[DIR] option.
The default directory is usually /opt/netscape/suitespot/. Please also
read /php-xxx-version/sapi/nsapi/nsapi-readme.txt.
- 1. Install the following packages from » http://www.sunfreeware.com/
+ 1. Install the following packages from » http://www.sunfreeware.com/
or another download site:
+ autoconf-2.13
+ automake-1.4
@@ -837,7 +838,7 @@ Testing
Using Variables
Some server supplied environment variables are not defined in the
- current » CGI/1.1 specification. Only the following variables are
+ current » CGI/1.1 specification. Only the following variables are
defined there: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE,
GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING,
REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD,
@@ -855,20 +856,20 @@ HP-UX specific installation notes
There are two main options for installing PHP on HP-UX systems. Either
compile it, or install a pre-compiled binary.
- Official pre-compiled packages are located here: »
- http://software.hp.com/
+ Official pre-compiled packages are located here:
+ » http://software.hp.com/
Until this manual section is rewritten, the documentation about
compiling PHP (and related extensions) on HP-UX systems has been
- removed. For now, consider reading the following external resource: »
- Building Apache and PHP on HP-UX 11.11
+ removed. For now, consider reading the following external resource:
+ » Building Apache and PHP on HP-UX 11.11
__________________________________________________________________
__________________________________________________________________
OpenBSD installation notes
- This section contains notes and hints specific to installing PHP on »
- OpenBSD 3.6.
+ This section contains notes and hints specific to installing PHP on
+ » OpenBSD 3.6.
Using Binary Packages
@@ -900,12 +901,12 @@ Using Binary Packages
(install the PEAR libraries)
# pkg_add php4-pear-4.3.8.tgz
- Read the » packages(7) manual page for more information about binary
+ Read the » packages(7) manual page for more information about binary
packages on OpenBSD.
Using Ports
- You can also compile up PHP from source using the » ports tree.
+ You can also compile up PHP from source using the » ports tree.
However, this is only recommended for users familiar with OpenBSD. The
PHP 4 port is split into two sub-directories: core and extensions. The
extensions directory generates sub-packages for all of the supported
@@ -926,7 +927,7 @@ Common Problems
automatically installs into the correct chroot directories, so no
special modification is needed there. More information on the
OpenBSD Apache is available in the » OpenBSD FAQ.
- * The OpenBSD 3.6 package for the » gd extension requires XFree86 to
+ * The OpenBSD 3.6 package for the » gd extension requires XFree86 to
be installed. If you do not wish to use some of the font features
that require X11, install the php4-gd-4.3.8-no_x11.tgz package
instead.
@@ -951,18 +952,26 @@ Required software
Solaris installs often lack C compilers and their related tools. Read
this FAQ for information on why using GNU versions for some of these
- tools is necessary. The required software is as follows:
+ tools is necessary.
+
+ For unpacking the PHP distribution you need
+ * tar
+ * gzip or
+ * bzip2
+
+ For compiling PHP you need
* gcc (recommended, other C compilers may work)
* make
- * flex
+ * GNU sed
+
+ For building extra extensions or hacking the code of PHP you might also
+ need
+ * flex (up to PHP 5.2)
+ * re2c
* bison
* m4
* autoconf
* automake
- * perl
- * gzip
- * tar
- * GNU sed
In addition, you will need to install (and possibly compile) any
additional software specific to your configuration, such as Oracle or
@@ -971,14 +980,16 @@ Required software
Using Packages
You can simplify the Solaris install process by using pkgadd to install
- most of your needed components.
+ most of your needed components. The Image Packaging System (IPS) for
+ Solaris 11 Express also contains most of the required components for
+ installation using the pkg command.
__________________________________________________________________
__________________________________________________________________
Debian GNU/Linux installation notes
- This section contains notes and hints specific to installing PHP on »
- Debian GNU/Linux.
+ This section contains notes and hints specific to installing PHP on
+ » Debian GNU/Linux.
Warning
Unofficial builds from third-parties are not supported here. Any bugs
@@ -1205,6 +1216,7 @@ Table of Contents
* Installing a PHP extension on Windows
* Compiling shared PECL extensions with the pecl command
* Compiling shared PECL extensions with phpize
+ * php-config
* Compiling PECL extensions statically into PHP
__________________________________________________________________
@@ -1227,8 +1239,8 @@ Introduction to PECL Installations
To this php.ini file, or through the use of the dl() function.
When building PHP modules, it's important to have known-good versions
- of the required tools (autoconf, automake, libtool, etc.) See the »
- Anonymous SVN Instructions for details on the required tools, and
+ of the required tools (autoconf, automake, libtool, etc.) See the
+ » Anonymous Git Instructions for details on the required tools, and
required versions.
__________________________________________________________________
__________________________________________________________________
@@ -1247,7 +1259,7 @@ Downloading PECL extensions
the PECL web site are available for download and installation using
the » pecl command. Specific revisions may also be specified.
* SVN Most PECL extensions also reside in SVN. A web-based view may
- be seen at » http://svn.php.net/viewvc/pecl/. To download straight
+ be seen at » http://svn.php.net/viewvc/pecl/. To download straight
from SVN, the following sequence of commands may be used:
$ svn checkout http://svn.php.net/repository/pecl/extname/trunk
extname
@@ -1279,7 +1291,7 @@ Where to find an extension?
PHP extensions are usually called "php_*.dll" (where the star
represents the name of the extension) and they are located under the
- "PHP\ext" ("PHP\extensions" in PHP4) folder.
+ "PHP\ext" ("PHP\extensions" in PHP 4) folder.
PHP ships with the extensions most useful to the majority of
developers. They are called "core" extensions.
@@ -1365,7 +1377,7 @@ Resolving problems
Compiling shared PECL extensions with the pecl command
- PECL makes it easy to create shared PHP extensions. Using the » pecl
+ PECL makes it easy to create shared PHP extensions. Using the » pecl
command, do the following:
$ pecl install extname
@@ -1424,6 +1436,51 @@ $ make
__________________________________________________________________
__________________________________________________________________
+php-config
+
+ php-config is a simple shell script for obtaining information about the
+ installed PHP configuration.
+
+ When compiling extensions, if you have multiple PHP versions installed,
+ you may specify for which installation you'd like to build by using the
+ --with-php-config option during configuration, specifying the path of
+ the respective php-config script.
+
+ The list of command line options provided by the php-config script can
+ be queried anytime by running php-config with the -h switch:
+Usage: /usr/local/bin/php-config [OPTION]
+Options:
+ --prefix [...]
+ --includes [...]
+ --ldflags [...]
+ --libs [...]
+ --extension-dir [...]
+ --include-dir [...]
+ --php-binary [...]
+ --php-sapis [...]
+ --configure-options [...]
+ --version [...]
+ --vernum [...]
+
+ CAPTION: Command line options
+
+ Option Description
+ --prefix Directory prefix where PHP is installed, e.g. /usr/local
+ --includes List of -I options with all include files
+ --ldflags LD Flags which PHP was compiled with
+ --libs Extra libraries which PHP was compiled with
+ --extension-dir Directory where extensions are searched by default
+ --include-dir Directory prefix where header files are installed by
+ default
+ --php-binary Full path to php CLI or CGI binary
+ --php-sapis Show all SAPI modules available
+ --configure-options Configure options to recreate configuration of
+ current PHP installation
+ --version PHP version
+ --vernum PHP version as integer
+ __________________________________________________________________
+ __________________________________________________________________
+
Compiling PECL extensions statically into PHP
You might find that you need to build a PECL extension statically into
@@ -1485,11 +1542,11 @@ Other problems
If you are still stuck, someone on the PHP installation mailing list
may be able to help you. You should check out the archive first, in
case someone already answered someone else who had the same problem as
- you. The archives are available from the support page on »
- http://www.php.net/support.php. To subscribe to the PHP installation
- mailing list, send an empty mail to »
- php-install-subscribe@lists.php.net. The mailing list address is »
- php-install@lists.php.net.
+ you. The archives are available from the support page on
+ » http://www.php.net/support.php. To subscribe to the PHP installation
+ mailing list, send an empty mail to
+ » php-install-subscribe@lists.php.net. The mailing list address is
+ » php-install@lists.php.net.
If you want to get help on the mailing list, please try to be precise
and give the necessary details about your environment (which operating
@@ -1504,11 +1561,11 @@ Bug reports
If you think you have found a bug in PHP, please report it. The PHP
developers probably don't know about it, and unless you report it,
chances are it won't be fixed. You can report bugs using the
- bug-tracking system at » http://bugs.php.net/. Please do not send bug
+ bug-tracking system at » http://bugs.php.net/. Please do not send bug
reports in mailing list or personal letters. The bug system is also
suitable to submit feature requests.
- Read the » How to report a bug document before submitting any bug
+ Read the » How to report a bug document before submitting any bug
reports!
__________________________________________________________________
__________________________________________________________________
@@ -1528,14 +1585,14 @@ The configuration file
The configuration file (php.ini) is read when PHP starts up. For the
server module versions of PHP, this happens only once when the web
- server is started. For the CGI and CLI version, it happens on every
+ server is started. For the CGI and CLI versions, it happens on every
invocation.
- php.ini is searched in these locations (in order):
+ php.ini is searched for in these locations (in order):
* SAPI module specific location (PHPIniDir directive in Apache 2, -c
command line option in CGI and CLI, php_ini parameter in NSAPI,
PHP_INI_PATH environment variable in THTTPD)
- * The PHPRC environment variable. Before PHP 5.2.0 this was checked
+ * The PHPRC environment variable. Before PHP 5.2.0, this was checked
after the registry key mentioned below.
* As of PHP 5.2.0, the location of the php.ini file can be set for
different versions of PHP. The following registry keys are examined
@@ -1543,33 +1600,33 @@ The configuration file
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] and
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], where x, y and z mean the PHP
major, minor and release versions. If there is a value for
- IniFilePath in these keys, then the first one found will be used as
- the location of the php.ini (Windows only).
+ IniFilePath in any of these keys, the first one found will be used
+ as the location of the php.ini (Windows only).
* [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], value of IniFilePath (Windows
only).
- * Current working directory (except CLI)
+ * Current working directory (except CLI).
* The web server's directory (for SAPI modules), or directory of PHP
- (otherwise in Windows)
+ (otherwise in Windows).
* Windows directory (C:\windows or C:\winnt) (for Windows), or
- --with-config-file-path compile time option
+ --with-config-file-path compile time option.
- If php-SAPI.ini exists (where SAPI is used SAPI, so the filename is
- e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini. SAPI
- name can be determined by php_sapi_name().
+ If php-SAPI.ini exists (where SAPI is the SAPI in use, so, for example,
+ php-cli.ini or php-apache.ini), it is used instead of php.ini. The SAPI
+ name can be determined with php_sapi_name().
Note:
- The Apache web server changes the directory to root at startup
+ The Apache web server changes the directory to root at startup,
causing PHP to attempt to read php.ini from the root filesystem if
it exists.
- The php.ini directives handled by extensions are documented
- respectively on the pages of the extensions themselves. The list of the
- core directives is available in the appendix. Probably not all PHP
- directives are documented in the manual though. For a complete list of
+ The php.ini directives handled by extensions are documented on the
+ respective pages of the extensions themselves. A list of the core
+ directives is available in the appendix. Not all PHP directives are
+ necessarily documented in this manual: for a complete list of
directives available in your PHP version, please read your well
- commented php.ini file. Alternatively, you may find the » the latest
- php.ini from SVN helpful too.
+ commented php.ini file. Alternatively, you may find » the latest
+ php.ini from Git helpful too.
Example #1 php.ini example
; any text on a line after an unquoted semicolon (;) is ignored
@@ -1635,12 +1692,13 @@ Where a configuration setting may be set
CAPTION: Definition of PHP_INI_* modes
- Mode Value Meaning
- PHP_INI_USER 1 Entry can be set in user scripts (like with ini_set())
- or in the Windows registry
- PHP_INI_PERDIR 6 Entry can be set in php.ini, .htaccess or httpd.conf
- PHP_INI_SYSTEM 4 Entry can be set in php.ini or httpd.conf
- PHP_INI_ALL 7 Entry can be set anywhere
+ Mode Meaning
+ PHP_INI_USER Entry can be set in user scripts (like with ini_set()) or
+ in the Windows registry. Since PHP 5.3, entry can be set in .user.ini
+ PHP_INI_PERDIR Entry can be set in php.ini, .htaccess, httpd.conf or
+ .user.ini (since PHP 5.3)
+ PHP_INI_SYSTEM Entry can be set in php.ini or httpd.conf
+ PHP_INI_ALL Entry can be set anywhere
__________________________________________________________________
__________________________________________________________________
@@ -1788,13 +1846,9 @@ Installation
each request to play in, further weaknesses are introduced into
PHP's system.
- If you feel you have to use a threaded MPM, look at a FastCGI
+ If you want to use a threaded MPM, look at a FastCGI
configuration where PHP is running in its own memory space.
- And finally, this warning against using a threaded MPM is not as
- strong for Windows systems because most libraries on that
- platform tend to be threadsafe.
-
Unix/Windows: Where should my php.ini file be located?
By default on Unix it should be in /usr/local/lib which is
<install-path>/lib. Most people will want to change this at
diff --git a/NEWS b/NEWS
index f909817940..9c8c9c2bd1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,26 +1,74 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? 2012, PHP 5.3.16
+?? ??? 2012, PHP 5.3.19
+
+- PDO:
+ . Fixed bug #63235 (buffer overflow in use of SQLGetDiagRec).
+ (Martin Osvald, Remi)
+
+- Streams:
+ . Fixed bug #63240 (stream_get_line() return contains delimiter string).
+ (Tjerk, Gustavo)
+
+?? ??? 2012, PHP 5.3.18
+
+(NOTE: Add your entries above for 5.3.19, entries for 5.3.18 should only
+be added after merge by RM)
+
+- Core:
+ . Fixed bug #63111 (is_callable() lies for abstract static method). (Dmitry)
+ . Fixed bug #63093 (Segfault while load extension failed in zts-build).
+ (Laruence)
+ . Fixed bug #62976 (Notice: could not be converted to int when comparing
+ some builtin classes). (Laruence)
+ . Fixed bug #61767 (Shutdown functions not called in certain error
+ situation). (Dmitry)
+ . Fixed bug #61442 (exception threw in __autoload can not be catched).
+ (Laruence)
+ . Fixed bug #60909 (custom error handler throwing Exception + fatal error
+ = no shutdown function). (Dmitry)
+
+- cURL:
+ . Fixed bug #62085 (file_get_contents a remote file by Curl wrapper will
+ cause cpu Soaring). (Pierrick)
+
+- FPM:
+ . Fixed bug #62954 (startup problems fpm / php-fpm). (fat)
+ . Fixed bug #62886 (PHP-FPM may segfault/hang on startup). (fat)
+ . Fixed bug #63085 (Systemd integration and daemonize). (remi, fat)
+ . Fixed bug #62947 (Unneccesary warnings on FPM). (fat)
+ . Fixed bug #62887 (Only /status?plain&full gives "last request cpu"). (fat)
+ . Fixed bug #62216 (Add PID to php-fpm init.d script). (fat)
+
+- Intl:
+ . Fix bug #62915 (defective cloning in several intl classes). (Gustavo)
+
+- SOAP
+ . Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
+ (Dmitry)
+
+- SPL:
+ . Bug #62987 (Assigning to ArrayObject[null][something] overrides all
+ undefined variables). (Laruence)
+
+13 Sep 2012, PHP 5.3.17
- Core:
+ . Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence)
+ . Fixed bug #62955 (Only one directive is loaded from "Per Directory Values"
+ Windows registry). (aserbulov at parallels dot com)
. Fixed bug #62763 (register_shutdown_function and extending class).
(Laruence)
. Fixed bug #62744 (dangling pointers made by zend_disable_class). (Laruence)
. Fixed bug #62716 (munmap() is called with the incorrect length).
(slangley@google.com)
. Fixed bug ##62460 (php binaries installed as binary.dSYM). (Reeze Xia)
- . Fixed bug #60194 (--with-zend-multibyte and --enable-debug reports LEAK
- with run-test.php). (Laruence)
- CURL:
. Fixed bug #62839 (curl_copy_handle segfault with CURLOPT_FILE). (Pierrick)
- . Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false).
- (r.hampartsumyan@gmail.com, Laruence)
-- DateTime:
- . Fixed bug #62852 (Unserialize invalid DateTime causes crash).
- (reeze.xia@gmail.com)
- . Fixed bug #62500 (Segfault in DateInterval class when extended). (Laruence)
+- Intl:
+ . Fix null pointer dereferences in some classes of ext/intl. (Gustavo)
- mysql:
. Fixed compilation failure on mixed 32/64 bit systems. (Andrey)
@@ -31,21 +79,39 @@ PHP NEWS
- PDO:
. Fixed bug #62685 (Wrong return datatype in PDO::inTransaction()). (Laruence)
-- Reflection:
- . Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong
- result). (Laruence)
-
- Session:
. Fixed bug (segfault due to retval is not initialized). (Laruence)
- SPL:
- . Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance
- gives Segmentation fault). (Laruence, Gustavo)
+ . Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray)
+ (Laruence)
- Enchant:
. Fixed bug #62838 (enchant_dict_quick_check() destroys zval, but fails to
initialize it). (Tony, Mateusz Goik).
+16 Aug 2012, PHP 5.3.16
+
+- Core:
+ . Fixed bug #60194 (--with-zend-multibyte and --enable-debug reports LEAK
+ with run-test.php). (Laruence)
+
+- CURL:
+ . Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false).
+ (r.hampartsumyan@gmail.com, Laruence)
+
+- DateTime:
+ . Fixed Bug #62500 (Segfault in DateInterval class when extended). (Laruence)
+
+- Reflection:
+ . Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong
+ result). (Laruence)
+
+- SPL:
+ . Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance
+ gives Segmentation fault). (Laruence, Gustavo)
+
+
19 Jul 2012, PHP 5.3.15
- Zend Engine:
diff --git a/README.RELEASE_PROCESS b/README.RELEASE_PROCESS
index b09ec53c13..b6209686c7 100644
--- a/README.RELEASE_PROCESS
+++ b/README.RELEASE_PROCESS
@@ -135,33 +135,34 @@ Rolling a stable release
2. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
-3. **Merge** all related sections in NEWS (f.e. merge the 4.4.1RC1 and 4.4.0 sections)
+3. **Merge** all related sections in NEWS (f.e. merge the 5.4.1RC1 and 5.4.0 sections)
4. Commit those changes
5. run the "scripts/dev/credits" script in php-src and commit the changes in the
credits files in ext/standard.
-6. tag the repository with the version f.e. "``cvs tag php_4_4_1``"
+6. tag the repository with the version f.e. "``git tag -s php-5.4.1``"
(of course, you need to change that to the version you're rolling an RC for).
When making 5.X release, you need to tag the Zend directory separately!!
7. Bump up the version numbers in ``main/php_version.h``, ``configure.in`` and
possibly ``NEWS`` again, to the **next** version. F.e. if the release candidate
-was "4.4.1RC1" then the new one should be "4.4.1RC2-dev" - regardless if we get
+was "5.4.1RC1" then the new one should be "5.4.1RC2-dev" - regardless if we get
a new RC or not. This is to make sure ``version_compare()`` can correctly work.
8. Commit those changes
-9. Log in onto the snaps box and go into the correct tree (f.e. the PHP_4_4
-branch if you're rolling 4.4.x releases).
+9. Log in onto the snaps box and go into the correct tree (f.e. the PHP-5.4
+branch if you're rolling 5.5.x releases).
-10. You do not have to update the tree, but of course you can with "``cvs up -dP``".
+10. You do not have to update the tree, but of course you can with "``git pull
+origin <branch>``".
-11. run: ``./makedist php 4.4.1``, this will export the tree, create configure
+11. run: ``./makedist php 5.4.1``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
-12. Commit those two tarballs to CVS (phpweb/distributions)
+12. Commit those two tarballs to Git (php-distributions.git)
13. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
@@ -179,6 +180,9 @@ Getting the stable release announced
a. ``php bin/bumpRelease 5`` (or ``php bin/bumpRelease 4`` for PHP4)
+ b. In case multiple PHP minor versions are in active development you have
+ to manually copy the old information to include/releases.inc
+
2. Edit ``phpweb/include/version.inc`` and change (X=major release number):
a. ``$PHP_X_VERSION`` to the correct version
@@ -195,7 +199,7 @@ Getting the stable release announced
f. if the windows builds aren't ready yet prefix the "windows" key with a dot (".windows")
3. Update the ChangeLog file for the given major version
-f.e. ``ChangeLog-4.php`` from the NEWS file
+f.e. ``ChangeLog-5.php`` from the NEWS file
a. go over the list and put every element on one line
@@ -215,9 +219,9 @@ f.e. ``ChangeLog-4.php`` from the NEWS file
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
-4. ``cp releases/4_4_0.php releases/4_4_1.php``
+4. ``cp releases/5_4_0.php releases/5_4_1.php``
-5. ``cvs add releases/4_4_1.php``
+5. ``git add releases/5_4_1.php``
6. Update the ``releases/*.php`` file with relevant data. The release
announcement file should list in detail:
@@ -240,17 +244,6 @@ to upgrade.
php-general@lists.php.net and internals@lists.php.net with a text similar to
http://news.php.net/php.internals/17222.
-10. Update ``php-bugs-web/include/functions.php`` to include the new version
-number, and remove the RC from there.
-
-11. Update ``qaweb/include/release-qa.php``
-
- - Update $QA_RELEASES with the appropriate information, which means bumping
- the version number to an upcoming version.
-
- Example: If PHP 5.3.7 is being released, then PHP 5.3.8 is the next QA version,
- so replace 5.3.7 with 5.3.8 within $QA_RELEASES.
-
Re-releasing the same version (or -pl)
--------------------------------------
diff --git a/Zend/tests/array_type_hint_001.phpt b/Zend/tests/array_type_hint_001.phpt
index 533319b6ea..533319b6ea 100755..100644
--- a/Zend/tests/array_type_hint_001.phpt
+++ b/Zend/tests/array_type_hint_001.phpt
diff --git a/Zend/tests/bug20240.phpt b/Zend/tests/bug20240.phpt
index acf673a277..acf673a277 100755..100644
--- a/Zend/tests/bug20240.phpt
+++ b/Zend/tests/bug20240.phpt
diff --git a/Zend/tests/bug20242.phpt b/Zend/tests/bug20242.phpt
index 064f8235fa..064f8235fa 100755..100644
--- a/Zend/tests/bug20242.phpt
+++ b/Zend/tests/bug20242.phpt
diff --git a/Zend/tests/bug21478.phpt b/Zend/tests/bug21478.phpt
index 8b38f24d6e..8b38f24d6e 100755..100644
--- a/Zend/tests/bug21478.phpt
+++ b/Zend/tests/bug21478.phpt
diff --git a/Zend/tests/bug21888.phpt b/Zend/tests/bug21888.phpt
index a13da1943a..a13da1943a 100755..100644
--- a/Zend/tests/bug21888.phpt
+++ b/Zend/tests/bug21888.phpt
diff --git a/Zend/tests/bug22725.phpt b/Zend/tests/bug22725.phpt
index 5f3c258b14..5f3c258b14 100755..100644
--- a/Zend/tests/bug22725.phpt
+++ b/Zend/tests/bug22725.phpt
diff --git a/Zend/tests/bug24436.phpt b/Zend/tests/bug24436.phpt
index 0c261b668e..0c261b668e 100755..100644
--- a/Zend/tests/bug24436.phpt
+++ b/Zend/tests/bug24436.phpt
diff --git a/Zend/tests/bug24884.phpt b/Zend/tests/bug24884.phpt
index 457acd00d5..457acd00d5 100755..100644
--- a/Zend/tests/bug24884.phpt
+++ b/Zend/tests/bug24884.phpt
diff --git a/Zend/tests/bug26077.phpt b/Zend/tests/bug26077.phpt
index dc7686e0a6..dc7686e0a6 100755..100644
--- a/Zend/tests/bug26077.phpt
+++ b/Zend/tests/bug26077.phpt
diff --git a/Zend/tests/bug26166.phpt b/Zend/tests/bug26166.phpt
index 60624ed98e..60624ed98e 100755..100644
--- a/Zend/tests/bug26166.phpt
+++ b/Zend/tests/bug26166.phpt
diff --git a/Zend/tests/bug26229.phpt b/Zend/tests/bug26229.phpt
index 347eb55571..347eb55571 100755..100644
--- a/Zend/tests/bug26229.phpt
+++ b/Zend/tests/bug26229.phpt
diff --git a/Zend/tests/bug26281.phpt b/Zend/tests/bug26281.phpt
index e1888a88dd..e1888a88dd 100755..100644
--- a/Zend/tests/bug26281.phpt
+++ b/Zend/tests/bug26281.phpt
diff --git a/Zend/tests/bug26696.phpt b/Zend/tests/bug26696.phpt
index 62ceacda58..62ceacda58 100755..100644
--- a/Zend/tests/bug26696.phpt
+++ b/Zend/tests/bug26696.phpt
diff --git a/Zend/tests/bug26697.phpt b/Zend/tests/bug26697.phpt
index 8266a23e34..8266a23e34 100755..100644
--- a/Zend/tests/bug26697.phpt
+++ b/Zend/tests/bug26697.phpt
diff --git a/Zend/tests/bug26698.phpt b/Zend/tests/bug26698.phpt
index aecc708a0d..aecc708a0d 100755..100644
--- a/Zend/tests/bug26698.phpt
+++ b/Zend/tests/bug26698.phpt
diff --git a/Zend/tests/bug26801.phpt b/Zend/tests/bug26801.phpt
index b8cc37aa16..b8cc37aa16 100755..100644
--- a/Zend/tests/bug26801.phpt
+++ b/Zend/tests/bug26801.phpt
diff --git a/Zend/tests/bug26802.phpt b/Zend/tests/bug26802.phpt
index ab0ad25aa5..ab0ad25aa5 100755..100644
--- a/Zend/tests/bug26802.phpt
+++ b/Zend/tests/bug26802.phpt
diff --git a/Zend/tests/bug27268.phpt b/Zend/tests/bug27268.phpt
index a86e8d0297..a86e8d0297 100755..100644
--- a/Zend/tests/bug27268.phpt
+++ b/Zend/tests/bug27268.phpt
diff --git a/Zend/tests/bug27304.phpt b/Zend/tests/bug27304.phpt
index 0f248346cf..0f248346cf 100755..100644
--- a/Zend/tests/bug27304.phpt
+++ b/Zend/tests/bug27304.phpt
diff --git a/Zend/tests/bug27598.phpt b/Zend/tests/bug27598.phpt
index 534e8cf857..534e8cf857 100755..100644
--- a/Zend/tests/bug27598.phpt
+++ b/Zend/tests/bug27598.phpt
diff --git a/Zend/tests/bug27669.phpt b/Zend/tests/bug27669.phpt
index 4d513e91aa..4d513e91aa 100755..100644
--- a/Zend/tests/bug27669.phpt
+++ b/Zend/tests/bug27669.phpt
diff --git a/Zend/tests/bug27798.phpt b/Zend/tests/bug27798.phpt
index 9e54efa833..9e54efa833 100755..100644
--- a/Zend/tests/bug27798.phpt
+++ b/Zend/tests/bug27798.phpt
diff --git a/Zend/tests/bug28072.phpt b/Zend/tests/bug28072.phpt
index 76208733f8..76208733f8 100755..100644
--- a/Zend/tests/bug28072.phpt
+++ b/Zend/tests/bug28072.phpt
diff --git a/Zend/tests/bug28377.phpt b/Zend/tests/bug28377.phpt
index 9d1b43472c..9d1b43472c 100755..100644
--- a/Zend/tests/bug28377.phpt
+++ b/Zend/tests/bug28377.phpt
diff --git a/Zend/tests/bug28442.phpt b/Zend/tests/bug28442.phpt
index 1237357cca..1237357cca 100755..100644
--- a/Zend/tests/bug28442.phpt
+++ b/Zend/tests/bug28442.phpt
diff --git a/Zend/tests/bug28444.phpt b/Zend/tests/bug28444.phpt
index 78c08d2fc6..78c08d2fc6 100755..100644
--- a/Zend/tests/bug28444.phpt
+++ b/Zend/tests/bug28444.phpt
diff --git a/Zend/tests/bug29368.phpt b/Zend/tests/bug29368.phpt
index c16399abbc..c16399abbc 100755..100644
--- a/Zend/tests/bug29368.phpt
+++ b/Zend/tests/bug29368.phpt
diff --git a/Zend/tests/bug29505.phpt b/Zend/tests/bug29505.phpt
index 4d7c053516..4d7c053516 100755..100644
--- a/Zend/tests/bug29505.phpt
+++ b/Zend/tests/bug29505.phpt
diff --git a/Zend/tests/bug29674.phpt b/Zend/tests/bug29674.phpt
index 30c23faa0e..30c23faa0e 100755..100644
--- a/Zend/tests/bug29674.phpt
+++ b/Zend/tests/bug29674.phpt
diff --git a/Zend/tests/bug29896.phpt b/Zend/tests/bug29896.phpt
index 1e2eb0b067..1e2eb0b067 100755..100644
--- a/Zend/tests/bug29896.phpt
+++ b/Zend/tests/bug29896.phpt
diff --git a/Zend/tests/bug30080.phpt b/Zend/tests/bug30080.phpt
index bd8401e1be..bd8401e1be 100755..100644
--- a/Zend/tests/bug30080.phpt
+++ b/Zend/tests/bug30080.phpt
diff --git a/Zend/tests/bug30140.phpt b/Zend/tests/bug30140.phpt
index 1dfb83500f..1dfb83500f 100755..100644
--- a/Zend/tests/bug30140.phpt
+++ b/Zend/tests/bug30140.phpt
diff --git a/Zend/tests/bug30161.phpt b/Zend/tests/bug30161.phpt
index 22f8fb59e8..22f8fb59e8 100755..100644
--- a/Zend/tests/bug30161.phpt
+++ b/Zend/tests/bug30161.phpt
diff --git a/Zend/tests/bug30162.phpt b/Zend/tests/bug30162.phpt
index a011292a13..a011292a13 100755..100644
--- a/Zend/tests/bug30162.phpt
+++ b/Zend/tests/bug30162.phpt
diff --git a/Zend/tests/bug30346.phpt b/Zend/tests/bug30346.phpt
index 30f36fbde2..30f36fbde2 100755..100644
--- a/Zend/tests/bug30346.phpt
+++ b/Zend/tests/bug30346.phpt
diff --git a/Zend/tests/bug30394.phpt b/Zend/tests/bug30394.phpt
index b69eda4fef..b69eda4fef 100755..100644
--- a/Zend/tests/bug30394.phpt
+++ b/Zend/tests/bug30394.phpt
diff --git a/Zend/tests/bug30519.phpt b/Zend/tests/bug30519.phpt
index 7d70cba071..7d70cba071 100755..100644
--- a/Zend/tests/bug30519.phpt
+++ b/Zend/tests/bug30519.phpt
diff --git a/Zend/tests/bug30707.phpt b/Zend/tests/bug30707.phpt
index d37d32974e..d37d32974e 100755..100644
--- a/Zend/tests/bug30707.phpt
+++ b/Zend/tests/bug30707.phpt
diff --git a/Zend/tests/bug30725.phpt b/Zend/tests/bug30725.phpt
index ce6c9a50a2..ce6c9a50a2 100755..100644
--- a/Zend/tests/bug30725.phpt
+++ b/Zend/tests/bug30725.phpt
diff --git a/Zend/tests/bug30791.phpt b/Zend/tests/bug30791.phpt
index e9991f3ad5..e9991f3ad5 100755..100644
--- a/Zend/tests/bug30791.phpt
+++ b/Zend/tests/bug30791.phpt
diff --git a/Zend/tests/bug30820.phpt b/Zend/tests/bug30820.phpt
index 97e46e9287..97e46e9287 100755..100644
--- a/Zend/tests/bug30820.phpt
+++ b/Zend/tests/bug30820.phpt
diff --git a/Zend/tests/bug30828.phpt b/Zend/tests/bug30828.phpt
index d05dbb606d..d05dbb606d 100755..100644
--- a/Zend/tests/bug30828.phpt
+++ b/Zend/tests/bug30828.phpt
diff --git a/Zend/tests/bug30998.phpt b/Zend/tests/bug30998.phpt
index d0ace9fa16..d0ace9fa16 100755..100644
--- a/Zend/tests/bug30998.phpt
+++ b/Zend/tests/bug30998.phpt
diff --git a/Zend/tests/bug31102.phpt b/Zend/tests/bug31102.phpt
index b7911bea51..b7911bea51 100755..100644
--- a/Zend/tests/bug31102.phpt
+++ b/Zend/tests/bug31102.phpt
diff --git a/Zend/tests/bug31177-2.phpt b/Zend/tests/bug31177-2.phpt
index 10083c59ed..10083c59ed 100755..100644
--- a/Zend/tests/bug31177-2.phpt
+++ b/Zend/tests/bug31177-2.phpt
diff --git a/Zend/tests/bug31177.phpt b/Zend/tests/bug31177.phpt
index 5e84573624..5e84573624 100755..100644
--- a/Zend/tests/bug31177.phpt
+++ b/Zend/tests/bug31177.phpt
diff --git a/Zend/tests/bug31341.phpt b/Zend/tests/bug31341.phpt
index 309a54d76b..309a54d76b 100755..100644
--- a/Zend/tests/bug31341.phpt
+++ b/Zend/tests/bug31341.phpt
diff --git a/Zend/tests/bug31525.phpt b/Zend/tests/bug31525.phpt
index b1a01b61ef..b1a01b61ef 100755..100644
--- a/Zend/tests/bug31525.phpt
+++ b/Zend/tests/bug31525.phpt
diff --git a/Zend/tests/bug32226.phpt b/Zend/tests/bug32226.phpt
index 9536c921a3..9536c921a3 100755..100644
--- a/Zend/tests/bug32226.phpt
+++ b/Zend/tests/bug32226.phpt
diff --git a/Zend/tests/bug32252.phpt b/Zend/tests/bug32252.phpt
index 706da18cfb..706da18cfb 100755..100644
--- a/Zend/tests/bug32252.phpt
+++ b/Zend/tests/bug32252.phpt
diff --git a/Zend/tests/bug32290.phpt b/Zend/tests/bug32290.phpt
index 89da67b195..89da67b195 100755..100644
--- a/Zend/tests/bug32290.phpt
+++ b/Zend/tests/bug32290.phpt
diff --git a/Zend/tests/bug32296.phpt b/Zend/tests/bug32296.phpt
index b3e705ec14..b3e705ec14 100755..100644
--- a/Zend/tests/bug32296.phpt
+++ b/Zend/tests/bug32296.phpt
diff --git a/Zend/tests/bug32322.phpt b/Zend/tests/bug32322.phpt
index f69c5259e8..f69c5259e8 100755..100644
--- a/Zend/tests/bug32322.phpt
+++ b/Zend/tests/bug32322.phpt
diff --git a/Zend/tests/bug32428.phpt b/Zend/tests/bug32428.phpt
index 0b5ca6aebc..0b5ca6aebc 100755..100644
--- a/Zend/tests/bug32428.phpt
+++ b/Zend/tests/bug32428.phpt
diff --git a/Zend/tests/bug32596.phpt b/Zend/tests/bug32596.phpt
index 2dd0cfe9f0..2dd0cfe9f0 100755..100644
--- a/Zend/tests/bug32596.phpt
+++ b/Zend/tests/bug32596.phpt
diff --git a/Zend/tests/bug32660.phpt b/Zend/tests/bug32660.phpt
index 3a307189a4..3a307189a4 100755..100644
--- a/Zend/tests/bug32660.phpt
+++ b/Zend/tests/bug32660.phpt
diff --git a/Zend/tests/bug32799.phpt b/Zend/tests/bug32799.phpt
index c76daeddef..c76daeddef 100755..100644
--- a/Zend/tests/bug32799.phpt
+++ b/Zend/tests/bug32799.phpt
diff --git a/Zend/tests/bug32993.phpt b/Zend/tests/bug32993.phpt
index 88fb0230b6..88fb0230b6 100755..100644
--- a/Zend/tests/bug32993.phpt
+++ b/Zend/tests/bug32993.phpt
diff --git a/Zend/tests/bug33116.phpt b/Zend/tests/bug33116.phpt
index aa714a1f85..aa714a1f85 100755..100644
--- a/Zend/tests/bug33116.phpt
+++ b/Zend/tests/bug33116.phpt
diff --git a/Zend/tests/bug33171.phpt b/Zend/tests/bug33171.phpt
index 27f5264bad..27f5264bad 100755..100644
--- a/Zend/tests/bug33171.phpt
+++ b/Zend/tests/bug33171.phpt
diff --git a/Zend/tests/bug33257.phpt b/Zend/tests/bug33257.phpt
index c17ddfd17f..c17ddfd17f 100755..100644
--- a/Zend/tests/bug33257.phpt
+++ b/Zend/tests/bug33257.phpt
diff --git a/Zend/tests/bug33318.phpt b/Zend/tests/bug33318.phpt
index dc1afbb153..dc1afbb153 100755..100644
--- a/Zend/tests/bug33318.phpt
+++ b/Zend/tests/bug33318.phpt
diff --git a/Zend/tests/bug33512.phpt b/Zend/tests/bug33512.phpt
index 9dd4e4e5f9..9dd4e4e5f9 100755..100644
--- a/Zend/tests/bug33512.phpt
+++ b/Zend/tests/bug33512.phpt
diff --git a/Zend/tests/bug33558.phpt b/Zend/tests/bug33558.phpt
index 9c87fc6017..9c87fc6017 100755..100644
--- a/Zend/tests/bug33558.phpt
+++ b/Zend/tests/bug33558.phpt
diff --git a/Zend/tests/bug33710.phpt b/Zend/tests/bug33710.phpt
index 330bb584a4..330bb584a4 100755..100644
--- a/Zend/tests/bug33710.phpt
+++ b/Zend/tests/bug33710.phpt
diff --git a/Zend/tests/bug33732.phpt b/Zend/tests/bug33732.phpt
index 4969791faa..4969791faa 100755..100644
--- a/Zend/tests/bug33732.phpt
+++ b/Zend/tests/bug33732.phpt
diff --git a/Zend/tests/bug33802.phpt b/Zend/tests/bug33802.phpt
index d2f8cd736e..d2f8cd736e 100755..100644
--- a/Zend/tests/bug33802.phpt
+++ b/Zend/tests/bug33802.phpt
diff --git a/Zend/tests/bug33996.phpt b/Zend/tests/bug33996.phpt
index e722eceafb..e722eceafb 100755..100644
--- a/Zend/tests/bug33996.phpt
+++ b/Zend/tests/bug33996.phpt
diff --git a/Zend/tests/bug33999.phpt b/Zend/tests/bug33999.phpt
index 1946280712..1946280712 100755..100644
--- a/Zend/tests/bug33999.phpt
+++ b/Zend/tests/bug33999.phpt
diff --git a/Zend/tests/bug34045.phpt b/Zend/tests/bug34045.phpt
index 61886cf354..61886cf354 100755..100644
--- a/Zend/tests/bug34045.phpt
+++ b/Zend/tests/bug34045.phpt
diff --git a/Zend/tests/bug34062.phpt b/Zend/tests/bug34062.phpt
index bcb4ad8c64..bcb4ad8c64 100755..100644
--- a/Zend/tests/bug34062.phpt
+++ b/Zend/tests/bug34062.phpt
diff --git a/Zend/tests/bug34064.phpt b/Zend/tests/bug34064.phpt
index 84208a54f8..84208a54f8 100755..100644
--- a/Zend/tests/bug34064.phpt
+++ b/Zend/tests/bug34064.phpt
diff --git a/Zend/tests/bug34065.phpt b/Zend/tests/bug34065.phpt
index 9d76fca643..9d76fca643 100755..100644
--- a/Zend/tests/bug34065.phpt
+++ b/Zend/tests/bug34065.phpt
diff --git a/Zend/tests/bug34137.phpt b/Zend/tests/bug34137.phpt
index 5856333332..5856333332 100755..100644
--- a/Zend/tests/bug34137.phpt
+++ b/Zend/tests/bug34137.phpt
diff --git a/Zend/tests/bug34199.phpt b/Zend/tests/bug34199.phpt
index 3012d808fa..3012d808fa 100755..100644
--- a/Zend/tests/bug34199.phpt
+++ b/Zend/tests/bug34199.phpt
diff --git a/Zend/tests/bug34260.phpt b/Zend/tests/bug34260.phpt
index fa393d065c..fa393d065c 100755..100644
--- a/Zend/tests/bug34260.phpt
+++ b/Zend/tests/bug34260.phpt
diff --git a/Zend/tests/bug34358.phpt b/Zend/tests/bug34358.phpt
index b9c6565f51..b9c6565f51 100755..100644
--- a/Zend/tests/bug34358.phpt
+++ b/Zend/tests/bug34358.phpt
diff --git a/Zend/tests/bug34467.phpt b/Zend/tests/bug34467.phpt
index 5f0ccafc4f..5f0ccafc4f 100755..100644
--- a/Zend/tests/bug34467.phpt
+++ b/Zend/tests/bug34467.phpt
diff --git a/Zend/tests/bug34518.phpt b/Zend/tests/bug34518.phpt
index b94fdf4981..b94fdf4981 100755..100644
--- a/Zend/tests/bug34518.phpt
+++ b/Zend/tests/bug34518.phpt
diff --git a/Zend/tests/bug34617.phpt b/Zend/tests/bug34617.phpt
index 25f785f909..25f785f909 100755..100644
--- a/Zend/tests/bug34617.phpt
+++ b/Zend/tests/bug34617.phpt
diff --git a/Zend/tests/bug34678.phpt b/Zend/tests/bug34678.phpt
index 2a13201f26..2a13201f26 100755..100644
--- a/Zend/tests/bug34678.phpt
+++ b/Zend/tests/bug34678.phpt
diff --git a/Zend/tests/bug34786.phpt b/Zend/tests/bug34786.phpt
index 18642848d8..18642848d8 100755..100644
--- a/Zend/tests/bug34786.phpt
+++ b/Zend/tests/bug34786.phpt
diff --git a/Zend/tests/bug34879.phpt b/Zend/tests/bug34879.phpt
index 606142bde7..606142bde7 100755..100644
--- a/Zend/tests/bug34879.phpt
+++ b/Zend/tests/bug34879.phpt
diff --git a/Zend/tests/bug34893.phpt b/Zend/tests/bug34893.phpt
index bbe02358e9..bbe02358e9 100755..100644
--- a/Zend/tests/bug34893.phpt
+++ b/Zend/tests/bug34893.phpt
diff --git a/Zend/tests/bug35017.phpt b/Zend/tests/bug35017.phpt
index 0a89d23aa1..0a89d23aa1 100755..100644
--- a/Zend/tests/bug35017.phpt
+++ b/Zend/tests/bug35017.phpt
diff --git a/Zend/tests/bug35106.phpt b/Zend/tests/bug35106.phpt
index 61a66d0147..61a66d0147 100755..100644
--- a/Zend/tests/bug35106.phpt
+++ b/Zend/tests/bug35106.phpt
diff --git a/Zend/tests/bug35163.phpt b/Zend/tests/bug35163.phpt
index 6a10d244ba..6a10d244ba 100755..100644
--- a/Zend/tests/bug35163.phpt
+++ b/Zend/tests/bug35163.phpt
diff --git a/Zend/tests/bug35163_2.phpt b/Zend/tests/bug35163_2.phpt
index 01387204c8..01387204c8 100755..100644
--- a/Zend/tests/bug35163_2.phpt
+++ b/Zend/tests/bug35163_2.phpt
diff --git a/Zend/tests/bug35163_3.phpt b/Zend/tests/bug35163_3.phpt
index 6c6a57f254..6c6a57f254 100755..100644
--- a/Zend/tests/bug35163_3.phpt
+++ b/Zend/tests/bug35163_3.phpt
diff --git a/Zend/tests/bug35239.phpt b/Zend/tests/bug35239.phpt
index 869971e2a2..869971e2a2 100755..100644
--- a/Zend/tests/bug35239.phpt
+++ b/Zend/tests/bug35239.phpt
diff --git a/Zend/tests/bug35393.phpt b/Zend/tests/bug35393.phpt
index ce3bdd001a..ce3bdd001a 100755..100644
--- a/Zend/tests/bug35393.phpt
+++ b/Zend/tests/bug35393.phpt
diff --git a/Zend/tests/bug35411.phpt b/Zend/tests/bug35411.phpt
index 90957aa57c..90957aa57c 100755..100644
--- a/Zend/tests/bug35411.phpt
+++ b/Zend/tests/bug35411.phpt
diff --git a/Zend/tests/bug35437.phpt b/Zend/tests/bug35437.phpt
index 73222a9f23..73222a9f23 100755..100644
--- a/Zend/tests/bug35437.phpt
+++ b/Zend/tests/bug35437.phpt
diff --git a/Zend/tests/bug35470.phpt b/Zend/tests/bug35470.phpt
index 5a854552bb..5a854552bb 100755..100644
--- a/Zend/tests/bug35470.phpt
+++ b/Zend/tests/bug35470.phpt
diff --git a/Zend/tests/bug35509.phpt b/Zend/tests/bug35509.phpt
index 6cb54c03e1..6cb54c03e1 100755..100644
--- a/Zend/tests/bug35509.phpt
+++ b/Zend/tests/bug35509.phpt
diff --git a/Zend/tests/bug35634.phpt b/Zend/tests/bug35634.phpt
index 1437017a3b..1437017a3b 100755..100644
--- a/Zend/tests/bug35634.phpt
+++ b/Zend/tests/bug35634.phpt
diff --git a/Zend/tests/bug35655.phpt b/Zend/tests/bug35655.phpt
index 10d9c0c746..10d9c0c746 100755..100644
--- a/Zend/tests/bug35655.phpt
+++ b/Zend/tests/bug35655.phpt
diff --git a/Zend/tests/bug36006.phpt b/Zend/tests/bug36006.phpt
index 79f9897d13..79f9897d13 100755..100644
--- a/Zend/tests/bug36006.phpt
+++ b/Zend/tests/bug36006.phpt
diff --git a/Zend/tests/bug36037.phpt b/Zend/tests/bug36037.phpt
index 3ccebf652d..3ccebf652d 100755..100644
--- a/Zend/tests/bug36037.phpt
+++ b/Zend/tests/bug36037.phpt
diff --git a/Zend/tests/bug36071.phpt b/Zend/tests/bug36071.phpt
index e5146091e1..e5146091e1 100755..100644
--- a/Zend/tests/bug36071.phpt
+++ b/Zend/tests/bug36071.phpt
diff --git a/Zend/tests/bug36214.phpt b/Zend/tests/bug36214.phpt
index 630773713a..630773713a 100755..100644
--- a/Zend/tests/bug36214.phpt
+++ b/Zend/tests/bug36214.phpt
diff --git a/Zend/tests/bug36268.phpt b/Zend/tests/bug36268.phpt
index 5276d50d48..5276d50d48 100755..100644
--- a/Zend/tests/bug36268.phpt
+++ b/Zend/tests/bug36268.phpt
diff --git a/Zend/tests/bug36303.phpt b/Zend/tests/bug36303.phpt
index 0f92323834..0f92323834 100755..100644
--- a/Zend/tests/bug36303.phpt
+++ b/Zend/tests/bug36303.phpt
diff --git a/Zend/tests/bug36513.phpt b/Zend/tests/bug36513.phpt
index f46da4efc5..f46da4efc5 100755..100644
--- a/Zend/tests/bug36513.phpt
+++ b/Zend/tests/bug36513.phpt
diff --git a/Zend/tests/bug36568.phpt b/Zend/tests/bug36568.phpt
index d621491a4c..d621491a4c 100755..100644
--- a/Zend/tests/bug36568.phpt
+++ b/Zend/tests/bug36568.phpt
diff --git a/Zend/tests/bug36759.phpt b/Zend/tests/bug36759.phpt
index 8aa9977a06..8aa9977a06 100755..100644
--- a/Zend/tests/bug36759.phpt
+++ b/Zend/tests/bug36759.phpt
diff --git a/Zend/tests/bug37046.phpt b/Zend/tests/bug37046.phpt
index 09b8f0cb5d..09b8f0cb5d 100755..100644
--- a/Zend/tests/bug37046.phpt
+++ b/Zend/tests/bug37046.phpt
diff --git a/Zend/tests/bug37138.phpt b/Zend/tests/bug37138.phpt
index f8503f8da9..f8503f8da9 100755..100644
--- a/Zend/tests/bug37138.phpt
+++ b/Zend/tests/bug37138.phpt
diff --git a/Zend/tests/bug37144.phpt b/Zend/tests/bug37144.phpt
index b3e5489469..b3e5489469 100755..100644
--- a/Zend/tests/bug37144.phpt
+++ b/Zend/tests/bug37144.phpt
diff --git a/Zend/tests/bug37212.phpt b/Zend/tests/bug37212.phpt
index 212ef23ec7..212ef23ec7 100755..100644
--- a/Zend/tests/bug37212.phpt
+++ b/Zend/tests/bug37212.phpt
diff --git a/Zend/tests/bug37632.phpt b/Zend/tests/bug37632.phpt
index fb72f89345..fb72f89345 100755..100644
--- a/Zend/tests/bug37632.phpt
+++ b/Zend/tests/bug37632.phpt
diff --git a/Zend/tests/bug37667.phpt b/Zend/tests/bug37667.phpt
index ecf43c5b80..ecf43c5b80 100755..100644
--- a/Zend/tests/bug37667.phpt
+++ b/Zend/tests/bug37667.phpt
diff --git a/Zend/tests/bug37707.phpt b/Zend/tests/bug37707.phpt
index 1964958526..1964958526 100755..100644
--- a/Zend/tests/bug37707.phpt
+++ b/Zend/tests/bug37707.phpt
diff --git a/Zend/tests/bug37715.phpt b/Zend/tests/bug37715.phpt
index a585c78e5b..a585c78e5b 100755..100644
--- a/Zend/tests/bug37715.phpt
+++ b/Zend/tests/bug37715.phpt
diff --git a/Zend/tests/bug37811.phpt b/Zend/tests/bug37811.phpt
index 70c4c90ede..70c4c90ede 100755..100644
--- a/Zend/tests/bug37811.phpt
+++ b/Zend/tests/bug37811.phpt
diff --git a/Zend/tests/bug38047.phpt b/Zend/tests/bug38047.phpt
index 00290ee542..00290ee542 100755..100644
--- a/Zend/tests/bug38047.phpt
+++ b/Zend/tests/bug38047.phpt
diff --git a/Zend/tests/bug38146.phpt b/Zend/tests/bug38146.phpt
index e321e11c8c..e321e11c8c 100755..100644
--- a/Zend/tests/bug38146.phpt
+++ b/Zend/tests/bug38146.phpt
diff --git a/Zend/tests/bug38211.phpt b/Zend/tests/bug38211.phpt
index 6ae9430e8b..6ae9430e8b 100755..100644
--- a/Zend/tests/bug38211.phpt
+++ b/Zend/tests/bug38211.phpt
diff --git a/Zend/tests/bug38220.phpt b/Zend/tests/bug38220.phpt
index bee3ffc75d..bee3ffc75d 100755..100644
--- a/Zend/tests/bug38220.phpt
+++ b/Zend/tests/bug38220.phpt
diff --git a/Zend/tests/bug38234.phpt b/Zend/tests/bug38234.phpt
index a81a3aadcc..a81a3aadcc 100755..100644
--- a/Zend/tests/bug38234.phpt
+++ b/Zend/tests/bug38234.phpt
diff --git a/Zend/tests/bug38287.phpt b/Zend/tests/bug38287.phpt
index 9a53a9335f..9a53a9335f 100755..100644
--- a/Zend/tests/bug38287.phpt
+++ b/Zend/tests/bug38287.phpt
diff --git a/Zend/tests/bug38623.phpt b/Zend/tests/bug38623.phpt
index 9b042a9141..9b042a9141 100755..100644
--- a/Zend/tests/bug38623.phpt
+++ b/Zend/tests/bug38623.phpt
diff --git a/Zend/tests/bug38772.phpt b/Zend/tests/bug38772.phpt
index 0e97c291c3..0e97c291c3 100755..100644
--- a/Zend/tests/bug38772.phpt
+++ b/Zend/tests/bug38772.phpt
diff --git a/Zend/tests/bug38808.phpt b/Zend/tests/bug38808.phpt
index 0fc4bfecdc..0fc4bfecdc 100755..100644
--- a/Zend/tests/bug38808.phpt
+++ b/Zend/tests/bug38808.phpt
diff --git a/Zend/tests/bug38942.phpt b/Zend/tests/bug38942.phpt
index 85bb56d200..85bb56d200 100755..100644
--- a/Zend/tests/bug38942.phpt
+++ b/Zend/tests/bug38942.phpt
diff --git a/Zend/tests/bug39017.phpt b/Zend/tests/bug39017.phpt
index 70204758d5..70204758d5 100755..100644
--- a/Zend/tests/bug39017.phpt
+++ b/Zend/tests/bug39017.phpt
diff --git a/Zend/tests/bug39297.phpt b/Zend/tests/bug39297.phpt
index 92f91a5557..92f91a5557 100755..100644
--- a/Zend/tests/bug39297.phpt
+++ b/Zend/tests/bug39297.phpt
diff --git a/Zend/tests/bug39304.phpt b/Zend/tests/bug39304.phpt
index 0129d21348..0129d21348 100755..100644
--- a/Zend/tests/bug39304.phpt
+++ b/Zend/tests/bug39304.phpt
diff --git a/Zend/tests/bug39438.phpt b/Zend/tests/bug39438.phpt
index e1ed8e8866..e1ed8e8866 100755..100644
--- a/Zend/tests/bug39438.phpt
+++ b/Zend/tests/bug39438.phpt
diff --git a/Zend/tests/bug39445.phpt b/Zend/tests/bug39445.phpt
index cf1607f2dd..cf1607f2dd 100755..100644
--- a/Zend/tests/bug39445.phpt
+++ b/Zend/tests/bug39445.phpt
diff --git a/Zend/tests/bug39449.phpt b/Zend/tests/bug39449.phpt
index c725147acf..c725147acf 100755..100644
--- a/Zend/tests/bug39449.phpt
+++ b/Zend/tests/bug39449.phpt
diff --git a/Zend/tests/bug39542.phpt b/Zend/tests/bug39542.phpt
index 13ddc0a91f..13ddc0a91f 100755..100644
--- a/Zend/tests/bug39542.phpt
+++ b/Zend/tests/bug39542.phpt
diff --git a/Zend/tests/bug39602.phpt b/Zend/tests/bug39602.phpt
index db8763d8ae..db8763d8ae 100755..100644
--- a/Zend/tests/bug39602.phpt
+++ b/Zend/tests/bug39602.phpt
diff --git a/Zend/tests/bug39721.phpt b/Zend/tests/bug39721.phpt
index 63edfc23ed..63edfc23ed 100755..100644
--- a/Zend/tests/bug39721.phpt
+++ b/Zend/tests/bug39721.phpt
diff --git a/Zend/tests/bug39775.phpt b/Zend/tests/bug39775.phpt
index 4c6ce6baf1..4c6ce6baf1 100755..100644
--- a/Zend/tests/bug39775.phpt
+++ b/Zend/tests/bug39775.phpt
diff --git a/Zend/tests/bug39825.phpt b/Zend/tests/bug39825.phpt
index 791b329f71..791b329f71 100755..100644
--- a/Zend/tests/bug39825.phpt
+++ b/Zend/tests/bug39825.phpt
diff --git a/Zend/tests/bug39944.phpt b/Zend/tests/bug39944.phpt
index 4249988ffd..4249988ffd 100755..100644
--- a/Zend/tests/bug39944.phpt
+++ b/Zend/tests/bug39944.phpt
diff --git a/Zend/tests/bug39990.phpt b/Zend/tests/bug39990.phpt
index d7545eeecb..d7545eeecb 100755..100644
--- a/Zend/tests/bug39990.phpt
+++ b/Zend/tests/bug39990.phpt
diff --git a/Zend/tests/bug40236.inc b/Zend/tests/bug40236.inc
index fc03349f7e..fc03349f7e 100755..100644
--- a/Zend/tests/bug40236.inc
+++ b/Zend/tests/bug40236.inc
diff --git a/Zend/tests/bug40236.phpt b/Zend/tests/bug40236.phpt
index f9a4277249..f9a4277249 100755..100644
--- a/Zend/tests/bug40236.phpt
+++ b/Zend/tests/bug40236.phpt
diff --git a/Zend/tests/bug40261.phpt b/Zend/tests/bug40261.phpt
index b7e2c98c5e..b7e2c98c5e 100755..100644
--- a/Zend/tests/bug40261.phpt
+++ b/Zend/tests/bug40261.phpt
diff --git a/Zend/tests/bug40509.phpt b/Zend/tests/bug40509.phpt
index 21eaae9444..21eaae9444 100755..100644
--- a/Zend/tests/bug40509.phpt
+++ b/Zend/tests/bug40509.phpt
diff --git a/Zend/tests/bug40705.phpt b/Zend/tests/bug40705.phpt
index 374f73b75e..374f73b75e 100755..100644
--- a/Zend/tests/bug40705.phpt
+++ b/Zend/tests/bug40705.phpt
diff --git a/Zend/tests/bug40757.phpt b/Zend/tests/bug40757.phpt
index b5c91c79ce..b5c91c79ce 100755..100644
--- a/Zend/tests/bug40757.phpt
+++ b/Zend/tests/bug40757.phpt
diff --git a/Zend/tests/bug40770.phpt b/Zend/tests/bug40770.phpt
index c4c78c2220..c4c78c2220 100755..100644
--- a/Zend/tests/bug40770.phpt
+++ b/Zend/tests/bug40770.phpt
diff --git a/Zend/tests/bug40809.phpt b/Zend/tests/bug40809.phpt
index 08fc89f553..08fc89f553 100755..100644
--- a/Zend/tests/bug40809.phpt
+++ b/Zend/tests/bug40809.phpt
diff --git a/Zend/tests/bug40833.phpt b/Zend/tests/bug40833.phpt
index c56ca4c3ba..c56ca4c3ba 100755..100644
--- a/Zend/tests/bug40833.phpt
+++ b/Zend/tests/bug40833.phpt
diff --git a/Zend/tests/bug41117_1.phpt b/Zend/tests/bug41117_1.phpt
index f555b637ad..f555b637ad 100755..100644
--- a/Zend/tests/bug41117_1.phpt
+++ b/Zend/tests/bug41117_1.phpt
diff --git a/Zend/tests/bug41372.phpt b/Zend/tests/bug41372.phpt
index 3446150f55..3446150f55 100755..100644
--- a/Zend/tests/bug41372.phpt
+++ b/Zend/tests/bug41372.phpt
diff --git a/Zend/tests/bug41401.phpt b/Zend/tests/bug41401.phpt
index 50d2109cac..50d2109cac 100755..100644
--- a/Zend/tests/bug41401.phpt
+++ b/Zend/tests/bug41401.phpt
diff --git a/Zend/tests/bug41633_1.phpt b/Zend/tests/bug41633_1.phpt
index 1c1d552dd7..1c1d552dd7 100755..100644
--- a/Zend/tests/bug41633_1.phpt
+++ b/Zend/tests/bug41633_1.phpt
diff --git a/Zend/tests/bug41633_2.phpt b/Zend/tests/bug41633_2.phpt
index 3deb4516ac..3deb4516ac 100755..100644
--- a/Zend/tests/bug41633_2.phpt
+++ b/Zend/tests/bug41633_2.phpt
diff --git a/Zend/tests/bug41633_3.phpt b/Zend/tests/bug41633_3.phpt
index 7b9452db85..7b9452db85 100755..100644
--- a/Zend/tests/bug41633_3.phpt
+++ b/Zend/tests/bug41633_3.phpt
diff --git a/Zend/tests/bug41633_4.phpt b/Zend/tests/bug41633_4.phpt
index 3507f6a08c..3507f6a08c 100755..100644
--- a/Zend/tests/bug41633_4.phpt
+++ b/Zend/tests/bug41633_4.phpt
diff --git a/Zend/tests/bug41929.phpt b/Zend/tests/bug41929.phpt
index c332aba2d4..c332aba2d4 100755..100644
--- a/Zend/tests/bug41929.phpt
+++ b/Zend/tests/bug41929.phpt
diff --git a/Zend/tests/bug41961.phpt b/Zend/tests/bug41961.phpt
index 514265b601..514265b601 100755..100644
--- a/Zend/tests/bug41961.phpt
+++ b/Zend/tests/bug41961.phpt
diff --git a/Zend/tests/bug42772.phpt b/Zend/tests/bug42772.phpt
index 8887bdbd7e..8887bdbd7e 100755..100644
--- a/Zend/tests/bug42772.phpt
+++ b/Zend/tests/bug42772.phpt
diff --git a/Zend/tests/bug42802.phpt b/Zend/tests/bug42802.phpt
index 2aa7061f35..2aa7061f35 100755..100644
--- a/Zend/tests/bug42802.phpt
+++ b/Zend/tests/bug42802.phpt
diff --git a/Zend/tests/bug42819.phpt b/Zend/tests/bug42819.phpt
index e526603699..e526603699 100755..100644
--- a/Zend/tests/bug42819.phpt
+++ b/Zend/tests/bug42819.phpt
diff --git a/Zend/tests/bug42820.phpt b/Zend/tests/bug42820.phpt
index 921f0090a9..921f0090a9 100755..100644
--- a/Zend/tests/bug42820.phpt
+++ b/Zend/tests/bug42820.phpt
diff --git a/Zend/tests/bug42859.phpt b/Zend/tests/bug42859.phpt
index 755f41f8d6..755f41f8d6 100755..100644
--- a/Zend/tests/bug42859.phpt
+++ b/Zend/tests/bug42859.phpt
diff --git a/Zend/tests/bug42937.phpt b/Zend/tests/bug42937.phpt
index 537c567927..537c567927 100755..100644
--- a/Zend/tests/bug42937.phpt
+++ b/Zend/tests/bug42937.phpt
diff --git a/Zend/tests/bug43027.phpt b/Zend/tests/bug43027.phpt
index adecf3e39a..adecf3e39a 100755..100644
--- a/Zend/tests/bug43027.phpt
+++ b/Zend/tests/bug43027.phpt
diff --git a/Zend/tests/bug43128.phpt b/Zend/tests/bug43128.phpt
index 629f46c594..629f46c594 100755..100644
--- a/Zend/tests/bug43128.phpt
+++ b/Zend/tests/bug43128.phpt
diff --git a/Zend/tests/bug43175.phpt b/Zend/tests/bug43175.phpt
index 3bf6befc15..3bf6befc15 100755..100644
--- a/Zend/tests/bug43175.phpt
+++ b/Zend/tests/bug43175.phpt
diff --git a/Zend/tests/bug43183.phpt b/Zend/tests/bug43183.phpt
index a8ca698e9f..a8ca698e9f 100755..100644
--- a/Zend/tests/bug43183.phpt
+++ b/Zend/tests/bug43183.phpt
diff --git a/Zend/tests/bug43201.phpt b/Zend/tests/bug43201.phpt
index 89e1b66727..89e1b66727 100755..100644
--- a/Zend/tests/bug43201.phpt
+++ b/Zend/tests/bug43201.phpt
diff --git a/Zend/tests/bug44660.phpt b/Zend/tests/bug44660.phpt
index 1027377d34..1027377d34 100755..100644
--- a/Zend/tests/bug44660.phpt
+++ b/Zend/tests/bug44660.phpt
diff --git a/Zend/tests/bug45178.phpt b/Zend/tests/bug45178.phpt
index 5ce1859948..5ce1859948 100755..100644
--- a/Zend/tests/bug45178.phpt
+++ b/Zend/tests/bug45178.phpt
diff --git a/Zend/tests/bug45805.phpt b/Zend/tests/bug45805.phpt
index 986187ee61..986187ee61 100755..100644
--- a/Zend/tests/bug45805.phpt
+++ b/Zend/tests/bug45805.phpt
diff --git a/Zend/tests/bug46304.phpt b/Zend/tests/bug46304.phpt
index 0a6e3bffcb..0a6e3bffcb 100755..100644
--- a/Zend/tests/bug46304.phpt
+++ b/Zend/tests/bug46304.phpt
diff --git a/Zend/tests/bug51394.phpt b/Zend/tests/bug51394.phpt
index 537574c9d5..406de13a9b 100644
--- a/Zend/tests/bug51394.phpt
+++ b/Zend/tests/bug51394.phpt
@@ -13,4 +13,10 @@ function eh()
set_error_handler("eh");
$a = $empty($b);
--EXPECTF--
+Warning: Uncaught exception 'Exception' with message 'error!' in %sbug51394.php:4
+Stack trace:
+#0 %sbug51394.php(9): eh(8, 'Undefined varia...', '%s', 9, Array)
+#1 {main}
+ thrown in %sbug51394.php on line 4
+
Fatal error: Function name must be a string in %sbug51394.php on line 9 \ No newline at end of file
diff --git a/Zend/tests/bug60909_1.phpt b/Zend/tests/bug60909_1.phpt
new file mode 100644
index 0000000000..5150dfc025
--- /dev/null
+++ b/Zend/tests/bug60909_1.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function).
+--FILE--
+<?php
+register_shutdown_function(function(){echo("\n\n!!!shutdown!!!\n\n");});
+set_error_handler(function($errno, $errstr, $errfile, $errline){
+ echo "error($errstr)";
+ throw new Exception("Foo");
+});
+
+require 'notfound.php';
+--EXPECTF--
+error(require(notfound.php): failed to open stream: No such file or directory)
+Warning: Uncaught exception 'Exception' with message 'Foo' in %sbug60909_1.php:5
+Stack trace:
+#0 %sbug60909_1.php(8): {closure}(2, 'require(notfoun...', '%s', 8, Array)
+#1 %sbug60909_1.php(8): require()
+#2 {main}
+ thrown in %sbug60909_1.php on line 5
+
+Fatal error: main(): Failed opening required 'notfound.php' (include_path='%s') in %sbug60909_1.php on line 8
+
+
+!!!shutdown!!!
diff --git a/Zend/tests/bug60909_2.phpt b/Zend/tests/bug60909_2.phpt
new file mode 100644
index 0000000000..d08d9f90fa
--- /dev/null
+++ b/Zend/tests/bug60909_2.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function).
+--FILE--
+<?php
+register_shutdown_function(function(){echo("\n\n!!!shutdown!!!\n\n");});
+set_error_handler(function($errno, $errstr, $errfile, $errline){throw new Exception("Foo");});
+
+class Bad {
+ public function __toString() {
+ throw new Exception('Oops, I cannot do this');
+ }
+}
+
+$bad = new Bad();
+echo "$bad";
+--EXPECTF--
+Fatal error: Method Bad::__toString() must not throw an exception in %sbug60909_2.php on line 0
+
+
+!!!shutdown!!!
diff --git a/Zend/tests/bug61442.phpt b/Zend/tests/bug61442.phpt
new file mode 100644
index 0000000000..3af534fec9
--- /dev/null
+++ b/Zend/tests/bug61442.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Bug #61442 (exception threw in __autoload can not be catched)
+--FILE--
+<?php
+function __autoload($name) {
+ throw new Exception("Unable to load $name");
+}
+
+try {
+ $obj = new NonLoadableClass();
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+try {
+ $obj = NonLoadableClass::a();
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+try {
+ $obj = NonLoadableClass::UNDEFINED_CONST;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+--EXPECTF--
+string(31) "Unable to load NonLoadableClass"
+string(31) "Unable to load NonLoadableClass"
+string(31) "Unable to load NonLoadableClass"
diff --git a/Zend/tests/bug61767.phpt b/Zend/tests/bug61767.phpt
new file mode 100644
index 0000000000..5270872e5d
--- /dev/null
+++ b/Zend/tests/bug61767.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Bug #61767 (Shutdown functions not called in certain error situation)
+--FILE--
+<?php
+set_error_handler(function($code, $msg, $file = null, $line = null) {
+ echo "Error handler called ($msg)\n";
+ throw new \ErrorException($msg, $code, 0, $file, $line);
+});
+
+register_shutdown_function(function(){
+ echo "Shutting down\n";
+ print_r(error_get_last());
+});
+
+//$undefined = null; // defined variable does not cause problems
+$undefined->foo();
+--EXPECTF--
+Error handler called (Undefined variable: undefined)
+
+Warning: Uncaught exception 'ErrorException' with message 'Undefined variable: undefined' in %sbug61767.php:13
+Stack trace:
+#0 %sbug61767.php(13): {closure}(8, 'Undefined varia...', '%s', 13, Array)
+#1 {main}
+ thrown in %sbug61767.php on line 13
+
+Fatal error: Call to a member function foo() on a non-object in %sbug61767.php on line 13
+Shutting down
+Array
+(
+ [type] => 1
+ [message] => Call to a member function foo() on a non-object
+ [file] => %sbug61767.php
+ [line] => 13
+)
diff --git a/Zend/tests/bug63111.phpt b/Zend/tests/bug63111.phpt
new file mode 100644
index 0000000000..3f19068668
--- /dev/null
+++ b/Zend/tests/bug63111.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Bug #63111 (is_callable() lies for abstract static method)
+--FILE--
+<?php
+abstract class Foo {
+ abstract static function bar();
+}
+interface MyInterface {
+ static function bar();
+}
+abstract class Bar {
+ static function foo() {
+ echo "ok\n";
+ }
+}
+var_dump(is_callable(array("Foo", "bar")));
+var_dump(is_callable("Foo::bar"));
+var_dump(is_callable(array("MyInterface", "bar")));
+var_dump(is_callable("MyInterface::bar"));
+var_dump(is_callable(array("Bar", "foo")));
+var_dump(is_callable("Bar::foo"));
+Bar::foo();
+Foo::bar();
+?>
+--EXPECTF--
+Strict Standards: Static function Foo::bar() should not be abstract in %sbug63111.php on line 3
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+bool(true)
+ok
+
+Fatal error: Cannot call abstract method Foo::bar() in %sbug63111.php on line 20
+
diff --git a/Zend/tests/bug_debug_backtrace.phpt b/Zend/tests/bug_debug_backtrace.phpt
index 3e4a0ec946..3e4a0ec946 100755..100644
--- a/Zend/tests/bug_debug_backtrace.phpt
+++ b/Zend/tests/bug_debug_backtrace.phpt
diff --git a/Zend/tests/call_static.phpt b/Zend/tests/call_static.phpt
index c37bc72230..c37bc72230 100755..100644
--- a/Zend/tests/call_static.phpt
+++ b/Zend/tests/call_static.phpt
diff --git a/Zend/tests/catch.phpt b/Zend/tests/catch.phpt
index 0ec5cf7590..0ec5cf7590 100755..100644
--- a/Zend/tests/catch.phpt
+++ b/Zend/tests/catch.phpt
diff --git a/Zend/tests/catch_002.phpt b/Zend/tests/catch_002.phpt
index 11d736abe2..11d736abe2 100755..100644
--- a/Zend/tests/catch_002.phpt
+++ b/Zend/tests/catch_002.phpt
diff --git a/Zend/tests/catch_003.phpt b/Zend/tests/catch_003.phpt
index 414d50f815..414d50f815 100755..100644
--- a/Zend/tests/catch_003.phpt
+++ b/Zend/tests/catch_003.phpt
diff --git a/Zend/tests/catch_004.phpt b/Zend/tests/catch_004.phpt
index 54920b8947..54920b8947 100755..100644
--- a/Zend/tests/catch_004.phpt
+++ b/Zend/tests/catch_004.phpt
diff --git a/Zend/tests/closure_016.phpt b/Zend/tests/closure_016.phpt
index ae0036586c..ae0036586c 100755..100644
--- a/Zend/tests/closure_016.phpt
+++ b/Zend/tests/closure_016.phpt
diff --git a/Zend/tests/closure_022.phpt b/Zend/tests/closure_022.phpt
index 8621d2c095..8621d2c095 100755..100644
--- a/Zend/tests/closure_022.phpt
+++ b/Zend/tests/closure_022.phpt
diff --git a/Zend/tests/closure_023.phpt b/Zend/tests/closure_023.phpt
index 634fb6dd50..634fb6dd50 100755..100644
--- a/Zend/tests/closure_023.phpt
+++ b/Zend/tests/closure_023.phpt
diff --git a/Zend/tests/closure_033.phpt b/Zend/tests/closure_033.phpt
index f6510066bb..f6510066bb 100755..100644
--- a/Zend/tests/closure_033.phpt
+++ b/Zend/tests/closure_033.phpt
diff --git a/Zend/tests/constants/dir-constant-eval.phpt b/Zend/tests/constants/dir-constant-eval.phpt
index 8fe619d563..8fe619d563 100755..100644
--- a/Zend/tests/constants/dir-constant-eval.phpt
+++ b/Zend/tests/constants/dir-constant-eval.phpt
diff --git a/Zend/tests/constants/dir-constant-includes.phpt b/Zend/tests/constants/dir-constant-includes.phpt
index 8ea65292de..8ea65292de 100755..100644
--- a/Zend/tests/constants/dir-constant-includes.phpt
+++ b/Zend/tests/constants/dir-constant-includes.phpt
diff --git a/Zend/tests/constants/dir-constant-nested_includes.phpt b/Zend/tests/constants/dir-constant-nested_includes.phpt
index 18bdfa8912..18bdfa8912 100755..100644
--- a/Zend/tests/constants/dir-constant-nested_includes.phpt
+++ b/Zend/tests/constants/dir-constant-nested_includes.phpt
diff --git a/Zend/tests/constants/dir-constant-normal.phpt b/Zend/tests/constants/dir-constant-normal.phpt
index 1a573a2052..1a573a2052 100755..100644
--- a/Zend/tests/constants/dir-constant-normal.phpt
+++ b/Zend/tests/constants/dir-constant-normal.phpt
diff --git a/Zend/tests/constants_005.phpt b/Zend/tests/constants_005.phpt
index 55f90fd94f..55f90fd94f 100755..100644
--- a/Zend/tests/constants_005.phpt
+++ b/Zend/tests/constants_005.phpt
diff --git a/Zend/tests/debug_backtrace_options.phpt b/Zend/tests/debug_backtrace_options.phpt
index 1b2d7e5485..1b2d7e5485 100755..100644
--- a/Zend/tests/debug_backtrace_options.phpt
+++ b/Zend/tests/debug_backtrace_options.phpt
diff --git a/Zend/tests/dtor_scope.phpt b/Zend/tests/dtor_scope.phpt
index ab991cf949..ab991cf949 100755..100644
--- a/Zend/tests/dtor_scope.phpt
+++ b/Zend/tests/dtor_scope.phpt
diff --git a/Zend/tests/exception_007.phpt b/Zend/tests/exception_007.phpt
index 953e76513b..953e76513b 100755..100644
--- a/Zend/tests/exception_007.phpt
+++ b/Zend/tests/exception_007.phpt
diff --git a/Zend/tests/exception_008.phpt b/Zend/tests/exception_008.phpt
index 0d40541eee..0d40541eee 100755..100644
--- a/Zend/tests/exception_008.phpt
+++ b/Zend/tests/exception_008.phpt
diff --git a/Zend/tests/instanceof.phpt b/Zend/tests/instanceof.phpt
index 8bcbede999..8bcbede999 100755..100644
--- a/Zend/tests/instanceof.phpt
+++ b/Zend/tests/instanceof.phpt
diff --git a/Zend/tests/is_a.phpt b/Zend/tests/is_a.phpt
index 0a01eb756e..0a01eb756e 100755..100644
--- a/Zend/tests/is_a.phpt
+++ b/Zend/tests/is_a.phpt
diff --git a/Zend/tests/jump01.phpt b/Zend/tests/jump01.phpt
index 87dba88baf..87dba88baf 100755..100644
--- a/Zend/tests/jump01.phpt
+++ b/Zend/tests/jump01.phpt
diff --git a/Zend/tests/jump02.phpt b/Zend/tests/jump02.phpt
index ff83bc4b93..ff83bc4b93 100755..100644
--- a/Zend/tests/jump02.phpt
+++ b/Zend/tests/jump02.phpt
diff --git a/Zend/tests/jump03.phpt b/Zend/tests/jump03.phpt
index 2399f30ade..2399f30ade 100755..100644
--- a/Zend/tests/jump03.phpt
+++ b/Zend/tests/jump03.phpt
diff --git a/Zend/tests/jump04.phpt b/Zend/tests/jump04.phpt
index 2bbf1f5c01..2bbf1f5c01 100755..100644
--- a/Zend/tests/jump04.phpt
+++ b/Zend/tests/jump04.phpt
diff --git a/Zend/tests/jump05.phpt b/Zend/tests/jump05.phpt
index 2e5e50c068..2e5e50c068 100755..100644
--- a/Zend/tests/jump05.phpt
+++ b/Zend/tests/jump05.phpt
diff --git a/Zend/tests/jump06.phpt b/Zend/tests/jump06.phpt
index ef01b0e5b3..ef01b0e5b3 100755..100644
--- a/Zend/tests/jump06.phpt
+++ b/Zend/tests/jump06.phpt
diff --git a/Zend/tests/jump07.phpt b/Zend/tests/jump07.phpt
index c0cb112a7b..c0cb112a7b 100755..100644
--- a/Zend/tests/jump07.phpt
+++ b/Zend/tests/jump07.phpt
diff --git a/Zend/tests/jump08.phpt b/Zend/tests/jump08.phpt
index 25a211c8c4..25a211c8c4 100755..100644
--- a/Zend/tests/jump08.phpt
+++ b/Zend/tests/jump08.phpt
diff --git a/Zend/tests/jump09.phpt b/Zend/tests/jump09.phpt
index 52a14b7d54..52a14b7d54 100755..100644
--- a/Zend/tests/jump09.phpt
+++ b/Zend/tests/jump09.phpt
diff --git a/Zend/tests/jump10.phpt b/Zend/tests/jump10.phpt
index 67206a29ae..67206a29ae 100755..100644
--- a/Zend/tests/jump10.phpt
+++ b/Zend/tests/jump10.phpt
diff --git a/Zend/tests/lsb_018.phpt b/Zend/tests/lsb_018.phpt
index c7877cddf7..c7877cddf7 100755..100644
--- a/Zend/tests/lsb_018.phpt
+++ b/Zend/tests/lsb_018.phpt
diff --git a/Zend/tests/lsb_022.phpt b/Zend/tests/lsb_022.phpt
index 016fde83c9..016fde83c9 100755..100644
--- a/Zend/tests/lsb_022.phpt
+++ b/Zend/tests/lsb_022.phpt
diff --git a/Zend/tests/multibyte/multibyte_encoding_001.phpt b/Zend/tests/multibyte/multibyte_encoding_001.phpt
index 19b6064cfa..19b6064cfa 100755..100644
--- a/Zend/tests/multibyte/multibyte_encoding_001.phpt
+++ b/Zend/tests/multibyte/multibyte_encoding_001.phpt
diff --git a/Zend/tests/multibyte/multibyte_encoding_002.phpt b/Zend/tests/multibyte/multibyte_encoding_002.phpt
index 813222d82d..813222d82d 100755..100644
--- a/Zend/tests/multibyte/multibyte_encoding_002.phpt
+++ b/Zend/tests/multibyte/multibyte_encoding_002.phpt
diff --git a/Zend/tests/multibyte/multibyte_encoding_003.phpt b/Zend/tests/multibyte/multibyte_encoding_003.phpt
index badfcc5a63..badfcc5a63 100755..100644
--- a/Zend/tests/multibyte/multibyte_encoding_003.phpt
+++ b/Zend/tests/multibyte/multibyte_encoding_003.phpt
Binary files differ
diff --git a/Zend/tests/ns_001.phpt b/Zend/tests/ns_001.phpt
index 67715947af..67715947af 100755..100644
--- a/Zend/tests/ns_001.phpt
+++ b/Zend/tests/ns_001.phpt
diff --git a/Zend/tests/ns_002.phpt b/Zend/tests/ns_002.phpt
index 3d9e09869d..3d9e09869d 100755..100644
--- a/Zend/tests/ns_002.phpt
+++ b/Zend/tests/ns_002.phpt
diff --git a/Zend/tests/ns_003.phpt b/Zend/tests/ns_003.phpt
index 4372722c25..4372722c25 100755..100644
--- a/Zend/tests/ns_003.phpt
+++ b/Zend/tests/ns_003.phpt
diff --git a/Zend/tests/ns_004.phpt b/Zend/tests/ns_004.phpt
index d293f65dce..d293f65dce 100755..100644
--- a/Zend/tests/ns_004.phpt
+++ b/Zend/tests/ns_004.phpt
diff --git a/Zend/tests/ns_005.phpt b/Zend/tests/ns_005.phpt
index c082afc481..c082afc481 100755..100644
--- a/Zend/tests/ns_005.phpt
+++ b/Zend/tests/ns_005.phpt
diff --git a/Zend/tests/ns_006.phpt b/Zend/tests/ns_006.phpt
index 1c0ec3ab08..1c0ec3ab08 100755..100644
--- a/Zend/tests/ns_006.phpt
+++ b/Zend/tests/ns_006.phpt
diff --git a/Zend/tests/ns_007.phpt b/Zend/tests/ns_007.phpt
index 2f4d1361dc..2f4d1361dc 100755..100644
--- a/Zend/tests/ns_007.phpt
+++ b/Zend/tests/ns_007.phpt
diff --git a/Zend/tests/ns_008.phpt b/Zend/tests/ns_008.phpt
index 2c2c9180cf..2c2c9180cf 100755..100644
--- a/Zend/tests/ns_008.phpt
+++ b/Zend/tests/ns_008.phpt
diff --git a/Zend/tests/ns_009.phpt b/Zend/tests/ns_009.phpt
index 3481316f28..3481316f28 100755..100644
--- a/Zend/tests/ns_009.phpt
+++ b/Zend/tests/ns_009.phpt
diff --git a/Zend/tests/ns_010.phpt b/Zend/tests/ns_010.phpt
index 28ef61bcdd..28ef61bcdd 100755..100644
--- a/Zend/tests/ns_010.phpt
+++ b/Zend/tests/ns_010.phpt
diff --git a/Zend/tests/ns_011.phpt b/Zend/tests/ns_011.phpt
index 1706f2a00d..1706f2a00d 100755..100644
--- a/Zend/tests/ns_011.phpt
+++ b/Zend/tests/ns_011.phpt
diff --git a/Zend/tests/ns_012.phpt b/Zend/tests/ns_012.phpt
index 034f124924..034f124924 100755..100644
--- a/Zend/tests/ns_012.phpt
+++ b/Zend/tests/ns_012.phpt
diff --git a/Zend/tests/ns_013.phpt b/Zend/tests/ns_013.phpt
index ef73b1395f..ef73b1395f 100755..100644
--- a/Zend/tests/ns_013.phpt
+++ b/Zend/tests/ns_013.phpt
diff --git a/Zend/tests/ns_014.phpt b/Zend/tests/ns_014.phpt
index 6bcab51c83..6bcab51c83 100755..100644
--- a/Zend/tests/ns_014.phpt
+++ b/Zend/tests/ns_014.phpt
diff --git a/Zend/tests/ns_015.phpt b/Zend/tests/ns_015.phpt
index ae2c818345..ae2c818345 100755..100644
--- a/Zend/tests/ns_015.phpt
+++ b/Zend/tests/ns_015.phpt
diff --git a/Zend/tests/ns_016.phpt b/Zend/tests/ns_016.phpt
index bee8b5bee3..bee8b5bee3 100755..100644
--- a/Zend/tests/ns_016.phpt
+++ b/Zend/tests/ns_016.phpt
diff --git a/Zend/tests/ns_017.phpt b/Zend/tests/ns_017.phpt
index 888d8e5ef4..888d8e5ef4 100755..100644
--- a/Zend/tests/ns_017.phpt
+++ b/Zend/tests/ns_017.phpt
diff --git a/Zend/tests/ns_018.phpt b/Zend/tests/ns_018.phpt
index 5c2495c631..5c2495c631 100755..100644
--- a/Zend/tests/ns_018.phpt
+++ b/Zend/tests/ns_018.phpt
diff --git a/Zend/tests/ns_019.phpt b/Zend/tests/ns_019.phpt
index c3db786867..c3db786867 100755..100644
--- a/Zend/tests/ns_019.phpt
+++ b/Zend/tests/ns_019.phpt
diff --git a/Zend/tests/ns_020.phpt b/Zend/tests/ns_020.phpt
index ec4fda0298..ec4fda0298 100755..100644
--- a/Zend/tests/ns_020.phpt
+++ b/Zend/tests/ns_020.phpt
diff --git a/Zend/tests/ns_021.phpt b/Zend/tests/ns_021.phpt
index 405468399f..405468399f 100755..100644
--- a/Zend/tests/ns_021.phpt
+++ b/Zend/tests/ns_021.phpt
diff --git a/Zend/tests/ns_022.inc b/Zend/tests/ns_022.inc
index be571fc346..be571fc346 100755..100644
--- a/Zend/tests/ns_022.inc
+++ b/Zend/tests/ns_022.inc
diff --git a/Zend/tests/ns_022.phpt b/Zend/tests/ns_022.phpt
index 7aebe1d5a2..7aebe1d5a2 100755..100644
--- a/Zend/tests/ns_022.phpt
+++ b/Zend/tests/ns_022.phpt
diff --git a/Zend/tests/ns_023.phpt b/Zend/tests/ns_023.phpt
index 34fbb56f2a..34fbb56f2a 100755..100644
--- a/Zend/tests/ns_023.phpt
+++ b/Zend/tests/ns_023.phpt
diff --git a/Zend/tests/ns_024.phpt b/Zend/tests/ns_024.phpt
index 019a89c470..019a89c470 100755..100644
--- a/Zend/tests/ns_024.phpt
+++ b/Zend/tests/ns_024.phpt
diff --git a/Zend/tests/ns_025.phpt b/Zend/tests/ns_025.phpt
index 917a710d95..917a710d95 100755..100644
--- a/Zend/tests/ns_025.phpt
+++ b/Zend/tests/ns_025.phpt
diff --git a/Zend/tests/ns_026.phpt b/Zend/tests/ns_026.phpt
index af2bf2ca55..af2bf2ca55 100755..100644
--- a/Zend/tests/ns_026.phpt
+++ b/Zend/tests/ns_026.phpt
diff --git a/Zend/tests/ns_027.inc b/Zend/tests/ns_027.inc
index 3823818290..3823818290 100755..100644
--- a/Zend/tests/ns_027.inc
+++ b/Zend/tests/ns_027.inc
diff --git a/Zend/tests/ns_027.phpt b/Zend/tests/ns_027.phpt
index 88ef22f93b..88ef22f93b 100755..100644
--- a/Zend/tests/ns_027.phpt
+++ b/Zend/tests/ns_027.phpt
diff --git a/Zend/tests/ns_028.inc b/Zend/tests/ns_028.inc
index 5bd3ae7765..5bd3ae7765 100755..100644
--- a/Zend/tests/ns_028.inc
+++ b/Zend/tests/ns_028.inc
diff --git a/Zend/tests/ns_028.phpt b/Zend/tests/ns_028.phpt
index ec23dac818..ec23dac818 100755..100644
--- a/Zend/tests/ns_028.phpt
+++ b/Zend/tests/ns_028.phpt
diff --git a/Zend/tests/ns_029.phpt b/Zend/tests/ns_029.phpt
index f1aa954ae3..f1aa954ae3 100755..100644
--- a/Zend/tests/ns_029.phpt
+++ b/Zend/tests/ns_029.phpt
diff --git a/Zend/tests/ns_030.phpt b/Zend/tests/ns_030.phpt
index 69724159ee..69724159ee 100755..100644
--- a/Zend/tests/ns_030.phpt
+++ b/Zend/tests/ns_030.phpt
diff --git a/Zend/tests/ns_031.phpt b/Zend/tests/ns_031.phpt
index 840c08621c..840c08621c 100755..100644
--- a/Zend/tests/ns_031.phpt
+++ b/Zend/tests/ns_031.phpt
diff --git a/Zend/tests/ns_032.phpt b/Zend/tests/ns_032.phpt
index 5717a33685..5717a33685 100755..100644
--- a/Zend/tests/ns_032.phpt
+++ b/Zend/tests/ns_032.phpt
diff --git a/Zend/tests/ns_033.phpt b/Zend/tests/ns_033.phpt
index dc431d82b9..dc431d82b9 100755..100644
--- a/Zend/tests/ns_033.phpt
+++ b/Zend/tests/ns_033.phpt
diff --git a/Zend/tests/ns_034.phpt b/Zend/tests/ns_034.phpt
index 76775f1180..76775f1180 100755..100644
--- a/Zend/tests/ns_034.phpt
+++ b/Zend/tests/ns_034.phpt
diff --git a/Zend/tests/ns_035.phpt b/Zend/tests/ns_035.phpt
index fcc771a74e..fcc771a74e 100755..100644
--- a/Zend/tests/ns_035.phpt
+++ b/Zend/tests/ns_035.phpt
diff --git a/Zend/tests/ns_036.phpt b/Zend/tests/ns_036.phpt
index 245cf7d5b5..245cf7d5b5 100755..100644
--- a/Zend/tests/ns_036.phpt
+++ b/Zend/tests/ns_036.phpt
diff --git a/Zend/tests/ns_037.phpt b/Zend/tests/ns_037.phpt
index db0a76e940..db0a76e940 100755..100644
--- a/Zend/tests/ns_037.phpt
+++ b/Zend/tests/ns_037.phpt
diff --git a/Zend/tests/ns_038.phpt b/Zend/tests/ns_038.phpt
index f3a8c8cc63..f3a8c8cc63 100755..100644
--- a/Zend/tests/ns_038.phpt
+++ b/Zend/tests/ns_038.phpt
diff --git a/Zend/tests/ns_054.phpt b/Zend/tests/ns_054.phpt
index 54ab958611..54ab958611 100755..100644
--- a/Zend/tests/ns_054.phpt
+++ b/Zend/tests/ns_054.phpt
diff --git a/Zend/tests/ns_055.phpt b/Zend/tests/ns_055.phpt
index a692e47601..a692e47601 100755..100644
--- a/Zend/tests/ns_055.phpt
+++ b/Zend/tests/ns_055.phpt
diff --git a/Zend/tests/ns_056.phpt b/Zend/tests/ns_056.phpt
index 2390608d4e..2390608d4e 100755..100644
--- a/Zend/tests/ns_056.phpt
+++ b/Zend/tests/ns_056.phpt
diff --git a/Zend/tests/ns_057.phpt b/Zend/tests/ns_057.phpt
index 13bf3054cc..13bf3054cc 100755..100644
--- a/Zend/tests/ns_057.phpt
+++ b/Zend/tests/ns_057.phpt
diff --git a/Zend/tests/ns_058.phpt b/Zend/tests/ns_058.phpt
index 7a0cd97d92..7a0cd97d92 100755..100644
--- a/Zend/tests/ns_058.phpt
+++ b/Zend/tests/ns_058.phpt
diff --git a/Zend/tests/ns_059.phpt b/Zend/tests/ns_059.phpt
index ea66037b43..ea66037b43 100755..100644
--- a/Zend/tests/ns_059.phpt
+++ b/Zend/tests/ns_059.phpt
diff --git a/Zend/tests/ns_065.inc b/Zend/tests/ns_065.inc
index 963a74e140..963a74e140 100755..100644
--- a/Zend/tests/ns_065.inc
+++ b/Zend/tests/ns_065.inc
diff --git a/Zend/tests/ns_065.phpt b/Zend/tests/ns_065.phpt
index 40ccd1e153..40ccd1e153 100755..100644
--- a/Zend/tests/ns_065.phpt
+++ b/Zend/tests/ns_065.phpt
diff --git a/Zend/tests/ns_075.phpt b/Zend/tests/ns_075.phpt
index 0156e99eb4..0156e99eb4 100755..100644
--- a/Zend/tests/ns_075.phpt
+++ b/Zend/tests/ns_075.phpt
diff --git a/Zend/tests/ns_076.phpt b/Zend/tests/ns_076.phpt
index eeda39bd2e..eeda39bd2e 100755..100644
--- a/Zend/tests/ns_076.phpt
+++ b/Zend/tests/ns_076.phpt
diff --git a/Zend/tests/ns_077_1.phpt b/Zend/tests/ns_077_1.phpt
index 5a9c4b1539..5a9c4b1539 100755..100644
--- a/Zend/tests/ns_077_1.phpt
+++ b/Zend/tests/ns_077_1.phpt
diff --git a/Zend/tests/ns_077_2.phpt b/Zend/tests/ns_077_2.phpt
index 8c26721855..8c26721855 100755..100644
--- a/Zend/tests/ns_077_2.phpt
+++ b/Zend/tests/ns_077_2.phpt
diff --git a/Zend/tests/ns_077_3.phpt b/Zend/tests/ns_077_3.phpt
index bdeb7924e6..bdeb7924e6 100755..100644
--- a/Zend/tests/ns_077_3.phpt
+++ b/Zend/tests/ns_077_3.phpt
diff --git a/Zend/tests/ns_077_4.phpt b/Zend/tests/ns_077_4.phpt
index aef91fd3e6..aef91fd3e6 100755..100644
--- a/Zend/tests/ns_077_4.phpt
+++ b/Zend/tests/ns_077_4.phpt
diff --git a/Zend/tests/ns_077_5.phpt b/Zend/tests/ns_077_5.phpt
index 17afe03f4b..17afe03f4b 100755..100644
--- a/Zend/tests/ns_077_5.phpt
+++ b/Zend/tests/ns_077_5.phpt
diff --git a/Zend/tests/ns_077_6.phpt b/Zend/tests/ns_077_6.phpt
index 17afe03f4b..17afe03f4b 100755..100644
--- a/Zend/tests/ns_077_6.phpt
+++ b/Zend/tests/ns_077_6.phpt
diff --git a/Zend/tests/ns_077_7.phpt b/Zend/tests/ns_077_7.phpt
index 9bf5baf058..9bf5baf058 100755..100644
--- a/Zend/tests/ns_077_7.phpt
+++ b/Zend/tests/ns_077_7.phpt
diff --git a/Zend/tests/ns_077_8.phpt b/Zend/tests/ns_077_8.phpt
index 9f9240db07..9f9240db07 100755..100644
--- a/Zend/tests/ns_077_8.phpt
+++ b/Zend/tests/ns_077_8.phpt
diff --git a/Zend/tests/ns_078.phpt b/Zend/tests/ns_078.phpt
index ed6770ff47..ed6770ff47 100755..100644
--- a/Zend/tests/ns_078.phpt
+++ b/Zend/tests/ns_078.phpt
diff --git a/Zend/tests/object_handlers.phpt b/Zend/tests/object_handlers.phpt
index 3e8dfcc537..3e8dfcc537 100755..100644
--- a/Zend/tests/object_handlers.phpt
+++ b/Zend/tests/object_handlers.phpt
diff --git a/Zend/tests/objects_015.phpt b/Zend/tests/objects_015.phpt
index a923ee0c46..a923ee0c46 100755..100644
--- a/Zend/tests/objects_015.phpt
+++ b/Zend/tests/objects_015.phpt
diff --git a/Zend/tests/selfParent_001.phpt b/Zend/tests/selfParent_001.phpt
index 9d8cd6e22f..9d8cd6e22f 100755..100644
--- a/Zend/tests/selfParent_001.phpt
+++ b/Zend/tests/selfParent_001.phpt
diff --git a/Zend/tests/selfParent_002.phpt b/Zend/tests/selfParent_002.phpt
index 18a8f09ea9..18a8f09ea9 100755..100644
--- a/Zend/tests/selfParent_002.phpt
+++ b/Zend/tests/selfParent_002.phpt
diff --git a/Zend/tests/unexpected_ref_bug.phpt b/Zend/tests/unexpected_ref_bug.phpt
index 61fe1aa5b1..61fe1aa5b1 100755..100644
--- a/Zend/tests/unexpected_ref_bug.phpt
+++ b/Zend/tests/unexpected_ref_bug.phpt
diff --git a/Zend/tests/unset_cv12.phpt b/Zend/tests/unset_cv12.phpt
index a22b13dea7..a22b13dea7 100755..100644
--- a/Zend/tests/unset_cv12.phpt
+++ b/Zend/tests/unset_cv12.phpt
diff --git a/Zend/zend.c b/Zend/zend.c
index ea32346dae..bd53d55183 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -997,6 +997,29 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
zend_stack labels_stack;
TSRMLS_FETCH();
+ /* Report about uncaught exception in case of fatal errors */
+ if (EG(exception)) {
+ switch (type) {
+ case E_CORE_ERROR:
+ case E_ERROR:
+ case E_RECOVERABLE_ERROR:
+ case E_PARSE:
+ case E_COMPILE_ERROR:
+ case E_USER_ERROR:
+ if (zend_is_executing(TSRMLS_C)) {
+ error_lineno = zend_get_executed_lineno(TSRMLS_C);
+ }
+ zend_exception_error(EG(exception), E_WARNING TSRMLS_CC);
+ EG(exception) = NULL;
+ if (zend_is_executing(TSRMLS_C) && EG(opline_ptr)) {
+ active_opline->lineno = error_lineno;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
/* Obtain relevant filename and lineno */
switch (type) {
case E_CORE_ERROR:
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 70cf0c7af8..d529775764 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2122,7 +2122,9 @@ void module_destructor(zend_module_entry *module) /* {{{ */
/* Deinitilaise module globals */
if (module->globals_size) {
#ifdef ZTS
- ts_free_id(*module->globals_id_ptr);
+ if (*module->globals_id_ptr) {
+ ts_free_id(*module->globals_id_ptr);
+ }
#else
if (module->globals_dtor) {
module->globals_dtor(module->globals_ptr TSRMLS_CC);
@@ -2601,7 +2603,14 @@ get_function_via_handler:
if (retval) {
if (fcc->calling_scope && !call_via_handler) {
- if (!fcc->object_ptr && !(fcc->function_handler->common.fn_flags & ZEND_ACC_STATIC)) {
+ if (!fcc->object_ptr && (fcc->function_handler->common.fn_flags & ZEND_ACC_ABSTRACT)) {
+ if (error) {
+ zend_spprintf(error, 0, "cannot call abstract method %s::%s()", fcc->calling_scope->name, fcc->function_handler->common.function_name);
+ retval = 0;
+ } else {
+ zend_error(E_ERROR, "Cannot call abstract method %s::%s()", fcc->calling_scope->name, fcc->function_handler->common.function_name);
+ }
+ } else if (!fcc->object_ptr && !(fcc->function_handler->common.fn_flags & ZEND_ACC_STATIC)) {
int severity;
char *verb;
if (fcc->function_handler->common.fn_flags & ZEND_ACC_ALLOW_STATIC) {
diff --git a/Zend/zend_build.h b/Zend/zend_build.h
index 042f50e807..042f50e807 100755..100644
--- a/Zend/zend_build.h
+++ b/Zend/zend_build.h
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index 47dbe0b052..47dbe0b052 100755..100644
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
diff --git a/Zend/zend_interfaces.h b/Zend/zend_interfaces.h
index 2b05bbd5a1..2b05bbd5a1 100755..100644
--- a/Zend/zend_interfaces.h
+++ b/Zend/zend_interfaces.h
diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c
index 1c5ba321de..1c5ba321de 100755..100644
--- a/Zend/zend_iterators.c
+++ b/Zend/zend_iterators.c
diff --git a/Zend/zend_iterators.h b/Zend/zend_iterators.h
index dba05850a8..dba05850a8 100755..100644
--- a/Zend/zend_iterators.h
+++ b/Zend/zend_iterators.h
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index 288a5dfc92..eae47d9c5a 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -1272,6 +1272,7 @@ ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int ty
if (retval) {
zval_ptr_dtor(&retval);
}
+ EG(exception) = NULL;
zend_error(E_ERROR, "Method %s::__toString() must not throw an exception", ce->name);
return FAILURE;
}
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index e6fe67e764..aea63faedd 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -1489,6 +1489,9 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
ret = compare_function(result, op1, op_free TSRMLS_CC);
zend_free_obj_get_result(op_free TSRMLS_CC);
return ret;
+ } else if (Z_TYPE_P(op1) == IS_OBJECT) {
+ ZVAL_LONG(result, 1);
+ return SUCCESS;
}
}
if (!converted) {
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 34020fb9fc..22d77dd79f 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -1990,6 +1990,9 @@ ZEND_VM_HANDLER(113, ZEND_INIT_STATIC_METHOD_CALL, CONST|VAR, CONST|TMP|VAR|UNUS
if (OP1_TYPE == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -3043,6 +3046,9 @@ ZEND_VM_HANDLER(99, ZEND_FETCH_CONSTANT, VAR|CONST|UNUSED, CONST)
if (OP1_TYPE == IS_CONST) {
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Undefined class constant '%s'", Z_STRVAL(opline->op2.u.constant));
}
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 2889965e9d..1481602040 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -2688,6 +2688,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST_HANDLER(
if (IS_CONST == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -2836,6 +2839,9 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_CONST_CONST_HANDLER(ZEND_OPCO
if (IS_CONST == IS_CONST) {
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Undefined class constant '%s'", Z_STRVAL(opline->op2.u.constant));
}
@@ -3259,6 +3265,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMP_HANDLER(ZE
if (IS_CONST == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -3725,6 +3734,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_VAR_HANDLER(ZE
if (IS_CONST == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -3947,6 +3959,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_UNUSED_HANDLER
if (IS_CONST == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -4381,6 +4396,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CV_HANDLER(ZEN
if (IS_CONST == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -10498,6 +10516,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZE
if (IS_VAR == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -10646,6 +10667,9 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE
if (IS_VAR == IS_CONST) {
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Undefined class constant '%s'", Z_STRVAL(opline->op2.u.constant));
}
@@ -12305,6 +12329,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND
if (IS_VAR == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -14107,6 +14134,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND
if (IS_VAR == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -15003,6 +15033,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_UNUSED_HANDLER(Z
if (IS_VAR == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -16496,6 +16529,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_
if (IS_VAR == IS_CONST) {
/* no function found. try a static method in class */
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
}
@@ -17860,6 +17896,9 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_UNUSED_CONST_HANDLER(ZEND_OPC
if (IS_UNUSED == IS_CONST) {
ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ ZEND_VM_CONTINUE();
+ }
if (!ce) {
zend_error_noreturn(E_ERROR, "Undefined class constant '%s'", Z_STRVAL(opline->op2.u.constant));
}
diff --git a/Zend/zend_vm_execute.skl b/Zend/zend_vm_execute.skl
index 18d0e29356..e5a143eaa7 100644
--- a/Zend/zend_vm_execute.skl
+++ b/Zend/zend_vm_execute.skl
@@ -4,8 +4,8 @@ ZEND_API void {%EXECUTOR_NAME%}(zend_op_array *op_array TSRMLS_DC)
{
zend_execute_data *execute_data;
zend_bool nested = 0;
- zend_bool original_in_execution = EG(in_execution);
{%HELPER_VARS%}
+ {%EXECUTION_STATUS%}
{%INTERNAL_LABELS%}
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index 86d6503592..2fff1a9c52 100644
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -850,6 +850,13 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name,
skip_blanks($f, $m[1], $m[3]."\n");
}
break;
+ case "EXECUTION_STATUS":
+ if ($kind != ZEND_VM_KIND_GOTO) {
+ out($f, $m[1] . "zend_bool original_in_execution = EG(in_execution);\n");
+ } else {
+ out($f, $m[1] . "zend_bool original_in_execution = op_array? EG(in_execution) : 0;\n");
+ }
+ break;
case "INTERNAL_LABELS":
if ($kind == ZEND_VM_KIND_GOTO) {
// Emit array of labels of opcode handlers and code for
diff --git a/configure.in b/configure.in
index d896583313..050f8d40f1 100644
--- a/configure.in
+++ b/configure.in
@@ -41,7 +41,7 @@ AC_CONFIG_HEADER(main/php_config.h)
PHP_MAJOR_VERSION=5
PHP_MINOR_VERSION=3
-PHP_RELEASE_VERSION=16
+PHP_RELEASE_VERSION=19
PHP_EXTRA_VERSION="-dev"
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
diff --git a/ext/bcmath/tests/bcdiv_error1.phpt b/ext/bcmath/tests/bcdiv_error1.phpt
index c69d36bb9c..c69d36bb9c 100755..100644
--- a/ext/bcmath/tests/bcdiv_error1.phpt
+++ b/ext/bcmath/tests/bcdiv_error1.phpt
diff --git a/ext/bcmath/tests/bcpowmod_error1.phpt b/ext/bcmath/tests/bcpowmod_error1.phpt
index 2dc292eb54..2dc292eb54 100755..100644
--- a/ext/bcmath/tests/bcpowmod_error1.phpt
+++ b/ext/bcmath/tests/bcpowmod_error1.phpt
diff --git a/ext/bcmath/tests/bcpowmod_error2.phpt b/ext/bcmath/tests/bcpowmod_error2.phpt
index e0a99637ca..e0a99637ca 100755..100644
--- a/ext/bcmath/tests/bcpowmod_error2.phpt
+++ b/ext/bcmath/tests/bcpowmod_error2.phpt
diff --git a/ext/bcmath/tests/bcsqrt_error1.phpt b/ext/bcmath/tests/bcsqrt_error1.phpt
index 1f213dbc82..1f213dbc82 100755..100644
--- a/ext/bcmath/tests/bcsqrt_error1.phpt
+++ b/ext/bcmath/tests/bcsqrt_error1.phpt
diff --git a/ext/com_dotnet/com_persist.c b/ext/com_dotnet/com_persist.c
index fb940217e8..fb940217e8 100755..100644
--- a/ext/com_dotnet/com_persist.c
+++ b/ext/com_dotnet/com_persist.c
diff --git a/ext/com_dotnet/tests/27974.phpt b/ext/com_dotnet/tests/27974.phpt
index 30c42b6cf6..30c42b6cf6 100755..100644
--- a/ext/com_dotnet/tests/27974.phpt
+++ b/ext/com_dotnet/tests/27974.phpt
diff --git a/ext/curl/multi.c b/ext/curl/multi.c
index 034aa65c28..53e97b80f8 100644
--- a/ext/curl/multi.c
+++ b/ext/curl/multi.c
@@ -191,6 +191,9 @@ PHP_FUNCTION(curl_multi_select)
FD_ZERO(&exceptfds);
curl_multi_fdset(mh->multi, &readfds, &writefds, &exceptfds, &maxfd);
+ if (maxfd == -1) {
+ RETURN_LONG(-1);
+ }
RETURN_LONG(select(maxfd + 1, &readfds, &writefds, &exceptfds, &to));
}
/* }}} */
diff --git a/ext/curl/streams.c b/ext/curl/streams.c
index 4f97ee0572..e317285c31 100644
--- a/ext/curl/streams.c
+++ b/ext/curl/streams.c
@@ -162,6 +162,10 @@ static size_t php_curl_stream_read(php_stream *stream, char *buf, size_t count T
}
do {
+ FD_ZERO(&curlstream->readfds);
+ FD_ZERO(&curlstream->writefds);
+ FD_ZERO(&curlstream->excfds);
+
/* get the descriptors from curl */
curl_multi_fdset(curlstream->multi, &curlstream->readfds, &curlstream->writefds, &curlstream->excfds, &curlstream->maxfd);
diff --git a/ext/curl/tests/bug62839.phpt b/ext/curl/tests/bug62839.phpt
index 39e6fc9cbe..e6988d6de1 100644
--- a/ext/curl/tests/bug62839.phpt
+++ b/ext/curl/tests/bug62839.phpt
@@ -7,7 +7,7 @@ Bug #62839 (curl_copy_handle segfault with CURLOPT_FILE)
<?php
$curl = curl_init();
-$fd = fopen('/tmp/test', 'wb');
+$fd = tmpfile();
curl_setopt($curl, CURLOPT_FILE, $fd);
curl_copy_handle($curl);
diff --git a/ext/curl/tests/curl_basic_006.phpt b/ext/curl/tests/curl_basic_006.phpt
index 5f1a4f4839..5f1a4f4839 100755..100644
--- a/ext/curl/tests/curl_basic_006.phpt
+++ b/ext/curl/tests/curl_basic_006.phpt
diff --git a/ext/curl/tests/curl_basic_007.phpt b/ext/curl/tests/curl_basic_007.phpt
index b7eba4bc2a..b7eba4bc2a 100755..100644
--- a/ext/curl/tests/curl_basic_007.phpt
+++ b/ext/curl/tests/curl_basic_007.phpt
diff --git a/ext/curl/tests/curl_basic_008.phpt b/ext/curl/tests/curl_basic_008.phpt
index 29e3343707..29e3343707 100755..100644
--- a/ext/curl/tests/curl_basic_008.phpt
+++ b/ext/curl/tests/curl_basic_008.phpt
diff --git a/ext/date/lib/astro.c b/ext/date/lib/astro.c
index 0438f98904..064700f912 100644
--- a/ext/date/lib/astro.c
+++ b/ext/date/lib/astro.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/dow.c b/ext/date/lib/dow.c
index b33e8eab72..9cb9c9cd28 100644
--- a/ext/date/lib/dow.c
+++ b/ext/date/lib/dow.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/interval.c b/ext/date/lib/interval.c
index af150fc802..451b463191 100644
--- a/ext/date/lib/interval.c
+++ b/ext/date/lib/interval.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
index 42741079ed..0e21ecc00c 100644
--- a/ext/date/lib/parse_date.c
+++ b/ext/date/lib/parse_date.c
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
index 16c45a2119..cca88580eb 100644
--- a/ext/date/lib/parse_date.re
+++ b/ext/date/lib/parse_date.re
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/parse_iso_intervals.c b/ext/date/lib/parse_iso_intervals.c
index 2c5ed42706..5f052221b8 100644
--- a/ext/date/lib/parse_iso_intervals.c
+++ b/ext/date/lib/parse_iso_intervals.c
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/parse_iso_intervals.re b/ext/date/lib/parse_iso_intervals.re
index 8610803e39..e52868865b 100644
--- a/ext/date/lib/parse_iso_intervals.re
+++ b/ext/date/lib/parse_iso_intervals.re
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c
index b8d8448c94..009a2ad4e6 100644
--- a/ext/date/lib/parse_tz.c
+++ b/ext/date/lib/parse_tz.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/timelib.c b/ext/date/lib/timelib.c
index 5e65a6e4cf..43eedf780c 100644
--- a/ext/date/lib/timelib.c
+++ b/ext/date/lib/timelib.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h
index 9667fa2dae..671d37fd9e 100644
--- a/ext/date/lib/timelib.h
+++ b/ext/date/lib/timelib.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/timelib_structs.h b/ext/date/lib/timelib_structs.h
index 4f67b7a6cb..6662d91b1b 100644
--- a/ext/date/lib/timelib_structs.h
+++ b/ext/date/lib/timelib_structs.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h
index 221181191e..cee077bab4 100644
--- a/ext/date/lib/timezonedb.h
+++ b/ext/date/lib/timezonedb.h
@@ -14,570 +14,570 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[576] = {
{ "Africa/Bujumbura" , 0x000571 },
{ "Africa/Cairo" , 0x0005B5 },
{ "Africa/Casablanca" , 0x000878 },
- { "Africa/Ceuta" , 0x000A6C },
- { "Africa/Conakry" , 0x000D73 },
- { "Africa/Dakar" , 0x000DDE },
- { "Africa/Dar_es_Salaam" , 0x000E44 },
- { "Africa/Djibouti" , 0x000EB1 },
- { "Africa/Douala" , 0x000F06 },
- { "Africa/El_Aaiun" , 0x000F5B },
- { "Africa/Freetown" , 0x000FC1 },
- { "Africa/Gaborone" , 0x0010D0 },
- { "Africa/Harare" , 0x00112B },
- { "Africa/Johannesburg" , 0x001180 },
- { "Africa/Juba" , 0x0011EE },
- { "Africa/Kampala" , 0x001301 },
- { "Africa/Khartoum" , 0x001380 },
- { "Africa/Kigali" , 0x001493 },
- { "Africa/Kinshasa" , 0x0014E8 },
- { "Africa/Lagos" , 0x001543 },
- { "Africa/Libreville" , 0x001598 },
- { "Africa/Lome" , 0x0015ED },
- { "Africa/Luanda" , 0x001631 },
- { "Africa/Lubumbashi" , 0x001686 },
- { "Africa/Lusaka" , 0x0016E1 },
- { "Africa/Malabo" , 0x001736 },
- { "Africa/Maputo" , 0x00179C },
- { "Africa/Maseru" , 0x0017F1 },
- { "Africa/Mbabane" , 0x001859 },
- { "Africa/Mogadishu" , 0x0018AF },
- { "Africa/Monrovia" , 0x00190A },
- { "Africa/Nairobi" , 0x001970 },
- { "Africa/Ndjamena" , 0x0019EF },
- { "Africa/Niamey" , 0x001A5B },
- { "Africa/Nouakchott" , 0x001ACE },
- { "Africa/Ouagadougou" , 0x001B39 },
- { "Africa/Porto-Novo" , 0x001B8E },
- { "Africa/Sao_Tome" , 0x001BF4 },
- { "Africa/Timbuktu" , 0x001C49 },
- { "Africa/Tripoli" , 0x001CB4 },
- { "Africa/Tunis" , 0x001DAE },
- { "Africa/Windhoek" , 0x001EC0 },
- { "America/Adak" , 0x002107 },
- { "America/Anchorage" , 0x00247D },
- { "America/Anguilla" , 0x0027F1 },
- { "America/Antigua" , 0x002846 },
- { "America/Araguaina" , 0x0028AC },
- { "America/Argentina/Buenos_Aires" , 0x002A07 },
- { "America/Argentina/Catamarca" , 0x002BB5 },
- { "America/Argentina/ComodRivadavia" , 0x002D76 },
- { "America/Argentina/Cordoba" , 0x002F1C },
- { "America/Argentina/Jujuy" , 0x0030F1 },
- { "America/Argentina/La_Rioja" , 0x0032A5 },
- { "America/Argentina/Mendoza" , 0x00345D },
- { "America/Argentina/Rio_Gallegos" , 0x00361D },
- { "America/Argentina/Salta" , 0x0037D2 },
- { "America/Argentina/San_Juan" , 0x00397E },
- { "America/Argentina/San_Luis" , 0x003B36 },
- { "America/Argentina/Tucuman" , 0x003CFC },
- { "America/Argentina/Ushuaia" , 0x003EB8 },
- { "America/Aruba" , 0x004073 },
- { "America/Asuncion" , 0x0040D9 },
- { "America/Atikokan" , 0x0043BE },
- { "America/Atka" , 0x004494 },
- { "America/Bahia" , 0x0047FA },
- { "America/Bahia_Banderas" , 0x004A8C },
- { "America/Barbados" , 0x004D05 },
- { "America/Belem" , 0x004D9F },
- { "America/Belize" , 0x004E9A },
- { "America/Blanc-Sablon" , 0x005016 },
- { "America/Boa_Vista" , 0x0050CA },
- { "America/Bogota" , 0x0051D3 },
- { "America/Boise" , 0x00523F },
- { "America/Buenos_Aires" , 0x0055D6 },
- { "America/Cambridge_Bay" , 0x00576F },
- { "America/Campo_Grande" , 0x005A97 },
- { "America/Cancun" , 0x005D86 },
- { "America/Caracas" , 0x005FC8 },
- { "America/Catamarca" , 0x00602F },
- { "America/Cayenne" , 0x0061D5 },
- { "America/Cayman" , 0x006237 },
- { "America/Chicago" , 0x00628C },
- { "America/Chihuahua" , 0x0067A3 },
- { "America/Coral_Harbour" , 0x006A0E },
- { "America/Cordoba" , 0x006AA0 },
- { "America/Costa_Rica" , 0x006C46 },
- { "America/Creston" , 0x006CD0 },
- { "America/Cuiaba" , 0x006D5C },
- { "America/Curacao" , 0x00703A },
- { "America/Danmarkshavn" , 0x0070A0 },
- { "America/Dawson" , 0x0071E4 },
- { "America/Dawson_Creek" , 0x007501 },
- { "America/Denver" , 0x0076DB },
- { "America/Detroit" , 0x007A61 },
- { "America/Dominica" , 0x007DC0 },
- { "America/Edmonton" , 0x007E15 },
- { "America/Eirunepe" , 0x0081CD },
- { "America/El_Salvador" , 0x0082E0 },
- { "America/Ensenada" , 0x008355 },
- { "America/Fort_Wayne" , 0x0087FC },
- { "America/Fortaleza" , 0x0086BE },
- { "America/Glace_Bay" , 0x008A66 },
- { "America/Godthab" , 0x008DDD },
- { "America/Goose_Bay" , 0x0090A1 },
- { "America/Grand_Turk" , 0x00955E },
- { "America/Grenada" , 0x00980D },
- { "America/Guadeloupe" , 0x009862 },
- { "America/Guatemala" , 0x0098B7 },
- { "America/Guayaquil" , 0x009940 },
- { "America/Guyana" , 0x00999D },
- { "America/Halifax" , 0x009A1E },
- { "America/Havana" , 0x009F34 },
- { "America/Hermosillo" , 0x00A2A7 },
- { "America/Indiana/Indianapolis" , 0x00A385 },
- { "America/Indiana/Knox" , 0x00A616 },
- { "America/Indiana/Marengo" , 0x00A9AD },
- { "America/Indiana/Petersburg" , 0x00AC53 },
- { "America/Indiana/Tell_City" , 0x00B1A0 },
- { "America/Indiana/Vevay" , 0x00B439 },
- { "America/Indiana/Vincennes" , 0x00B674 },
- { "America/Indiana/Winamac" , 0x00B928 },
- { "America/Indianapolis" , 0x00AF36 },
- { "America/Inuvik" , 0x00BBE1 },
- { "America/Iqaluit" , 0x00BED8 },
- { "America/Jamaica" , 0x00C1FA },
- { "America/Jujuy" , 0x00C2BF },
- { "America/Juneau" , 0x00C469 },
- { "America/Kentucky/Louisville" , 0x00C7E7 },
- { "America/Kentucky/Monticello" , 0x00CC05 },
- { "America/Knox_IN" , 0x00CF8A },
- { "America/Kralendijk" , 0x00D2FB },
- { "America/La_Paz" , 0x00D361 },
- { "America/Lima" , 0x00D3C8 },
- { "America/Los_Angeles" , 0x00D470 },
- { "America/Louisville" , 0x00D881 },
- { "America/Lower_Princes" , 0x00DC76 },
- { "America/Maceio" , 0x00DCDC },
- { "America/Managua" , 0x00DE16 },
- { "America/Manaus" , 0x00DEC9 },
- { "America/Marigot" , 0x00DFCB },
- { "America/Martinique" , 0x00E020 },
- { "America/Matamoros" , 0x00E08C },
- { "America/Mazatlan" , 0x00E2E5 },
- { "America/Mendoza" , 0x00E552 },
- { "America/Menominee" , 0x00E706 },
- { "America/Merida" , 0x00EA87 },
- { "America/Metlakatla" , 0x00ECC2 },
- { "America/Mexico_City" , 0x00EDFC },
- { "America/Miquelon" , 0x00F077 },
- { "America/Moncton" , 0x00F2E9 },
- { "America/Monterrey" , 0x00F780 },
- { "America/Montevideo" , 0x00F9E3 },
- { "America/Montreal" , 0x00FCF5 },
- { "America/Montserrat" , 0x01020B },
- { "America/Nassau" , 0x010260 },
- { "America/New_York" , 0x0105A5 },
- { "America/Nipigon" , 0x010AB0 },
- { "America/Nome" , 0x010E01 },
- { "America/Noronha" , 0x01117F },
- { "America/North_Dakota/Beulah" , 0x0112AF },
- { "America/North_Dakota/Center" , 0x011643 },
- { "America/North_Dakota/New_Salem" , 0x0119D7 },
- { "America/Ojinaga" , 0x011D80 },
- { "America/Panama" , 0x011FE1 },
- { "America/Pangnirtung" , 0x012036 },
- { "America/Paramaribo" , 0x01236C },
- { "America/Phoenix" , 0x0123FE },
- { "America/Port-au-Prince" , 0x0124AC },
- { "America/Port_of_Spain" , 0x0126D1 },
- { "America/Porto_Acre" , 0x0125D2 },
- { "America/Porto_Velho" , 0x012726 },
- { "America/Puerto_Rico" , 0x01281C },
- { "America/Rainy_River" , 0x012887 },
- { "America/Rankin_Inlet" , 0x012BBF },
- { "America/Recife" , 0x012EA5 },
- { "America/Regina" , 0x012FCF },
- { "America/Resolute" , 0x01318D },
- { "America/Rio_Branco" , 0x01347E },
- { "America/Rosario" , 0x013581 },
- { "America/Santa_Isabel" , 0x013727 },
- { "America/Santarem" , 0x013ACA },
- { "America/Santiago" , 0x013BCF },
- { "America/Santo_Domingo" , 0x013F78 },
- { "America/Sao_Paulo" , 0x01403E },
- { "America/Scoresbysund" , 0x01434D },
- { "America/Shiprock" , 0x01463B },
- { "America/Sitka" , 0x0149CA },
- { "America/St_Barthelemy" , 0x014D52 },
- { "America/St_Johns" , 0x014DA7 },
- { "America/St_Kitts" , 0x0152FA },
- { "America/St_Lucia" , 0x01534F },
- { "America/St_Thomas" , 0x0153A4 },
- { "America/St_Vincent" , 0x0153F9 },
- { "America/Swift_Current" , 0x01544E },
- { "America/Tegucigalpa" , 0x01556F },
- { "America/Thule" , 0x0155EE },
- { "America/Thunder_Bay" , 0x015835 },
- { "America/Tijuana" , 0x015B7E },
- { "America/Toronto" , 0x015F17 },
- { "America/Tortola" , 0x01642E },
- { "America/Vancouver" , 0x016483 },
- { "America/Virgin" , 0x0168C0 },
- { "America/Whitehorse" , 0x016915 },
- { "America/Winnipeg" , 0x016C32 },
- { "America/Yakutat" , 0x017072 },
- { "America/Yellowknife" , 0x0173DD },
- { "Antarctica/Casey" , 0x0176ED },
- { "Antarctica/Davis" , 0x01778A },
- { "Antarctica/DumontDUrville" , 0x01782B },
- { "Antarctica/Macquarie" , 0x0178BD },
- { "Antarctica/Mawson" , 0x017B37 },
- { "Antarctica/McMurdo" , 0x017BB3 },
- { "Antarctica/Palmer" , 0x017EB5 },
- { "Antarctica/Rothera" , 0x0181D1 },
- { "Antarctica/South_Pole" , 0x018247 },
- { "Antarctica/Syowa" , 0x01854F },
- { "Antarctica/Vostok" , 0x0185BD },
- { "Arctic/Longyearbyen" , 0x01862E },
- { "Asia/Aden" , 0x018960 },
- { "Asia/Almaty" , 0x0189B5 },
- { "Asia/Amman" , 0x018B34 },
- { "Asia/Anadyr" , 0x018DF4 },
- { "Asia/Aqtau" , 0x018FD9 },
- { "Asia/Aqtobe" , 0x0191D8 },
- { "Asia/Ashgabat" , 0x019390 },
- { "Asia/Ashkhabad" , 0x0194AD },
- { "Asia/Baghdad" , 0x0195CA },
- { "Asia/Bahrain" , 0x01973F },
- { "Asia/Baku" , 0x0197A5 },
- { "Asia/Bangkok" , 0x019A8D },
- { "Asia/Beirut" , 0x019AE2 },
- { "Asia/Bishkek" , 0x019DEF },
- { "Asia/Brunei" , 0x019F9B },
- { "Asia/Calcutta" , 0x019FFD },
- { "Asia/Choibalsan" , 0x01A076 },
- { "Asia/Chongqing" , 0x01A1EF },
- { "Asia/Chungking" , 0x01A2DE },
- { "Asia/Colombo" , 0x01A38D },
- { "Asia/Dacca" , 0x01A429 },
- { "Asia/Damascus" , 0x01A4CF },
- { "Asia/Dhaka" , 0x01A81F },
- { "Asia/Dili" , 0x01A8C5 },
- { "Asia/Dubai" , 0x01A94E },
- { "Asia/Dushanbe" , 0x01A9A3 },
- { "Asia/Gaza" , 0x01AAA6 },
- { "Asia/Harbin" , 0x01ACFF },
- { "Asia/Hebron" , 0x01ADE6 },
- { "Asia/Ho_Chi_Minh" , 0x01B048 },
- { "Asia/Hong_Kong" , 0x01B0C0 },
- { "Asia/Hovd" , 0x01B282 },
- { "Asia/Irkutsk" , 0x01B3FA },
- { "Asia/Istanbul" , 0x01B5E0 },
- { "Asia/Jakarta" , 0x01B9CD },
- { "Asia/Jayapura" , 0x01BA77 },
- { "Asia/Jerusalem" , 0x01BB13 },
- { "Asia/Kabul" , 0x01BE42 },
- { "Asia/Kamchatka" , 0x01BE93 },
- { "Asia/Karachi" , 0x01C06F },
- { "Asia/Kashgar" , 0x01C124 },
- { "Asia/Kathmandu" , 0x01C1F5 },
- { "Asia/Katmandu" , 0x01C25B },
- { "Asia/Kolkata" , 0x01C2C1 },
- { "Asia/Krasnoyarsk" , 0x01C33A },
- { "Asia/Kuala_Lumpur" , 0x01C522 },
- { "Asia/Kuching" , 0x01C5DF },
- { "Asia/Kuwait" , 0x01C6CD },
- { "Asia/Macao" , 0x01C722 },
- { "Asia/Macau" , 0x01C85D },
- { "Asia/Magadan" , 0x01C998 },
- { "Asia/Makassar" , 0x01CB7A },
- { "Asia/Manila" , 0x01CC3E },
- { "Asia/Muscat" , 0x01CCC3 },
- { "Asia/Nicosia" , 0x01CD18 },
- { "Asia/Novokuznetsk" , 0x01D000 },
- { "Asia/Novosibirsk" , 0x01D202 },
- { "Asia/Omsk" , 0x01D3ED },
- { "Asia/Oral" , 0x01D5D4 },
- { "Asia/Phnom_Penh" , 0x01D7A4 },
- { "Asia/Pontianak" , 0x01D81C },
- { "Asia/Pyongyang" , 0x01D8DD },
- { "Asia/Qatar" , 0x01D94A },
- { "Asia/Qyzylorda" , 0x01D9B0 },
- { "Asia/Rangoon" , 0x01DB86 },
- { "Asia/Riyadh" , 0x01DBFE },
- { "Asia/Saigon" , 0x01DC53 },
- { "Asia/Sakhalin" , 0x01DCCB },
- { "Asia/Samarkand" , 0x01DEC2 },
- { "Asia/Seoul" , 0x01DFF8 },
- { "Asia/Shanghai" , 0x01E09C },
- { "Asia/Singapore" , 0x01E17C },
- { "Asia/Taipei" , 0x01E233 },
- { "Asia/Tashkent" , 0x01E34B },
- { "Asia/Tbilisi" , 0x01E47C },
- { "Asia/Tehran" , 0x01E636 },
- { "Asia/Tel_Aviv" , 0x01E8A4 },
- { "Asia/Thimbu" , 0x01EBD3 },
- { "Asia/Thimphu" , 0x01EC39 },
- { "Asia/Tokyo" , 0x01EC9F },
- { "Asia/Ujung_Pandang" , 0x01ED28 },
- { "Asia/Ulaanbaatar" , 0x01EDA4 },
- { "Asia/Ulan_Bator" , 0x01EEFF },
- { "Asia/Urumqi" , 0x01F04C },
- { "Asia/Vientiane" , 0x01F113 },
- { "Asia/Vladivostok" , 0x01F18B },
- { "Asia/Yakutsk" , 0x01F377 },
- { "Asia/Yekaterinburg" , 0x01F55C },
- { "Asia/Yerevan" , 0x01F767 },
- { "Atlantic/Azores" , 0x01F967 },
- { "Atlantic/Bermuda" , 0x01FE6A },
- { "Atlantic/Canary" , 0x02014B },
- { "Atlantic/Cape_Verde" , 0x020421 },
- { "Atlantic/Faeroe" , 0x02049A },
- { "Atlantic/Faroe" , 0x02073E },
- { "Atlantic/Jan_Mayen" , 0x0209E2 },
- { "Atlantic/Madeira" , 0x020D14 },
- { "Atlantic/Reykjavik" , 0x02121D },
- { "Atlantic/South_Georgia" , 0x0213D6 },
- { "Atlantic/St_Helena" , 0x0215E8 },
- { "Atlantic/Stanley" , 0x02141A },
- { "Australia/ACT" , 0x02163D },
- { "Australia/Adelaide" , 0x02195A },
- { "Australia/Brisbane" , 0x021C86 },
- { "Australia/Broken_Hill" , 0x021D4D },
- { "Australia/Canberra" , 0x02208B },
- { "Australia/Currie" , 0x0223A8 },
- { "Australia/Darwin" , 0x0226DB },
- { "Australia/Eucla" , 0x022761 },
- { "Australia/Hobart" , 0x022836 },
- { "Australia/LHI" , 0x022B94 },
- { "Australia/Lindeman" , 0x022E2F },
- { "Australia/Lord_Howe" , 0x022F10 },
- { "Australia/Melbourne" , 0x0231BB },
- { "Australia/North" , 0x0234E0 },
- { "Australia/NSW" , 0x023554 },
- { "Australia/Perth" , 0x023871 },
- { "Australia/Queensland" , 0x023949 },
- { "Australia/South" , 0x0239F5 },
- { "Australia/Sydney" , 0x023D12 },
- { "Australia/Tasmania" , 0x02404F },
- { "Australia/Victoria" , 0x024394 },
- { "Australia/West" , 0x0246B1 },
- { "Australia/Yancowinna" , 0x024767 },
- { "Brazil/Acre" , 0x024A89 },
- { "Brazil/DeNoronha" , 0x024B88 },
- { "Brazil/East" , 0x024CA8 },
- { "Brazil/West" , 0x024F85 },
- { "Canada/Atlantic" , 0x02507D },
- { "Canada/Central" , 0x025565 },
- { "Canada/East-Saskatchewan" , 0x025E6F },
- { "Canada/Eastern" , 0x02597F },
- { "Canada/Mountain" , 0x025FF8 },
- { "Canada/Newfoundland" , 0x02636E },
- { "Canada/Pacific" , 0x026899 },
- { "Canada/Saskatchewan" , 0x026CB2 },
- { "Canada/Yukon" , 0x026E3B },
- { "CET" , 0x02713E },
- { "Chile/Continental" , 0x027447 },
- { "Chile/EasterIsland" , 0x0277E2 },
- { "CST6CDT" , 0x027B24 },
- { "Cuba" , 0x027E75 },
- { "EET" , 0x0281E8 },
- { "Egypt" , 0x02849B },
- { "Eire" , 0x02875E },
- { "EST" , 0x028C6F },
- { "EST5EDT" , 0x028CB3 },
- { "Etc/GMT" , 0x029004 },
- { "Etc/GMT+0" , 0x0290D0 },
- { "Etc/GMT+1" , 0x02915A },
- { "Etc/GMT+10" , 0x0291E7 },
- { "Etc/GMT+11" , 0x029275 },
- { "Etc/GMT+12" , 0x029303 },
- { "Etc/GMT+2" , 0x02941E },
- { "Etc/GMT+3" , 0x0294AA },
- { "Etc/GMT+4" , 0x029536 },
- { "Etc/GMT+5" , 0x0295C2 },
- { "Etc/GMT+6" , 0x02964E },
- { "Etc/GMT+7" , 0x0296DA },
- { "Etc/GMT+8" , 0x029766 },
- { "Etc/GMT+9" , 0x0297F2 },
- { "Etc/GMT-0" , 0x02908C },
- { "Etc/GMT-1" , 0x029114 },
- { "Etc/GMT-10" , 0x0291A0 },
- { "Etc/GMT-11" , 0x02922E },
- { "Etc/GMT-12" , 0x0292BC },
- { "Etc/GMT-13" , 0x02934A },
- { "Etc/GMT-14" , 0x029391 },
- { "Etc/GMT-2" , 0x0293D8 },
- { "Etc/GMT-3" , 0x029464 },
- { "Etc/GMT-4" , 0x0294F0 },
- { "Etc/GMT-5" , 0x02957C },
- { "Etc/GMT-6" , 0x029608 },
- { "Etc/GMT-7" , 0x029694 },
- { "Etc/GMT-8" , 0x029720 },
- { "Etc/GMT-9" , 0x0297AC },
- { "Etc/GMT0" , 0x029048 },
- { "Etc/Greenwich" , 0x029838 },
- { "Etc/UCT" , 0x02987C },
- { "Etc/Universal" , 0x0298C0 },
- { "Etc/UTC" , 0x029904 },
- { "Etc/Zulu" , 0x029948 },
- { "Europe/Amsterdam" , 0x02998C },
- { "Europe/Andorra" , 0x029DCA },
- { "Europe/Athens" , 0x02A046 },
- { "Europe/Belfast" , 0x02A389 },
- { "Europe/Belgrade" , 0x02A8C0 },
- { "Europe/Berlin" , 0x02AB89 },
- { "Europe/Bratislava" , 0x02AEDF },
- { "Europe/Brussels" , 0x02B211 },
- { "Europe/Bucharest" , 0x02B648 },
- { "Europe/Budapest" , 0x02B972 },
- { "Europe/Chisinau" , 0x02BCE5 },
- { "Europe/Copenhagen" , 0x02C073 },
- { "Europe/Dublin" , 0x02C37D },
- { "Europe/Gibraltar" , 0x02C88E },
- { "Europe/Guernsey" , 0x02CCE5 },
- { "Europe/Helsinki" , 0x02D21C },
- { "Europe/Isle_of_Man" , 0x02D4D2 },
- { "Europe/Istanbul" , 0x02DA09 },
- { "Europe/Jersey" , 0x02DDF6 },
- { "Europe/Kaliningrad" , 0x02E32D },
- { "Europe/Kiev" , 0x02E593 },
- { "Europe/Lisbon" , 0x02E8AA },
- { "Europe/Ljubljana" , 0x02EDAE },
- { "Europe/London" , 0x02F077 },
- { "Europe/Luxembourg" , 0x02F5AE },
- { "Europe/Madrid" , 0x02FA04 },
- { "Europe/Malta" , 0x02FDCA },
- { "Europe/Mariehamn" , 0x030183 },
- { "Europe/Minsk" , 0x030439 },
- { "Europe/Monaco" , 0x030647 },
- { "Europe/Moscow" , 0x030A82 },
- { "Europe/Nicosia" , 0x030CD3 },
- { "Europe/Oslo" , 0x030FBB },
- { "Europe/Paris" , 0x0312ED },
- { "Europe/Podgorica" , 0x031733 },
- { "Europe/Prague" , 0x0319FC },
- { "Europe/Riga" , 0x031D2E },
- { "Europe/Rome" , 0x032073 },
- { "Europe/Samara" , 0x032436 },
- { "Europe/San_Marino" , 0x032669 },
- { "Europe/Sarajevo" , 0x032A2C },
- { "Europe/Simferopol" , 0x032CF5 },
- { "Europe/Skopje" , 0x033020 },
- { "Europe/Sofia" , 0x0332E9 },
- { "Europe/Stockholm" , 0x0335F1 },
- { "Europe/Tallinn" , 0x0338A0 },
- { "Europe/Tirane" , 0x033BDA },
- { "Europe/Tiraspol" , 0x033EE0 },
- { "Europe/Uzhgorod" , 0x03426E },
- { "Europe/Vaduz" , 0x034585 },
- { "Europe/Vatican" , 0x034818 },
- { "Europe/Vienna" , 0x034BDB },
- { "Europe/Vilnius" , 0x034F08 },
- { "Europe/Volgograd" , 0x035247 },
- { "Europe/Warsaw" , 0x035447 },
- { "Europe/Zagreb" , 0x035828 },
- { "Europe/Zaporozhye" , 0x035AF1 },
- { "Europe/Zurich" , 0x035E32 },
- { "Factory" , 0x0360E1 },
- { "GB" , 0x036152 },
- { "GB-Eire" , 0x036689 },
- { "GMT" , 0x036BC0 },
- { "GMT+0" , 0x036C8C },
- { "GMT-0" , 0x036C48 },
- { "GMT0" , 0x036C04 },
- { "Greenwich" , 0x036CD0 },
- { "Hongkong" , 0x036D14 },
- { "HST" , 0x036ED6 },
- { "Iceland" , 0x036F1A },
- { "Indian/Antananarivo" , 0x0370D3 },
- { "Indian/Chagos" , 0x037147 },
- { "Indian/Christmas" , 0x0371A9 },
- { "Indian/Cocos" , 0x0371ED },
- { "Indian/Comoro" , 0x037231 },
- { "Indian/Kerguelen" , 0x037286 },
- { "Indian/Mahe" , 0x0372DB },
- { "Indian/Maldives" , 0x037330 },
- { "Indian/Mauritius" , 0x037385 },
- { "Indian/Mayotte" , 0x0373FB },
- { "Indian/Reunion" , 0x037450 },
- { "Iran" , 0x0374A5 },
- { "Israel" , 0x037713 },
- { "Jamaica" , 0x037A42 },
- { "Japan" , 0x037B07 },
- { "Kwajalein" , 0x037B90 },
- { "Libya" , 0x037BF3 },
- { "MET" , 0x037CED },
- { "Mexico/BajaNorte" , 0x037FF6 },
- { "Mexico/BajaSur" , 0x03835F },
- { "Mexico/General" , 0x0385A4 },
- { "MST" , 0x038802 },
- { "MST7MDT" , 0x038846 },
- { "Navajo" , 0x038B97 },
- { "NZ" , 0x038F10 },
- { "NZ-CHAT" , 0x03928E },
- { "Pacific/Apia" , 0x039576 },
- { "Pacific/Auckland" , 0x039613 },
- { "Pacific/Chatham" , 0x03999F },
- { "Pacific/Chuuk" , 0x039C96 },
- { "Pacific/Easter" , 0x039CEF },
- { "Pacific/Efate" , 0x03A04D },
- { "Pacific/Enderbury" , 0x03A113 },
- { "Pacific/Fakaofo" , 0x03A181 },
- { "Pacific/Fiji" , 0x03A1D2 },
- { "Pacific/Funafuti" , 0x03A266 },
- { "Pacific/Galapagos" , 0x03A2AA },
- { "Pacific/Gambier" , 0x03A322 },
- { "Pacific/Guadalcanal" , 0x03A387 },
- { "Pacific/Guam" , 0x03A3DC },
- { "Pacific/Honolulu" , 0x03A432 },
- { "Pacific/Johnston" , 0x03A4A9 },
- { "Pacific/Kiritimati" , 0x03A4FB },
- { "Pacific/Kosrae" , 0x03A566 },
- { "Pacific/Kwajalein" , 0x03A5C3 },
- { "Pacific/Majuro" , 0x03A62F },
- { "Pacific/Marquesas" , 0x03A68E },
- { "Pacific/Midway" , 0x03A6F5 },
- { "Pacific/Nauru" , 0x03A77F },
- { "Pacific/Niue" , 0x03A7F7 },
- { "Pacific/Norfolk" , 0x03A855 },
- { "Pacific/Noumea" , 0x03A8AA },
- { "Pacific/Pago_Pago" , 0x03A93A },
- { "Pacific/Palau" , 0x03A9C3 },
- { "Pacific/Pitcairn" , 0x03AA07 },
- { "Pacific/Pohnpei" , 0x03AA5C },
- { "Pacific/Ponape" , 0x03AAB1 },
- { "Pacific/Port_Moresby" , 0x03AAF6 },
- { "Pacific/Rarotonga" , 0x03AB3A },
- { "Pacific/Saipan" , 0x03AC16 },
- { "Pacific/Samoa" , 0x03AC79 },
- { "Pacific/Tahiti" , 0x03AD02 },
- { "Pacific/Tarawa" , 0x03AD67 },
- { "Pacific/Tongatapu" , 0x03ADBB },
- { "Pacific/Truk" , 0x03AE47 },
- { "Pacific/Wake" , 0x03AE8C },
- { "Pacific/Wallis" , 0x03AEDC },
- { "Pacific/Yap" , 0x03AF20 },
- { "Poland" , 0x03AF65 },
- { "Portugal" , 0x03B346 },
- { "PRC" , 0x03B842 },
- { "PST8PDT" , 0x03B8F3 },
- { "ROC" , 0x03BC44 },
- { "ROK" , 0x03BD5C },
- { "Singapore" , 0x03BE00 },
- { "Turkey" , 0x03BEB7 },
- { "UCT" , 0x03C2A4 },
- { "Universal" , 0x03C2E8 },
- { "US/Alaska" , 0x03C32C },
- { "US/Aleutian" , 0x03C695 },
- { "US/Arizona" , 0x03C9FB },
- { "US/Central" , 0x03CA89 },
- { "US/East-Indiana" , 0x03D493 },
- { "US/Eastern" , 0x03CF94 },
- { "US/Hawaii" , 0x03D6FD },
- { "US/Indiana-Starke" , 0x03D76E },
- { "US/Michigan" , 0x03DADF },
- { "US/Mountain" , 0x03DE16 },
- { "US/Pacific" , 0x03E18F },
- { "US/Pacific-New" , 0x03E594 },
- { "US/Samoa" , 0x03E999 },
- { "UTC" , 0x03EA22 },
- { "W-SU" , 0x03ED19 },
- { "WET" , 0x03EA66 },
- { "Zulu" , 0x03EF53 },
+ { "Africa/Ceuta" , 0x000A76 },
+ { "Africa/Conakry" , 0x000D7D },
+ { "Africa/Dakar" , 0x000DE8 },
+ { "Africa/Dar_es_Salaam" , 0x000E4E },
+ { "Africa/Djibouti" , 0x000EBB },
+ { "Africa/Douala" , 0x000F10 },
+ { "Africa/El_Aaiun" , 0x000F65 },
+ { "Africa/Freetown" , 0x000FCB },
+ { "Africa/Gaborone" , 0x0010DA },
+ { "Africa/Harare" , 0x001135 },
+ { "Africa/Johannesburg" , 0x00118A },
+ { "Africa/Juba" , 0x0011F8 },
+ { "Africa/Kampala" , 0x00130B },
+ { "Africa/Khartoum" , 0x00138A },
+ { "Africa/Kigali" , 0x00149D },
+ { "Africa/Kinshasa" , 0x0014F2 },
+ { "Africa/Lagos" , 0x00154D },
+ { "Africa/Libreville" , 0x0015A2 },
+ { "Africa/Lome" , 0x0015F7 },
+ { "Africa/Luanda" , 0x00163B },
+ { "Africa/Lubumbashi" , 0x001690 },
+ { "Africa/Lusaka" , 0x0016EB },
+ { "Africa/Malabo" , 0x001740 },
+ { "Africa/Maputo" , 0x0017A6 },
+ { "Africa/Maseru" , 0x0017FB },
+ { "Africa/Mbabane" , 0x001863 },
+ { "Africa/Mogadishu" , 0x0018B9 },
+ { "Africa/Monrovia" , 0x001914 },
+ { "Africa/Nairobi" , 0x00197A },
+ { "Africa/Ndjamena" , 0x0019F9 },
+ { "Africa/Niamey" , 0x001A65 },
+ { "Africa/Nouakchott" , 0x001AD8 },
+ { "Africa/Ouagadougou" , 0x001B43 },
+ { "Africa/Porto-Novo" , 0x001B98 },
+ { "Africa/Sao_Tome" , 0x001BFE },
+ { "Africa/Timbuktu" , 0x001C53 },
+ { "Africa/Tripoli" , 0x001CBE },
+ { "Africa/Tunis" , 0x001DB8 },
+ { "Africa/Windhoek" , 0x001ECA },
+ { "America/Adak" , 0x002111 },
+ { "America/Anchorage" , 0x002487 },
+ { "America/Anguilla" , 0x0027FB },
+ { "America/Antigua" , 0x002850 },
+ { "America/Araguaina" , 0x0028B6 },
+ { "America/Argentina/Buenos_Aires" , 0x002A11 },
+ { "America/Argentina/Catamarca" , 0x002BBF },
+ { "America/Argentina/ComodRivadavia" , 0x002D80 },
+ { "America/Argentina/Cordoba" , 0x002F26 },
+ { "America/Argentina/Jujuy" , 0x0030FB },
+ { "America/Argentina/La_Rioja" , 0x0032AF },
+ { "America/Argentina/Mendoza" , 0x003467 },
+ { "America/Argentina/Rio_Gallegos" , 0x003627 },
+ { "America/Argentina/Salta" , 0x0037DC },
+ { "America/Argentina/San_Juan" , 0x003988 },
+ { "America/Argentina/San_Luis" , 0x003B40 },
+ { "America/Argentina/Tucuman" , 0x003D06 },
+ { "America/Argentina/Ushuaia" , 0x003EC2 },
+ { "America/Aruba" , 0x00407D },
+ { "America/Asuncion" , 0x0040E3 },
+ { "America/Atikokan" , 0x0043C8 },
+ { "America/Atka" , 0x00449E },
+ { "America/Bahia" , 0x004804 },
+ { "America/Bahia_Banderas" , 0x004A96 },
+ { "America/Barbados" , 0x004D0F },
+ { "America/Belem" , 0x004DA9 },
+ { "America/Belize" , 0x004EA4 },
+ { "America/Blanc-Sablon" , 0x005020 },
+ { "America/Boa_Vista" , 0x0050D4 },
+ { "America/Bogota" , 0x0051DD },
+ { "America/Boise" , 0x005249 },
+ { "America/Buenos_Aires" , 0x0055E0 },
+ { "America/Cambridge_Bay" , 0x005779 },
+ { "America/Campo_Grande" , 0x005AA1 },
+ { "America/Cancun" , 0x005D90 },
+ { "America/Caracas" , 0x005FD2 },
+ { "America/Catamarca" , 0x006039 },
+ { "America/Cayenne" , 0x0061DF },
+ { "America/Cayman" , 0x006241 },
+ { "America/Chicago" , 0x006296 },
+ { "America/Chihuahua" , 0x0067AD },
+ { "America/Coral_Harbour" , 0x006A18 },
+ { "America/Cordoba" , 0x006AAA },
+ { "America/Costa_Rica" , 0x006C50 },
+ { "America/Creston" , 0x006CDA },
+ { "America/Cuiaba" , 0x006D66 },
+ { "America/Curacao" , 0x007044 },
+ { "America/Danmarkshavn" , 0x0070AA },
+ { "America/Dawson" , 0x0071EE },
+ { "America/Dawson_Creek" , 0x00750B },
+ { "America/Denver" , 0x0076E5 },
+ { "America/Detroit" , 0x007A6B },
+ { "America/Dominica" , 0x007DCA },
+ { "America/Edmonton" , 0x007E1F },
+ { "America/Eirunepe" , 0x0081D7 },
+ { "America/El_Salvador" , 0x0082EA },
+ { "America/Ensenada" , 0x00835F },
+ { "America/Fort_Wayne" , 0x008806 },
+ { "America/Fortaleza" , 0x0086C8 },
+ { "America/Glace_Bay" , 0x008A70 },
+ { "America/Godthab" , 0x008DE7 },
+ { "America/Goose_Bay" , 0x0090AB },
+ { "America/Grand_Turk" , 0x009568 },
+ { "America/Grenada" , 0x009817 },
+ { "America/Guadeloupe" , 0x00986C },
+ { "America/Guatemala" , 0x0098C1 },
+ { "America/Guayaquil" , 0x00994A },
+ { "America/Guyana" , 0x0099A7 },
+ { "America/Halifax" , 0x009A28 },
+ { "America/Havana" , 0x009F3E },
+ { "America/Hermosillo" , 0x00A2B1 },
+ { "America/Indiana/Indianapolis" , 0x00A38F },
+ { "America/Indiana/Knox" , 0x00A620 },
+ { "America/Indiana/Marengo" , 0x00A9B7 },
+ { "America/Indiana/Petersburg" , 0x00AC5D },
+ { "America/Indiana/Tell_City" , 0x00B1AA },
+ { "America/Indiana/Vevay" , 0x00B443 },
+ { "America/Indiana/Vincennes" , 0x00B67E },
+ { "America/Indiana/Winamac" , 0x00B932 },
+ { "America/Indianapolis" , 0x00AF40 },
+ { "America/Inuvik" , 0x00BBEB },
+ { "America/Iqaluit" , 0x00BEE2 },
+ { "America/Jamaica" , 0x00C204 },
+ { "America/Jujuy" , 0x00C2C9 },
+ { "America/Juneau" , 0x00C473 },
+ { "America/Kentucky/Louisville" , 0x00C7F1 },
+ { "America/Kentucky/Monticello" , 0x00CC0F },
+ { "America/Knox_IN" , 0x00CF94 },
+ { "America/Kralendijk" , 0x00D305 },
+ { "America/La_Paz" , 0x00D36B },
+ { "America/Lima" , 0x00D3D2 },
+ { "America/Los_Angeles" , 0x00D47A },
+ { "America/Louisville" , 0x00D88B },
+ { "America/Lower_Princes" , 0x00DC80 },
+ { "America/Maceio" , 0x00DCE6 },
+ { "America/Managua" , 0x00DE20 },
+ { "America/Manaus" , 0x00DED3 },
+ { "America/Marigot" , 0x00DFD5 },
+ { "America/Martinique" , 0x00E02A },
+ { "America/Matamoros" , 0x00E096 },
+ { "America/Mazatlan" , 0x00E2EF },
+ { "America/Mendoza" , 0x00E55C },
+ { "America/Menominee" , 0x00E710 },
+ { "America/Merida" , 0x00EA91 },
+ { "America/Metlakatla" , 0x00ECCC },
+ { "America/Mexico_City" , 0x00EE06 },
+ { "America/Miquelon" , 0x00F081 },
+ { "America/Moncton" , 0x00F2F3 },
+ { "America/Monterrey" , 0x00F78A },
+ { "America/Montevideo" , 0x00F9ED },
+ { "America/Montreal" , 0x00FCFF },
+ { "America/Montserrat" , 0x010215 },
+ { "America/Nassau" , 0x01026A },
+ { "America/New_York" , 0x0105AF },
+ { "America/Nipigon" , 0x010ABA },
+ { "America/Nome" , 0x010E0B },
+ { "America/Noronha" , 0x011189 },
+ { "America/North_Dakota/Beulah" , 0x0112B9 },
+ { "America/North_Dakota/Center" , 0x01164D },
+ { "America/North_Dakota/New_Salem" , 0x0119E1 },
+ { "America/Ojinaga" , 0x011D8A },
+ { "America/Panama" , 0x011FEB },
+ { "America/Pangnirtung" , 0x012040 },
+ { "America/Paramaribo" , 0x012376 },
+ { "America/Phoenix" , 0x012408 },
+ { "America/Port-au-Prince" , 0x0124B6 },
+ { "America/Port_of_Spain" , 0x0126DB },
+ { "America/Porto_Acre" , 0x0125DC },
+ { "America/Porto_Velho" , 0x012730 },
+ { "America/Puerto_Rico" , 0x012826 },
+ { "America/Rainy_River" , 0x012891 },
+ { "America/Rankin_Inlet" , 0x012BC9 },
+ { "America/Recife" , 0x012EAF },
+ { "America/Regina" , 0x012FD9 },
+ { "America/Resolute" , 0x013197 },
+ { "America/Rio_Branco" , 0x013488 },
+ { "America/Rosario" , 0x01358B },
+ { "America/Santa_Isabel" , 0x013731 },
+ { "America/Santarem" , 0x013AD4 },
+ { "America/Santiago" , 0x013BD9 },
+ { "America/Santo_Domingo" , 0x013F82 },
+ { "America/Sao_Paulo" , 0x014048 },
+ { "America/Scoresbysund" , 0x014357 },
+ { "America/Shiprock" , 0x014645 },
+ { "America/Sitka" , 0x0149D4 },
+ { "America/St_Barthelemy" , 0x014D5C },
+ { "America/St_Johns" , 0x014DB1 },
+ { "America/St_Kitts" , 0x015304 },
+ { "America/St_Lucia" , 0x015359 },
+ { "America/St_Thomas" , 0x0153AE },
+ { "America/St_Vincent" , 0x015403 },
+ { "America/Swift_Current" , 0x015458 },
+ { "America/Tegucigalpa" , 0x015579 },
+ { "America/Thule" , 0x0155F8 },
+ { "America/Thunder_Bay" , 0x01583F },
+ { "America/Tijuana" , 0x015B88 },
+ { "America/Toronto" , 0x015F21 },
+ { "America/Tortola" , 0x016438 },
+ { "America/Vancouver" , 0x01648D },
+ { "America/Virgin" , 0x0168CA },
+ { "America/Whitehorse" , 0x01691F },
+ { "America/Winnipeg" , 0x016C3C },
+ { "America/Yakutat" , 0x01707C },
+ { "America/Yellowknife" , 0x0173E7 },
+ { "Antarctica/Casey" , 0x0176F7 },
+ { "Antarctica/Davis" , 0x017794 },
+ { "Antarctica/DumontDUrville" , 0x017835 },
+ { "Antarctica/Macquarie" , 0x0178C7 },
+ { "Antarctica/Mawson" , 0x017B41 },
+ { "Antarctica/McMurdo" , 0x017BBD },
+ { "Antarctica/Palmer" , 0x017EBF },
+ { "Antarctica/Rothera" , 0x0181DB },
+ { "Antarctica/South_Pole" , 0x018251 },
+ { "Antarctica/Syowa" , 0x018559 },
+ { "Antarctica/Vostok" , 0x0185C7 },
+ { "Arctic/Longyearbyen" , 0x018638 },
+ { "Asia/Aden" , 0x01896A },
+ { "Asia/Almaty" , 0x0189BF },
+ { "Asia/Amman" , 0x018B3E },
+ { "Asia/Anadyr" , 0x018DFE },
+ { "Asia/Aqtau" , 0x018FE3 },
+ { "Asia/Aqtobe" , 0x0191E2 },
+ { "Asia/Ashgabat" , 0x01939A },
+ { "Asia/Ashkhabad" , 0x0194B7 },
+ { "Asia/Baghdad" , 0x0195D4 },
+ { "Asia/Bahrain" , 0x019749 },
+ { "Asia/Baku" , 0x0197AF },
+ { "Asia/Bangkok" , 0x019A97 },
+ { "Asia/Beirut" , 0x019AEC },
+ { "Asia/Bishkek" , 0x019DF9 },
+ { "Asia/Brunei" , 0x019FA5 },
+ { "Asia/Calcutta" , 0x01A007 },
+ { "Asia/Choibalsan" , 0x01A080 },
+ { "Asia/Chongqing" , 0x01A1F9 },
+ { "Asia/Chungking" , 0x01A2E8 },
+ { "Asia/Colombo" , 0x01A397 },
+ { "Asia/Dacca" , 0x01A433 },
+ { "Asia/Damascus" , 0x01A4D9 },
+ { "Asia/Dhaka" , 0x01A829 },
+ { "Asia/Dili" , 0x01A8CF },
+ { "Asia/Dubai" , 0x01A958 },
+ { "Asia/Dushanbe" , 0x01A9AD },
+ { "Asia/Gaza" , 0x01AAB0 },
+ { "Asia/Harbin" , 0x01AD09 },
+ { "Asia/Hebron" , 0x01ADF0 },
+ { "Asia/Ho_Chi_Minh" , 0x01B052 },
+ { "Asia/Hong_Kong" , 0x01B0CA },
+ { "Asia/Hovd" , 0x01B28C },
+ { "Asia/Irkutsk" , 0x01B404 },
+ { "Asia/Istanbul" , 0x01B5EA },
+ { "Asia/Jakarta" , 0x01B9D7 },
+ { "Asia/Jayapura" , 0x01BA81 },
+ { "Asia/Jerusalem" , 0x01BB1D },
+ { "Asia/Kabul" , 0x01BE4C },
+ { "Asia/Kamchatka" , 0x01BE9D },
+ { "Asia/Karachi" , 0x01C079 },
+ { "Asia/Kashgar" , 0x01C12E },
+ { "Asia/Kathmandu" , 0x01C1FF },
+ { "Asia/Katmandu" , 0x01C265 },
+ { "Asia/Kolkata" , 0x01C2CB },
+ { "Asia/Krasnoyarsk" , 0x01C344 },
+ { "Asia/Kuala_Lumpur" , 0x01C52C },
+ { "Asia/Kuching" , 0x01C5E9 },
+ { "Asia/Kuwait" , 0x01C6D7 },
+ { "Asia/Macao" , 0x01C72C },
+ { "Asia/Macau" , 0x01C867 },
+ { "Asia/Magadan" , 0x01C9A2 },
+ { "Asia/Makassar" , 0x01CB84 },
+ { "Asia/Manila" , 0x01CC48 },
+ { "Asia/Muscat" , 0x01CCCD },
+ { "Asia/Nicosia" , 0x01CD22 },
+ { "Asia/Novokuznetsk" , 0x01D00A },
+ { "Asia/Novosibirsk" , 0x01D20C },
+ { "Asia/Omsk" , 0x01D3F7 },
+ { "Asia/Oral" , 0x01D5DE },
+ { "Asia/Phnom_Penh" , 0x01D7AE },
+ { "Asia/Pontianak" , 0x01D826 },
+ { "Asia/Pyongyang" , 0x01D8E7 },
+ { "Asia/Qatar" , 0x01D954 },
+ { "Asia/Qyzylorda" , 0x01D9BA },
+ { "Asia/Rangoon" , 0x01DB90 },
+ { "Asia/Riyadh" , 0x01DC08 },
+ { "Asia/Saigon" , 0x01DC5D },
+ { "Asia/Sakhalin" , 0x01DCD5 },
+ { "Asia/Samarkand" , 0x01DECC },
+ { "Asia/Seoul" , 0x01E002 },
+ { "Asia/Shanghai" , 0x01E0A6 },
+ { "Asia/Singapore" , 0x01E186 },
+ { "Asia/Taipei" , 0x01E23D },
+ { "Asia/Tashkent" , 0x01E355 },
+ { "Asia/Tbilisi" , 0x01E486 },
+ { "Asia/Tehran" , 0x01E640 },
+ { "Asia/Tel_Aviv" , 0x01E8AE },
+ { "Asia/Thimbu" , 0x01EBDD },
+ { "Asia/Thimphu" , 0x01EC43 },
+ { "Asia/Tokyo" , 0x01ECA9 },
+ { "Asia/Ujung_Pandang" , 0x01ED32 },
+ { "Asia/Ulaanbaatar" , 0x01EDAE },
+ { "Asia/Ulan_Bator" , 0x01EF09 },
+ { "Asia/Urumqi" , 0x01F056 },
+ { "Asia/Vientiane" , 0x01F11D },
+ { "Asia/Vladivostok" , 0x01F195 },
+ { "Asia/Yakutsk" , 0x01F381 },
+ { "Asia/Yekaterinburg" , 0x01F566 },
+ { "Asia/Yerevan" , 0x01F771 },
+ { "Atlantic/Azores" , 0x01F971 },
+ { "Atlantic/Bermuda" , 0x01FE74 },
+ { "Atlantic/Canary" , 0x020155 },
+ { "Atlantic/Cape_Verde" , 0x02042B },
+ { "Atlantic/Faeroe" , 0x0204A4 },
+ { "Atlantic/Faroe" , 0x020748 },
+ { "Atlantic/Jan_Mayen" , 0x0209EC },
+ { "Atlantic/Madeira" , 0x020D1E },
+ { "Atlantic/Reykjavik" , 0x021227 },
+ { "Atlantic/South_Georgia" , 0x0213E0 },
+ { "Atlantic/St_Helena" , 0x0215F2 },
+ { "Atlantic/Stanley" , 0x021424 },
+ { "Australia/ACT" , 0x021647 },
+ { "Australia/Adelaide" , 0x021964 },
+ { "Australia/Brisbane" , 0x021C90 },
+ { "Australia/Broken_Hill" , 0x021D57 },
+ { "Australia/Canberra" , 0x022095 },
+ { "Australia/Currie" , 0x0223B2 },
+ { "Australia/Darwin" , 0x0226E5 },
+ { "Australia/Eucla" , 0x02276B },
+ { "Australia/Hobart" , 0x022840 },
+ { "Australia/LHI" , 0x022B9E },
+ { "Australia/Lindeman" , 0x022E39 },
+ { "Australia/Lord_Howe" , 0x022F1A },
+ { "Australia/Melbourne" , 0x0231C5 },
+ { "Australia/North" , 0x0234EA },
+ { "Australia/NSW" , 0x02355E },
+ { "Australia/Perth" , 0x02387B },
+ { "Australia/Queensland" , 0x023953 },
+ { "Australia/South" , 0x0239FF },
+ { "Australia/Sydney" , 0x023D1C },
+ { "Australia/Tasmania" , 0x024059 },
+ { "Australia/Victoria" , 0x02439E },
+ { "Australia/West" , 0x0246BB },
+ { "Australia/Yancowinna" , 0x024771 },
+ { "Brazil/Acre" , 0x024A93 },
+ { "Brazil/DeNoronha" , 0x024B92 },
+ { "Brazil/East" , 0x024CB2 },
+ { "Brazil/West" , 0x024F8F },
+ { "Canada/Atlantic" , 0x025087 },
+ { "Canada/Central" , 0x02556F },
+ { "Canada/East-Saskatchewan" , 0x025E79 },
+ { "Canada/Eastern" , 0x025989 },
+ { "Canada/Mountain" , 0x026002 },
+ { "Canada/Newfoundland" , 0x026378 },
+ { "Canada/Pacific" , 0x0268A3 },
+ { "Canada/Saskatchewan" , 0x026CBC },
+ { "Canada/Yukon" , 0x026E45 },
+ { "CET" , 0x027148 },
+ { "Chile/Continental" , 0x027451 },
+ { "Chile/EasterIsland" , 0x0277EC },
+ { "CST6CDT" , 0x027B2E },
+ { "Cuba" , 0x027E7F },
+ { "EET" , 0x0281F2 },
+ { "Egypt" , 0x0284A5 },
+ { "Eire" , 0x028768 },
+ { "EST" , 0x028C79 },
+ { "EST5EDT" , 0x028CBD },
+ { "Etc/GMT" , 0x02900E },
+ { "Etc/GMT+0" , 0x0290DA },
+ { "Etc/GMT+1" , 0x029164 },
+ { "Etc/GMT+10" , 0x0291F1 },
+ { "Etc/GMT+11" , 0x02927F },
+ { "Etc/GMT+12" , 0x02930D },
+ { "Etc/GMT+2" , 0x029428 },
+ { "Etc/GMT+3" , 0x0294B4 },
+ { "Etc/GMT+4" , 0x029540 },
+ { "Etc/GMT+5" , 0x0295CC },
+ { "Etc/GMT+6" , 0x029658 },
+ { "Etc/GMT+7" , 0x0296E4 },
+ { "Etc/GMT+8" , 0x029770 },
+ { "Etc/GMT+9" , 0x0297FC },
+ { "Etc/GMT-0" , 0x029096 },
+ { "Etc/GMT-1" , 0x02911E },
+ { "Etc/GMT-10" , 0x0291AA },
+ { "Etc/GMT-11" , 0x029238 },
+ { "Etc/GMT-12" , 0x0292C6 },
+ { "Etc/GMT-13" , 0x029354 },
+ { "Etc/GMT-14" , 0x02939B },
+ { "Etc/GMT-2" , 0x0293E2 },
+ { "Etc/GMT-3" , 0x02946E },
+ { "Etc/GMT-4" , 0x0294FA },
+ { "Etc/GMT-5" , 0x029586 },
+ { "Etc/GMT-6" , 0x029612 },
+ { "Etc/GMT-7" , 0x02969E },
+ { "Etc/GMT-8" , 0x02972A },
+ { "Etc/GMT-9" , 0x0297B6 },
+ { "Etc/GMT0" , 0x029052 },
+ { "Etc/Greenwich" , 0x029842 },
+ { "Etc/UCT" , 0x029886 },
+ { "Etc/Universal" , 0x0298CA },
+ { "Etc/UTC" , 0x02990E },
+ { "Etc/Zulu" , 0x029952 },
+ { "Europe/Amsterdam" , 0x029996 },
+ { "Europe/Andorra" , 0x029DD4 },
+ { "Europe/Athens" , 0x02A050 },
+ { "Europe/Belfast" , 0x02A393 },
+ { "Europe/Belgrade" , 0x02A8CA },
+ { "Europe/Berlin" , 0x02AB93 },
+ { "Europe/Bratislava" , 0x02AEE9 },
+ { "Europe/Brussels" , 0x02B21B },
+ { "Europe/Bucharest" , 0x02B652 },
+ { "Europe/Budapest" , 0x02B97C },
+ { "Europe/Chisinau" , 0x02BCEF },
+ { "Europe/Copenhagen" , 0x02C07D },
+ { "Europe/Dublin" , 0x02C387 },
+ { "Europe/Gibraltar" , 0x02C898 },
+ { "Europe/Guernsey" , 0x02CCEF },
+ { "Europe/Helsinki" , 0x02D226 },
+ { "Europe/Isle_of_Man" , 0x02D4DC },
+ { "Europe/Istanbul" , 0x02DA13 },
+ { "Europe/Jersey" , 0x02DE00 },
+ { "Europe/Kaliningrad" , 0x02E337 },
+ { "Europe/Kiev" , 0x02E59D },
+ { "Europe/Lisbon" , 0x02E8B4 },
+ { "Europe/Ljubljana" , 0x02EDB8 },
+ { "Europe/London" , 0x02F081 },
+ { "Europe/Luxembourg" , 0x02F5B8 },
+ { "Europe/Madrid" , 0x02FA0E },
+ { "Europe/Malta" , 0x02FDD4 },
+ { "Europe/Mariehamn" , 0x03018D },
+ { "Europe/Minsk" , 0x030443 },
+ { "Europe/Monaco" , 0x030651 },
+ { "Europe/Moscow" , 0x030A8C },
+ { "Europe/Nicosia" , 0x030CDD },
+ { "Europe/Oslo" , 0x030FC5 },
+ { "Europe/Paris" , 0x0312F7 },
+ { "Europe/Podgorica" , 0x03173D },
+ { "Europe/Prague" , 0x031A06 },
+ { "Europe/Riga" , 0x031D38 },
+ { "Europe/Rome" , 0x03207D },
+ { "Europe/Samara" , 0x032440 },
+ { "Europe/San_Marino" , 0x032673 },
+ { "Europe/Sarajevo" , 0x032A36 },
+ { "Europe/Simferopol" , 0x032CFF },
+ { "Europe/Skopje" , 0x03302A },
+ { "Europe/Sofia" , 0x0332F3 },
+ { "Europe/Stockholm" , 0x0335FB },
+ { "Europe/Tallinn" , 0x0338AA },
+ { "Europe/Tirane" , 0x033BE4 },
+ { "Europe/Tiraspol" , 0x033EEA },
+ { "Europe/Uzhgorod" , 0x034278 },
+ { "Europe/Vaduz" , 0x03458F },
+ { "Europe/Vatican" , 0x034822 },
+ { "Europe/Vienna" , 0x034BE5 },
+ { "Europe/Vilnius" , 0x034F12 },
+ { "Europe/Volgograd" , 0x035251 },
+ { "Europe/Warsaw" , 0x035451 },
+ { "Europe/Zagreb" , 0x035832 },
+ { "Europe/Zaporozhye" , 0x035AFB },
+ { "Europe/Zurich" , 0x035E3C },
+ { "Factory" , 0x0360EB },
+ { "GB" , 0x03615C },
+ { "GB-Eire" , 0x036693 },
+ { "GMT" , 0x036BCA },
+ { "GMT+0" , 0x036C96 },
+ { "GMT-0" , 0x036C52 },
+ { "GMT0" , 0x036C0E },
+ { "Greenwich" , 0x036CDA },
+ { "Hongkong" , 0x036D1E },
+ { "HST" , 0x036EE0 },
+ { "Iceland" , 0x036F24 },
+ { "Indian/Antananarivo" , 0x0370DD },
+ { "Indian/Chagos" , 0x037151 },
+ { "Indian/Christmas" , 0x0371B3 },
+ { "Indian/Cocos" , 0x0371F7 },
+ { "Indian/Comoro" , 0x03723B },
+ { "Indian/Kerguelen" , 0x037290 },
+ { "Indian/Mahe" , 0x0372E5 },
+ { "Indian/Maldives" , 0x03733A },
+ { "Indian/Mauritius" , 0x03738F },
+ { "Indian/Mayotte" , 0x037405 },
+ { "Indian/Reunion" , 0x03745A },
+ { "Iran" , 0x0374AF },
+ { "Israel" , 0x03771D },
+ { "Jamaica" , 0x037A4C },
+ { "Japan" , 0x037B11 },
+ { "Kwajalein" , 0x037B9A },
+ { "Libya" , 0x037BFD },
+ { "MET" , 0x037CF7 },
+ { "Mexico/BajaNorte" , 0x038000 },
+ { "Mexico/BajaSur" , 0x038369 },
+ { "Mexico/General" , 0x0385AE },
+ { "MST" , 0x03880C },
+ { "MST7MDT" , 0x038850 },
+ { "Navajo" , 0x038BA1 },
+ { "NZ" , 0x038F1A },
+ { "NZ-CHAT" , 0x039298 },
+ { "Pacific/Apia" , 0x039580 },
+ { "Pacific/Auckland" , 0x03961D },
+ { "Pacific/Chatham" , 0x0399A9 },
+ { "Pacific/Chuuk" , 0x039CA0 },
+ { "Pacific/Easter" , 0x039CF9 },
+ { "Pacific/Efate" , 0x03A057 },
+ { "Pacific/Enderbury" , 0x03A11D },
+ { "Pacific/Fakaofo" , 0x03A18B },
+ { "Pacific/Fiji" , 0x03A1DC },
+ { "Pacific/Funafuti" , 0x03A36F },
+ { "Pacific/Galapagos" , 0x03A3B3 },
+ { "Pacific/Gambier" , 0x03A42B },
+ { "Pacific/Guadalcanal" , 0x03A490 },
+ { "Pacific/Guam" , 0x03A4E5 },
+ { "Pacific/Honolulu" , 0x03A53B },
+ { "Pacific/Johnston" , 0x03A5B2 },
+ { "Pacific/Kiritimati" , 0x03A604 },
+ { "Pacific/Kosrae" , 0x03A66F },
+ { "Pacific/Kwajalein" , 0x03A6CC },
+ { "Pacific/Majuro" , 0x03A738 },
+ { "Pacific/Marquesas" , 0x03A797 },
+ { "Pacific/Midway" , 0x03A7FE },
+ { "Pacific/Nauru" , 0x03A888 },
+ { "Pacific/Niue" , 0x03A900 },
+ { "Pacific/Norfolk" , 0x03A95E },
+ { "Pacific/Noumea" , 0x03A9B3 },
+ { "Pacific/Pago_Pago" , 0x03AA43 },
+ { "Pacific/Palau" , 0x03AACC },
+ { "Pacific/Pitcairn" , 0x03AB10 },
+ { "Pacific/Pohnpei" , 0x03AB65 },
+ { "Pacific/Ponape" , 0x03ABBA },
+ { "Pacific/Port_Moresby" , 0x03ABFF },
+ { "Pacific/Rarotonga" , 0x03AC43 },
+ { "Pacific/Saipan" , 0x03AD1F },
+ { "Pacific/Samoa" , 0x03AD82 },
+ { "Pacific/Tahiti" , 0x03AE0B },
+ { "Pacific/Tarawa" , 0x03AE70 },
+ { "Pacific/Tongatapu" , 0x03AEC4 },
+ { "Pacific/Truk" , 0x03AF50 },
+ { "Pacific/Wake" , 0x03AF95 },
+ { "Pacific/Wallis" , 0x03AFE5 },
+ { "Pacific/Yap" , 0x03B029 },
+ { "Poland" , 0x03B06E },
+ { "Portugal" , 0x03B44F },
+ { "PRC" , 0x03B94B },
+ { "PST8PDT" , 0x03B9FC },
+ { "ROC" , 0x03BD4D },
+ { "ROK" , 0x03BE65 },
+ { "Singapore" , 0x03BF09 },
+ { "Turkey" , 0x03BFC0 },
+ { "UCT" , 0x03C3AD },
+ { "Universal" , 0x03C3F1 },
+ { "US/Alaska" , 0x03C435 },
+ { "US/Aleutian" , 0x03C79E },
+ { "US/Arizona" , 0x03CB04 },
+ { "US/Central" , 0x03CB92 },
+ { "US/East-Indiana" , 0x03D59C },
+ { "US/Eastern" , 0x03D09D },
+ { "US/Hawaii" , 0x03D806 },
+ { "US/Indiana-Starke" , 0x03D877 },
+ { "US/Michigan" , 0x03DBE8 },
+ { "US/Mountain" , 0x03DF1F },
+ { "US/Pacific" , 0x03E298 },
+ { "US/Pacific-New" , 0x03E69D },
+ { "US/Samoa" , 0x03EAA2 },
+ { "UTC" , 0x03EB2B },
+ { "W-SU" , 0x03EE22 },
+ { "WET" , 0x03EB6F },
+ { "Zulu" , 0x03F05C },
};
/* This is a generated file, do not modify */
-const unsigned char timelib_timezone_db_data_builtin[257943] = {
+const unsigned char timelib_timezone_db_data_builtin[258208] = {
/* Africa/Abidjan */
@@ -755,36 +755,36 @@ const unsigned char timelib_timezone_db_data_builtin[257943] = {
/* Africa/Casablanca */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0x51, 0xF9, 0x9C,
+0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0x51, 0xF9, 0x9C,
0xC6, 0xFF, 0x14, 0x80, 0xC7, 0x58, 0xAC, 0x70, 0xC7, 0xD9, 0xED, 0x80, 0xD2, 0xA1, 0x32, 0xF0,
0xDB, 0x35, 0xA4, 0x00, 0xDB, 0xEE, 0x27, 0xF0, 0xFB, 0x25, 0x72, 0x40, 0xFB, 0xC2, 0xEF, 0x70,
0x08, 0x6B, 0x84, 0x80, 0x08, 0xC6, 0x6D, 0xF0, 0x0B, 0xE8, 0x0C, 0x00, 0x0C, 0x61, 0x47, 0xF0,
0x0D, 0xC9, 0x3F, 0x80, 0x0E, 0x8E, 0xF2, 0x70, 0x0F, 0xD3, 0x51, 0x80, 0x10, 0x27, 0xA3, 0x70,
0x1A, 0xB7, 0xA6, 0x00, 0x1E, 0x18, 0x6F, 0xF0, 0x48, 0x41, 0xE6, 0x80, 0x48, 0xBB, 0x22, 0x70,
0x4A, 0x23, 0x1A, 0x00, 0x4A, 0x8D, 0xD5, 0x70, 0x4B, 0xDC, 0xC0, 0x80, 0x4C, 0x5D, 0xE5, 0x70,
-0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0, 0x50, 0x67, 0xA7, 0xA0,
-0x51, 0x7C, 0x82, 0xA0, 0x52, 0x47, 0x89, 0xA0, 0x53, 0x5C, 0x64, 0xA0, 0x54, 0x27, 0x6B, 0xA0,
-0x55, 0x3C, 0x46, 0xA0, 0x56, 0x07, 0x4D, 0xA0, 0x57, 0x1C, 0x28, 0xA0, 0x57, 0xE7, 0x2F, 0xA0,
-0x59, 0x05, 0x45, 0x20, 0x59, 0xC7, 0x11, 0xA0, 0x5A, 0xE5, 0x27, 0x20, 0x5B, 0xB0, 0x2E, 0x20,
-0x5C, 0xC5, 0x09, 0x20, 0x5D, 0x90, 0x10, 0x20, 0x5E, 0xA4, 0xEB, 0x20, 0x5F, 0x6F, 0xF2, 0x20,
-0x60, 0x84, 0xCD, 0x20, 0x61, 0x4F, 0xD4, 0x20, 0x62, 0x64, 0xAF, 0x20, 0x63, 0x2F, 0xB6, 0x20,
-0x64, 0x4D, 0xCB, 0xA0, 0x65, 0x0F, 0x98, 0x20, 0x66, 0x2D, 0xAD, 0xA0, 0x66, 0xF8, 0xB4, 0xA0,
-0x68, 0x0D, 0x8F, 0xA0, 0x68, 0xD8, 0x96, 0xA0, 0x69, 0xED, 0x71, 0xA0, 0x6A, 0xB8, 0x78, 0xA0,
-0x6B, 0xCD, 0x53, 0xA0, 0x6C, 0x98, 0x5A, 0xA0, 0x6D, 0xB6, 0x70, 0x20, 0x6E, 0x78, 0x3C, 0xA0,
-0x6F, 0x96, 0x52, 0x20, 0x70, 0x61, 0x59, 0x20, 0x71, 0x76, 0x34, 0x20, 0x72, 0x41, 0x3B, 0x20,
-0x73, 0x56, 0x16, 0x20, 0x74, 0x21, 0x1D, 0x20, 0x75, 0x35, 0xF8, 0x20, 0x76, 0x00, 0xFF, 0x20,
-0x77, 0x15, 0xDA, 0x20, 0x77, 0xE0, 0xE1, 0x20, 0x78, 0xFE, 0xF6, 0xA0, 0x79, 0xC0, 0xC3, 0x20,
-0x7A, 0xDE, 0xD8, 0xA0, 0x7B, 0xA9, 0xDF, 0xA0, 0x7C, 0xBE, 0xBA, 0xA0, 0x7D, 0x89, 0xC1, 0xA0,
-0x7E, 0x9E, 0x9C, 0xA0, 0x7F, 0x69, 0xA3, 0xA0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0, 0x50, 0x08, 0xBB, 0xA0,
+0x50, 0x31, 0x9A, 0x20, 0x50, 0x67, 0xA7, 0xA0, 0x51, 0x7C, 0x82, 0xA0, 0x52, 0x47, 0x89, 0xA0,
+0x53, 0x5C, 0x64, 0xA0, 0x54, 0x27, 0x6B, 0xA0, 0x55, 0x3C, 0x46, 0xA0, 0x56, 0x07, 0x4D, 0xA0,
+0x57, 0x1C, 0x28, 0xA0, 0x57, 0xE7, 0x2F, 0xA0, 0x59, 0x05, 0x45, 0x20, 0x59, 0xC7, 0x11, 0xA0,
+0x5A, 0xE5, 0x27, 0x20, 0x5B, 0xB0, 0x2E, 0x20, 0x5C, 0xC5, 0x09, 0x20, 0x5D, 0x90, 0x10, 0x20,
+0x5E, 0xA4, 0xEB, 0x20, 0x5F, 0x6F, 0xF2, 0x20, 0x60, 0x84, 0xCD, 0x20, 0x61, 0x4F, 0xD4, 0x20,
+0x62, 0x64, 0xAF, 0x20, 0x63, 0x2F, 0xB6, 0x20, 0x64, 0x4D, 0xCB, 0xA0, 0x65, 0x0F, 0x98, 0x20,
+0x66, 0x2D, 0xAD, 0xA0, 0x66, 0xF8, 0xB4, 0xA0, 0x68, 0x0D, 0x8F, 0xA0, 0x68, 0xD8, 0x96, 0xA0,
+0x69, 0xED, 0x71, 0xA0, 0x6A, 0xB8, 0x78, 0xA0, 0x6B, 0xCD, 0x53, 0xA0, 0x6C, 0x98, 0x5A, 0xA0,
+0x6D, 0xB6, 0x70, 0x20, 0x6E, 0x78, 0x3C, 0xA0, 0x6F, 0x96, 0x52, 0x20, 0x70, 0x61, 0x59, 0x20,
+0x71, 0x76, 0x34, 0x20, 0x72, 0x41, 0x3B, 0x20, 0x73, 0x56, 0x16, 0x20, 0x74, 0x21, 0x1D, 0x20,
+0x75, 0x35, 0xF8, 0x20, 0x76, 0x00, 0xFF, 0x20, 0x77, 0x15, 0xDA, 0x20, 0x77, 0xE0, 0xE1, 0x20,
+0x78, 0xFE, 0xF6, 0xA0, 0x79, 0xC0, 0xC3, 0x20, 0x7A, 0xDE, 0xD8, 0xA0, 0x7B, 0xA9, 0xDF, 0xA0,
+0x7C, 0xBE, 0xBA, 0xA0, 0x7D, 0x89, 0xC1, 0xA0, 0x7E, 0x9E, 0x9C, 0xA0, 0x7F, 0x69, 0xA3, 0xA0,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xF8, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x0E,
-0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C,
-0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xAC, 0xC8, 0x01, 0x07, 0x16, 0x42,
-0x00, 0x00, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0xFF, 0xFF, 0xF8, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53,
+0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xBC, 0xAC, 0xC8, 0x01, 0x07, 0x16, 0x42, 0x00, 0x00, 0x00, 0x00,
/* Africa/Ceuta */
0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -16768,22 +16768,38 @@ const unsigned char timelib_timezone_db_data_builtin[257943] = {
/* Pacific/Fakaofo */
0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x4E, 0xFD, 0x8B, 0xA0,
-0x01, 0xFF, 0xFF, 0x73, 0x60, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xE0, 0x00, 0x00, 0x54, 0x4B, 0x54,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x4E, 0xFD, 0x99, 0xB0,
+0x01, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x00, 0x00, 0x54, 0x4B, 0x54,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x09, 0x65, 0x00, 0x0D, 0x60, 0x7A, 0x00, 0x00, 0x00,
0x00,
/* Pacific/Fiji */
0x50, 0x48, 0x50, 0x31, 0x01, 0x46, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x9A, 0x13, 0xB2, 0x3C,
+0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x9A, 0x13, 0xB2, 0x3C,
0x36, 0x3B, 0x17, 0xE0, 0x36, 0xD7, 0xFA, 0x60, 0x38, 0x24, 0x34, 0x60, 0x38, 0xB7, 0xDC, 0x60,
0x4B, 0x11, 0x2C, 0xE0, 0x4B, 0xAE, 0x0F, 0x60, 0x4C, 0xC2, 0xEA, 0x60, 0x4D, 0x72, 0x41, 0xE0,
-0x4E, 0xA2, 0xCC, 0x60, 0x4F, 0x1A, 0xC4, 0xE0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x00, 0x00, 0xA7, 0x44, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00,
-0x00, 0xA8, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4A, 0x53, 0x54, 0x00, 0x46, 0x4A,
-0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0xA8, 0xEA, 0x02, 0x22, 0xE6, 0x82,
-0x00, 0x00, 0x00, 0x00,
+0x4E, 0xA2, 0xCC, 0x60, 0x4F, 0x1A, 0xC4, 0xE0, 0x50, 0x82, 0xAE, 0x60, 0x50, 0xFA, 0xA6, 0xE0,
+0x52, 0x62, 0x90, 0x60, 0x52, 0xDA, 0x88, 0xE0, 0x54, 0x42, 0x72, 0x60, 0x54, 0xBA, 0x6A, 0xE0,
+0x56, 0x22, 0x54, 0x60, 0x56, 0xA3, 0x87, 0x60, 0x58, 0x0B, 0x70, 0xE0, 0x58, 0x83, 0x69, 0x60,
+0x59, 0xEB, 0x52, 0xE0, 0x5A, 0x63, 0x4B, 0x60, 0x5B, 0xCB, 0x34, 0xE0, 0x5C, 0x43, 0x2D, 0x60,
+0x5D, 0xAB, 0x16, 0xE0, 0x5E, 0x23, 0x0F, 0x60, 0x5F, 0x8A, 0xF8, 0xE0, 0x60, 0x0C, 0x2B, 0xE0,
+0x61, 0x74, 0x15, 0x60, 0x61, 0xEC, 0x0D, 0xE0, 0x63, 0x53, 0xF7, 0x60, 0x63, 0xCB, 0xEF, 0xE0,
+0x65, 0x33, 0xD9, 0x60, 0x65, 0xAB, 0xD1, 0xE0, 0x67, 0x13, 0xBB, 0x60, 0x67, 0x8B, 0xB3, 0xE0,
+0x68, 0xF3, 0x9D, 0x60, 0x69, 0x6B, 0x95, 0xE0, 0x6A, 0xD3, 0x7F, 0x60, 0x6B, 0x54, 0xB2, 0x60,
+0x6C, 0xBC, 0x9B, 0xE0, 0x6D, 0x34, 0x94, 0x60, 0x6E, 0x9C, 0x7D, 0xE0, 0x6F, 0x14, 0x76, 0x60,
+0x70, 0x7C, 0x5F, 0xE0, 0x70, 0xF4, 0x58, 0x60, 0x72, 0x5C, 0x41, 0xE0, 0x72, 0xD4, 0x3A, 0x60,
+0x74, 0x3C, 0x23, 0xE0, 0x74, 0xB4, 0x1C, 0x60, 0x76, 0x25, 0x40, 0x60, 0x76, 0x9D, 0x38, 0xE0,
+0x78, 0x05, 0x22, 0x60, 0x78, 0x7D, 0x1A, 0xE0, 0x79, 0xE5, 0x04, 0x60, 0x7A, 0x5C, 0xFC, 0xE0,
+0x7B, 0xC4, 0xE6, 0x60, 0x7C, 0x3C, 0xDE, 0xE0, 0x7D, 0xA4, 0xC8, 0x60, 0x7E, 0x1C, 0xC0, 0xE0,
+0x7F, 0x84, 0xAA, 0x60, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x00, 0x00, 0xA7, 0x44, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00,
+0xA8, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4A, 0x53, 0x54, 0x00, 0x46, 0x4A, 0x54,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0xA8, 0xEA, 0x02, 0x22, 0xE6, 0x82, 0x00,
+0x00, 0x00, 0x00,
/* Pacific/Funafuti */
0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -18175,4 +18191,4 @@ const unsigned char timelib_timezone_db_data_builtin[257943] = {
0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
0x00, 0x00, 0x00, 0x00, };
-const timelib_tzdb timezonedb_builtin = { "2012.3", 576, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
+const timelib_tzdb timezonedb_builtin = { "2012.6", 576, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
diff --git a/ext/date/lib/tm2unixtime.c b/ext/date/lib/tm2unixtime.c
index c4830bbef0..6085bb14da 100644
--- a/ext/date/lib/tm2unixtime.c
+++ b/ext/date/lib/tm2unixtime.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/unixtime2tm.c b/ext/date/lib/unixtime2tm.c
index a76fa80991..48709f42fc 100644
--- a/ext/date/lib/unixtime2tm.c
+++ b/ext/date/lib/unixtime2tm.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index d9e6a289b4..e8a457052e 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -2544,9 +2544,6 @@ static int php_date_initialize_from_hash(zval **return_value, php_date_obj **dat
if (zend_hash_find(myht, "timezone_type", 14, (void**) &z_timezone_type) == SUCCESS) {
convert_to_long(*z_timezone_type);
if (zend_hash_find(myht, "timezone", 9, (void**) &z_timezone) == SUCCESS) {
- zend_error_handling error_handling;
-
- zend_replace_error_handling(EH_THROW, NULL, &error_handling TSRMLS_CC);
convert_to_string(*z_timezone);
switch (Z_LVAL_PP(z_timezone_type)) {
@@ -2554,9 +2551,9 @@ static int php_date_initialize_from_hash(zval **return_value, php_date_obj **dat
case TIMELIB_ZONETYPE_ABBR: {
char *tmp = emalloc(Z_STRLEN_PP(z_date) + Z_STRLEN_PP(z_timezone) + 2);
snprintf(tmp, Z_STRLEN_PP(z_date) + Z_STRLEN_PP(z_timezone) + 2, "%s %s", Z_STRVAL_PP(z_date), Z_STRVAL_PP(z_timezone));
- php_date_initialize(*dateobj, tmp, Z_STRLEN_PP(z_date) + Z_STRLEN_PP(z_timezone) + 1, NULL, NULL, 1 TSRMLS_CC);
+ php_date_initialize(*dateobj, tmp, Z_STRLEN_PP(z_date) + Z_STRLEN_PP(z_timezone) + 1, NULL, NULL, 0 TSRMLS_CC);
efree(tmp);
- break;
+ return 1;
}
case TIMELIB_ZONETYPE_ID:
@@ -2570,15 +2567,10 @@ static int php_date_initialize_from_hash(zval **return_value, php_date_obj **dat
tzobj->tzi.tz = tzi;
tzobj->initialized = 1;
- php_date_initialize(*dateobj, Z_STRVAL_PP(z_date), Z_STRLEN_PP(z_date), NULL, tmp_obj, 1 TSRMLS_CC);
+ php_date_initialize(*dateobj, Z_STRVAL_PP(z_date), Z_STRLEN_PP(z_date), NULL, tmp_obj, 0 TSRMLS_CC);
zval_ptr_dtor(&tmp_obj);
- break;
- default:
- zend_restore_error_handling(&error_handling TSRMLS_CC);
- return 0;
+ return 1;
}
- zend_restore_error_handling(&error_handling TSRMLS_CC);
- return 1;
}
}
}
diff --git a/ext/date/tests/bug55253.phpt b/ext/date/tests/bug55253.phpt
index 5751cc1126..5751cc1126 100755..100644
--- a/ext/date/tests/bug55253.phpt
+++ b/ext/date/tests/bug55253.phpt
diff --git a/ext/date/tests/bug62852.phpt b/ext/date/tests/bug62852.phpt
index 6426a80fb8..26de510215 100644
--- a/ext/date/tests/bug62852.phpt
+++ b/ext/date/tests/bug62852.phpt
@@ -2,14 +2,35 @@
Bug #62852 (Unserialize invalid DateTime causes crash)
--INI--
date.timezone=GMT
+--XFAIL--
+bug is not fixed yet
--FILE--
<?php
-try {
- $datetime = unserialize('O:8:"DateTime":3:{s:4:"date";s:20:"10007-06-07 03:51:49";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}');
- var_dump($datetime);
-} catch (Exception $e) {
- var_dump($e->getMessage());
+$s1 = 'O:8:"DateTime":3:{s:4:"date";s:20:"10007-06-07 03:51:49";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}';
+$s2 = 'O:3:"Foo":3:{s:4:"date";s:20:"10007-06-07 03:51:49";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}';
+
+global $foo;
+
+class Foo extends DateTime {
+ function __wakeup() {
+ global $foo;
+ $foo = $this;
+ parent::__wakeup();
+ }
}
+
+// Old test case
+try {
+ unserialize( $s1 );
+} catch ( Exception $e ) {}
+
+// My test case
+try {
+ unserialize( $s2 );
+} catch ( Exception $e ) {}
+var_dump( $foo );
+
+echo "okey";
?>
--EXPECTF--
-string(%d) "DateTime::__wakeup(): Failed to parse time string (%s) at position 12 (0): Double time specification"
+okey
diff --git a/ext/date/tests/strtotime-mysql.phpt b/ext/date/tests/strtotime-mysql.phpt
index e5935bb165..e5935bb165 100755..100644
--- a/ext/date/tests/strtotime-mysql.phpt
+++ b/ext/date/tests/strtotime-mysql.phpt
diff --git a/ext/dba/dba_db1.c b/ext/dba/dba_db1.c
index 08af439524..08af439524 100755..100644
--- a/ext/dba/dba_db1.c
+++ b/ext/dba/dba_db1.c
diff --git a/ext/dba/dba_qdbm.c b/ext/dba/dba_qdbm.c
index d72f6b9cbc..d72f6b9cbc 100755..100644
--- a/ext/dba/dba_qdbm.c
+++ b/ext/dba/dba_qdbm.c
diff --git a/ext/dba/libcdb/cdb.c b/ext/dba/libcdb/cdb.c
index 5c26b4fd9f..cfce91e080 100644
--- a/ext/dba/libcdb/cdb.c
+++ b/ext/dba/libcdb/cdb.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libcdb/cdb.h b/ext/dba/libcdb/cdb.h
index 3530cb493c..7cdca00498 100644
--- a/ext/dba/libcdb/cdb.h
+++ b/ext/dba/libcdb/cdb.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libcdb/cdb_make.c b/ext/dba/libcdb/cdb_make.c
index 600b8dd0f9..014db032eb 100644
--- a/ext/dba/libcdb/cdb_make.c
+++ b/ext/dba/libcdb/cdb_make.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libcdb/cdb_make.h b/ext/dba/libcdb/cdb_make.h
index 828abe0315..062cffb05c 100644
--- a/ext/dba/libcdb/cdb_make.h
+++ b/ext/dba/libcdb/cdb_make.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libcdb/uint32.c b/ext/dba/libcdb/uint32.c
index e869d512fb..b56cbf26f8 100644
--- a/ext/dba/libcdb/uint32.c
+++ b/ext/dba/libcdb/uint32.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libcdb/uint32.h b/ext/dba/libcdb/uint32.h
index 692590e227..68ea1c0cd8 100644
--- a/ext/dba/libcdb/uint32.h
+++ b/ext/dba/libcdb/uint32.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libflatfile/flatfile.c b/ext/dba/libflatfile/flatfile.c
index 081af745f9..4d738af7b5 100644
--- a/ext/dba/libflatfile/flatfile.c
+++ b/ext/dba/libflatfile/flatfile.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libflatfile/flatfile.h b/ext/dba/libflatfile/flatfile.h
index e7ce3a7640..65d099fbc7 100644
--- a/ext/dba/libflatfile/flatfile.h
+++ b/ext/dba/libflatfile/flatfile.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libinifile/inifile.c b/ext/dba/libinifile/inifile.c
index f7157ed0fe..2d290e026e 100644
--- a/ext/dba/libinifile/inifile.c
+++ b/ext/dba/libinifile/inifile.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/libinifile/inifile.h b/ext/dba/libinifile/inifile.h
index e69fd08b06..5b7e377d86 100644
--- a/ext/dba/libinifile/inifile.h
+++ b/ext/dba/libinifile/inifile.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/dba/php_db1.h b/ext/dba/php_db1.h
index c0bb5f08b4..c0bb5f08b4 100755..100644
--- a/ext/dba/php_db1.h
+++ b/ext/dba/php_db1.h
diff --git a/ext/dba/tests/bug36436.phpt b/ext/dba/tests/bug36436.phpt
index 19254df3c7..19254df3c7 100755..100644
--- a/ext/dba/tests/bug36436.phpt
+++ b/ext/dba/tests/bug36436.phpt
diff --git a/ext/dba/tests/bug38698.phpt b/ext/dba/tests/bug38698.phpt
index 56dde85268..56dde85268 100755..100644
--- a/ext/dba/tests/bug38698.phpt
+++ b/ext/dba/tests/bug38698.phpt
diff --git a/ext/dba/tests/dba009.phpt b/ext/dba/tests/dba009.phpt
index 698657b2a3..698657b2a3 100755..100644
--- a/ext/dba/tests/dba009.phpt
+++ b/ext/dba/tests/dba009.phpt
diff --git a/ext/dba/tests/dba_db1.phpt b/ext/dba/tests/dba_db1.phpt
index a24600350f..a24600350f 100755..100644
--- a/ext/dba/tests/dba_db1.phpt
+++ b/ext/dba/tests/dba_db1.phpt
diff --git a/ext/dba/tests/dba_qdbm.phpt b/ext/dba/tests/dba_qdbm.phpt
index ef216d9258..ef216d9258 100755..100644
--- a/ext/dba/tests/dba_qdbm.phpt
+++ b/ext/dba/tests/dba_qdbm.phpt
diff --git a/ext/dom/tests/DOMAttr_ownerElement_error_001.phpt b/ext/dom/tests/DOMAttr_ownerElement_error_001.phpt
index a7766541d5..a7766541d5 100755..100644
--- a/ext/dom/tests/DOMAttr_ownerElement_error_001.phpt
+++ b/ext/dom/tests/DOMAttr_ownerElement_error_001.phpt
diff --git a/ext/dom/tests/DOMAttr_value_basic_001.phpt b/ext/dom/tests/DOMAttr_value_basic_001.phpt
index 40e00bcc4d..40e00bcc4d 100755..100644
--- a/ext/dom/tests/DOMAttr_value_basic_001.phpt
+++ b/ext/dom/tests/DOMAttr_value_basic_001.phpt
diff --git a/ext/dom/tests/DOMCharacterData_data_error_002.phpt b/ext/dom/tests/DOMCharacterData_data_error_002.phpt
index 9dae096e6f..9dae096e6f 100755..100644
--- a/ext/dom/tests/DOMCharacterData_data_error_002.phpt
+++ b/ext/dom/tests/DOMCharacterData_data_error_002.phpt
diff --git a/ext/dom/tests/DOMCharacterData_length_error_001.phpt b/ext/dom/tests/DOMCharacterData_length_error_001.phpt
index 0dda492ad4..0dda492ad4 100755..100644
--- a/ext/dom/tests/DOMCharacterData_length_error_001.phpt
+++ b/ext/dom/tests/DOMCharacterData_length_error_001.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt
index 38bc3fa3cc..38bc3fa3cc 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt
index 51eb82e32f..51eb82e32f 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt
index 41a833b5aa..41a833b5aa 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt
index 93dd792609..93dd792609 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt
index 65c8d8678f..65c8d8678f 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_basic.phpt b/ext/dom/tests/DOMDocument_schemaValidate_basic.phpt
index eec790de6f..eec790de6f 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidate_basic.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidate_basic.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error1.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error1.phpt
index 594c3c4291..594c3c4291 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidate_error1.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error1.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error2.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error2.phpt
index 5ffd533652..5ffd533652 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidate_error2.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error2.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error3.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error3.phpt
index 275204f920..275204f920 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidate_error3.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error3.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error4.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error4.phpt
index d4817deca0..d4817deca0 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidate_error4.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error4.phpt
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error5.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error5.phpt
index d3f0658c1f..d3f0658c1f 100755..100644
--- a/ext/dom/tests/DOMDocument_schemaValidate_error5.phpt
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error5.phpt
diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c
index dcc39e267b..dcc39e267b 100755..100644
--- a/ext/enchant/enchant.c
+++ b/ext/enchant/enchant.c
diff --git a/ext/exif/tests/bug34704.phpt b/ext/exif/tests/bug34704.phpt
index b6b26de78d..b6b26de78d 100755..100644
--- a/ext/exif/tests/bug34704.phpt
+++ b/ext/exif/tests/bug34704.phpt
diff --git a/ext/exif/tests/bug60150.phpt b/ext/exif/tests/bug60150.phpt
index be01998fd8..be01998fd8 100755..100644
--- a/ext/exif/tests/bug60150.phpt
+++ b/ext/exif/tests/bug60150.phpt
diff --git a/ext/filter/tests/045.phpt b/ext/filter/tests/045.phpt
index ad8f47ec9a..ad8f47ec9a 100755..100644
--- a/ext/filter/tests/045.phpt
+++ b/ext/filter/tests/045.phpt
diff --git a/ext/filter/tests/046.phpt b/ext/filter/tests/046.phpt
index bc454420ad..bc454420ad 100755..100644
--- a/ext/filter/tests/046.phpt
+++ b/ext/filter/tests/046.phpt
diff --git a/ext/filter/tests/047.phpt b/ext/filter/tests/047.phpt
index cc41eabd3d..cc41eabd3d 100755..100644
--- a/ext/filter/tests/047.phpt
+++ b/ext/filter/tests/047.phpt
diff --git a/ext/filter/tests/048.phpt b/ext/filter/tests/048.phpt
index 92ab6908c7..92ab6908c7 100755..100644
--- a/ext/filter/tests/048.phpt
+++ b/ext/filter/tests/048.phpt
diff --git a/ext/filter/tests/049.phpt b/ext/filter/tests/049.phpt
index 5a9977b8ff..5a9977b8ff 100755..100644
--- a/ext/filter/tests/049.phpt
+++ b/ext/filter/tests/049.phpt
diff --git a/ext/filter/tests/050.phpt b/ext/filter/tests/050.phpt
index 69a269f11f..69a269f11f 100755..100644
--- a/ext/filter/tests/050.phpt
+++ b/ext/filter/tests/050.phpt
diff --git a/ext/filter/tests/051.phpt b/ext/filter/tests/051.phpt
index e34289d436..e34289d436 100755..100644
--- a/ext/filter/tests/051.phpt
+++ b/ext/filter/tests/051.phpt
diff --git a/ext/filter/tests/callback_closure.phpt b/ext/filter/tests/callback_closure.phpt
index e27a31b37e..e27a31b37e 100755..100644
--- a/ext/filter/tests/callback_closure.phpt
+++ b/ext/filter/tests/callback_closure.phpt
diff --git a/ext/ftp/tests/ftp_alloc_basic1.phpt b/ext/ftp/tests/ftp_alloc_basic1.phpt
index b2bdf7440d..b2bdf7440d 100755..100644
--- a/ext/ftp/tests/ftp_alloc_basic1.phpt
+++ b/ext/ftp/tests/ftp_alloc_basic1.phpt
diff --git a/ext/ftp/tests/ftp_alloc_basic2.phpt b/ext/ftp/tests/ftp_alloc_basic2.phpt
index b9e4253fe8..b9e4253fe8 100755..100644
--- a/ext/ftp/tests/ftp_alloc_basic2.phpt
+++ b/ext/ftp/tests/ftp_alloc_basic2.phpt
diff --git a/ext/ftp/tests/ftp_chmod_basic.phpt b/ext/ftp/tests/ftp_chmod_basic.phpt
index baaa25a987..baaa25a987 100755..100644
--- a/ext/ftp/tests/ftp_chmod_basic.phpt
+++ b/ext/ftp/tests/ftp_chmod_basic.phpt
diff --git a/ext/ftp/tests/ftp_exec_basic.phpt b/ext/ftp/tests/ftp_exec_basic.phpt
index 4a1f63e388..4a1f63e388 100755..100644
--- a/ext/ftp/tests/ftp_exec_basic.phpt
+++ b/ext/ftp/tests/ftp_exec_basic.phpt
diff --git a/ext/ftp/tests/ftp_rmdir_basic.phpt b/ext/ftp/tests/ftp_rmdir_basic.phpt
index 6626cb4bed..6626cb4bed 100755..100644
--- a/ext/ftp/tests/ftp_rmdir_basic.phpt
+++ b/ext/ftp/tests/ftp_rmdir_basic.phpt
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index ff14497f68..3039cdd492 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -1308,6 +1308,11 @@ PHP_MINFO_FUNCTION(gd)
#endif
#if defined(HAVE_GD_XPM) && defined(HAVE_GD_BUNDLED)
php_info_print_table_row(2, "XPM Support", "enabled");
+ {
+ char tmp[12];
+ snprintf(tmp, sizeof(tmp), "%d", XpmLibraryVersion());
+ php_info_print_table_row(2, "libXpm Version", tmp);
+ }
#endif
#ifdef HAVE_GD_XBM
php_info_print_table_row(2, "XBM Support", "enabled");
diff --git a/ext/gd/libgd/xbm.c b/ext/gd/libgd/xbm.c
index c83b0ad13e..f4165d52b7 100644
--- a/ext/gd/libgd/xbm.c
+++ b/ext/gd/libgd/xbm.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/gd/tests/bug43073.phpt b/ext/gd/tests/bug43073.phpt
index df4ffe37e8..4f448f2b4a 100644
--- a/ext/gd/tests/bug43073.phpt
+++ b/ext/gd/tests/bug43073.phpt
@@ -1,9 +1,12 @@
--TEST--
-Bug #43073 (TrueType bounding box is wrong for angle<>0)
+Bug #43073 (TrueType bounding box is wrong for angle<>0) freetype < 2.4.10
--SKIPIF--
<?php
if(!extension_loaded('gd')){ die('skip gd extension not available'); }
if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') >= 0) die('skip for freetype < 2.4.10');
?>
--FILE--
<?php
diff --git a/ext/gd/tests/bug43073_1.phpt b/ext/gd/tests/bug43073_1.phpt
new file mode 100644
index 0000000000..b69067d31b
--- /dev/null
+++ b/ext/gd/tests/bug43073_1.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Bug #43073 (TrueType bounding box is wrong for angle<>0) freetype >= 2.4.10
+--SKIPIF--
+<?php
+ if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+ if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') == -1) die('skip for freetype >= 2.4.10');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$delta_t = 360.0 / 16; # Make 16 steps around
+$g = imagecreate(800, 800);
+$bgnd = imagecolorallocate($g, 255, 255, 255);
+$black = imagecolorallocate($g, 0, 0, 0);
+$x = 100;
+$y = 0;
+$cos_t = cos(deg2rad($delta_t));
+$sin_t = sin(deg2rad($delta_t));
+for ($angle = 0.0; $angle < 360.0; $angle += $delta_t) {
+ $bbox = imagettftext($g, 24, $angle, 400+$x, 400+$y, $black, $font, 'ABCDEF');
+ $s = vsprintf("(%d, %d), (%d, %d), (%d, %d), (%d, %d)\n", $bbox);
+ echo $s;
+ $temp = $cos_t * $x + $sin_t * $y;
+ $y = $cos_t * $y - $sin_t * $x;
+ $x = $temp;
+}
+imagepng($g, "$cwd/bug43073.png");
+?>
+--CLEAN--
+<?php @unlink(dirname(__FILE__) . '/bug43073.png'); ?>
+--EXPECTF--
+(500, 400), (610, 400), (610, 376), (500, 376)
+(492, 363), (591, 322), (580, 295), (480, 336)
+(470, 331), (548, 254), (527, 233), (449, 310)
+(439, 309), (483, 202), (461, 193), (416, 299)
+(400, 300), (400, 183), (380, 183), (380, 300)
+(362, 307), (316, 195), (291, 205), (337, 318)
+(330, 329), (246, 244), (224, 265), (308, 350)
+(308, 360), (202, 316), (190, 344), (296, 388)
+(300, 400), (187, 400), (187, 425), (300, 425)
+(306, 437), (195, 483), (206, 510), (318, 464)
+(328, 469), (240, 557), (260, 578), (349, 491)
+(359, 491), (312, 607), (334, 616), (382, 501)
+(400, 500), (400, 618), (419, 618), (419, 500)
+(436, 493), (483, 607), (507, 597), (461, 482)
+(468, 471), (555, 558), (577, 538), (490, 450)
+(490, 440), (600, 485), (611, 457), (502, 412)
diff --git a/ext/gd/tests/bug48801.phpt b/ext/gd/tests/bug48801.phpt
index a6a9874ab8..fd25541a52 100644
--- a/ext/gd/tests/bug48801.phpt
+++ b/ext/gd/tests/bug48801.phpt
@@ -1,9 +1,12 @@
--TEST--
-Bug #48801 (Problem with imagettfbbox)
+Bug #48801 (Problem with imagettfbbox) freetype < 2.4.10
--SKIPIF--
<?php
if(!extension_loaded('gd')){ die('skip gd extension not available'); }
if(!function_exists('imageftbbox')) die('skip imageftbbox() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') >= 0) die('skip for freetype < 2.4.10');
?>
--FILE--
<?php
diff --git a/ext/gd/tests/bug48801_1.phpt b/ext/gd/tests/bug48801_1.phpt
new file mode 100644
index 0000000000..11af80cd4b
--- /dev/null
+++ b/ext/gd/tests/bug48801_1.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Bug #48801 (Problem with imagettfbbox) freetype >= 2.4.10
+--SKIPIF--
+<?php
+ if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+ if(!function_exists('imageftbbox')) die('skip imageftbbox() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') == -1) die('skip for freetype >= 2.4.10');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$bbox = imageftbbox(50, 0, $font, "image");
+echo '(' . $bbox[0] . ', ' . $bbox[1] . ")\n";
+echo '(' . $bbox[2] . ', ' . $bbox[3] . ")\n";
+echo '(' . $bbox[4] . ', ' . $bbox[5] . ")\n";
+echo '(' . $bbox[6] . ', ' . $bbox[7] . ")\n";
+?>
+--EXPECTF--
+(-1, 15)
+(156, 15)
+(156, -48)
+(-1, -48)
diff --git a/ext/gd/tests/func.inc b/ext/gd/tests/func.inc
new file mode 100644
index 0000000000..f17227eccd
--- /dev/null
+++ b/ext/gd/tests/func.inc
@@ -0,0 +1,61 @@
+<?php
+
+function get_gd_version()
+{
+ return GD_VERSION;
+}
+
+function get_php_info()
+{
+ ob_start();
+ phpinfo();
+ $info = ob_get_contents();
+ ob_end_clean();
+
+ return $info;
+}
+
+function get_freetype_version()
+{
+ $version = 0;
+
+ if (preg_match(',FreeType Version => (\d+\.\d+\.\d+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
+function get_libjpeg_version()
+{
+ $version = 0;
+
+ if (preg_match(',libJPEG Version => ([a-z0-9]+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
+function get_libpng_version()
+{
+ $version = 0;
+
+ if (preg_match(',libPNG Version => (\d+\.\d+\.\d+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
+function get_libxpm_version()
+{
+ $version = 0;
+
+ if (preg_match(',libXpm Version => (\d+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
diff --git a/ext/gd/tests/imageantialias_error1.phpt b/ext/gd/tests/imageantialias_error1.phpt
index e9475e9571..e9475e9571 100755..100644
--- a/ext/gd/tests/imageantialias_error1.phpt
+++ b/ext/gd/tests/imageantialias_error1.phpt
diff --git a/ext/gd/tests/imageantialias_error2.phpt b/ext/gd/tests/imageantialias_error2.phpt
index 64b0a60eba..64b0a60eba 100755..100644
--- a/ext/gd/tests/imageantialias_error2.phpt
+++ b/ext/gd/tests/imageantialias_error2.phpt
diff --git a/ext/gd/tests/imagearc_basic.phpt b/ext/gd/tests/imagearc_basic.phpt
index 4647dd1e3f..4647dd1e3f 100755..100644
--- a/ext/gd/tests/imagearc_basic.phpt
+++ b/ext/gd/tests/imagearc_basic.phpt
diff --git a/ext/gd/tests/imagearc_error1.phpt b/ext/gd/tests/imagearc_error1.phpt
index 423f0356af..423f0356af 100755..100644
--- a/ext/gd/tests/imagearc_error1.phpt
+++ b/ext/gd/tests/imagearc_error1.phpt
diff --git a/ext/gd/tests/imagearc_variation1.phpt b/ext/gd/tests/imagearc_variation1.phpt
index 568d3a6d47..568d3a6d47 100755..100644
--- a/ext/gd/tests/imagearc_variation1.phpt
+++ b/ext/gd/tests/imagearc_variation1.phpt
diff --git a/ext/gd/tests/imagearc_variation2.phpt b/ext/gd/tests/imagearc_variation2.phpt
index 045c68e61c..045c68e61c 100755..100644
--- a/ext/gd/tests/imagearc_variation2.phpt
+++ b/ext/gd/tests/imagearc_variation2.phpt
diff --git a/ext/gd/tests/imagecolormatch_basic.phpt b/ext/gd/tests/imagecolormatch_basic.phpt
index 1d188121b6..1d188121b6 100755..100644
--- a/ext/gd/tests/imagecolormatch_basic.phpt
+++ b/ext/gd/tests/imagecolormatch_basic.phpt
diff --git a/ext/gd/tests/imagecolormatch_error1.phpt b/ext/gd/tests/imagecolormatch_error1.phpt
index 9750a8b245..9750a8b245 100755..100644
--- a/ext/gd/tests/imagecolormatch_error1.phpt
+++ b/ext/gd/tests/imagecolormatch_error1.phpt
diff --git a/ext/gd/tests/imagecolormatch_error2.phpt b/ext/gd/tests/imagecolormatch_error2.phpt
index bdb3c2460e..bdb3c2460e 100755..100644
--- a/ext/gd/tests/imagecolormatch_error2.phpt
+++ b/ext/gd/tests/imagecolormatch_error2.phpt
diff --git a/ext/gd/tests/imagecolormatch_error3.phpt b/ext/gd/tests/imagecolormatch_error3.phpt
index 8793e15227..8793e15227 100755..100644
--- a/ext/gd/tests/imagecolormatch_error3.phpt
+++ b/ext/gd/tests/imagecolormatch_error3.phpt
diff --git a/ext/gd/tests/imagecolormatch_error4.phpt b/ext/gd/tests/imagecolormatch_error4.phpt
index 0bfe767c2b..0bfe767c2b 100755..100644
--- a/ext/gd/tests/imagecolormatch_error4.phpt
+++ b/ext/gd/tests/imagecolormatch_error4.phpt
diff --git a/ext/gd/tests/imagecolorset_basic.phpt b/ext/gd/tests/imagecolorset_basic.phpt
index a1776ff50f..a1776ff50f 100755..100644
--- a/ext/gd/tests/imagecolorset_basic.phpt
+++ b/ext/gd/tests/imagecolorset_basic.phpt
diff --git a/ext/gd/tests/imageconvolution_basic.phpt b/ext/gd/tests/imageconvolution_basic.phpt
index 5a9aa8f95b..5a9aa8f95b 100755..100644
--- a/ext/gd/tests/imageconvolution_basic.phpt
+++ b/ext/gd/tests/imageconvolution_basic.phpt
diff --git a/ext/gd/tests/imageconvolution_error1.phpt b/ext/gd/tests/imageconvolution_error1.phpt
index 5dc250a85b..5dc250a85b 100755..100644
--- a/ext/gd/tests/imageconvolution_error1.phpt
+++ b/ext/gd/tests/imageconvolution_error1.phpt
diff --git a/ext/gd/tests/imageconvolution_error2.phpt b/ext/gd/tests/imageconvolution_error2.phpt
index 5161c198c3..5161c198c3 100755..100644
--- a/ext/gd/tests/imageconvolution_error2.phpt
+++ b/ext/gd/tests/imageconvolution_error2.phpt
diff --git a/ext/gd/tests/imageconvolution_error3.phpt b/ext/gd/tests/imageconvolution_error3.phpt
index df6b148bd1..df6b148bd1 100755..100644
--- a/ext/gd/tests/imageconvolution_error3.phpt
+++ b/ext/gd/tests/imageconvolution_error3.phpt
diff --git a/ext/gd/tests/imagecopymerge_basic.phpt b/ext/gd/tests/imagecopymerge_basic.phpt
index 85f1162629..85f1162629 100755..100644
--- a/ext/gd/tests/imagecopymerge_basic.phpt
+++ b/ext/gd/tests/imagecopymerge_basic.phpt
diff --git a/ext/gd/tests/imagecopymerge_error.phpt b/ext/gd/tests/imagecopymerge_error.phpt
index e43bf69452..e43bf69452 100755..100644
--- a/ext/gd/tests/imagecopymerge_error.phpt
+++ b/ext/gd/tests/imagecopymerge_error.phpt
diff --git a/ext/gd/tests/imageellipse_basic.phpt b/ext/gd/tests/imageellipse_basic.phpt
index bfd0b79f58..bfd0b79f58 100755..100644
--- a/ext/gd/tests/imageellipse_basic.phpt
+++ b/ext/gd/tests/imageellipse_basic.phpt
diff --git a/ext/gd/tests/imageellipse_error1.phpt b/ext/gd/tests/imageellipse_error1.phpt
index aa8ad789d9..aa8ad789d9 100755..100644
--- a/ext/gd/tests/imageellipse_error1.phpt
+++ b/ext/gd/tests/imageellipse_error1.phpt
diff --git a/ext/gd/tests/imageellipse_error2.phpt b/ext/gd/tests/imageellipse_error2.phpt
index 5b65bf8a5c..5b65bf8a5c 100755..100644
--- a/ext/gd/tests/imageellipse_error2.phpt
+++ b/ext/gd/tests/imageellipse_error2.phpt
diff --git a/ext/gd/tests/imageellipse_error3.phpt b/ext/gd/tests/imageellipse_error3.phpt
index cbac2f0e79..cbac2f0e79 100755..100644
--- a/ext/gd/tests/imageellipse_error3.phpt
+++ b/ext/gd/tests/imageellipse_error3.phpt
diff --git a/ext/gd/tests/imageellipse_error4.phpt b/ext/gd/tests/imageellipse_error4.phpt
index dec2e0fbdc..dec2e0fbdc 100755..100644
--- a/ext/gd/tests/imageellipse_error4.phpt
+++ b/ext/gd/tests/imageellipse_error4.phpt
diff --git a/ext/gd/tests/imageellipse_error5.phpt b/ext/gd/tests/imageellipse_error5.phpt
index 4272470c6d..4272470c6d 100755..100644
--- a/ext/gd/tests/imageellipse_error5.phpt
+++ b/ext/gd/tests/imageellipse_error5.phpt
diff --git a/ext/gd/tests/imageellipse_error6.phpt b/ext/gd/tests/imageellipse_error6.phpt
index 8628525b6f..8628525b6f 100755..100644
--- a/ext/gd/tests/imageellipse_error6.phpt
+++ b/ext/gd/tests/imageellipse_error6.phpt
diff --git a/ext/gd/tests/imageellipse_error7.phpt b/ext/gd/tests/imageellipse_error7.phpt
index 23f1eeeab7..23f1eeeab7 100755..100644
--- a/ext/gd/tests/imageellipse_error7.phpt
+++ b/ext/gd/tests/imageellipse_error7.phpt
diff --git a/ext/gd/tests/imageellipse_error8.phpt b/ext/gd/tests/imageellipse_error8.phpt
index 3fefb56bde..3fefb56bde 100755..100644
--- a/ext/gd/tests/imageellipse_error8.phpt
+++ b/ext/gd/tests/imageellipse_error8.phpt
diff --git a/ext/gd/tests/imagefilledarc_basic.phpt b/ext/gd/tests/imagefilledarc_basic.phpt
index 9ff9bd3716..9ff9bd3716 100755..100644
--- a/ext/gd/tests/imagefilledarc_basic.phpt
+++ b/ext/gd/tests/imagefilledarc_basic.phpt
diff --git a/ext/gd/tests/imagefilledarc_error1.phpt b/ext/gd/tests/imagefilledarc_error1.phpt
index b2bc4172de..b2bc4172de 100755..100644
--- a/ext/gd/tests/imagefilledarc_error1.phpt
+++ b/ext/gd/tests/imagefilledarc_error1.phpt
diff --git a/ext/gd/tests/imagefilledarc_variation1.phpt b/ext/gd/tests/imagefilledarc_variation1.phpt
index 2dec1ead2c..2dec1ead2c 100755..100644
--- a/ext/gd/tests/imagefilledarc_variation1.phpt
+++ b/ext/gd/tests/imagefilledarc_variation1.phpt
diff --git a/ext/gd/tests/imagefilledarc_variation2.phpt b/ext/gd/tests/imagefilledarc_variation2.phpt
index 5c8ffba001..5c8ffba001 100755..100644
--- a/ext/gd/tests/imagefilledarc_variation2.phpt
+++ b/ext/gd/tests/imagefilledarc_variation2.phpt
diff --git a/ext/gd/tests/imagefilltoborder_basic.phpt b/ext/gd/tests/imagefilltoborder_basic.phpt
index 80b84d2c69..80b84d2c69 100755..100644
--- a/ext/gd/tests/imagefilltoborder_basic.phpt
+++ b/ext/gd/tests/imagefilltoborder_basic.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error1.phpt b/ext/gd/tests/imagefilltoborder_error1.phpt
index 9412da7394..9412da7394 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error1.phpt
+++ b/ext/gd/tests/imagefilltoborder_error1.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error2.phpt b/ext/gd/tests/imagefilltoborder_error2.phpt
index dcbf904708..dcbf904708 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error2.phpt
+++ b/ext/gd/tests/imagefilltoborder_error2.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error3.phpt b/ext/gd/tests/imagefilltoborder_error3.phpt
index 73f6cf7b89..73f6cf7b89 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error3.phpt
+++ b/ext/gd/tests/imagefilltoborder_error3.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error4.phpt b/ext/gd/tests/imagefilltoborder_error4.phpt
index a5073d80bd..a5073d80bd 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error4.phpt
+++ b/ext/gd/tests/imagefilltoborder_error4.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error5.phpt b/ext/gd/tests/imagefilltoborder_error5.phpt
index eff344a787..eff344a787 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error5.phpt
+++ b/ext/gd/tests/imagefilltoborder_error5.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error6.phpt b/ext/gd/tests/imagefilltoborder_error6.phpt
index b5ce53b0d6..b5ce53b0d6 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error6.phpt
+++ b/ext/gd/tests/imagefilltoborder_error6.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error7.phpt b/ext/gd/tests/imagefilltoborder_error7.phpt
index aeb7d82620..aeb7d82620 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error7.phpt
+++ b/ext/gd/tests/imagefilltoborder_error7.phpt
diff --git a/ext/gd/tests/imagefilter_error1.phpt b/ext/gd/tests/imagefilter_error1.phpt
index fb96ae32b4..fb96ae32b4 100755..100644
--- a/ext/gd/tests/imagefilter_error1.phpt
+++ b/ext/gd/tests/imagefilter_error1.phpt
diff --git a/ext/gd/tests/imagefilter_error10.phpt b/ext/gd/tests/imagefilter_error10.phpt
index 8b41211629..8b41211629 100755..100644
--- a/ext/gd/tests/imagefilter_error10.phpt
+++ b/ext/gd/tests/imagefilter_error10.phpt
diff --git a/ext/gd/tests/imagefilter_error11.phpt b/ext/gd/tests/imagefilter_error11.phpt
index 9b1cf4d92b..9b1cf4d92b 100755..100644
--- a/ext/gd/tests/imagefilter_error11.phpt
+++ b/ext/gd/tests/imagefilter_error11.phpt
diff --git a/ext/gd/tests/imagefilter_error12.phpt b/ext/gd/tests/imagefilter_error12.phpt
index 33fee28e63..33fee28e63 100755..100644
--- a/ext/gd/tests/imagefilter_error12.phpt
+++ b/ext/gd/tests/imagefilter_error12.phpt
diff --git a/ext/gd/tests/imagefilter_error13.phpt b/ext/gd/tests/imagefilter_error13.phpt
index 687d148be5..687d148be5 100755..100644
--- a/ext/gd/tests/imagefilter_error13.phpt
+++ b/ext/gd/tests/imagefilter_error13.phpt
diff --git a/ext/gd/tests/imagefilter_error14.phpt b/ext/gd/tests/imagefilter_error14.phpt
index 64103954db..64103954db 100755..100644
--- a/ext/gd/tests/imagefilter_error14.phpt
+++ b/ext/gd/tests/imagefilter_error14.phpt
diff --git a/ext/gd/tests/imagefilter_error15.phpt b/ext/gd/tests/imagefilter_error15.phpt
index 87a412e4cd..87a412e4cd 100755..100644
--- a/ext/gd/tests/imagefilter_error15.phpt
+++ b/ext/gd/tests/imagefilter_error15.phpt
diff --git a/ext/gd/tests/imagefilter_error16.phpt b/ext/gd/tests/imagefilter_error16.phpt
index 2a84c2f789..2a84c2f789 100755..100644
--- a/ext/gd/tests/imagefilter_error16.phpt
+++ b/ext/gd/tests/imagefilter_error16.phpt
diff --git a/ext/gd/tests/imagefilter_error17.phpt b/ext/gd/tests/imagefilter_error17.phpt
index adafc3e5e8..adafc3e5e8 100755..100644
--- a/ext/gd/tests/imagefilter_error17.phpt
+++ b/ext/gd/tests/imagefilter_error17.phpt
diff --git a/ext/gd/tests/imagefilter_error18.phpt b/ext/gd/tests/imagefilter_error18.phpt
index b636bfc07a..b636bfc07a 100755..100644
--- a/ext/gd/tests/imagefilter_error18.phpt
+++ b/ext/gd/tests/imagefilter_error18.phpt
diff --git a/ext/gd/tests/imagefilter_error19.phpt b/ext/gd/tests/imagefilter_error19.phpt
index e36b817aa2..e36b817aa2 100755..100644
--- a/ext/gd/tests/imagefilter_error19.phpt
+++ b/ext/gd/tests/imagefilter_error19.phpt
diff --git a/ext/gd/tests/imagefilter_error2.phpt b/ext/gd/tests/imagefilter_error2.phpt
index 62ac6620c6..62ac6620c6 100755..100644
--- a/ext/gd/tests/imagefilter_error2.phpt
+++ b/ext/gd/tests/imagefilter_error2.phpt
diff --git a/ext/gd/tests/imagefilter_error20.phpt b/ext/gd/tests/imagefilter_error20.phpt
index f3db724acb..f3db724acb 100755..100644
--- a/ext/gd/tests/imagefilter_error20.phpt
+++ b/ext/gd/tests/imagefilter_error20.phpt
diff --git a/ext/gd/tests/imagefilter_error3.phpt b/ext/gd/tests/imagefilter_error3.phpt
index 67f6c199f3..67f6c199f3 100755..100644
--- a/ext/gd/tests/imagefilter_error3.phpt
+++ b/ext/gd/tests/imagefilter_error3.phpt
diff --git a/ext/gd/tests/imagefilter_error4.phpt b/ext/gd/tests/imagefilter_error4.phpt
index babb37e0ac..babb37e0ac 100755..100644
--- a/ext/gd/tests/imagefilter_error4.phpt
+++ b/ext/gd/tests/imagefilter_error4.phpt
diff --git a/ext/gd/tests/imagefilter_error5.phpt b/ext/gd/tests/imagefilter_error5.phpt
index a7d9443427..a7d9443427 100755..100644
--- a/ext/gd/tests/imagefilter_error5.phpt
+++ b/ext/gd/tests/imagefilter_error5.phpt
diff --git a/ext/gd/tests/imagefilter_error6.phpt b/ext/gd/tests/imagefilter_error6.phpt
index 05dd187a2d..05dd187a2d 100755..100644
--- a/ext/gd/tests/imagefilter_error6.phpt
+++ b/ext/gd/tests/imagefilter_error6.phpt
diff --git a/ext/gd/tests/imagefilter_error7.phpt b/ext/gd/tests/imagefilter_error7.phpt
index 6c08e5acf3..6c08e5acf3 100755..100644
--- a/ext/gd/tests/imagefilter_error7.phpt
+++ b/ext/gd/tests/imagefilter_error7.phpt
diff --git a/ext/gd/tests/imagefilter_error8.phpt b/ext/gd/tests/imagefilter_error8.phpt
index 57c3168f7e..57c3168f7e 100755..100644
--- a/ext/gd/tests/imagefilter_error8.phpt
+++ b/ext/gd/tests/imagefilter_error8.phpt
diff --git a/ext/gd/tests/imagefilter_error9.phpt b/ext/gd/tests/imagefilter_error9.phpt
index a74ea643cf..a74ea643cf 100755..100644
--- a/ext/gd/tests/imagefilter_error9.phpt
+++ b/ext/gd/tests/imagefilter_error9.phpt
diff --git a/ext/gd/tests/imageinterlace_basic.phpt b/ext/gd/tests/imageinterlace_basic.phpt
index 657b256d67..657b256d67 100755..100644
--- a/ext/gd/tests/imageinterlace_basic.phpt
+++ b/ext/gd/tests/imageinterlace_basic.phpt
diff --git a/ext/gd/tests/imageinterlace_error1.phpt b/ext/gd/tests/imageinterlace_error1.phpt
index 5c871e7bba..5c871e7bba 100755..100644
--- a/ext/gd/tests/imageinterlace_error1.phpt
+++ b/ext/gd/tests/imageinterlace_error1.phpt
diff --git a/ext/gd/tests/imageinterlace_error2.phpt b/ext/gd/tests/imageinterlace_error2.phpt
index 808c88a312..808c88a312 100755..100644
--- a/ext/gd/tests/imageinterlace_error2.phpt
+++ b/ext/gd/tests/imageinterlace_error2.phpt
diff --git a/ext/gd/tests/imageinterlace_variation1.phpt b/ext/gd/tests/imageinterlace_variation1.phpt
index 2c224ef41f..2c224ef41f 100755..100644
--- a/ext/gd/tests/imageinterlace_variation1.phpt
+++ b/ext/gd/tests/imageinterlace_variation1.phpt
diff --git a/ext/gd/tests/imageinterlace_variation2.phpt b/ext/gd/tests/imageinterlace_variation2.phpt
index b4735dcfb9..b4735dcfb9 100755..100644
--- a/ext/gd/tests/imageinterlace_variation2.phpt
+++ b/ext/gd/tests/imageinterlace_variation2.phpt
diff --git a/ext/gd/tests/imagerectangle_basic.phpt b/ext/gd/tests/imagerectangle_basic.phpt
index f706ee7ab6..f706ee7ab6 100755..100644
--- a/ext/gd/tests/imagerectangle_basic.phpt
+++ b/ext/gd/tests/imagerectangle_basic.phpt
diff --git a/ext/gd/tests/imagerectangle_error1.phpt b/ext/gd/tests/imagerectangle_error1.phpt
index 2b4235e854..2b4235e854 100755..100644
--- a/ext/gd/tests/imagerectangle_error1.phpt
+++ b/ext/gd/tests/imagerectangle_error1.phpt
diff --git a/ext/gd/tests/imagerectangle_error2.phpt b/ext/gd/tests/imagerectangle_error2.phpt
index 5fc1914ad0..5fc1914ad0 100755..100644
--- a/ext/gd/tests/imagerectangle_error2.phpt
+++ b/ext/gd/tests/imagerectangle_error2.phpt
diff --git a/ext/gd/tests/imagerectangle_error3.phpt b/ext/gd/tests/imagerectangle_error3.phpt
index d5dd4c1d80..d5dd4c1d80 100755..100644
--- a/ext/gd/tests/imagerectangle_error3.phpt
+++ b/ext/gd/tests/imagerectangle_error3.phpt
diff --git a/ext/gd/tests/imagerectangle_error4.phpt b/ext/gd/tests/imagerectangle_error4.phpt
index 7ecc4167a8..7ecc4167a8 100755..100644
--- a/ext/gd/tests/imagerectangle_error4.phpt
+++ b/ext/gd/tests/imagerectangle_error4.phpt
diff --git a/ext/gd/tests/imagerectangle_error5.phpt b/ext/gd/tests/imagerectangle_error5.phpt
index b4288d270c..b4288d270c 100755..100644
--- a/ext/gd/tests/imagerectangle_error5.phpt
+++ b/ext/gd/tests/imagerectangle_error5.phpt
diff --git a/ext/gd/tests/imagerectangle_error6.phpt b/ext/gd/tests/imagerectangle_error6.phpt
index aab378e557..aab378e557 100755..100644
--- a/ext/gd/tests/imagerectangle_error6.phpt
+++ b/ext/gd/tests/imagerectangle_error6.phpt
diff --git a/ext/gd/tests/imagerectangle_error7.phpt b/ext/gd/tests/imagerectangle_error7.phpt
index f6ed778db7..f6ed778db7 100755..100644
--- a/ext/gd/tests/imagerectangle_error7.phpt
+++ b/ext/gd/tests/imagerectangle_error7.phpt
diff --git a/ext/gd/tests/imagerectangle_error8.phpt b/ext/gd/tests/imagerectangle_error8.phpt
index 361de69cde..361de69cde 100755..100644
--- a/ext/gd/tests/imagerectangle_error8.phpt
+++ b/ext/gd/tests/imagerectangle_error8.phpt
diff --git a/ext/gd/tests/imagesetbrush_basic.phpt b/ext/gd/tests/imagesetbrush_basic.phpt
index 790184ddc2..790184ddc2 100755..100644
--- a/ext/gd/tests/imagesetbrush_basic.phpt
+++ b/ext/gd/tests/imagesetbrush_basic.phpt
diff --git a/ext/gd/tests/jpeg2wbmp_error1.phpt b/ext/gd/tests/jpeg2wbmp_error1.phpt
index d0496cc82b..d0496cc82b 100755..100644
--- a/ext/gd/tests/jpeg2wbmp_error1.phpt
+++ b/ext/gd/tests/jpeg2wbmp_error1.phpt
diff --git a/ext/gd/tests/jpeg2wbmp_error2.phpt b/ext/gd/tests/jpeg2wbmp_error2.phpt
index 692dcb842d..692dcb842d 100755..100644
--- a/ext/gd/tests/jpeg2wbmp_error2.phpt
+++ b/ext/gd/tests/jpeg2wbmp_error2.phpt
diff --git a/ext/gd/tests/jpeg2wbmp_error3.phpt b/ext/gd/tests/jpeg2wbmp_error3.phpt
index df436c8cc3..df436c8cc3 100755..100644
--- a/ext/gd/tests/jpeg2wbmp_error3.phpt
+++ b/ext/gd/tests/jpeg2wbmp_error3.phpt
diff --git a/ext/gd/tests/png2wbmp_error1.phpt b/ext/gd/tests/png2wbmp_error1.phpt
index 1e9d717d94..1e9d717d94 100755..100644
--- a/ext/gd/tests/png2wbmp_error1.phpt
+++ b/ext/gd/tests/png2wbmp_error1.phpt
diff --git a/ext/gd/tests/png2wbmp_error2.phpt b/ext/gd/tests/png2wbmp_error2.phpt
index ba8e43e7f0..ba8e43e7f0 100755..100644
--- a/ext/gd/tests/png2wbmp_error2.phpt
+++ b/ext/gd/tests/png2wbmp_error2.phpt
diff --git a/ext/gd/tests/png2wbmp_error3.phpt b/ext/gd/tests/png2wbmp_error3.phpt
index 1e33f59b18..1e33f59b18 100755..100644
--- a/ext/gd/tests/png2wbmp_error3.phpt
+++ b/ext/gd/tests/png2wbmp_error3.phpt
diff --git a/ext/iconv/tests/iconv-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/iconv-charset-length-cve-2007-4840.phpt
index 03b3574d6e..03b3574d6e 100755..100644
--- a/ext/iconv/tests/iconv-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/iconv-charset-length-cve-2007-4840.phpt
diff --git a/ext/iconv/tests/iconv_mime_decode-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/iconv_mime_decode-charset-length-cve-2007-4840.phpt
index d4ed01d956..d4ed01d956 100755..100644
--- a/ext/iconv/tests/iconv_mime_decode-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/iconv_mime_decode-charset-length-cve-2007-4840.phpt
diff --git a/ext/iconv/tests/iconv_mime_decode_headers-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/iconv_mime_decode_headers-charset-length-cve-2007-4840.phpt
index 48d664d600..48d664d600 100755..100644
--- a/ext/iconv/tests/iconv_mime_decode_headers-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/iconv_mime_decode_headers-charset-length-cve-2007-4840.phpt
diff --git a/ext/iconv/tests/iconv_set_encoding-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/iconv_set_encoding-charset-length-cve-2007-4840.phpt
index e6abca5df1..e6abca5df1 100755..100644
--- a/ext/iconv/tests/iconv_set_encoding-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/iconv_set_encoding-charset-length-cve-2007-4840.phpt
diff --git a/ext/iconv/tests/iconv_strlen-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/iconv_strlen-charset-length-cve-2007-4840.phpt
index 348cfb1265..348cfb1265 100755..100644
--- a/ext/iconv/tests/iconv_strlen-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/iconv_strlen-charset-length-cve-2007-4840.phpt
diff --git a/ext/iconv/tests/iconv_strpos-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/iconv_strpos-charset-length-cve-2007-4840.phpt
index 4cb858f0db..4cb858f0db 100755..100644
--- a/ext/iconv/tests/iconv_strpos-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/iconv_strpos-charset-length-cve-2007-4840.phpt
diff --git a/ext/iconv/tests/iconv_strrpos-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/iconv_strrpos-charset-length-cve-2007-4840.phpt
index 948cc67c77..948cc67c77 100755..100644
--- a/ext/iconv/tests/iconv_strrpos-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/iconv_strrpos-charset-length-cve-2007-4840.phpt
diff --git a/ext/iconv/tests/iconv_substr-charset-length-cve-2007-4783.phpt b/ext/iconv/tests/iconv_substr-charset-length-cve-2007-4783.phpt
index c27e60d1dd..c27e60d1dd 100755..100644
--- a/ext/iconv/tests/iconv_substr-charset-length-cve-2007-4783.phpt
+++ b/ext/iconv/tests/iconv_substr-charset-length-cve-2007-4783.phpt
diff --git a/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
index fd01d83ca1..fd01d83ca1 100755..100644
--- a/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
diff --git a/ext/interbase/interbase.rc b/ext/interbase/interbase.rc
index 7fa8f50f33..ad3287be31 100644
--- a/ext/interbase/interbase.rc
+++ b/ext/interbase/interbase.rc
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2007 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/interbase/php_ibase_includes.h b/ext/interbase/php_ibase_includes.h
index 09f4243a01..09f4243a01 100755..100644
--- a/ext/interbase/php_ibase_includes.h
+++ b/ext/interbase/php_ibase_includes.h
diff --git a/ext/interbase/tests/008.phpt b/ext/interbase/tests/008.phpt
index 8292fc38c5..8292fc38c5 100755..100644
--- a/ext/interbase/tests/008.phpt
+++ b/ext/interbase/tests/008.phpt
diff --git a/ext/interbase/tests/interbase.inc b/ext/interbase/tests/interbase.inc
index 42eb6e5915..42eb6e5915 100755..100644
--- a/ext/interbase/tests/interbase.inc
+++ b/ext/interbase/tests/interbase.inc
diff --git a/ext/interbase/tests/skipif.inc b/ext/interbase/tests/skipif.inc
index 79813f69e6..79813f69e6 100755..100644
--- a/ext/interbase/tests/skipif.inc
+++ b/ext/interbase/tests/skipif.inc
diff --git a/ext/intl/collator/collator_class.h b/ext/intl/collator/collator_class.h
index 835abd66c8..7a56dfce50 100644
--- a/ext/intl/collator/collator_class.h
+++ b/ext/intl/collator/collator_class.h
@@ -20,8 +20,9 @@
#include <php.h>
-#include "intl_common.h"
-#include "intl_error.h"
+#include "../intl_common.h"
+#include "../intl_error.h"
+#include "../intl_data.h"
#include <unicode/ucol.h>
@@ -54,9 +55,7 @@ extern zend_class_entry *Collator_ce_ptr;
Collator_object* co = NULL; \
intl_error_reset( NULL TSRMLS_CC ); \
-#define COLLATOR_METHOD_FETCH_OBJECT \
- co = (Collator_object *) zend_object_store_get_object( object TSRMLS_CC ); \
- intl_error_reset( COLLATOR_ERROR_P( co ) TSRMLS_CC ); \
+#define COLLATOR_METHOD_FETCH_OBJECT INTL_METHOD_FETCH_OBJECT(Collator, co)
// Macro to check return value of a ucol_* function call.
#define COLLATOR_CHECK_STATUS( co, msg ) \
diff --git a/ext/intl/collator/collator_create.c b/ext/intl/collator/collator_create.c
index 0f0cc193e4..b2a9968af4 100644
--- a/ext/intl/collator/collator_create.c
+++ b/ext/intl/collator/collator_create.c
@@ -45,7 +45,7 @@ static void collator_ctor(INTERNAL_FUNCTION_PARAMETERS)
}
INTL_CHECK_LOCALE_LEN_OBJ(locale_len, return_value);
- co = (Collator_object *) zend_object_store_get_object( object TSRMLS_CC );
+ COLLATOR_METHOD_FETCH_OBJECT;
if(locale_len == 0) {
locale = INTL_G(default_locale);
diff --git a/ext/intl/dateformat/dateformat.c b/ext/intl/dateformat/dateformat.c
index b399a39fcb..8aded18bd6 100644
--- a/ext/intl/dateformat/dateformat.c
+++ b/ext/intl/dateformat/dateformat.c
@@ -108,7 +108,7 @@ static void datefmt_ctor(INTERNAL_FUNCTION_PARAMETERS)
goto error;
}
- DATE_FORMAT_METHOD_FETCH_OBJECT;
+ DATE_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK;
if (DATE_FORMAT_OBJECT(dfo) != NULL) {
intl_errors_set(INTL_DATA_ERROR_P(dfo), U_ILLEGAL_ARGUMENT_ERROR,
diff --git a/ext/intl/dateformat/dateformat_attr.c b/ext/intl/dateformat/dateformat_attr.c
index 6131cedc95..b8c5f25e3a 100644
--- a/ext/intl/dateformat/dateformat_attr.c
+++ b/ext/intl/dateformat/dateformat_attr.c
@@ -17,8 +17,9 @@
#include "config.h"
#endif
-#include "php_intl.h"
-#include "intl_convert.h"
+#include "../php_intl.h"
+#include "dateformat_class.h"
+#include "../intl_convert.h"
#include "dateformat_class.h"
#include "dateformat_attr.h"
diff --git a/ext/intl/dateformat/dateformat_class.c b/ext/intl/dateformat/dateformat_class.c
index eb3f5f4e77..a7227ef03d 100644
--- a/ext/intl/dateformat/dateformat_class.c
+++ b/ext/intl/dateformat/dateformat_class.c
@@ -23,6 +23,8 @@
#include "dateformat.h"
#include "dateformat_attr.h"
+#include <zend_exceptions.h>
+
zend_class_entry *IntlDateFormatter_ce_ptr = NULL;
static zend_object_handlers IntlDateFormatter_handlers;
@@ -87,18 +89,23 @@ zend_object_value IntlDateFormatter_object_clone(zval *object TSRMLS_DC)
zend_object_handle handle = Z_OBJ_HANDLE_P(object);
IntlDateFormatter_object *dfo, *new_dfo;
- DATE_FORMAT_METHOD_FETCH_OBJECT;
- new_obj_val = IntlDateFormatter_ce_ptr->create_object(IntlDateFormatter_ce_ptr TSRMLS_CC);
+ DATE_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK;
+
+ new_obj_val = IntlDateFormatter_ce_ptr->create_object(Z_OBJCE_P(object) TSRMLS_CC);
new_dfo = (IntlDateFormatter_object *)zend_object_store_get_object_by_handle(new_obj_val.handle TSRMLS_CC);
/* clone standard parts */
zend_objects_clone_members(&new_dfo->zo, new_obj_val, &dfo->zo, handle TSRMLS_CC);
/* clone formatter object */
- DATE_FORMAT_OBJECT(new_dfo) = udat_clone(DATE_FORMAT_OBJECT(dfo), &INTL_DATA_ERROR_CODE(new_dfo));
- if(U_FAILURE(INTL_DATA_ERROR_CODE(new_dfo))) {
- /* set up error in case error handler is interested */
- intl_error_set( NULL, INTL_DATA_ERROR_CODE(new_dfo), "Failed to clone IntlDateFormatter object", 0 TSRMLS_CC );
- IntlDateFormatter_object_dtor(new_dfo, new_obj_val.handle TSRMLS_CC); /* free new object */
- zend_error(E_ERROR, "Failed to clone IntlDateFormatter object");
+ if (dfo->datef_data.udatf != NULL) {
+ DATE_FORMAT_OBJECT(new_dfo) = udat_clone(DATE_FORMAT_OBJECT(dfo), &INTL_DATA_ERROR_CODE(dfo));
+ if (U_FAILURE(INTL_DATA_ERROR_CODE(dfo))) {
+ /* set up error in case error handler is interested */
+ intl_errors_set(INTL_DATA_ERROR_P(dfo), INTL_DATA_ERROR_CODE(dfo),
+ "Failed to clone IntlDateFormatter object", 0 TSRMLS_CC );
+ zend_throw_exception(NULL, "Failed to clone IntlDateFormatter object", 0 TSRMLS_CC);
+ }
+ } else {
+ zend_throw_exception(NULL, "Cannot clone unconstructed IntlDateFormatter", 0 TSRMLS_CC);
}
return new_obj_val;
}
diff --git a/ext/intl/dateformat/dateformat_class.h b/ext/intl/dateformat/dateformat_class.h
index 9ad83ee3d6..d58abe42f5 100644
--- a/ext/intl/dateformat/dateformat_class.h
+++ b/ext/intl/dateformat/dateformat_class.h
@@ -38,7 +38,15 @@ extern zend_class_entry *IntlDateFormatter_ce_ptr;
/* Auxiliary macros */
#define DATE_FORMAT_METHOD_INIT_VARS INTL_METHOD_INIT_VARS(IntlDateFormatter, dfo)
-#define DATE_FORMAT_METHOD_FETCH_OBJECT INTL_METHOD_FETCH_OBJECT(IntlDateFormatter, dfo)
+#define DATE_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK INTL_METHOD_FETCH_OBJECT(IntlDateFormatter, dfo)
+#define DATE_FORMAT_METHOD_FETCH_OBJECT \
+ DATE_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK; \
+ if (dfo->datef_data.udatf == NULL) \
+ { \
+ intl_errors_set(&dfo->datef_data.error, U_ILLEGAL_ARGUMENT_ERROR, "Found unconstructed IntlDateFormatter", 0 TSRMLS_CC); \
+ RETURN_FALSE; \
+ }
+
#define DATE_FORMAT_OBJECT(dfo) (dfo)->datef_data.udatf
#endif // #ifndef DATE_FORMAT_CLASS_H
diff --git a/ext/intl/formatter/formatter_class.c b/ext/intl/formatter/formatter_class.c
index 0bb5894f09..9de1e1e96e 100644
--- a/ext/intl/formatter/formatter_class.c
+++ b/ext/intl/formatter/formatter_class.c
@@ -24,6 +24,8 @@
#include "formatter_main.h"
#include "formatter_attr.h"
+#include <zend_exceptions.h>
+
zend_class_entry *NumberFormatter_ce_ptr = NULL;
static zend_object_handlers NumberFormatter_handlers;
@@ -82,18 +84,23 @@ zend_object_value NumberFormatter_object_clone(zval *object TSRMLS_DC)
zend_object_handle handle = Z_OBJ_HANDLE_P(object);
NumberFormatter_object *nfo, *new_nfo;
- FORMATTER_METHOD_FETCH_OBJECT;
- new_obj_val = NumberFormatter_ce_ptr->create_object(NumberFormatter_ce_ptr TSRMLS_CC);
+ FORMATTER_METHOD_FETCH_OBJECT_NO_CHECK;
+ new_obj_val = NumberFormatter_ce_ptr->create_object(Z_OBJCE_P(object) TSRMLS_CC);
new_nfo = (NumberFormatter_object *)zend_object_store_get_object_by_handle(new_obj_val.handle TSRMLS_CC);
/* clone standard parts */
zend_objects_clone_members(&new_nfo->zo, new_obj_val, &nfo->zo, handle TSRMLS_CC);
- /* clone formatter object */
- FORMATTER_OBJECT(new_nfo) = unum_clone(FORMATTER_OBJECT(nfo), &INTL_DATA_ERROR_CODE(new_nfo));
- if(U_FAILURE(INTL_DATA_ERROR_CODE(new_nfo))) {
- /* set up error in case error handler is interested */
- intl_error_set( NULL, INTL_DATA_ERROR_CODE(new_nfo), "Failed to clone NumberFormatter object", 0 TSRMLS_CC );
- NumberFormatter_object_dtor(new_nfo, new_obj_val.handle TSRMLS_CC); /* free new object */
- zend_error(E_ERROR, "Failed to clone NumberFormatter object");
+ /* clone formatter object. It may fail, the destruction code must handle this case */
+ if (FORMATTER_OBJECT(nfo) != NULL) {
+ FORMATTER_OBJECT(new_nfo) = unum_clone(FORMATTER_OBJECT(nfo),
+ &INTL_DATA_ERROR_CODE(nfo));
+ if (U_FAILURE(INTL_DATA_ERROR_CODE(nfo))) {
+ /* set up error in case error handler is interested */
+ intl_errors_set(INTL_DATA_ERROR_P(nfo), INTL_DATA_ERROR_CODE(nfo),
+ "Failed to clone NumberFormatter object", 0 TSRMLS_CC);
+ zend_throw_exception(NULL, "Failed to clone NumberFormatter object", 0 TSRMLS_CC);
+ }
+ } else {
+ zend_throw_exception(NULL, "Cannot clone unconstructed NumberFormatter", 0 TSRMLS_CC);
}
return new_obj_val;
}
diff --git a/ext/intl/formatter/formatter_class.h b/ext/intl/formatter/formatter_class.h
index cf1cb060c6..9582866664 100644
--- a/ext/intl/formatter/formatter_class.h
+++ b/ext/intl/formatter/formatter_class.h
@@ -34,8 +34,17 @@ extern zend_class_entry *NumberFormatter_ce_ptr;
/* Auxiliary macros */
-#define FORMATTER_METHOD_INIT_VARS INTL_METHOD_INIT_VARS(NumberFormatter, nfo)
-#define FORMATTER_METHOD_FETCH_OBJECT INTL_METHOD_FETCH_OBJECT(NumberFormatter, nfo)
-#define FORMATTER_OBJECT(nfo) (nfo)->nf_data.unum
+#define FORMATTER_METHOD_INIT_VARS INTL_METHOD_INIT_VARS(NumberFormatter, nfo)
+#define FORMATTER_OBJECT(nfo) (nfo)->nf_data.unum
+#define FORMATTER_METHOD_FETCH_OBJECT_NO_CHECK INTL_METHOD_FETCH_OBJECT(NumberFormatter, nfo)
+#define FORMATTER_METHOD_FETCH_OBJECT \
+ FORMATTER_METHOD_FETCH_OBJECT_NO_CHECK; \
+ if (FORMATTER_OBJECT(nfo) == NULL) \
+ { \
+ intl_errors_set(&nfo->nf_data.error, U_ILLEGAL_ARGUMENT_ERROR, \
+ "Found unconstructed NumberFormatter", 0 TSRMLS_CC); \
+ RETURN_FALSE; \
+ }
+
#endif // #ifndef FORMATTER_CLASS_H
diff --git a/ext/intl/formatter/formatter_main.c b/ext/intl/formatter/formatter_main.c
index 8fa17560b8..5cb6483326 100644
--- a/ext/intl/formatter/formatter_main.c
+++ b/ext/intl/formatter/formatter_main.c
@@ -47,7 +47,7 @@ static void numfmt_ctor(INTERNAL_FUNCTION_PARAMETERS)
INTL_CHECK_LOCALE_LEN_OBJ(locale_len, return_value);
object = return_value;
- FORMATTER_METHOD_FETCH_OBJECT;
+ FORMATTER_METHOD_FETCH_OBJECT_NO_CHECK;
/* Convert pattern (if specified) to UTF-16. */
if(pattern && pattern_len) {
diff --git a/ext/intl/msgformat/msgformat.c b/ext/intl/msgformat/msgformat.c
index 0a01204fae..e3fb9425a9 100644
--- a/ext/intl/msgformat/msgformat.c
+++ b/ext/intl/msgformat/msgformat.c
@@ -49,7 +49,7 @@ static void msgfmt_ctor(INTERNAL_FUNCTION_PARAMETERS)
}
INTL_CHECK_LOCALE_LEN_OBJ(locale_len, return_value);
- MSG_FORMAT_METHOD_FETCH_OBJECT;
+ MSG_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK;
/* Convert pattern (if specified) to UTF-16. */
if(pattern && pattern_len) {
diff --git a/ext/intl/msgformat/msgformat_class.c b/ext/intl/msgformat/msgformat_class.c
index 7ed28df3dc..d6ba9b1c67 100644
--- a/ext/intl/msgformat/msgformat_class.c
+++ b/ext/intl/msgformat/msgformat_class.c
@@ -24,6 +24,8 @@
#include "msgformat.h"
#include "msgformat_attr.h"
+#include <zend_exceptions.h>
+
zend_class_entry *MessageFormatter_ce_ptr = NULL;
static zend_object_handlers MessageFormatter_handlers;
@@ -80,18 +82,24 @@ zend_object_value MessageFormatter_object_clone(zval *object TSRMLS_DC)
zend_object_handle handle = Z_OBJ_HANDLE_P(object);
MessageFormatter_object *mfo, *new_mfo;
- MSG_FORMAT_METHOD_FETCH_OBJECT;
- new_obj_val = MessageFormatter_ce_ptr->create_object(MessageFormatter_ce_ptr TSRMLS_CC);
+ MSG_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK;
+ new_obj_val = MessageFormatter_ce_ptr->create_object(Z_OBJCE_P(object) TSRMLS_CC);
new_mfo = (MessageFormatter_object *)zend_object_store_get_object_by_handle(new_obj_val.handle TSRMLS_CC);
/* clone standard parts */
zend_objects_clone_members(&new_mfo->zo, new_obj_val, &mfo->zo, handle TSRMLS_CC);
+
/* clone formatter object */
- MSG_FORMAT_OBJECT(new_mfo) = umsg_clone(MSG_FORMAT_OBJECT(mfo), &INTL_DATA_ERROR_CODE(new_mfo));
- if(U_FAILURE(INTL_DATA_ERROR_CODE(new_mfo))) {
- /* set up error in case error handler is interested */
- intl_error_set( NULL, INTL_DATA_ERROR_CODE(new_mfo), "Failed to clone MessageFormatter object", 0 TSRMLS_CC );
- MessageFormatter_object_dtor(new_mfo, new_obj_val.handle TSRMLS_CC); /* free new object */
- zend_error(E_ERROR, "Failed to clone MessageFormatter object");
+ if (MSG_FORMAT_OBJECT(mfo) != NULL) {
+ MSG_FORMAT_OBJECT(new_mfo) = umsg_clone(MSG_FORMAT_OBJECT(mfo),
+ &INTL_DATA_ERROR_CODE(mfo));
+
+ if (U_FAILURE(INTL_DATA_ERROR_CODE(mfo))) {
+ intl_errors_set(INTL_DATA_ERROR_P(mfo), INTL_DATA_ERROR_CODE(mfo),
+ "Failed to clone MessageFormatter object", 0 TSRMLS_CC);
+ zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "Failed to clone MessageFormatter object");
+ }
+ } else {
+ zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "Cannot clone unconstructed MessageFormatter");
}
return new_obj_val;
}
diff --git a/ext/intl/msgformat/msgformat_class.h b/ext/intl/msgformat/msgformat_class.h
index b6b8e33226..337e04e647 100644
--- a/ext/intl/msgformat/msgformat_class.h
+++ b/ext/intl/msgformat/msgformat_class.h
@@ -37,7 +37,15 @@ extern zend_class_entry *MessageFormatter_ce_ptr;
/* Auxiliary macros */
#define MSG_FORMAT_METHOD_INIT_VARS INTL_METHOD_INIT_VARS(MessageFormatter, mfo)
-#define MSG_FORMAT_METHOD_FETCH_OBJECT INTL_METHOD_FETCH_OBJECT(MessageFormatter, mfo)
+#define MSG_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK INTL_METHOD_FETCH_OBJECT(MessageFormatter, mfo)
+#define MSG_FORMAT_METHOD_FETCH_OBJECT \
+ MSG_FORMAT_METHOD_FETCH_OBJECT_NO_CHECK; \
+ if (MSG_FORMAT_OBJECT(mfo) == NULL) { \
+ intl_errors_set(&mfo->mf_data.error, U_ILLEGAL_ARGUMENT_ERROR, \
+ "Found unconstructed MessageFormatter", 0 TSRMLS_CC); \
+ RETURN_FALSE; \
+ }
+
#define MSG_FORMAT_OBJECT(mfo) (mfo)->mf_data.umsgf
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM < 48
diff --git a/ext/intl/resourcebundle/resourcebundle_class.c b/ext/intl/resourcebundle/resourcebundle_class.c
index d2a29d9b25..9c0459e1a3 100644
--- a/ext/intl/resourcebundle/resourcebundle_class.c
+++ b/ext/intl/resourcebundle/resourcebundle_class.c
@@ -252,7 +252,14 @@ PHP_FUNCTION( resourcebundle_get )
/* {{{ resourcebundle_array_count */
int resourcebundle_array_count(zval *object, long *count TSRMLS_DC)
{
- ResourceBundle_object *rb = (ResourceBundle_object *) zend_object_store_get_object( object TSRMLS_CC);
+ ResourceBundle_object *rb;
+ RESOURCEBUNDLE_METHOD_FETCH_OBJECT_NO_CHECK;
+
+ if (rb->me == NULL) {
+ intl_errors_set(&rb->error, U_ILLEGAL_ARGUMENT_ERROR,
+ "Found unconstructed ResourceBundle", 0 TSRMLS_CC);
+ return 0;
+ }
*count = ures_getSize( rb->me );
diff --git a/ext/intl/resourcebundle/resourcebundle_class.h b/ext/intl/resourcebundle/resourcebundle_class.h
index 4755d723b8..8da3ed9d47 100644
--- a/ext/intl/resourcebundle/resourcebundle_class.h
+++ b/ext/intl/resourcebundle/resourcebundle_class.h
@@ -33,7 +33,16 @@ typedef struct {
} ResourceBundle_object;
#define RESOURCEBUNDLE_METHOD_INIT_VARS INTL_METHOD_INIT_VARS(ResourceBundle, rb)
-#define RESOURCEBUNDLE_METHOD_FETCH_OBJECT INTL_METHOD_FETCH_OBJECT(ResourceBundle, rb)
+#define RESOURCEBUNDLE_METHOD_FETCH_OBJECT_NO_CHECK INTL_METHOD_FETCH_OBJECT(ResourceBundle, rb)
+#define RESOURCEBUNDLE_METHOD_FETCH_OBJECT \
+ INTL_METHOD_FETCH_OBJECT(ResourceBundle, rb); \
+ if (RESOURCEBUNDLE_OBJECT(rb) == NULL) { \
+ intl_errors_set(&rb->error, U_ILLEGAL_ARGUMENT_ERROR, \
+ "Found unconstructed ResourceBundle", 0 TSRMLS_CC); \
+ RETURN_FALSE; \
+ }
+
+
#define RESOURCEBUNDLE_OBJECT(rb) (rb)->me
void resourcebundle_register_class( TSRMLS_D );
diff --git a/ext/intl/tests/bug62915-2.phpt b/ext/intl/tests/bug62915-2.phpt
new file mode 100644
index 0000000000..6bccf38ff9
--- /dev/null
+++ b/ext/intl/tests/bug62915-2.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Bug #62915: cloning of several classes is defective
+--SKIPIF--
+<?php
+if (!extension_loaded('intl'))
+ die('skip intl extension not enabled');
+--FILE--
+<?php
+class A extends IntlDateFormatter {
+ static $ARGS = array("en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
+ 'America/Los_Angeles', IntlDateFormatter::GREGORIAN);
+}
+class B extends NumberFormatter {
+ static $ARGS = array('de_DE', NumberFormatter::DECIMAL);
+}
+class C extends MessageFormatter {
+ static $ARGS = array("en_US", "foo");
+}
+
+foreach (range('A', 'C') as $subclass) {
+ $rc = new ReflectionClass($subclass);
+ $obj = $rc->newInstanceArgs($subclass::$ARGS);
+ $clone = clone $obj;
+ var_dump(get_class($clone));
+}
+--EXPECT--
+string(1) "A"
+string(1) "B"
+string(1) "C"
diff --git a/ext/intl/tests/dateformat_clone_bad_obj.phpt b/ext/intl/tests/dateformat_clone_bad_obj.phpt
new file mode 100644
index 0000000000..5e12b96ae8
--- /dev/null
+++ b/ext/intl/tests/dateformat_clone_bad_obj.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Cloning unconstructed IntlDateFormatter
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+class A extends IntlDateFormatter {
+ function __construct() {}
+}
+
+$a = new A;
+try {
+ $b = clone $a;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+--EXPECTF--
+string(%s) "Cannot clone unconstructed IntlDateFormatter"
diff --git a/ext/intl/tests/formatter_clone_bad_obj.phpt b/ext/intl/tests/formatter_clone_bad_obj.phpt
new file mode 100644
index 0000000000..ef7b28a546
--- /dev/null
+++ b/ext/intl/tests/formatter_clone_bad_obj.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Cloning unconstructed numfmt
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+class A extends NumberFormatter {
+ function __construct() {}
+}
+
+$a = new A;
+try {
+ $b = clone $a;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+--EXPECTF--
+string(42) "Cannot clone unconstructed NumberFormatter"
diff --git a/ext/intl/tests/locale_get_display_script2.phpt b/ext/intl/tests/locale_get_display_script2.phpt
index 92652bde90..af4834ad0f 100644
--- a/ext/intl/tests/locale_get_display_script2.phpt
+++ b/ext/intl/tests/locale_get_display_script2.phpt
@@ -2,7 +2,7 @@
locale_get_display_script() icu >= 4.8
--SKIPIF--
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
-<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip'; ?>
+<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0 || version_compare(INTL_ICU_VERSION, '49') >= 0) print 'skip'; ?>
--FILE--
<?php
diff --git a/ext/intl/tests/msgfmt_clone_bad_obj.phpt b/ext/intl/tests/msgfmt_clone_bad_obj.phpt
new file mode 100644
index 0000000000..48321094d1
--- /dev/null
+++ b/ext/intl/tests/msgfmt_clone_bad_obj.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Cloning unconstructed MessageFormatter
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+class A extends MessageFormatter {
+ function __construct() {}
+}
+
+$a = new A;
+try {
+ $b = clone $a;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+--EXPECTF--
+string(%d) "Cannot clone unconstructed MessageFormatter"
diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c
index 8f12feb47e..8f12feb47e 100755..100644
--- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c
+++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c
diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h
index a5e2d2fbef..a5e2d2fbef 100755..100644
--- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h
+++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h
diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_defs.h b/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
index fcfac2b899..fcfac2b899 100755..100644
--- a/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
+++ b/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
diff --git a/ext/mbstring/oniguruma/enc/utf16_be.c b/ext/mbstring/oniguruma/enc/utf16_be.c
index 6ab80a6c1c..6ab80a6c1c 100755..100644
--- a/ext/mbstring/oniguruma/enc/utf16_be.c
+++ b/ext/mbstring/oniguruma/enc/utf16_be.c
diff --git a/ext/mbstring/oniguruma/enc/utf16_le.c b/ext/mbstring/oniguruma/enc/utf16_le.c
index 2248e4910f..2248e4910f 100755..100644
--- a/ext/mbstring/oniguruma/enc/utf16_le.c
+++ b/ext/mbstring/oniguruma/enc/utf16_le.c
diff --git a/ext/mbstring/oniguruma/enc/utf32_be.c b/ext/mbstring/oniguruma/enc/utf32_be.c
index 75133ca262..75133ca262 100755..100644
--- a/ext/mbstring/oniguruma/enc/utf32_be.c
+++ b/ext/mbstring/oniguruma/enc/utf32_be.c
diff --git a/ext/mbstring/oniguruma/enc/utf32_le.c b/ext/mbstring/oniguruma/enc/utf32_le.c
index 21dca10c11..21dca10c11 100755..100644
--- a/ext/mbstring/oniguruma/enc/utf32_le.c
+++ b/ext/mbstring/oniguruma/enc/utf32_le.c
diff --git a/ext/mbstring/oniguruma/regext.c b/ext/mbstring/oniguruma/regext.c
index f5ad1f35a2..f5ad1f35a2 100755..100644
--- a/ext/mbstring/oniguruma/regext.c
+++ b/ext/mbstring/oniguruma/regext.c
diff --git a/ext/mbstring/tests/mb_ereg_search.phpt b/ext/mbstring/tests/mb_ereg_search.phpt
index 4df54c4828..4df54c4828 100755..100644
--- a/ext/mbstring/tests/mb_ereg_search.phpt
+++ b/ext/mbstring/tests/mb_ereg_search.phpt
diff --git a/ext/mysql/tests/001.phpt b/ext/mysql/tests/001.phpt
index 72b6614771..72b6614771 100755..100644
--- a/ext/mysql/tests/001.phpt
+++ b/ext/mysql/tests/001.phpt
diff --git a/ext/mysql/tests/002.phpt b/ext/mysql/tests/002.phpt
index 8355c5f11e..8355c5f11e 100755..100644
--- a/ext/mysql/tests/002.phpt
+++ b/ext/mysql/tests/002.phpt
diff --git a/ext/mysql/tests/003.phpt b/ext/mysql/tests/003.phpt
index 2d0b68b9f8..2d0b68b9f8 100755..100644
--- a/ext/mysql/tests/003.phpt
+++ b/ext/mysql/tests/003.phpt
diff --git a/ext/mysql/tests/connect.inc b/ext/mysql/tests/connect.inc
index 0df5bc3aa0..0df5bc3aa0 100755..100644
--- a/ext/mysql/tests/connect.inc
+++ b/ext/mysql/tests/connect.inc
diff --git a/ext/mysql/tests/mysql_field_flags.phpt b/ext/mysql/tests/mysql_field_flags.phpt
index 6489affc16..e07e041d2a 100644
--- a/ext/mysql/tests/mysql_field_flags.phpt
+++ b/ext/mysql/tests/mysql_field_flags.phpt
@@ -81,13 +81,17 @@ $tables = array(
array('label1', sprintf("'%s'", @date("Y-m-d H:i:s"))),
'label1' => array(
'timestamp',
- 'unsigned',
- 'zerofill',
'binary',
'not_null'),
),
);
+if ($version < 560) {
+ $tables['label1 TIMESTAMP']['label1'][] = 'zerofill';
+ $tables['label1 TIMESTAMP']['label1'][] = 'unsigned';
+}
+
+
foreach ($tables as $columns => $expected) {
if (!mysql_query("DROP TABLE IF EXISTS test", $link)) {
printf("[010/%s] [%d] %s\n", $columns, mysql_errno($link), mysql_error($link));
diff --git a/ext/mysql/tests/mysql_pconn_kill.phpt b/ext/mysql/tests/mysql_pconn_kill.phpt
index 20dfbe9a15..20dfbe9a15 100755..100644
--- a/ext/mysql/tests/mysql_pconn_kill.phpt
+++ b/ext/mysql/tests/mysql_pconn_kill.phpt
diff --git a/ext/mysql/tests/mysql_stat.phpt b/ext/mysql/tests/mysql_stat.phpt
index 288c53f067..30a840a2a1 100644
--- a/ext/mysql/tests/mysql_stat.phpt
+++ b/ext/mysql/tests/mysql_stat.phpt
@@ -34,7 +34,7 @@ if ((!is_string($stat_def = mysql_stat())) || ('' === $stat_def))
printf("[003] Expecting non empty string, got %s/'%s', [%d] %s\n",
gettype($stat_def), $stat_def, mysql_errno(), mysql_error());
-assert($stat === $stat_def);
+assert(soundex($stat) === soundex($stat_def));
mysql_close($link);
@@ -45,4 +45,4 @@ print "done!";
?>
--EXPECTF--
Warning: mysql_stat(): %d is not a valid MySQL-Link resource in %s on line %d
-done! \ No newline at end of file
+done!
diff --git a/ext/mysql/tests/skipif.inc b/ext/mysql/tests/skipif.inc
index 0f932892ca..0f932892ca 100755..100644
--- a/ext/mysql/tests/skipif.inc
+++ b/ext/mysql/tests/skipif.inc
diff --git a/ext/mysql/tests/skipifconnectfailure.inc b/ext/mysql/tests/skipifconnectfailure.inc
index a57c7dbd58..a57c7dbd58 100755..100644
--- a/ext/mysql/tests/skipifconnectfailure.inc
+++ b/ext/mysql/tests/skipifconnectfailure.inc
diff --git a/ext/mysqli/mysqli_libmysql.h b/ext/mysqli/mysqli_libmysql.h
index 65c69bf282..228cde279e 100644
--- a/ext/mysqli/mysqli_libmysql.h
+++ b/ext/mysqli/mysqli_libmysql.h
@@ -1,6 +1,6 @@
/*
----------------------------------------------------------------------
- | PHP Version 6 |
+ | PHP Version 5 |
----------------------------------------------------------------------
| Copyright (c) 2007 The PHP Group |
----------------------------------------------------------------------
diff --git a/ext/mysqli/tests/bug38710.phpt b/ext/mysqli/tests/bug38710.phpt
index c3bb7285c8..c3bb7285c8 100755..100644
--- a/ext/mysqli/tests/bug38710.phpt
+++ b/ext/mysqli/tests/bug38710.phpt
diff --git a/ext/mysqli/tests/bug51647.phpt b/ext/mysqli/tests/bug51647.phpt
index b1c1e87a77..78540f1c33 100644
--- a/ext/mysqli/tests/bug51647.phpt
+++ b/ext/mysqli/tests/bug51647.phpt
@@ -24,12 +24,12 @@ if ($res = $link->query('SHOW VARIABLES LIKE "have_ssl"')) {
die(sprintf("skip Failed to test for MySQL SSL support, [%d] %s", $link->errno, $link->error));
}
}
-
+
if (empty($row))
die(sprintf("skip Failed to test for MySQL SSL support, [%d] %s", $link->errno, $link->error));
-if ($row[1] == 'NO')
+if (($row[1] == 'NO') || ($row[1] == 'DISABLED'))
die(sprintf("skip MySQL has no SSL support, [%d] %s", $link->errno, $link->error));
$link->close();
diff --git a/ext/mysqli/tests/bug55283.phpt b/ext/mysqli/tests/bug55283.phpt
index 6000fce0a9..d03daaee88 100644
--- a/ext/mysqli/tests/bug55283.phpt
+++ b/ext/mysqli/tests/bug55283.phpt
@@ -29,7 +29,7 @@ if ($res = $link->query('SHOW VARIABLES LIKE "have_ssl"')) {
if (empty($row))
die(sprintf("skip Failed to test for MySQL SSL support, [%d] %s", $link->errno, $link->error));
-if ($row[1] == 'NO')
+if (($row[1] == 'NO') || ($row[1] == 'DISABLED'))
die(sprintf("skip MySQL has no SSL support, [%d] %s", $link->errno, $link->error));
$link->close();
@@ -41,7 +41,7 @@ $link->close();
$flags = MYSQLI_CLIENT_SSL;
-
+
$link = mysqli_init();
mysqli_ssl_set($link, null, null, null, null, "RC4-MD5");
if (my_mysqli_real_connect($link, 'p:' . $host, $user, $passwd, $db, $port, null, $flags)) {
diff --git a/ext/mysqli/tests/bug55859.phpt b/ext/mysqli/tests/bug55859.phpt
index a8bb4b3f24..ba6e9902b3 100644
--- a/ext/mysqli/tests/bug55859.phpt
+++ b/ext/mysqli/tests/bug55859.phpt
@@ -12,9 +12,9 @@ require_once('skipifconnectfailure.inc');
if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
printf("[001] Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
}
- var_dump(mysqli_stat($link) === $link->stat);
+ var_dump(soundex(mysqli_stat($link)) === soundex($link->stat));
echo "done!";
?>
--EXPECT--
bool(true)
-done! \ No newline at end of file
+done!
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_interface.phpt b/ext/mysqli/tests/mysqli_class_mysqli_interface.phpt
index c6d4e7cc32..df7d1c6580 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_interface.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_interface.phpt
@@ -211,7 +211,7 @@ require_once('skipifconnectfailure.inc');
$mysqli->sqlstate, gettype($mysqli->sqlstate),
mysqli_sqlstate($link), gettype(mysqli_sqlstate($link)));
- assert(mysqli_stat($link) === $mysqli->stat);
+ assert(soundex(mysqli_stat($link)) == soundex($mysqli->stat));
printf("mysqli->stat = '%s'/%s ('%s'/%s)\n",
$mysqli->stat, gettype($mysqli->stat),
mysqli_stat($link), gettype(mysqli_stat($link)));
diff --git a/ext/mysqli/tests/mysqli_fetch_field_flags.phpt b/ext/mysqli/tests/mysqli_fetch_field_flags.phpt
index 42cbc1487f..8259d2f505 100644
--- a/ext/mysqli/tests/mysqli_fetch_field_flags.phpt
+++ b/ext/mysqli/tests/mysqli_fetch_field_flags.phpt
@@ -84,6 +84,8 @@ mysqli_close($link);
'VARCHAR(2) NOT NULL PRIMARY KEY' => 'NOT_NULL PRI_KEY NO_DEFAULT_VALUE PART_KEY'
);
+
+
function checkFlags($reported_flags, $expected_flags, $flags) {
$found_flags = $unexpected_flags = '';
foreach ($flags as $code => $name) {
@@ -104,6 +106,10 @@ mysqli_close($link);
if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
printf("[001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
+ if (mysqli_get_server_version($link) > 50600) {
+ $columns['TIMESTAMP NOT NULL'] = 'ON_UPDATE_NOW TIMESTAMP BINARY NOT_NULL';
+ }
+
foreach ($columns as $column_def => $expected_flags) {
if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) {
printf("[002] %s [%d] %s\n", $column_def,
diff --git a/ext/mysqli/tests/mysqli_pconn_kill.phpt b/ext/mysqli/tests/mysqli_pconn_kill.phpt
index f8d8d7e8bd..f8d8d7e8bd 100755..100644
--- a/ext/mysqli/tests/mysqli_pconn_kill.phpt
+++ b/ext/mysqli/tests/mysqli_pconn_kill.phpt
diff --git a/ext/mysqli/tests/mysqli_send_query.phpt b/ext/mysqli/tests/mysqli_send_query.phpt
index 7de2bfc21c..7de2bfc21c 100755..100644
--- a/ext/mysqli/tests/mysqli_send_query.phpt
+++ b/ext/mysqli/tests/mysqli_send_query.phpt
diff --git a/ext/mysqli/tests/mysqli_set_local_infile_handler_closures.phpt b/ext/mysqli/tests/mysqli_set_local_infile_handler_closures.phpt
index ad7ab32c1c..ad7ab32c1c 100755..100644
--- a/ext/mysqli/tests/mysqli_set_local_infile_handler_closures.phpt
+++ b/ext/mysqli/tests/mysqli_set_local_infile_handler_closures.phpt
diff --git a/ext/mysqli/tests/skipifconnectfailure.inc b/ext/mysqli/tests/skipifconnectfailure.inc
index 32a976357c..32a976357c 100755..100644
--- a/ext/mysqli/tests/skipifconnectfailure.inc
+++ b/ext/mysqli/tests/skipifconnectfailure.inc
diff --git a/ext/oci8/config.m4 b/ext/oci8/config.m4
index 0634e96288..976eb9e846 100644
--- a/ext/oci8/config.m4
+++ b/ext/oci8/config.m4
@@ -49,8 +49,8 @@ AC_DEFUN([AC_OCI8_CHECK_LIB_DIR],[
AC_DEFUN([AC_OCI8IC_VERSION],[
AC_MSG_CHECKING([Oracle Instant Client library version compatibility])
OCI8_LCS_BASE=$PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME
- OCI8_LCS=`ls $OCI8_LCS_BASE.*.1 2> /dev/null | tail -1` # Oracle 10g, 11g etc
- OCI8_NNZ=`ls $PHP_OCI8_INSTANT_CLIENT/libnnz*.$SHLIB_SUFFIX_NAME 2> /dev/null | tail -1`
+ OCI8_LCS=`ls $OCI8_LCS_BASE.*.1 2> /dev/null | tail -n1` # Oracle 10g, 11g etc
+ OCI8_NNZ=`ls $PHP_OCI8_INSTANT_CLIENT/libnnz*.$SHLIB_SUFFIX_NAME 2> /dev/null | tail -n1`
if test -f "$OCI8_NNZ" && test -f "$OCI8_LCS"; then
if test ! -f "$OCI8_LCS_BASE"; then
AC_MSG_ERROR([Link from $OCI8_LCS_BASE to $OCI8_LCS_BASE.*.1 not found])
@@ -65,7 +65,7 @@ AC_DEFUN([AC_OCI8IC_VERSION],[
AC_DEFUN([AC_OCI8_ORACLE_VERSION],[
AC_MSG_CHECKING([Oracle library version compatibility])
OCI8_LCS_BASE=$OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME
- OCI8_LCS=`ls $OCI8_LCS_BASE.*.1 2> /dev/null | tail -1` # Oracle 10g, 11g etc
+ OCI8_LCS=`ls $OCI8_LCS_BASE.*.1 2> /dev/null | tail -n1` # Oracle 10g, 11g etc
if test -s "$OCI8_DIR/orainst/unix.rgs"; then
OCI8_ORACLE_VERSION=`grep '"ocommon"' $OCI8_DIR/orainst/unix.rgs | $PHP_OCI8_SED 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
test -z "$OCI8_ORACLE_VERSION" && OCI8_ORACLE_VERSION=7.3
@@ -278,7 +278,7 @@ if test "$PHP_OCI8" != "no"; then
dnl user must pass in the library directory. But on Linux we default
dnl to the most recent version in /usr/lib which is where the Oracle
dnl Instant Client RPM gets installed.
- PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client${PHP_OCI8_IC_LIBDIR_SUFFIX}/lib/libclntsh.* 2> /dev/null | tail -1 | $PHP_OCI8_SED -e 's#/libclntsh[^/]*##'`
+ PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client${PHP_OCI8_IC_LIBDIR_SUFFIX}/lib/libclntsh.* 2> /dev/null | tail -n1 | $PHP_OCI8_SED -e 's#/libclntsh[^/]*##'`
if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
AC_MSG_ERROR([Oracle Instant Client directory /usr/lib/oracle/.../client${PHP_OCI8_IC_LIBDIR_SUFFIX}/lib libraries not found. Try --with-oci8=instantclient,DIR])
fi
diff --git a/ext/oci8/package.xml b/ext/oci8/package.xml
index d3a912832f..eac3f06552 100644
--- a/ext/oci8/package.xml
+++ b/ext/oci8/package.xml
@@ -37,8 +37,8 @@ http://pear.php.net/dtd/package-2.0.xsd">
<time>12:00:00</time>
<version>
- <release>1.4.7</release>
- <api>1.4.7</api>
+ <release>1.4.8</release>
+ <api>1.4.8</api>
</version>
<stability>
<release>stable</release>
@@ -46,11 +46,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
- Fixed bug #59985 (show normal warning text for OCI_NO_DATA)
- Fixed OCI8 part of bug #55748 (CVE-2011-4153: multiple NULL pointer dereferences with zend_strndup)
- Fixed OCI8 part of bug #55301 (multiple null pointer dereferences with calloc)
- Increased maximum Oracle error message buffer length for new Oracle 11.2.0.3 size
- Improve internal initalization failure error messages
+ Fixed bug #60901 (Improve "tail" syntax for AIX installation)
</notes>
<contents>
<dir name="/">
@@ -416,6 +412,25 @@ http://pear.php.net/dtd/package-2.0.xsd">
<release>
<version>
+ <release>1.4.7</release>
+ <api>1.4.7</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <license uri="http://www.php.net/license">PHP</license>
+ <notes>
+ Fixed bug #59985 (show normal warning text for OCI_NO_DATA)
+ Fixed OCI8 part of bug #55748 (CVE-2011-4153: multiple NULL pointer dereferences with zend_strndup)
+ Fixed OCI8 part of bug #55301 (multiple null pointer dereferences with calloc)
+ Increased maximum Oracle error message buffer length for new Oracle 11.2.0.3 size
+ Improve internal initalization failure error messages
+ </notes>
+</release>
+
+<release>
+ <version>
<release>1.4.6</release>
<api>1.4.6</api>
</version>
diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c
index b840066d99..b840066d99 100755..100644
--- a/ext/pcntl/pcntl.c
+++ b/ext/pcntl/pcntl.c
diff --git a/ext/pcntl/tests/signal_closure_handler.phpt b/ext/pcntl/tests/signal_closure_handler.phpt
index 438e05159f..438e05159f 100755..100644
--- a/ext/pcntl/tests/signal_closure_handler.phpt
+++ b/ext/pcntl/tests/signal_closure_handler.phpt
diff --git a/ext/pcre/tests/bug34790.phpt b/ext/pcre/tests/bug34790.phpt
index c375ae5ac8..c375ae5ac8 100755..100644
--- a/ext/pcre/tests/bug34790.phpt
+++ b/ext/pcre/tests/bug34790.phpt
diff --git a/ext/pcre/tests/preg_filter.phpt b/ext/pcre/tests/preg_filter.phpt
index 6cd9802575..6cd9802575 100755..100644
--- a/ext/pcre/tests/preg_filter.phpt
+++ b/ext/pcre/tests/preg_filter.phpt
diff --git a/ext/pdo/pdo.c b/ext/pdo/pdo.c
index e1d8235b0b..e1d8235b0b 100755..100644
--- a/ext/pdo/pdo.c
+++ b/ext/pdo/pdo.c
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c
index 4035b2b910..4035b2b910 100755..100644
--- a/ext/pdo/pdo_dbh.c
+++ b/ext/pdo/pdo_dbh.c
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index 0cf0cf852a..0cf0cf852a 100755..100644
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
diff --git a/ext/pdo/php_pdo.h b/ext/pdo/php_pdo.h
index bc01da2cf8..bc01da2cf8 100755..100644
--- a/ext/pdo/php_pdo.h
+++ b/ext/pdo/php_pdo.h
diff --git a/ext/pdo/php_pdo_driver.h b/ext/pdo/php_pdo_driver.h
index 17b23a32ef..17b23a32ef 100755..100644
--- a/ext/pdo/php_pdo_driver.h
+++ b/ext/pdo/php_pdo_driver.h
diff --git a/ext/pdo/php_pdo_int.h b/ext/pdo/php_pdo_int.h
index 16a8f0efb9..16a8f0efb9 100755..100644
--- a/ext/pdo/php_pdo_int.h
+++ b/ext/pdo/php_pdo_int.h
diff --git a/ext/pdo/tests/bug_36428.phpt b/ext/pdo/tests/bug_36428.phpt
index 703b9d4de0..703b9d4de0 100755..100644
--- a/ext/pdo/tests/bug_36428.phpt
+++ b/ext/pdo/tests/bug_36428.phpt
diff --git a/ext/pdo/tests/pdo.inc b/ext/pdo/tests/pdo.inc
index 8089236bbc..8089236bbc 100755..100644
--- a/ext/pdo/tests/pdo.inc
+++ b/ext/pdo/tests/pdo.inc
diff --git a/ext/pdo/tests/pdo_016a.phpt b/ext/pdo/tests/pdo_016a.phpt
index 72f4b4224f..72f4b4224f 100755..100644
--- a/ext/pdo/tests/pdo_016a.phpt
+++ b/ext/pdo/tests/pdo_016a.phpt
diff --git a/ext/pdo/tests/pdo_029.phpt b/ext/pdo/tests/pdo_029.phpt
index f3dc1f2fa4..f3dc1f2fa4 100755..100644
--- a/ext/pdo/tests/pdo_029.phpt
+++ b/ext/pdo/tests/pdo_029.phpt
diff --git a/ext/pdo/tests/pdo_030.phpt b/ext/pdo/tests/pdo_030.phpt
index 243e94a1e7..243e94a1e7 100755..100644
--- a/ext/pdo/tests/pdo_030.phpt
+++ b/ext/pdo/tests/pdo_030.phpt
diff --git a/ext/pdo/tests/pdo_031.phpt b/ext/pdo/tests/pdo_031.phpt
index 9065ce9719..9065ce9719 100755..100644
--- a/ext/pdo/tests/pdo_031.phpt
+++ b/ext/pdo/tests/pdo_031.phpt
diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c
index 727357a03a..727357a03a 100755..100644
--- a/ext/pdo_mysql/mysql_driver.c
+++ b/ext/pdo_mysql/mysql_driver.c
diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c
index 115e74c7dc..115e74c7dc 100755..100644
--- a/ext/pdo_mysql/mysql_statement.c
+++ b/ext/pdo_mysql/mysql_statement.c
diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c
index e8e215fa39..e8e215fa39 100755..100644
--- a/ext/pdo_mysql/pdo_mysql.c
+++ b/ext/pdo_mysql/pdo_mysql.c
diff --git a/ext/pdo_mysql/php_pdo_mysql.h b/ext/pdo_mysql/php_pdo_mysql.h
index 87c7956257..87c7956257 100755..100644
--- a/ext/pdo_mysql/php_pdo_mysql.h
+++ b/ext/pdo_mysql/php_pdo_mysql.h
diff --git a/ext/pdo_mysql/php_pdo_mysql_int.h b/ext/pdo_mysql/php_pdo_mysql_int.h
index f8caa9f6eb..f8caa9f6eb 100755..100644
--- a/ext/pdo_mysql/php_pdo_mysql_int.h
+++ b/ext/pdo_mysql/php_pdo_mysql_int.h
diff --git a/ext/pdo_mysql/tests/pdo_mysql_attr_server_info.phpt b/ext/pdo_mysql/tests/pdo_mysql_attr_server_info.phpt
index 3c21d0f321..4d0868ae7d 100644
--- a/ext/pdo_mysql/tests/pdo_mysql_attr_server_info.phpt
+++ b/ext/pdo_mysql/tests/pdo_mysql_attr_server_info.phpt
@@ -23,7 +23,7 @@ $db = MySQLPDOTest::factory();
printf("[002] Wonderful, I can change the client version!\n");
$new_info = $db->getAttribute(PDO::ATTR_SERVER_INFO);
- if ($new_info !== $info)
+ if (soundex($new_info) != soundex($info))
printf("[003] Did we change it from '%s' to '%s'?\n", $info, $info);
// lets hope we always run this in the same second as we did run the server info request...
diff --git a/ext/pdo_mysql/tests/skipif.inc b/ext/pdo_mysql/tests/skipif.inc
index d48670aec6..d48670aec6 100755..100644
--- a/ext/pdo_mysql/tests/skipif.inc
+++ b/ext/pdo_mysql/tests/skipif.inc
diff --git a/ext/pdo_oci/oci_driver.c b/ext/pdo_oci/oci_driver.c
index b3aa7657ab..b3aa7657ab 100755..100644
--- a/ext/pdo_oci/oci_driver.c
+++ b/ext/pdo_oci/oci_driver.c
diff --git a/ext/pdo_oci/oci_statement.c b/ext/pdo_oci/oci_statement.c
index da3542559f..da3542559f 100755..100644
--- a/ext/pdo_oci/oci_statement.c
+++ b/ext/pdo_oci/oci_statement.c
diff --git a/ext/pdo_oci/pdo_oci.c b/ext/pdo_oci/pdo_oci.c
index a0a05839e6..a0a05839e6 100755..100644
--- a/ext/pdo_oci/pdo_oci.c
+++ b/ext/pdo_oci/pdo_oci.c
diff --git a/ext/pdo_oci/php_pdo_oci.h b/ext/pdo_oci/php_pdo_oci.h
index ae96edc7c8..ae96edc7c8 100755..100644
--- a/ext/pdo_oci/php_pdo_oci.h
+++ b/ext/pdo_oci/php_pdo_oci.h
diff --git a/ext/pdo_oci/php_pdo_oci_int.h b/ext/pdo_oci/php_pdo_oci_int.h
index 990225493f..990225493f 100755..100644
--- a/ext/pdo_oci/php_pdo_oci_int.h
+++ b/ext/pdo_oci/php_pdo_oci_int.h
diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c
index 84a147b80c..ca2808c6f5 100755..100644
--- a/ext/pdo_odbc/odbc_driver.c
+++ b/ext/pdo_odbc/odbc_driver.c
@@ -114,7 +114,7 @@ void pdo_odbc_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, PDO_ODBC_HSTMT statement,
* diagnostic records (which can be generated by PRINT statements
* in the query, for instance). */
while (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO) {
- char discard_state[5];
+ char discard_state[6];
char discard_buf[1024];
SQLINTEGER code;
rc = SQLGetDiagRec(htype, eh, recno++, discard_state, &code,
diff --git a/ext/pdo_odbc/odbc_stmt.c b/ext/pdo_odbc/odbc_stmt.c
index e700ef8c3c..e700ef8c3c 100755..100644
--- a/ext/pdo_odbc/odbc_stmt.c
+++ b/ext/pdo_odbc/odbc_stmt.c
diff --git a/ext/pdo_odbc/pdo_odbc.c b/ext/pdo_odbc/pdo_odbc.c
index 5c02f47a35..5c02f47a35 100755..100644
--- a/ext/pdo_odbc/pdo_odbc.c
+++ b/ext/pdo_odbc/pdo_odbc.c
diff --git a/ext/pdo_odbc/php_pdo_odbc_int.h b/ext/pdo_odbc/php_pdo_odbc_int.h
index e200d7ce63..e200d7ce63 100755..100644
--- a/ext/pdo_odbc/php_pdo_odbc_int.h
+++ b/ext/pdo_odbc/php_pdo_odbc_int.h
diff --git a/ext/pgsql/tests/22pg_fetch_object.phpt b/ext/pgsql/tests/22pg_fetch_object.phpt
index 76a3fbeed3..76a3fbeed3 100755..100644
--- a/ext/pgsql/tests/22pg_fetch_object.phpt
+++ b/ext/pgsql/tests/22pg_fetch_object.phpt
diff --git a/ext/pgsql/tests/80_bug24499.phpt b/ext/pgsql/tests/80_bug24499.phpt
index 32e789de8d..32e789de8d 100755..100644
--- a/ext/pgsql/tests/80_bug24499.phpt
+++ b/ext/pgsql/tests/80_bug24499.phpt
diff --git a/ext/pgsql/tests/80_bug27597.phpt b/ext/pgsql/tests/80_bug27597.phpt
index 7d5b5db890..7d5b5db890 100755..100644
--- a/ext/pgsql/tests/80_bug27597.phpt
+++ b/ext/pgsql/tests/80_bug27597.phpt
diff --git a/ext/pgsql/tests/80_bug32223.phpt b/ext/pgsql/tests/80_bug32223.phpt
index 573742c6e4..573742c6e4 100755..100644
--- a/ext/pgsql/tests/80_bug32223.phpt
+++ b/ext/pgsql/tests/80_bug32223.phpt
diff --git a/ext/pgsql/tests/80_bug32223b.phpt b/ext/pgsql/tests/80_bug32223b.phpt
index aada3f01ba..aada3f01ba 100755..100644
--- a/ext/pgsql/tests/80_bug32223b.phpt
+++ b/ext/pgsql/tests/80_bug32223b.phpt
diff --git a/ext/pgsql/tests/80_bug36625.phpt b/ext/pgsql/tests/80_bug36625.phpt
index a95cea7110..a95cea7110 100755..100644
--- a/ext/pgsql/tests/80_bug36625.phpt
+++ b/ext/pgsql/tests/80_bug36625.phpt
diff --git a/ext/phar/phar/clicommand.inc b/ext/phar/phar/clicommand.inc
index 79bf5c8855..79bf5c8855 100755..100644
--- a/ext/phar/phar/clicommand.inc
+++ b/ext/phar/phar/clicommand.inc
diff --git a/ext/phar/phar/directorygraphiterator.inc b/ext/phar/phar/directorygraphiterator.inc
index 5a658ddabc..5a658ddabc 100755..100644
--- a/ext/phar/phar/directorygraphiterator.inc
+++ b/ext/phar/phar/directorygraphiterator.inc
diff --git a/ext/phar/phar/directorytreeiterator.inc b/ext/phar/phar/directorytreeiterator.inc
index 9ed2e1a1bf..9ed2e1a1bf 100755..100644
--- a/ext/phar/phar/directorytreeiterator.inc
+++ b/ext/phar/phar/directorytreeiterator.inc
diff --git a/ext/phar/phar/invertedregexiterator.inc b/ext/phar/phar/invertedregexiterator.inc
index aec87e6ab1..aec87e6ab1 100755..100644
--- a/ext/phar/phar/invertedregexiterator.inc
+++ b/ext/phar/phar/invertedregexiterator.inc
diff --git a/ext/phar/phar/phar.inc b/ext/phar/phar/phar.inc
index 7e7d61851e..7e7d61851e 100755..100644
--- a/ext/phar/phar/phar.inc
+++ b/ext/phar/phar/phar.inc
diff --git a/ext/phar/phar/pharcommand.inc b/ext/phar/phar/pharcommand.inc
index 9e968694c3..9e968694c3 100755..100644
--- a/ext/phar/phar/pharcommand.inc
+++ b/ext/phar/phar/pharcommand.inc
diff --git a/ext/phar/tests/003a.phpt b/ext/phar/tests/003a.phpt
index 37e31072d4..37e31072d4 100755..100644
--- a/ext/phar/tests/003a.phpt
+++ b/ext/phar/tests/003a.phpt
diff --git a/ext/phar/tests/015b.phpt b/ext/phar/tests/015b.phpt
index 08ead2d9c0..08ead2d9c0 100755..100644
--- a/ext/phar/tests/015b.phpt
+++ b/ext/phar/tests/015b.phpt
diff --git a/ext/phar/tests/016b.phpt b/ext/phar/tests/016b.phpt
index 8fe66826d6..8fe66826d6 100755..100644
--- a/ext/phar/tests/016b.phpt
+++ b/ext/phar/tests/016b.phpt
diff --git a/ext/phar/tests/019b.phpt b/ext/phar/tests/019b.phpt
index 22d193efd6..22d193efd6 100755..100644
--- a/ext/phar/tests/019b.phpt
+++ b/ext/phar/tests/019b.phpt
diff --git a/ext/phar/tests/019c.phpt b/ext/phar/tests/019c.phpt
index 23afa26190..23afa26190 100755..100644
--- a/ext/phar/tests/019c.phpt
+++ b/ext/phar/tests/019c.phpt
diff --git a/ext/phar/tests/023.phpt b/ext/phar/tests/023.phpt
index 808f91deae..808f91deae 100755..100644
--- a/ext/phar/tests/023.phpt
+++ b/ext/phar/tests/023.phpt
diff --git a/ext/phar/tests/024.phpt b/ext/phar/tests/024.phpt
index ad30d2644d..ad30d2644d 100755..100644
--- a/ext/phar/tests/024.phpt
+++ b/ext/phar/tests/024.phpt
diff --git a/ext/phar/tests/025.phpt b/ext/phar/tests/025.phpt
index bbb5bc4e83..bbb5bc4e83 100755..100644
--- a/ext/phar/tests/025.phpt
+++ b/ext/phar/tests/025.phpt
diff --git a/ext/phar/tests/026.phpt b/ext/phar/tests/026.phpt
index 696fbcf415..696fbcf415 100755..100644
--- a/ext/phar/tests/026.phpt
+++ b/ext/phar/tests/026.phpt
diff --git a/ext/phar/tests/027.phpt b/ext/phar/tests/027.phpt
index 8736efbeb2..8736efbeb2 100755..100644
--- a/ext/phar/tests/027.phpt
+++ b/ext/phar/tests/027.phpt
diff --git a/ext/phar/tests/028.phpt b/ext/phar/tests/028.phpt
index 8cead29ff4..8cead29ff4 100755..100644
--- a/ext/phar/tests/028.phpt
+++ b/ext/phar/tests/028.phpt
diff --git a/ext/phar/tests/029.phpt b/ext/phar/tests/029.phpt
index 41fcec03e7..41fcec03e7 100755..100644
--- a/ext/phar/tests/029.phpt
+++ b/ext/phar/tests/029.phpt
diff --git a/ext/phar/tests/030.phpt b/ext/phar/tests/030.phpt
index e1e94dba80..e1e94dba80 100755..100644
--- a/ext/phar/tests/030.phpt
+++ b/ext/phar/tests/030.phpt
diff --git a/ext/phar/tests/031.phpt b/ext/phar/tests/031.phpt
index 4d5988621d..4d5988621d 100755..100644
--- a/ext/phar/tests/031.phpt
+++ b/ext/phar/tests/031.phpt
diff --git a/ext/phar/tests/032.phpt b/ext/phar/tests/032.phpt
index faf3dcbf58..faf3dcbf58 100755..100644
--- a/ext/phar/tests/032.phpt
+++ b/ext/phar/tests/032.phpt
diff --git a/ext/phar/tests/create_new_and_modify.phpt b/ext/phar/tests/create_new_and_modify.phpt
index d6c469d9cb..d6c469d9cb 100755..100644
--- a/ext/phar/tests/create_new_and_modify.phpt
+++ b/ext/phar/tests/create_new_and_modify.phpt
diff --git a/ext/phar/tests/create_new_phar_b.phpt b/ext/phar/tests/create_new_phar_b.phpt
index 39fc31e27b..39fc31e27b 100755..100644
--- a/ext/phar/tests/create_new_phar_b.phpt
+++ b/ext/phar/tests/create_new_phar_b.phpt
diff --git a/ext/phar/tests/create_new_phar_c.phpt b/ext/phar/tests/create_new_phar_c.phpt
index 6beaa2eb61..6beaa2eb61 100755..100644
--- a/ext/phar/tests/create_new_phar_c.phpt
+++ b/ext/phar/tests/create_new_phar_c.phpt
diff --git a/ext/phar/tests/create_path_error.phpt b/ext/phar/tests/create_path_error.phpt
index d3fc035860..d3fc035860 100755..100644
--- a/ext/phar/tests/create_path_error.phpt
+++ b/ext/phar/tests/create_path_error.phpt
diff --git a/ext/phar/tests/delete_in_phar_b.phpt b/ext/phar/tests/delete_in_phar_b.phpt
index a6d5b3a35e..a6d5b3a35e 100755..100644
--- a/ext/phar/tests/delete_in_phar_b.phpt
+++ b/ext/phar/tests/delete_in_phar_b.phpt
diff --git a/ext/phar/tests/metadata_write.phpt b/ext/phar/tests/metadata_write.phpt
index 1aaa30d630..1aaa30d630 100755..100644
--- a/ext/phar/tests/metadata_write.phpt
+++ b/ext/phar/tests/metadata_write.phpt
diff --git a/ext/phar/tests/metadata_write_commit.phpt b/ext/phar/tests/metadata_write_commit.phpt
index fd2f10762a..fd2f10762a 100755..100644
--- a/ext/phar/tests/metadata_write_commit.phpt
+++ b/ext/phar/tests/metadata_write_commit.phpt
diff --git a/ext/phar/tests/open_for_write_existing_b.phpt b/ext/phar/tests/open_for_write_existing_b.phpt
index ef48906de1..ef48906de1 100755..100644
--- a/ext/phar/tests/open_for_write_existing_b.phpt
+++ b/ext/phar/tests/open_for_write_existing_b.phpt
diff --git a/ext/phar/tests/open_for_write_existing_c.phpt b/ext/phar/tests/open_for_write_existing_c.phpt
index f64d538ef6..f64d538ef6 100755..100644
--- a/ext/phar/tests/open_for_write_existing_c.phpt
+++ b/ext/phar/tests/open_for_write_existing_c.phpt
diff --git a/ext/phar/tests/open_for_write_newfile_b.phpt b/ext/phar/tests/open_for_write_newfile_b.phpt
index 45131c4892..45131c4892 100755..100644
--- a/ext/phar/tests/open_for_write_newfile_b.phpt
+++ b/ext/phar/tests/open_for_write_newfile_b.phpt
diff --git a/ext/phar/tests/open_for_write_newfile_c.phpt b/ext/phar/tests/open_for_write_newfile_c.phpt
index d790051116..d790051116 100755..100644
--- a/ext/phar/tests/open_for_write_newfile_c.phpt
+++ b/ext/phar/tests/open_for_write_newfile_c.phpt
diff --git a/ext/phar/tests/phar_begin_setstub_commit.phpt b/ext/phar/tests/phar_begin_setstub_commit.phpt
index 9d3e38323e..9d3e38323e 100755..100644
--- a/ext/phar/tests/phar_begin_setstub_commit.phpt
+++ b/ext/phar/tests/phar_begin_setstub_commit.phpt
diff --git a/ext/phar/tests/phar_offset_get_error.phpt b/ext/phar/tests/phar_offset_get_error.phpt
index dade4726d9..dade4726d9 100755..100644
--- a/ext/phar/tests/phar_offset_get_error.phpt
+++ b/ext/phar/tests/phar_offset_get_error.phpt
diff --git a/ext/phar/tests/phar_oo_001.phpt b/ext/phar/tests/phar_oo_001.phpt
index 7a81bbb4b8..7a81bbb4b8 100755..100644
--- a/ext/phar/tests/phar_oo_001.phpt
+++ b/ext/phar/tests/phar_oo_001.phpt
diff --git a/ext/phar/tests/phar_oo_002.phpt b/ext/phar/tests/phar_oo_002.phpt
index 3754151d42..3754151d42 100755..100644
--- a/ext/phar/tests/phar_oo_002.phpt
+++ b/ext/phar/tests/phar_oo_002.phpt
diff --git a/ext/phar/tests/phar_oo_003.phpt b/ext/phar/tests/phar_oo_003.phpt
index ccaf7c65f8..ccaf7c65f8 100755..100644
--- a/ext/phar/tests/phar_oo_003.phpt
+++ b/ext/phar/tests/phar_oo_003.phpt
diff --git a/ext/phar/tests/phar_oo_004.phpt b/ext/phar/tests/phar_oo_004.phpt
index ba67749843..ba67749843 100755..100644
--- a/ext/phar/tests/phar_oo_004.phpt
+++ b/ext/phar/tests/phar_oo_004.phpt
diff --git a/ext/phar/tests/phar_oo_005.phpt b/ext/phar/tests/phar_oo_005.phpt
index cb3f298728..cb3f298728 100755..100644
--- a/ext/phar/tests/phar_oo_005.phpt
+++ b/ext/phar/tests/phar_oo_005.phpt
diff --git a/ext/phar/tests/phar_oo_006.phpt b/ext/phar/tests/phar_oo_006.phpt
index 556c98ce0b..556c98ce0b 100755..100644
--- a/ext/phar/tests/phar_oo_006.phpt
+++ b/ext/phar/tests/phar_oo_006.phpt
diff --git a/ext/phar/tests/phar_oo_007.phpt b/ext/phar/tests/phar_oo_007.phpt
index 788b11f1f8..788b11f1f8 100755..100644
--- a/ext/phar/tests/phar_oo_007.phpt
+++ b/ext/phar/tests/phar_oo_007.phpt
diff --git a/ext/phar/tests/phar_oo_008.phpt b/ext/phar/tests/phar_oo_008.phpt
index 80d1ece0ca..80d1ece0ca 100755..100644
--- a/ext/phar/tests/phar_oo_008.phpt
+++ b/ext/phar/tests/phar_oo_008.phpt
diff --git a/ext/phar/tests/phar_oo_009.phpt b/ext/phar/tests/phar_oo_009.phpt
index 6abd03ee30..6abd03ee30 100755..100644
--- a/ext/phar/tests/phar_oo_009.phpt
+++ b/ext/phar/tests/phar_oo_009.phpt
diff --git a/ext/phar/tests/phar_oo_010.phpt b/ext/phar/tests/phar_oo_010.phpt
index 1d3ff73242..1d3ff73242 100755..100644
--- a/ext/phar/tests/phar_oo_010.phpt
+++ b/ext/phar/tests/phar_oo_010.phpt
diff --git a/ext/phar/tests/phar_oo_011b.phpt b/ext/phar/tests/phar_oo_011b.phpt
index 36d9963a22..36d9963a22 100755..100644
--- a/ext/phar/tests/phar_oo_011b.phpt
+++ b/ext/phar/tests/phar_oo_011b.phpt
diff --git a/ext/phar/tests/phar_oo_012b.phpt b/ext/phar/tests/phar_oo_012b.phpt
index 80d8ed8dc4..80d8ed8dc4 100755..100644
--- a/ext/phar/tests/phar_oo_012b.phpt
+++ b/ext/phar/tests/phar_oo_012b.phpt
diff --git a/ext/phar/tests/phar_oo_compressed_001b.phpt b/ext/phar/tests/phar_oo_compressed_001b.phpt
index 6d4c732862..6d4c732862 100755..100644
--- a/ext/phar/tests/phar_oo_compressed_001b.phpt
+++ b/ext/phar/tests/phar_oo_compressed_001b.phpt
diff --git a/ext/phar/tests/phar_oo_compressed_002.phpt b/ext/phar/tests/phar_oo_compressed_002.phpt
index d4ec5cb720..d4ec5cb720 100755..100644
--- a/ext/phar/tests/phar_oo_compressed_002.phpt
+++ b/ext/phar/tests/phar_oo_compressed_002.phpt
diff --git a/ext/phar/tests/phar_oo_compressed_002b.phpt b/ext/phar/tests/phar_oo_compressed_002b.phpt
index d7213fdbaa..d7213fdbaa 100755..100644
--- a/ext/phar/tests/phar_oo_compressed_002b.phpt
+++ b/ext/phar/tests/phar_oo_compressed_002b.phpt
diff --git a/ext/phar/tests/phar_stub_error.phpt b/ext/phar/tests/phar_stub_error.phpt
index bb5d63bcf7..bb5d63bcf7 100755..100644
--- a/ext/phar/tests/phar_stub_error.phpt
+++ b/ext/phar/tests/phar_stub_error.phpt
diff --git a/ext/phar/tests/phar_stub_write.phpt b/ext/phar/tests/phar_stub_write.phpt
index ecdb3b9b63..ecdb3b9b63 100755..100644
--- a/ext/phar/tests/phar_stub_write.phpt
+++ b/ext/phar/tests/phar_stub_write.phpt
diff --git a/ext/phar/tests/phar_stub_write_file.phpt b/ext/phar/tests/phar_stub_write_file.phpt
index e4c8676816..e4c8676816 100755..100644
--- a/ext/phar/tests/phar_stub_write_file.phpt
+++ b/ext/phar/tests/phar_stub_write_file.phpt
diff --git a/ext/phar/tests/phpinfo_003.phpt b/ext/phar/tests/phpinfo_003.phpt
index 031d3cf497..045f1a090d 100644
--- a/ext/phar/tests/phpinfo_003.phpt
+++ b/ext/phar/tests/phpinfo_003.phpt
@@ -24,7 +24,7 @@ Phar
Phar: PHP Archive support => enabled
Phar EXT version => %s
Phar API version => 1.1.1
-SVN revision => %cRevision: %s $
+SVN revision => %cId: %s $
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
diff --git a/ext/phar/tests/refcount1_5_2.phpt b/ext/phar/tests/refcount1_5_2.phpt
index bf2c2b76b3..bf2c2b76b3 100755..100644
--- a/ext/phar/tests/refcount1_5_2.phpt
+++ b/ext/phar/tests/refcount1_5_2.phpt
diff --git a/ext/phar/tests/rename_dir_and_mount.phpt b/ext/phar/tests/rename_dir_and_mount.phpt
index 3a4df6283b..3a4df6283b 100755..100644
--- a/ext/phar/tests/rename_dir_and_mount.phpt
+++ b/ext/phar/tests/rename_dir_and_mount.phpt
diff --git a/ext/phar/tests/tar/open_for_write_existing_b.phpt b/ext/phar/tests/tar/open_for_write_existing_b.phpt
index fa631e6181..fa631e6181 100755..100644
--- a/ext/phar/tests/tar/open_for_write_existing_b.phpt
+++ b/ext/phar/tests/tar/open_for_write_existing_b.phpt
diff --git a/ext/phar/tests/tar/open_for_write_existing_c.phpt b/ext/phar/tests/tar/open_for_write_existing_c.phpt
index aeb28b02b9..aeb28b02b9 100755..100644
--- a/ext/phar/tests/tar/open_for_write_existing_c.phpt
+++ b/ext/phar/tests/tar/open_for_write_existing_c.phpt
diff --git a/ext/phar/tests/tar/open_for_write_newfile_b.phpt b/ext/phar/tests/tar/open_for_write_newfile_b.phpt
index 2ea557b8a0..2ea557b8a0 100755..100644
--- a/ext/phar/tests/tar/open_for_write_newfile_b.phpt
+++ b/ext/phar/tests/tar/open_for_write_newfile_b.phpt
diff --git a/ext/phar/tests/tar/open_for_write_newfile_c.phpt b/ext/phar/tests/tar/open_for_write_newfile_c.phpt
index f7cbb3a9a8..f7cbb3a9a8 100755..100644
--- a/ext/phar/tests/tar/open_for_write_newfile_c.phpt
+++ b/ext/phar/tests/tar/open_for_write_newfile_c.phpt
diff --git a/ext/phar/tests/tar/phar_begin_setstub_commit.phpt b/ext/phar/tests/tar/phar_begin_setstub_commit.phpt
index d18f32ed3b..d18f32ed3b 100755..100644
--- a/ext/phar/tests/tar/phar_begin_setstub_commit.phpt
+++ b/ext/phar/tests/tar/phar_begin_setstub_commit.phpt
diff --git a/ext/phar/tests/tar/phar_stub_error.phpt b/ext/phar/tests/tar/phar_stub_error.phpt
index 61532b9b42..61532b9b42 100755..100644
--- a/ext/phar/tests/tar/phar_stub_error.phpt
+++ b/ext/phar/tests/tar/phar_stub_error.phpt
diff --git a/ext/phar/tests/tar/refcount1_5_2.phpt b/ext/phar/tests/tar/refcount1_5_2.phpt
index 18587d91ad..18587d91ad 100755..100644
--- a/ext/phar/tests/tar/refcount1_5_2.phpt
+++ b/ext/phar/tests/tar/refcount1_5_2.phpt
diff --git a/ext/phar/tests/zip/open_for_write_existing_b.phpt b/ext/phar/tests/zip/open_for_write_existing_b.phpt
index b997c68291..b997c68291 100755..100644
--- a/ext/phar/tests/zip/open_for_write_existing_b.phpt
+++ b/ext/phar/tests/zip/open_for_write_existing_b.phpt
diff --git a/ext/phar/tests/zip/open_for_write_existing_c.phpt b/ext/phar/tests/zip/open_for_write_existing_c.phpt
index 313ee4ab32..313ee4ab32 100755..100644
--- a/ext/phar/tests/zip/open_for_write_existing_c.phpt
+++ b/ext/phar/tests/zip/open_for_write_existing_c.phpt
diff --git a/ext/phar/tests/zip/open_for_write_newfile_b.phpt b/ext/phar/tests/zip/open_for_write_newfile_b.phpt
index 96fd2e426e..96fd2e426e 100755..100644
--- a/ext/phar/tests/zip/open_for_write_newfile_b.phpt
+++ b/ext/phar/tests/zip/open_for_write_newfile_b.phpt
diff --git a/ext/phar/tests/zip/open_for_write_newfile_c.phpt b/ext/phar/tests/zip/open_for_write_newfile_c.phpt
index ef580cb229..ef580cb229 100755..100644
--- a/ext/phar/tests/zip/open_for_write_newfile_c.phpt
+++ b/ext/phar/tests/zip/open_for_write_newfile_c.phpt
diff --git a/ext/phar/tests/zip/phar_begin_setstub_commit.phpt b/ext/phar/tests/zip/phar_begin_setstub_commit.phpt
index dc59f2f3aa..dc59f2f3aa 100755..100644
--- a/ext/phar/tests/zip/phar_begin_setstub_commit.phpt
+++ b/ext/phar/tests/zip/phar_begin_setstub_commit.phpt
diff --git a/ext/phar/tests/zip/phar_stub_error.phpt b/ext/phar/tests/zip/phar_stub_error.phpt
index dafb312cf2..dafb312cf2 100755..100644
--- a/ext/phar/tests/zip/phar_stub_error.phpt
+++ b/ext/phar/tests/zip/phar_stub_error.phpt
diff --git a/ext/phar/tests/zip/refcount1_5_2.phpt b/ext/phar/tests/zip/refcount1_5_2.phpt
index f3b2771f44..f3b2771f44 100755..100644
--- a/ext/phar/tests/zip/refcount1_5_2.phpt
+++ b/ext/phar/tests/zip/refcount1_5_2.phpt
diff --git a/ext/reflection/tests/001.phpt b/ext/reflection/tests/001.phpt
index f68afc950e..f68afc950e 100755..100644
--- a/ext/reflection/tests/001.phpt
+++ b/ext/reflection/tests/001.phpt
diff --git a/ext/reflection/tests/002.phpt b/ext/reflection/tests/002.phpt
index 833fed4aa5..833fed4aa5 100755..100644
--- a/ext/reflection/tests/002.phpt
+++ b/ext/reflection/tests/002.phpt
diff --git a/ext/reflection/tests/003.phpt b/ext/reflection/tests/003.phpt
index 80bf0a6513..80bf0a6513 100755..100644
--- a/ext/reflection/tests/003.phpt
+++ b/ext/reflection/tests/003.phpt
diff --git a/ext/reflection/tests/004.phpt b/ext/reflection/tests/004.phpt
index 2c81c506be..2c81c506be 100755..100644
--- a/ext/reflection/tests/004.phpt
+++ b/ext/reflection/tests/004.phpt
diff --git a/ext/reflection/tests/005.phpt b/ext/reflection/tests/005.phpt
index f337e44ae6..f337e44ae6 100755..100644
--- a/ext/reflection/tests/005.phpt
+++ b/ext/reflection/tests/005.phpt
diff --git a/ext/reflection/tests/006.phpt b/ext/reflection/tests/006.phpt
index 89c438765a..89c438765a 100755..100644
--- a/ext/reflection/tests/006.phpt
+++ b/ext/reflection/tests/006.phpt
diff --git a/ext/reflection/tests/007.phpt b/ext/reflection/tests/007.phpt
index 004158ccff..004158ccff 100755..100644
--- a/ext/reflection/tests/007.phpt
+++ b/ext/reflection/tests/007.phpt
diff --git a/ext/reflection/tests/008.phpt b/ext/reflection/tests/008.phpt
index 2abdcdb57b..2abdcdb57b 100755..100644
--- a/ext/reflection/tests/008.phpt
+++ b/ext/reflection/tests/008.phpt
diff --git a/ext/reflection/tests/009.phpt b/ext/reflection/tests/009.phpt
index e96b21ebaf..e96b21ebaf 100755..100644
--- a/ext/reflection/tests/009.phpt
+++ b/ext/reflection/tests/009.phpt
diff --git a/ext/reflection/tests/010.phpt b/ext/reflection/tests/010.phpt
index 8f92feea09..8f92feea09 100755..100644
--- a/ext/reflection/tests/010.phpt
+++ b/ext/reflection/tests/010.phpt
diff --git a/ext/reflection/tests/011.phpt b/ext/reflection/tests/011.phpt
index b39be37c90..b39be37c90 100755..100644
--- a/ext/reflection/tests/011.phpt
+++ b/ext/reflection/tests/011.phpt
diff --git a/ext/reflection/tests/012.phpt b/ext/reflection/tests/012.phpt
index b8a2694004..b8a2694004 100755..100644
--- a/ext/reflection/tests/012.phpt
+++ b/ext/reflection/tests/012.phpt
diff --git a/ext/reflection/tests/013.phpt b/ext/reflection/tests/013.phpt
index 9ecfa8b66c..9ecfa8b66c 100755..100644
--- a/ext/reflection/tests/013.phpt
+++ b/ext/reflection/tests/013.phpt
diff --git a/ext/reflection/tests/014.phpt b/ext/reflection/tests/014.phpt
index 8b5955f124..8b5955f124 100755..100644
--- a/ext/reflection/tests/014.phpt
+++ b/ext/reflection/tests/014.phpt
diff --git a/ext/reflection/tests/015.phpt b/ext/reflection/tests/015.phpt
index b17236242a..b17236242a 100755..100644
--- a/ext/reflection/tests/015.phpt
+++ b/ext/reflection/tests/015.phpt
diff --git a/ext/reflection/tests/016.phpt b/ext/reflection/tests/016.phpt
index d289165251..d289165251 100755..100644
--- a/ext/reflection/tests/016.phpt
+++ b/ext/reflection/tests/016.phpt
diff --git a/ext/reflection/tests/017.phpt b/ext/reflection/tests/017.phpt
index d40c4d83f9..d40c4d83f9 100755..100644
--- a/ext/reflection/tests/017.phpt
+++ b/ext/reflection/tests/017.phpt
diff --git a/ext/reflection/tests/018.phpt b/ext/reflection/tests/018.phpt
index fbda5d62d4..fbda5d62d4 100755..100644
--- a/ext/reflection/tests/018.phpt
+++ b/ext/reflection/tests/018.phpt
diff --git a/ext/reflection/tests/019.phpt b/ext/reflection/tests/019.phpt
index b6ac20c6bd..b6ac20c6bd 100755..100644
--- a/ext/reflection/tests/019.phpt
+++ b/ext/reflection/tests/019.phpt
diff --git a/ext/reflection/tests/020.phpt b/ext/reflection/tests/020.phpt
index c5b0ae5c2a..c5b0ae5c2a 100755..100644
--- a/ext/reflection/tests/020.phpt
+++ b/ext/reflection/tests/020.phpt
diff --git a/ext/reflection/tests/021.phpt b/ext/reflection/tests/021.phpt
index 30dbb5afcb..30dbb5afcb 100755..100644
--- a/ext/reflection/tests/021.phpt
+++ b/ext/reflection/tests/021.phpt
diff --git a/ext/reflection/tests/022.phpt b/ext/reflection/tests/022.phpt
index 50dbd6ec74..50dbd6ec74 100755..100644
--- a/ext/reflection/tests/022.phpt
+++ b/ext/reflection/tests/022.phpt
diff --git a/ext/reflection/tests/023.phpt b/ext/reflection/tests/023.phpt
index ab11365951..ab11365951 100755..100644
--- a/ext/reflection/tests/023.phpt
+++ b/ext/reflection/tests/023.phpt
diff --git a/ext/reflection/tests/024.phpt b/ext/reflection/tests/024.phpt
index a1c2c81a93..a1c2c81a93 100755..100644
--- a/ext/reflection/tests/024.phpt
+++ b/ext/reflection/tests/024.phpt
diff --git a/ext/reflection/tests/bug26640.phpt b/ext/reflection/tests/bug26640.phpt
index e375fd4f89..e375fd4f89 100755..100644
--- a/ext/reflection/tests/bug26640.phpt
+++ b/ext/reflection/tests/bug26640.phpt
diff --git a/ext/reflection/tests/bug26695.phpt b/ext/reflection/tests/bug26695.phpt
index e429f766e9..e429f766e9 100755..100644
--- a/ext/reflection/tests/bug26695.phpt
+++ b/ext/reflection/tests/bug26695.phpt
diff --git a/ext/reflection/tests/bug29268.phpt b/ext/reflection/tests/bug29268.phpt
index d8efc0b06e..d8efc0b06e 100755..100644
--- a/ext/reflection/tests/bug29268.phpt
+++ b/ext/reflection/tests/bug29268.phpt
diff --git a/ext/reflection/tests/bug29523.phpt b/ext/reflection/tests/bug29523.phpt
index e74403c6a6..e74403c6a6 100755..100644
--- a/ext/reflection/tests/bug29523.phpt
+++ b/ext/reflection/tests/bug29523.phpt
diff --git a/ext/reflection/tests/bug29828.phpt b/ext/reflection/tests/bug29828.phpt
index 43e32d2116..43e32d2116 100755..100644
--- a/ext/reflection/tests/bug29828.phpt
+++ b/ext/reflection/tests/bug29828.phpt
diff --git a/ext/reflection/tests/bug30146.phpt b/ext/reflection/tests/bug30146.phpt
index 3f621414f1..3f621414f1 100755..100644
--- a/ext/reflection/tests/bug30146.phpt
+++ b/ext/reflection/tests/bug30146.phpt
diff --git a/ext/reflection/tests/bug30148.phpt b/ext/reflection/tests/bug30148.phpt
index aa5841ee5b..aa5841ee5b 100755..100644
--- a/ext/reflection/tests/bug30148.phpt
+++ b/ext/reflection/tests/bug30148.phpt
diff --git a/ext/reflection/tests/bug30209.phpt b/ext/reflection/tests/bug30209.phpt
index 2735a741e2..2735a741e2 100755..100644
--- a/ext/reflection/tests/bug30209.phpt
+++ b/ext/reflection/tests/bug30209.phpt
diff --git a/ext/reflection/tests/bug30856.phpt b/ext/reflection/tests/bug30856.phpt
index 39fc1104ab..39fc1104ab 100755..100644
--- a/ext/reflection/tests/bug30856.phpt
+++ b/ext/reflection/tests/bug30856.phpt
diff --git a/ext/reflection/tests/bug30961.phpt b/ext/reflection/tests/bug30961.phpt
index a61c992ec6..a61c992ec6 100755..100644
--- a/ext/reflection/tests/bug30961.phpt
+++ b/ext/reflection/tests/bug30961.phpt
diff --git a/ext/reflection/tests/bug31651.phpt b/ext/reflection/tests/bug31651.phpt
index 59f19eae5d..59f19eae5d 100755..100644
--- a/ext/reflection/tests/bug31651.phpt
+++ b/ext/reflection/tests/bug31651.phpt
diff --git a/ext/reflection/tests/bug32981.phpt b/ext/reflection/tests/bug32981.phpt
index 5735674585..5735674585 100755..100644
--- a/ext/reflection/tests/bug32981.phpt
+++ b/ext/reflection/tests/bug32981.phpt
diff --git a/ext/reflection/tests/bug33312.phpt b/ext/reflection/tests/bug33312.phpt
index ffa9180fce..ffa9180fce 100755..100644
--- a/ext/reflection/tests/bug33312.phpt
+++ b/ext/reflection/tests/bug33312.phpt
diff --git a/ext/reflection/tests/bug33389.phpt b/ext/reflection/tests/bug33389.phpt
index f1997a397c..f1997a397c 100755..100644
--- a/ext/reflection/tests/bug33389.phpt
+++ b/ext/reflection/tests/bug33389.phpt
diff --git a/ext/reflection/tests/bug36308.phpt b/ext/reflection/tests/bug36308.phpt
index 79aa5f8fa1..79aa5f8fa1 100755..100644
--- a/ext/reflection/tests/bug36308.phpt
+++ b/ext/reflection/tests/bug36308.phpt
diff --git a/ext/reflection/tests/bug37816.phpt b/ext/reflection/tests/bug37816.phpt
index 18a49046dc..18a49046dc 100755..100644
--- a/ext/reflection/tests/bug37816.phpt
+++ b/ext/reflection/tests/bug37816.phpt
diff --git a/ext/reflection/tests/bug38132.phpt b/ext/reflection/tests/bug38132.phpt
index 16e56411f2..16e56411f2 100755..100644
--- a/ext/reflection/tests/bug38132.phpt
+++ b/ext/reflection/tests/bug38132.phpt
diff --git a/ext/reflection/tests/bug38194.phpt b/ext/reflection/tests/bug38194.phpt
index d12f4e4a77..d12f4e4a77 100755..100644
--- a/ext/reflection/tests/bug38194.phpt
+++ b/ext/reflection/tests/bug38194.phpt
diff --git a/ext/reflection/tests/bug38942.phpt b/ext/reflection/tests/bug38942.phpt
index 817190c997..817190c997 100755..100644
--- a/ext/reflection/tests/bug38942.phpt
+++ b/ext/reflection/tests/bug38942.phpt
diff --git a/ext/reflection/tests/bug41061.phpt b/ext/reflection/tests/bug41061.phpt
index 771cd408d9..771cd408d9 100755..100644
--- a/ext/reflection/tests/bug41061.phpt
+++ b/ext/reflection/tests/bug41061.phpt
diff --git a/ext/reflection/tests/closures_001.phpt b/ext/reflection/tests/closures_001.phpt
index 6cc7e6755c..6cc7e6755c 100755..100644
--- a/ext/reflection/tests/closures_001.phpt
+++ b/ext/reflection/tests/closures_001.phpt
diff --git a/ext/reflection/tests/closures_002.phpt b/ext/reflection/tests/closures_002.phpt
index e8b080f5cb..e8b080f5cb 100755..100644
--- a/ext/reflection/tests/closures_002.phpt
+++ b/ext/reflection/tests/closures_002.phpt
diff --git a/ext/reflection/tests/parameters_001.phpt b/ext/reflection/tests/parameters_001.phpt
index 972b97c1c7..972b97c1c7 100755..100644
--- a/ext/reflection/tests/parameters_001.phpt
+++ b/ext/reflection/tests/parameters_001.phpt
diff --git a/ext/reflection/tests/parameters_002.phpt b/ext/reflection/tests/parameters_002.phpt
index a86191042f..a86191042f 100755..100644
--- a/ext/reflection/tests/parameters_002.phpt
+++ b/ext/reflection/tests/parameters_002.phpt
diff --git a/ext/reflection/tests/property_exists.phpt b/ext/reflection/tests/property_exists.phpt
index c74b775bb7..c74b775bb7 100755..100644
--- a/ext/reflection/tests/property_exists.phpt
+++ b/ext/reflection/tests/property_exists.phpt
diff --git a/ext/reflection/tests/static_properties_002.phpt b/ext/reflection/tests/static_properties_002.phpt
index 218c629cdb..218c629cdb 100755..100644
--- a/ext/reflection/tests/static_properties_002.phpt
+++ b/ext/reflection/tests/static_properties_002.phpt
diff --git a/ext/session/tests/save_handler_closures.inc b/ext/session/tests/save_handler_closures.inc
index 50f33c1098..50f33c1098 100755..100644
--- a/ext/session/tests/save_handler_closures.inc
+++ b/ext/session/tests/save_handler_closures.inc
diff --git a/ext/session/tests/session_set_save_handler_closures.phpt b/ext/session/tests/session_set_save_handler_closures.phpt
index 21b2c68737..21b2c68737 100755..100644
--- a/ext/session/tests/session_set_save_handler_closures.phpt
+++ b/ext/session/tests/session_set_save_handler_closures.phpt
diff --git a/ext/simplexml/php_simplexml_exports.h b/ext/simplexml/php_simplexml_exports.h
index 2ff0765734..2ff0765734 100755..100644
--- a/ext/simplexml/php_simplexml_exports.h
+++ b/ext/simplexml/php_simplexml_exports.h
diff --git a/ext/simplexml/sxe.c b/ext/simplexml/sxe.c
index 2e9a5b7c2c..2e9a5b7c2c 100755..100644
--- a/ext/simplexml/sxe.c
+++ b/ext/simplexml/sxe.c
diff --git a/ext/simplexml/sxe.h b/ext/simplexml/sxe.h
index 4c39b9aa12..4c39b9aa12 100755..100644
--- a/ext/simplexml/sxe.h
+++ b/ext/simplexml/sxe.h
diff --git a/ext/simplexml/tests/000.phpt b/ext/simplexml/tests/000.phpt
index 51dbe3b5ec..51dbe3b5ec 100755..100644
--- a/ext/simplexml/tests/000.phpt
+++ b/ext/simplexml/tests/000.phpt
diff --git a/ext/simplexml/tests/003.phpt b/ext/simplexml/tests/003.phpt
index 105f616d60..105f616d60 100755..100644
--- a/ext/simplexml/tests/003.phpt
+++ b/ext/simplexml/tests/003.phpt
diff --git a/ext/simplexml/tests/004.phpt b/ext/simplexml/tests/004.phpt
index 21cb5469e0..21cb5469e0 100755..100644
--- a/ext/simplexml/tests/004.phpt
+++ b/ext/simplexml/tests/004.phpt
diff --git a/ext/simplexml/tests/005.phpt b/ext/simplexml/tests/005.phpt
index 1411065435..1411065435 100755..100644
--- a/ext/simplexml/tests/005.phpt
+++ b/ext/simplexml/tests/005.phpt
diff --git a/ext/simplexml/tests/006.phpt b/ext/simplexml/tests/006.phpt
index 72ad0c8089..72ad0c8089 100755..100644
--- a/ext/simplexml/tests/006.phpt
+++ b/ext/simplexml/tests/006.phpt
diff --git a/ext/simplexml/tests/007.phpt b/ext/simplexml/tests/007.phpt
index 51d7a847f7..51d7a847f7 100755..100644
--- a/ext/simplexml/tests/007.phpt
+++ b/ext/simplexml/tests/007.phpt
diff --git a/ext/simplexml/tests/009.phpt b/ext/simplexml/tests/009.phpt
index a76f3d1116..a76f3d1116 100755..100644
--- a/ext/simplexml/tests/009.phpt
+++ b/ext/simplexml/tests/009.phpt
diff --git a/ext/simplexml/tests/009b.phpt b/ext/simplexml/tests/009b.phpt
index dba300c72f..dba300c72f 100755..100644
--- a/ext/simplexml/tests/009b.phpt
+++ b/ext/simplexml/tests/009b.phpt
diff --git a/ext/simplexml/tests/011.phpt b/ext/simplexml/tests/011.phpt
index 74ea4705ca..74ea4705ca 100755..100644
--- a/ext/simplexml/tests/011.phpt
+++ b/ext/simplexml/tests/011.phpt
diff --git a/ext/simplexml/tests/012.phpt b/ext/simplexml/tests/012.phpt
index 2fc9bec41e..2fc9bec41e 100755..100644
--- a/ext/simplexml/tests/012.phpt
+++ b/ext/simplexml/tests/012.phpt
diff --git a/ext/simplexml/tests/013.phpt b/ext/simplexml/tests/013.phpt
index 56c57dfbc2..56c57dfbc2 100755..100644
--- a/ext/simplexml/tests/013.phpt
+++ b/ext/simplexml/tests/013.phpt
diff --git a/ext/simplexml/tests/014a.phpt b/ext/simplexml/tests/014a.phpt
index 649828b4dd..649828b4dd 100755..100644
--- a/ext/simplexml/tests/014a.phpt
+++ b/ext/simplexml/tests/014a.phpt
diff --git a/ext/simplexml/tests/014b.phpt b/ext/simplexml/tests/014b.phpt
index 034396751a..034396751a 100755..100644
--- a/ext/simplexml/tests/014b.phpt
+++ b/ext/simplexml/tests/014b.phpt
diff --git a/ext/simplexml/tests/016a.phpt b/ext/simplexml/tests/016a.phpt
index 9797e29305..9797e29305 100755..100644
--- a/ext/simplexml/tests/016a.phpt
+++ b/ext/simplexml/tests/016a.phpt
diff --git a/ext/simplexml/tests/019.phpt b/ext/simplexml/tests/019.phpt
index aec74ba42e..aec74ba42e 100755..100644
--- a/ext/simplexml/tests/019.phpt
+++ b/ext/simplexml/tests/019.phpt
diff --git a/ext/simplexml/tests/020.phpt b/ext/simplexml/tests/020.phpt
index 9e91b5ac3a..9e91b5ac3a 100755..100644
--- a/ext/simplexml/tests/020.phpt
+++ b/ext/simplexml/tests/020.phpt
diff --git a/ext/simplexml/tests/022.phpt b/ext/simplexml/tests/022.phpt
index 2af4a1dd28..2af4a1dd28 100755..100644
--- a/ext/simplexml/tests/022.phpt
+++ b/ext/simplexml/tests/022.phpt
diff --git a/ext/simplexml/tests/023.phpt b/ext/simplexml/tests/023.phpt
index 515a1460c9..515a1460c9 100755..100644
--- a/ext/simplexml/tests/023.phpt
+++ b/ext/simplexml/tests/023.phpt
diff --git a/ext/simplexml/tests/024.phpt b/ext/simplexml/tests/024.phpt
index 9f31fd5e93..9f31fd5e93 100755..100644
--- a/ext/simplexml/tests/024.phpt
+++ b/ext/simplexml/tests/024.phpt
diff --git a/ext/simplexml/tests/025.phpt b/ext/simplexml/tests/025.phpt
index b9e3bbb0dc..b9e3bbb0dc 100755..100644
--- a/ext/simplexml/tests/025.phpt
+++ b/ext/simplexml/tests/025.phpt
diff --git a/ext/simplexml/tests/026.phpt b/ext/simplexml/tests/026.phpt
index d6de94be3d..d6de94be3d 100755..100644
--- a/ext/simplexml/tests/026.phpt
+++ b/ext/simplexml/tests/026.phpt
diff --git a/ext/simplexml/tests/027.phpt b/ext/simplexml/tests/027.phpt
index a531ccad46..a531ccad46 100755..100644
--- a/ext/simplexml/tests/027.phpt
+++ b/ext/simplexml/tests/027.phpt
diff --git a/ext/simplexml/tests/028.phpt b/ext/simplexml/tests/028.phpt
index 753056b9ad..753056b9ad 100755..100644
--- a/ext/simplexml/tests/028.phpt
+++ b/ext/simplexml/tests/028.phpt
diff --git a/ext/simplexml/tests/029.phpt b/ext/simplexml/tests/029.phpt
index 86a4f308e3..86a4f308e3 100755..100644
--- a/ext/simplexml/tests/029.phpt
+++ b/ext/simplexml/tests/029.phpt
diff --git a/ext/simplexml/tests/032.phpt b/ext/simplexml/tests/032.phpt
index 48bc887ecc..48bc887ecc 100755..100644
--- a/ext/simplexml/tests/032.phpt
+++ b/ext/simplexml/tests/032.phpt
diff --git a/ext/simplexml/tests/033.phpt b/ext/simplexml/tests/033.phpt
index ba01b21555..ba01b21555 100755..100644
--- a/ext/simplexml/tests/033.phpt
+++ b/ext/simplexml/tests/033.phpt
diff --git a/ext/simplexml/tests/034.phpt b/ext/simplexml/tests/034.phpt
index 1f3a854fde..1f3a854fde 100755..100644
--- a/ext/simplexml/tests/034.phpt
+++ b/ext/simplexml/tests/034.phpt
diff --git a/ext/simplexml/tests/bug27010.phpt b/ext/simplexml/tests/bug27010.phpt
index 364ca4675f..364ca4675f 100755..100644
--- a/ext/simplexml/tests/bug27010.phpt
+++ b/ext/simplexml/tests/bug27010.phpt
diff --git a/ext/simplexml/tests/bug35785.phpt b/ext/simplexml/tests/bug35785.phpt
index 0e03f07c55..0e03f07c55 100755..100644
--- a/ext/simplexml/tests/bug35785.phpt
+++ b/ext/simplexml/tests/bug35785.phpt
diff --git a/ext/simplexml/tests/bug37565.phpt b/ext/simplexml/tests/bug37565.phpt
index c1e51040b6..c1e51040b6 100755..100644
--- a/ext/simplexml/tests/bug37565.phpt
+++ b/ext/simplexml/tests/bug37565.phpt
diff --git a/ext/simplexml/tests/profile12.phpt b/ext/simplexml/tests/profile12.phpt
index 51a0d35531..51a0d35531 100755..100644
--- a/ext/simplexml/tests/profile12.phpt
+++ b/ext/simplexml/tests/profile12.phpt
diff --git a/ext/simplexml/tests/profile13.phpt b/ext/simplexml/tests/profile13.phpt
index 2ae89e7449..2ae89e7449 100755..100644
--- a/ext/simplexml/tests/profile13.phpt
+++ b/ext/simplexml/tests/profile13.phpt
diff --git a/ext/simplexml/tests/simplexml_import_dom.phpt b/ext/simplexml/tests/simplexml_import_dom.phpt
index e108e0554d..e108e0554d 100755..100644
--- a/ext/simplexml/tests/simplexml_import_dom.phpt
+++ b/ext/simplexml/tests/simplexml_import_dom.phpt
diff --git a/ext/simplexml/tests/sxe_001.phpt b/ext/simplexml/tests/sxe_001.phpt
index bb93eea076..bb93eea076 100755..100644
--- a/ext/simplexml/tests/sxe_001.phpt
+++ b/ext/simplexml/tests/sxe_001.phpt
diff --git a/ext/simplexml/tests/sxe_002.phpt b/ext/simplexml/tests/sxe_002.phpt
index b937b011d0..b937b011d0 100755..100644
--- a/ext/simplexml/tests/sxe_002.phpt
+++ b/ext/simplexml/tests/sxe_002.phpt
diff --git a/ext/simplexml/tests/sxe_003.phpt b/ext/simplexml/tests/sxe_003.phpt
index 58c7523160..58c7523160 100755..100644
--- a/ext/simplexml/tests/sxe_003.phpt
+++ b/ext/simplexml/tests/sxe_003.phpt
diff --git a/ext/simplexml/tests/sxe_004.phpt b/ext/simplexml/tests/sxe_004.phpt
index 20431de8be..20431de8be 100755..100644
--- a/ext/simplexml/tests/sxe_004.phpt
+++ b/ext/simplexml/tests/sxe_004.phpt
diff --git a/ext/simplexml/tests/sxe_005.phpt b/ext/simplexml/tests/sxe_005.phpt
index 183d351166..183d351166 100755..100644
--- a/ext/simplexml/tests/sxe_005.phpt
+++ b/ext/simplexml/tests/sxe_005.phpt
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 97a79a349e..ee28d99dc0 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1834,11 +1834,12 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval *
zend_hash_internal_pointer_reset_ex(model->u.content, &pos);
while (zend_hash_get_current_data_ex(model->u.content, (void**)&tmp, &pos) == SUCCESS) {
- if (!model_to_xml_object(node, *tmp, object, style, (*tmp)->min_occurs > 0 TSRMLS_CC)) {
- if ((*tmp)->min_occurs > 0) {
+ if (!model_to_xml_object(node, *tmp, object, style, strict && ((*tmp)->min_occurs > 0) TSRMLS_CC)) {
+ if (!strict || (*tmp)->min_occurs > 0) {
return 0;
}
}
+ strict = 1;
zend_hash_move_forward_ex(model->u.content, &pos);
}
return 1;
@@ -1861,7 +1862,7 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval *
return ret;
}
case XSD_CONTENT_GROUP: {
- return model_to_xml_object(node, model->u.group->model, object, style, model->min_occurs > 0 TSRMLS_CC);
+ return model_to_xml_object(node, model->u.group->model, object, style, strict && model->min_occurs > 0 TSRMLS_CC);
}
default:
break;
diff --git a/ext/soap/tests/any.phpt b/ext/soap/tests/any.phpt
index 93a0e6693a..93a0e6693a 100755..100644
--- a/ext/soap/tests/any.phpt
+++ b/ext/soap/tests/any.phpt
diff --git a/ext/soap/tests/bugs/bug32941.phpt b/ext/soap/tests/bugs/bug32941.phpt
index d1e3fff85d..d1e3fff85d 100755..100644
--- a/ext/soap/tests/bugs/bug32941.phpt
+++ b/ext/soap/tests/bugs/bug32941.phpt
diff --git a/ext/soap/tests/bugs/bug34449.phpt b/ext/soap/tests/bugs/bug34449.phpt
index f5766e29bc..f5766e29bc 100755..100644
--- a/ext/soap/tests/bugs/bug34449.phpt
+++ b/ext/soap/tests/bugs/bug34449.phpt
diff --git a/ext/soap/tests/bugs/bug34453.phpt b/ext/soap/tests/bugs/bug34453.phpt
index 0f9543b715..0f9543b715 100755..100644
--- a/ext/soap/tests/bugs/bug34453.phpt
+++ b/ext/soap/tests/bugs/bug34453.phpt
diff --git a/ext/soap/tests/bugs/bug34643.phpt b/ext/soap/tests/bugs/bug34643.phpt
index b99565129c..b99565129c 100755..100644
--- a/ext/soap/tests/bugs/bug34643.phpt
+++ b/ext/soap/tests/bugs/bug34643.phpt
diff --git a/ext/soap/tests/bugs/bug34657.phpt b/ext/soap/tests/bugs/bug34657.phpt
index d974d02cc6..d974d02cc6 100755..100644
--- a/ext/soap/tests/bugs/bug34657.phpt
+++ b/ext/soap/tests/bugs/bug34657.phpt
diff --git a/ext/soap/tests/bugs/bug35142.phpt b/ext/soap/tests/bugs/bug35142.phpt
index 94c1aa954b..94c1aa954b 100755..100644
--- a/ext/soap/tests/bugs/bug35142.phpt
+++ b/ext/soap/tests/bugs/bug35142.phpt
diff --git a/ext/soap/tests/bugs/bug35273.phpt b/ext/soap/tests/bugs/bug35273.phpt
index e22ebd7dca..e22ebd7dca 100755..100644
--- a/ext/soap/tests/bugs/bug35273.phpt
+++ b/ext/soap/tests/bugs/bug35273.phpt
diff --git a/ext/soap/tests/bugs/bug36226-2.phpt b/ext/soap/tests/bugs/bug36226-2.phpt
index e14832db4b..e14832db4b 100755..100644
--- a/ext/soap/tests/bugs/bug36226-2.phpt
+++ b/ext/soap/tests/bugs/bug36226-2.phpt
diff --git a/ext/soap/tests/bugs/bug36226.phpt b/ext/soap/tests/bugs/bug36226.phpt
index 8c01c5b5d3..8c01c5b5d3 100755..100644
--- a/ext/soap/tests/bugs/bug36226.phpt
+++ b/ext/soap/tests/bugs/bug36226.phpt
diff --git a/ext/soap/tests/bugs/bug36575.phpt b/ext/soap/tests/bugs/bug36575.phpt
index 9bf5415220..9bf5415220 100755..100644
--- a/ext/soap/tests/bugs/bug36575.phpt
+++ b/ext/soap/tests/bugs/bug36575.phpt
diff --git a/ext/soap/tests/bugs/bug36614.phpt b/ext/soap/tests/bugs/bug36614.phpt
index ba6734812d..ba6734812d 100755..100644
--- a/ext/soap/tests/bugs/bug36614.phpt
+++ b/ext/soap/tests/bugs/bug36614.phpt
diff --git a/ext/soap/tests/bugs/bug36629.phpt b/ext/soap/tests/bugs/bug36629.phpt
index 2096da26a6..2096da26a6 100755..100644
--- a/ext/soap/tests/bugs/bug36629.phpt
+++ b/ext/soap/tests/bugs/bug36629.phpt
diff --git a/ext/soap/tests/bugs/bug36908.phpt b/ext/soap/tests/bugs/bug36908.phpt
index cd0ea8b2e5..cd0ea8b2e5 100755..100644
--- a/ext/soap/tests/bugs/bug36908.phpt
+++ b/ext/soap/tests/bugs/bug36908.phpt
diff --git a/ext/soap/tests/bugs/bug36999.phpt b/ext/soap/tests/bugs/bug36999.phpt
index 9fbb032d8f..9fbb032d8f 100755..100644
--- a/ext/soap/tests/bugs/bug36999.phpt
+++ b/ext/soap/tests/bugs/bug36999.phpt
diff --git a/ext/soap/tests/bugs/bug37013.phpt b/ext/soap/tests/bugs/bug37013.phpt
index 45f314293b..45f314293b 100755..100644
--- a/ext/soap/tests/bugs/bug37013.phpt
+++ b/ext/soap/tests/bugs/bug37013.phpt
diff --git a/ext/soap/tests/bugs/bug37083.phpt b/ext/soap/tests/bugs/bug37083.phpt
index d915ec0440..d915ec0440 100755..100644
--- a/ext/soap/tests/bugs/bug37083.phpt
+++ b/ext/soap/tests/bugs/bug37083.phpt
diff --git a/ext/soap/tests/bugs/bug37278.phpt b/ext/soap/tests/bugs/bug37278.phpt
index f3fd7c17b4..f3fd7c17b4 100755..100644
--- a/ext/soap/tests/bugs/bug37278.phpt
+++ b/ext/soap/tests/bugs/bug37278.phpt
diff --git a/ext/soap/tests/bugs/bug38004.phpt b/ext/soap/tests/bugs/bug38004.phpt
index fea4f0379a..fea4f0379a 100755..100644
--- a/ext/soap/tests/bugs/bug38004.phpt
+++ b/ext/soap/tests/bugs/bug38004.phpt
diff --git a/ext/soap/tests/bugs/bug38005.phpt b/ext/soap/tests/bugs/bug38005.phpt
index 6a4fb2580b..6a4fb2580b 100755..100644
--- a/ext/soap/tests/bugs/bug38005.phpt
+++ b/ext/soap/tests/bugs/bug38005.phpt
diff --git a/ext/soap/tests/bugs/bug38055.phpt b/ext/soap/tests/bugs/bug38055.phpt
index 82b6c76f77..82b6c76f77 100755..100644
--- a/ext/soap/tests/bugs/bug38055.phpt
+++ b/ext/soap/tests/bugs/bug38055.phpt
diff --git a/ext/soap/tests/bugs/bug38067.phpt b/ext/soap/tests/bugs/bug38067.phpt
index c9bf3c165c..c9bf3c165c 100755..100644
--- a/ext/soap/tests/bugs/bug38067.phpt
+++ b/ext/soap/tests/bugs/bug38067.phpt
diff --git a/ext/soap/tests/bugs/bug38536.phpt b/ext/soap/tests/bugs/bug38536.phpt
index feea46e97e..feea46e97e 100755..100644
--- a/ext/soap/tests/bugs/bug38536.phpt
+++ b/ext/soap/tests/bugs/bug38536.phpt
diff --git a/ext/soap/tests/bugs/bug39121.phpt b/ext/soap/tests/bugs/bug39121.phpt
index caa7f6cce9..caa7f6cce9 100755..100644
--- a/ext/soap/tests/bugs/bug39121.phpt
+++ b/ext/soap/tests/bugs/bug39121.phpt
diff --git a/ext/soap/tests/bugs/bug39815.phpt b/ext/soap/tests/bugs/bug39815.phpt
index 1adc50a2de..1adc50a2de 100755..100644
--- a/ext/soap/tests/bugs/bug39815.phpt
+++ b/ext/soap/tests/bugs/bug39815.phpt
diff --git a/ext/soap/tests/bugs/bug39832.phpt b/ext/soap/tests/bugs/bug39832.phpt
index 6abc2f0aff..6abc2f0aff 100755..100644
--- a/ext/soap/tests/bugs/bug39832.phpt
+++ b/ext/soap/tests/bugs/bug39832.phpt
diff --git a/ext/soap/tests/bugs/bug40609.phpt b/ext/soap/tests/bugs/bug40609.phpt
index 198afc511e..198afc511e 100755..100644
--- a/ext/soap/tests/bugs/bug40609.phpt
+++ b/ext/soap/tests/bugs/bug40609.phpt
diff --git a/ext/soap/tests/bugs/bug41004.phpt b/ext/soap/tests/bugs/bug41004.phpt
index 992c6b708d..992c6b708d 100755..100644
--- a/ext/soap/tests/bugs/bug41004.phpt
+++ b/ext/soap/tests/bugs/bug41004.phpt
diff --git a/ext/soap/tests/bugs/bug41097.phpt b/ext/soap/tests/bugs/bug41097.phpt
index a9cfd14140..a9cfd14140 100755..100644
--- a/ext/soap/tests/bugs/bug41097.phpt
+++ b/ext/soap/tests/bugs/bug41097.phpt
diff --git a/ext/soap/tests/bugs/bug41337.phpt b/ext/soap/tests/bugs/bug41337.phpt
index cd777d1dea..cd777d1dea 100755..100644
--- a/ext/soap/tests/bugs/bug41337.phpt
+++ b/ext/soap/tests/bugs/bug41337.phpt
diff --git a/ext/soap/tests/bugs/bug41337_2.phpt b/ext/soap/tests/bugs/bug41337_2.phpt
index d594d2515d..d594d2515d 100755..100644
--- a/ext/soap/tests/bugs/bug41337_2.phpt
+++ b/ext/soap/tests/bugs/bug41337_2.phpt
diff --git a/ext/soap/tests/bugs/bug41566.phpt b/ext/soap/tests/bugs/bug41566.phpt
index 03ecdde043..03ecdde043 100755..100644
--- a/ext/soap/tests/bugs/bug41566.phpt
+++ b/ext/soap/tests/bugs/bug41566.phpt
diff --git a/ext/soap/tests/bugs/bug42086.phpt b/ext/soap/tests/bugs/bug42086.phpt
index 6edc06f879..6edc06f879 100755..100644
--- a/ext/soap/tests/bugs/bug42086.phpt
+++ b/ext/soap/tests/bugs/bug42086.phpt
diff --git a/ext/soap/tests/bugs/bug42151.phpt b/ext/soap/tests/bugs/bug42151.phpt
index ee53e6d525..ee53e6d525 100755..100644
--- a/ext/soap/tests/bugs/bug42151.phpt
+++ b/ext/soap/tests/bugs/bug42151.phpt
diff --git a/ext/soap/tests/bugs/bug42183.phpt b/ext/soap/tests/bugs/bug42183.phpt
index d34311f26c..d34311f26c 100755..100644
--- a/ext/soap/tests/bugs/bug42183.phpt
+++ b/ext/soap/tests/bugs/bug42183.phpt
diff --git a/ext/soap/tests/bugs/bug42214.phpt b/ext/soap/tests/bugs/bug42214.phpt
index a31f16dcb4..a31f16dcb4 100755..100644
--- a/ext/soap/tests/bugs/bug42214.phpt
+++ b/ext/soap/tests/bugs/bug42214.phpt
diff --git a/ext/soap/tests/bugs/bug42326.phpt b/ext/soap/tests/bugs/bug42326.phpt
index 2e6c7c3501..2e6c7c3501 100755..100644
--- a/ext/soap/tests/bugs/bug42326.phpt
+++ b/ext/soap/tests/bugs/bug42326.phpt
diff --git a/ext/soap/tests/bugs/bug42359.phpt b/ext/soap/tests/bugs/bug42359.phpt
index 94738fff34..94738fff34 100755..100644
--- a/ext/soap/tests/bugs/bug42359.phpt
+++ b/ext/soap/tests/bugs/bug42359.phpt
diff --git a/ext/soap/tests/bugs/bug42488.phpt b/ext/soap/tests/bugs/bug42488.phpt
index 4069c9f6be..4069c9f6be 100755..100644
--- a/ext/soap/tests/bugs/bug42488.phpt
+++ b/ext/soap/tests/bugs/bug42488.phpt
diff --git a/ext/soap/tests/bugs/bug42692.phpt b/ext/soap/tests/bugs/bug42692.phpt
index 1436f881e5..1436f881e5 100755..100644
--- a/ext/soap/tests/bugs/bug42692.phpt
+++ b/ext/soap/tests/bugs/bug42692.phpt
diff --git a/ext/soap/tests/bugs/bug50997.phpt b/ext/soap/tests/bugs/bug50997.phpt
new file mode 100644
index 0000000000..0508aaccdc
--- /dev/null
+++ b/ext/soap/tests/bugs/bug50997.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #50997 (SOAP Error when trying to submit 2nd Element of a choice)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$soapClient = new SoapClient(__DIR__ . '/bug50997.wsdl', array('trace' => 1, 'exceptions'=>0));
+$params = array('code'=>'foo');
+$soapClient->newOperation($params);
+echo $soapClient->__getLastRequest();
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.org/service2/"><SOAP-ENV:Body><ns1:NewOperation><code>foo</code></ns1:NewOperation></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug50997.wsdl b/ext/soap/tests/bugs/bug50997.wsdl
new file mode 100644
index 0000000000..16c6d36752
--- /dev/null
+++ b/ext/soap/tests/bugs/bug50997.wsdl
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/service2/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="service2" targetNamespace="http://www.example.org/service2/">
+ <wsdl:types>
+ <xsd:schema targetNamespace="http://www.example.org/service2/">
+ <xsd:element name="NewOperation">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="firstName" type="xsd:string"> </xsd:element>
+ <xsd:element name="surName" type="xsd:string"/>
+ </xsd:sequence>
+ <xsd:element name="code" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="NewOperationResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="out" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="NewOperationRequest">
+ <wsdl:part element="tns:NewOperation" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="NewOperationResponse">
+ <wsdl:part element="tns:NewOperationResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:portType name="service2">
+ <wsdl:operation name="NewOperation">
+ <wsdl:input message="tns:NewOperationRequest"/>
+ <wsdl:output message="tns:NewOperationResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="service2SOAP" type="tns:service2">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="NewOperation">
+ <soap:operation soapAction="http://www.example.org/service2/NewOperation"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="service2">
+ <wsdl:port binding="tns:service2SOAP" name="service2SOAP">
+ <soap:address location="test://"/>
+ </wsdl:port>
+ </wsdl:service>
+ </wsdl:definitions>
diff --git a/ext/soap/tests/classmap003.phpt b/ext/soap/tests/classmap003.phpt
index 4d0118fef4..4d0118fef4 100755..100644
--- a/ext/soap/tests/classmap003.phpt
+++ b/ext/soap/tests/classmap003.phpt
diff --git a/ext/soap/tests/classmap004.phpt b/ext/soap/tests/classmap004.phpt
index e8bf58a4f9..e8bf58a4f9 100755..100644
--- a/ext/soap/tests/classmap004.phpt
+++ b/ext/soap/tests/classmap004.phpt
diff --git a/ext/soap/tests/schema/schema082.phpt b/ext/soap/tests/schema/schema082.phpt
index 34c4c76c25..34c4c76c25 100755..100644
--- a/ext/soap/tests/schema/schema082.phpt
+++ b/ext/soap/tests/schema/schema082.phpt
diff --git a/ext/soap/tests/schema/schema083.phpt b/ext/soap/tests/schema/schema083.phpt
index 854c4f9ff6..854c4f9ff6 100755..100644
--- a/ext/soap/tests/schema/schema083.phpt
+++ b/ext/soap/tests/schema/schema083.phpt
diff --git a/ext/soap/tests/schema/schema084.phpt b/ext/soap/tests/schema/schema084.phpt
index 94a9551faf..94a9551faf 100755..100644
--- a/ext/soap/tests/schema/schema084.phpt
+++ b/ext/soap/tests/schema/schema084.phpt
diff --git a/ext/soap/tests/schema/schema085.phpt b/ext/soap/tests/schema/schema085.phpt
index 9a93ac7235..9a93ac7235 100755..100644
--- a/ext/soap/tests/schema/schema085.phpt
+++ b/ext/soap/tests/schema/schema085.phpt
diff --git a/ext/soap/tests/server022.phpt b/ext/soap/tests/server022.phpt
index ff79a1518f..ff79a1518f 100755..100644
--- a/ext/soap/tests/server022.phpt
+++ b/ext/soap/tests/server022.phpt
diff --git a/ext/soap/tests/server023.phpt b/ext/soap/tests/server023.phpt
index 5614599f3a..5614599f3a 100755..100644
--- a/ext/soap/tests/server023.phpt
+++ b/ext/soap/tests/server023.phpt
diff --git a/ext/soap/tests/server024.phpt b/ext/soap/tests/server024.phpt
index 7db30621d3..7db30621d3 100755..100644
--- a/ext/soap/tests/server024.phpt
+++ b/ext/soap/tests/server024.phpt
diff --git a/ext/soap/tests/server025.phpt b/ext/soap/tests/server025.phpt
index ed56750a0b..ed56750a0b 100755..100644
--- a/ext/soap/tests/server025.phpt
+++ b/ext/soap/tests/server025.phpt
diff --git a/ext/soap/tests/server026.phpt b/ext/soap/tests/server026.phpt
index 720ade86c1..720ade86c1 100755..100644
--- a/ext/soap/tests/server026.phpt
+++ b/ext/soap/tests/server026.phpt
diff --git a/ext/soap/tests/server027.phpt b/ext/soap/tests/server027.phpt
index 9fee4a6087..9fee4a6087 100755..100644
--- a/ext/soap/tests/server027.phpt
+++ b/ext/soap/tests/server027.phpt
diff --git a/ext/soap/tests/server028.phpt b/ext/soap/tests/server028.phpt
index 4bea8ebd78..4bea8ebd78 100755..100644
--- a/ext/soap/tests/server028.phpt
+++ b/ext/soap/tests/server028.phpt
diff --git a/ext/soap/tests/setheaders.phpt b/ext/soap/tests/setheaders.phpt
index cb90d372d1..cb90d372d1 100755..100644
--- a/ext/soap/tests/setheaders.phpt
+++ b/ext/soap/tests/setheaders.phpt
diff --git a/ext/soap/tests/typemap001.phpt b/ext/soap/tests/typemap001.phpt
index b5ed31da85..b5ed31da85 100755..100644
--- a/ext/soap/tests/typemap001.phpt
+++ b/ext/soap/tests/typemap001.phpt
diff --git a/ext/soap/tests/typemap002.phpt b/ext/soap/tests/typemap002.phpt
index ceb00f1a19..ceb00f1a19 100755..100644
--- a/ext/soap/tests/typemap002.phpt
+++ b/ext/soap/tests/typemap002.phpt
diff --git a/ext/soap/tests/typemap003.phpt b/ext/soap/tests/typemap003.phpt
index 63bb76cbcf..63bb76cbcf 100755..100644
--- a/ext/soap/tests/typemap003.phpt
+++ b/ext/soap/tests/typemap003.phpt
diff --git a/ext/soap/tests/typemap004.phpt b/ext/soap/tests/typemap004.phpt
index 4fe15f7f9f..4fe15f7f9f 100755..100644
--- a/ext/soap/tests/typemap004.phpt
+++ b/ext/soap/tests/typemap004.phpt
diff --git a/ext/soap/tests/typemap005.phpt b/ext/soap/tests/typemap005.phpt
index 369d026b5a..369d026b5a 100755..100644
--- a/ext/soap/tests/typemap005.phpt
+++ b/ext/soap/tests/typemap005.phpt
diff --git a/ext/soap/tests/typemap006.phpt b/ext/soap/tests/typemap006.phpt
index 7ecf410ad8..7ecf410ad8 100755..100644
--- a/ext/soap/tests/typemap006.phpt
+++ b/ext/soap/tests/typemap006.phpt
diff --git a/ext/soap/tests/typemap007.phpt b/ext/soap/tests/typemap007.phpt
index b3451f1dae..b3451f1dae 100755..100644
--- a/ext/soap/tests/typemap007.phpt
+++ b/ext/soap/tests/typemap007.phpt
diff --git a/ext/soap/tests/typemap008.phpt b/ext/soap/tests/typemap008.phpt
index 192f6dc0d2..192f6dc0d2 100755..100644
--- a/ext/soap/tests/typemap008.phpt
+++ b/ext/soap/tests/typemap008.phpt
diff --git a/ext/soap/tests/typemap009.phpt b/ext/soap/tests/typemap009.phpt
index ec5c38da2b..ec5c38da2b 100755..100644
--- a/ext/soap/tests/typemap009.phpt
+++ b/ext/soap/tests/typemap009.phpt
diff --git a/ext/soap/tests/typemap010.phpt b/ext/soap/tests/typemap010.phpt
index 4eba6345cb..4eba6345cb 100755..100644
--- a/ext/soap/tests/typemap010.phpt
+++ b/ext/soap/tests/typemap010.phpt
diff --git a/ext/soap/tests/typemap011.phpt b/ext/soap/tests/typemap011.phpt
index 1e2addceec..1e2addceec 100755..100644
--- a/ext/soap/tests/typemap011.phpt
+++ b/ext/soap/tests/typemap011.phpt
diff --git a/ext/soap/tests/typemap012.phpt b/ext/soap/tests/typemap012.phpt
index 847957a982..847957a982 100755..100644
--- a/ext/soap/tests/typemap012.phpt
+++ b/ext/soap/tests/typemap012.phpt
diff --git a/ext/soap/tests/typemap013.phpt b/ext/soap/tests/typemap013.phpt
index d873eb4d18..d873eb4d18 100755..100644
--- a/ext/soap/tests/typemap013.phpt
+++ b/ext/soap/tests/typemap013.phpt
diff --git a/ext/spl/examples/autoload.inc b/ext/spl/examples/autoload.inc
index 5871e7d63b..5871e7d63b 100755..100644
--- a/ext/spl/examples/autoload.inc
+++ b/ext/spl/examples/autoload.inc
diff --git a/ext/spl/examples/callbackfilteriterator.inc b/ext/spl/examples/callbackfilteriterator.inc
index 51757012ec..51757012ec 100755..100644
--- a/ext/spl/examples/callbackfilteriterator.inc
+++ b/ext/spl/examples/callbackfilteriterator.inc
diff --git a/ext/spl/examples/dbaarray.inc b/ext/spl/examples/dbaarray.inc
index fcd6bb378a..fcd6bb378a 100755..100644
--- a/ext/spl/examples/dbaarray.inc
+++ b/ext/spl/examples/dbaarray.inc
diff --git a/ext/spl/examples/dbareader.inc b/ext/spl/examples/dbareader.inc
index b09791239b..b09791239b 100755..100644
--- a/ext/spl/examples/dbareader.inc
+++ b/ext/spl/examples/dbareader.inc
diff --git a/ext/spl/examples/directoryfilterdots.inc b/ext/spl/examples/directoryfilterdots.inc
index 37f14b7106..37f14b7106 100755..100644
--- a/ext/spl/examples/directoryfilterdots.inc
+++ b/ext/spl/examples/directoryfilterdots.inc
diff --git a/ext/spl/examples/directorytree.inc b/ext/spl/examples/directorytree.inc
index 7bd9c2c597..7bd9c2c597 100755..100644
--- a/ext/spl/examples/directorytree.inc
+++ b/ext/spl/examples/directorytree.inc
diff --git a/ext/spl/examples/dualiterator.inc b/ext/spl/examples/dualiterator.inc
index 4cee203436..4cee203436 100755..100644
--- a/ext/spl/examples/dualiterator.inc
+++ b/ext/spl/examples/dualiterator.inc
diff --git a/ext/spl/examples/findfile.inc b/ext/spl/examples/findfile.inc
index 02ab792433..02ab792433 100755..100644
--- a/ext/spl/examples/findfile.inc
+++ b/ext/spl/examples/findfile.inc
diff --git a/ext/spl/examples/inigroups.inc b/ext/spl/examples/inigroups.inc
index 62cfa3e029..62cfa3e029 100755..100644
--- a/ext/spl/examples/inigroups.inc
+++ b/ext/spl/examples/inigroups.inc
diff --git a/ext/spl/examples/keyfilter.inc b/ext/spl/examples/keyfilter.inc
index eaf6b77364..eaf6b77364 100755..100644
--- a/ext/spl/examples/keyfilter.inc
+++ b/ext/spl/examples/keyfilter.inc
diff --git a/ext/spl/examples/recursivecomparedualiterator.inc b/ext/spl/examples/recursivecomparedualiterator.inc
index 75265c1d58..75265c1d58 100755..100644
--- a/ext/spl/examples/recursivecomparedualiterator.inc
+++ b/ext/spl/examples/recursivecomparedualiterator.inc
diff --git a/ext/spl/examples/recursivedualiterator.inc b/ext/spl/examples/recursivedualiterator.inc
index cfa3bccbbc..cfa3bccbbc 100755..100644
--- a/ext/spl/examples/recursivedualiterator.inc
+++ b/ext/spl/examples/recursivedualiterator.inc
diff --git a/ext/spl/examples/regexfindfile.inc b/ext/spl/examples/regexfindfile.inc
index d5dd722536..d5dd722536 100755..100644
--- a/ext/spl/examples/regexfindfile.inc
+++ b/ext/spl/examples/regexfindfile.inc
diff --git a/ext/spl/examples/searchiterator.inc b/ext/spl/examples/searchiterator.inc
index 944a4ac5a5..944a4ac5a5 100755..100644
--- a/ext/spl/examples/searchiterator.inc
+++ b/ext/spl/examples/searchiterator.inc
diff --git a/ext/spl/examples/tests/dualiterator_001.phpt b/ext/spl/examples/tests/dualiterator_001.phpt
index 53c11537af..53c11537af 100755..100644
--- a/ext/spl/examples/tests/dualiterator_001.phpt
+++ b/ext/spl/examples/tests/dualiterator_001.phpt
diff --git a/ext/spl/examples/tests/examples.inc b/ext/spl/examples/tests/examples.inc
index feeba7db24..feeba7db24 100755..100644
--- a/ext/spl/examples/tests/examples.inc
+++ b/ext/spl/examples/tests/examples.inc
diff --git a/ext/spl/internal/appenditerator.inc b/ext/spl/internal/appenditerator.inc
index 28e32b15f6..28e32b15f6 100755..100644
--- a/ext/spl/internal/appenditerator.inc
+++ b/ext/spl/internal/appenditerator.inc
diff --git a/ext/spl/internal/cachingiterator.inc b/ext/spl/internal/cachingiterator.inc
index 33258ab954..33258ab954 100755..100644
--- a/ext/spl/internal/cachingiterator.inc
+++ b/ext/spl/internal/cachingiterator.inc
diff --git a/ext/spl/internal/emptyiterator.inc b/ext/spl/internal/emptyiterator.inc
index ac80e79581..ac80e79581 100755..100644
--- a/ext/spl/internal/emptyiterator.inc
+++ b/ext/spl/internal/emptyiterator.inc
diff --git a/ext/spl/internal/filteriterator.inc b/ext/spl/internal/filteriterator.inc
index 3330cc9e47..3330cc9e47 100755..100644
--- a/ext/spl/internal/filteriterator.inc
+++ b/ext/spl/internal/filteriterator.inc
diff --git a/ext/spl/internal/infiniteiterator.inc b/ext/spl/internal/infiniteiterator.inc
index 04d7827182..04d7827182 100755..100644
--- a/ext/spl/internal/infiniteiterator.inc
+++ b/ext/spl/internal/infiniteiterator.inc
diff --git a/ext/spl/internal/iteratoriterator.inc b/ext/spl/internal/iteratoriterator.inc
index 37676e0537..37676e0537 100755..100644
--- a/ext/spl/internal/iteratoriterator.inc
+++ b/ext/spl/internal/iteratoriterator.inc
diff --git a/ext/spl/internal/limititerator.inc b/ext/spl/internal/limititerator.inc
index c5bddead78..c5bddead78 100755..100644
--- a/ext/spl/internal/limititerator.inc
+++ b/ext/spl/internal/limititerator.inc
diff --git a/ext/spl/internal/multipleiterator.inc b/ext/spl/internal/multipleiterator.inc
index 2ed71d53a7..2ed71d53a7 100755..100644
--- a/ext/spl/internal/multipleiterator.inc
+++ b/ext/spl/internal/multipleiterator.inc
diff --git a/ext/spl/internal/norewinditerator.inc b/ext/spl/internal/norewinditerator.inc
index 8747a6116e..8747a6116e 100755..100644
--- a/ext/spl/internal/norewinditerator.inc
+++ b/ext/spl/internal/norewinditerator.inc
diff --git a/ext/spl/internal/outeriterator.inc b/ext/spl/internal/outeriterator.inc
index f26d29da56..f26d29da56 100755..100644
--- a/ext/spl/internal/outeriterator.inc
+++ b/ext/spl/internal/outeriterator.inc
diff --git a/ext/spl/internal/parentiterator.inc b/ext/spl/internal/parentiterator.inc
index cc377fcc6b..cc377fcc6b 100755..100644
--- a/ext/spl/internal/parentiterator.inc
+++ b/ext/spl/internal/parentiterator.inc
diff --git a/ext/spl/internal/recursivearrayiterator.inc b/ext/spl/internal/recursivearrayiterator.inc
index a9450e12a5..a9450e12a5 100755..100644
--- a/ext/spl/internal/recursivearrayiterator.inc
+++ b/ext/spl/internal/recursivearrayiterator.inc
diff --git a/ext/spl/internal/recursivecachingiterator.inc b/ext/spl/internal/recursivecachingiterator.inc
index 0676d435f2..0676d435f2 100755..100644
--- a/ext/spl/internal/recursivecachingiterator.inc
+++ b/ext/spl/internal/recursivecachingiterator.inc
diff --git a/ext/spl/internal/recursivefilteriterator.inc b/ext/spl/internal/recursivefilteriterator.inc
index b089919a30..b089919a30 100755..100644
--- a/ext/spl/internal/recursivefilteriterator.inc
+++ b/ext/spl/internal/recursivefilteriterator.inc
diff --git a/ext/spl/internal/recursiveiterator.inc b/ext/spl/internal/recursiveiterator.inc
index 1eab3d69b2..1eab3d69b2 100755..100644
--- a/ext/spl/internal/recursiveiterator.inc
+++ b/ext/spl/internal/recursiveiterator.inc
diff --git a/ext/spl/internal/recursiveiteratoriterator.inc b/ext/spl/internal/recursiveiteratoriterator.inc
index 35fa801e78..35fa801e78 100755..100644
--- a/ext/spl/internal/recursiveiteratoriterator.inc
+++ b/ext/spl/internal/recursiveiteratoriterator.inc
diff --git a/ext/spl/internal/recursiveregexiterator.inc b/ext/spl/internal/recursiveregexiterator.inc
index ffcff0ce47..ffcff0ce47 100755..100644
--- a/ext/spl/internal/recursiveregexiterator.inc
+++ b/ext/spl/internal/recursiveregexiterator.inc
diff --git a/ext/spl/internal/recursivetreeiterator.inc b/ext/spl/internal/recursivetreeiterator.inc
index dfcdc05995..dfcdc05995 100755..100644
--- a/ext/spl/internal/recursivetreeiterator.inc
+++ b/ext/spl/internal/recursivetreeiterator.inc
diff --git a/ext/spl/internal/regexiterator.inc b/ext/spl/internal/regexiterator.inc
index 96b8f81126..96b8f81126 100755..100644
--- a/ext/spl/internal/regexiterator.inc
+++ b/ext/spl/internal/regexiterator.inc
diff --git a/ext/spl/internal/seekableiterator.inc b/ext/spl/internal/seekableiterator.inc
index b4f66bde4d..b4f66bde4d 100755..100644
--- a/ext/spl/internal/seekableiterator.inc
+++ b/ext/spl/internal/seekableiterator.inc
diff --git a/ext/spl/internal/splfileobject.inc b/ext/spl/internal/splfileobject.inc
index 46b941f696..46b941f696 100755..100644
--- a/ext/spl/internal/splfileobject.inc
+++ b/ext/spl/internal/splfileobject.inc
diff --git a/ext/spl/internal/splobjectstorage.inc b/ext/spl/internal/splobjectstorage.inc
index fa164066c7..fa164066c7 100755..100644
--- a/ext/spl/internal/splobjectstorage.inc
+++ b/ext/spl/internal/splobjectstorage.inc
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c
index e2bd7cf281..e2bd7cf281 100755..100644
--- a/ext/spl/php_spl.c
+++ b/ext/spl/php_spl.c
diff --git a/ext/spl/php_spl.h b/ext/spl/php_spl.h
index fb0765a81b..fb0765a81b 100755..100644
--- a/ext/spl/php_spl.h
+++ b/ext/spl/php_spl.h
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index 80ca5be612..11540decd9 100755..100644
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -312,38 +312,41 @@ static zval **spl_array_get_dimension_ptr_ptr(int check_inherited, zval *object,
long index;
HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC);
-/* We cannot get the pointer pointer so we don't allow it here for now
- if (check_inherited && intern->fptr_offset_get) {
- return zend_call_method_with_1_params(&object, Z_OBJCE_P(object), &intern->fptr_offset_get, "offsetGet", NULL, offset);
- }*/
-
if (!offset) {
return &EG(uninitialized_zval_ptr);
}
if ((type == BP_VAR_W || type == BP_VAR_RW) && (ht->nApplyCount > 0)) {
zend_error(E_WARNING, "Modification of ArrayObject during sorting is prohibited");
- return &EG(uninitialized_zval_ptr);;
+ return &EG(error_zval_ptr);;
}
switch(Z_TYPE_P(offset)) {
+ case IS_NULL:
+ Z_STRVAL_P(offset) = "";
+ Z_STRLEN_P(offset) = 0;
case IS_STRING:
if (zend_symtable_find(ht, Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void **) &retval) == FAILURE) {
- if (type == BP_VAR_W || type == BP_VAR_RW) {
- zval *value;
- ALLOC_INIT_ZVAL(value);
- zend_symtable_update(ht, Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void**)&value, sizeof(void*), NULL);
- zend_symtable_find(ht, Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void **) &retval);
- return retval;
- } else {
- zend_error(E_NOTICE, "Undefined index: %s", Z_STRVAL_P(offset));
- return &EG(uninitialized_zval_ptr);
+ switch (type) {
+ case BP_VAR_R:
+ zend_error(E_NOTICE, "Undefined index: %s", Z_STRVAL_P(offset));
+ case BP_VAR_UNSET:
+ case BP_VAR_IS:
+ retval = &EG(uninitialized_zval_ptr);
+ break;
+ case BP_VAR_RW:
+ zend_error(E_NOTICE,"Undefined index: %s", Z_STRVAL_P(offset));
+ case BP_VAR_W: {
+ zval *value;
+ ALLOC_INIT_ZVAL(value);
+ zend_symtable_update(ht, Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void**)&value, sizeof(void*), (void **)&retval);
+ }
}
- } else {
- return retval;
}
- case IS_DOUBLE:
+ return retval;
case IS_RESOURCE:
+ zend_error(E_STRICT, "Resource ID#%ld used as offset, casting to integer (%ld)", Z_LVAL_P(offset), Z_LVAL_P(offset));
+ case IS_DOUBLE:
case IS_BOOL:
case IS_LONG:
if (offset->type == IS_DOUBLE) {
@@ -352,23 +355,27 @@ static zval **spl_array_get_dimension_ptr_ptr(int check_inherited, zval *object,
index = Z_LVAL_P(offset);
}
if (zend_hash_index_find(ht, index, (void **) &retval) == FAILURE) {
- if (type == BP_VAR_W || type == BP_VAR_RW) {
- zval *value;
- ALLOC_INIT_ZVAL(value);
- zend_hash_index_update(ht, index, (void**)&value, sizeof(void*), NULL);
- zend_hash_index_find(ht, index, (void **) &retval);
- return retval;
- } else {
- zend_error(E_NOTICE, "Undefined offset: %ld", index);
- return &EG(uninitialized_zval_ptr);
+ switch (type) {
+ case BP_VAR_R:
+ zend_error(E_NOTICE, "Undefined offset: %ld", index);
+ case BP_VAR_UNSET:
+ case BP_VAR_IS:
+ retval = &EG(uninitialized_zval_ptr);
+ break;
+ case BP_VAR_RW:
+ zend_error(E_NOTICE, "Undefined offset: %ld", index);
+ case BP_VAR_W: {
+ zval *value;
+ ALLOC_INIT_ZVAL(value);
+ zend_hash_index_update(ht, index, (void**)&value, sizeof(void*), (void **)&retval);
+ }
}
- } else {
- return retval;
}
- break;
+ return retval;
default:
zend_error(E_WARNING, "Illegal offset type");
- return &EG(uninitialized_zval_ptr);
+ return (type == BP_VAR_W || type == BP_VAR_RW) ?
+ &EG(error_zval_ptr) : &EG(uninitialized_zval_ptr);
}
} /* }}} */
@@ -664,7 +671,6 @@ SPL_METHOD(Array, offsetSet)
spl_array_write_dimension_ex(0, getThis(), index, value TSRMLS_CC);
} /* }}} */
-
void spl_array_iterator_append(zval *object, zval *append_value TSRMLS_DC) /* {{{ */
{
spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC);
diff --git a/ext/spl/spl_array.h b/ext/spl/spl_array.h
index 909f4c97dc..909f4c97dc 100755..100644
--- a/ext/spl/spl_array.h
+++ b/ext/spl/spl_array.h
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index 8c1810ef71..8c1810ef71 100755..100644
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
diff --git a/ext/spl/spl_directory.h b/ext/spl/spl_directory.h
index 96f5dd6cb7..96f5dd6cb7 100755..100644
--- a/ext/spl/spl_directory.h
+++ b/ext/spl/spl_directory.h
diff --git a/ext/spl/spl_engine.c b/ext/spl/spl_engine.c
index d501f31435..d501f31435 100755..100644
--- a/ext/spl/spl_engine.c
+++ b/ext/spl/spl_engine.c
diff --git a/ext/spl/spl_engine.h b/ext/spl/spl_engine.h
index db7affef80..db7affef80 100755..100644
--- a/ext/spl/spl_engine.h
+++ b/ext/spl/spl_engine.h
diff --git a/ext/spl/spl_exceptions.c b/ext/spl/spl_exceptions.c
index 570299a2a8..570299a2a8 100755..100644
--- a/ext/spl/spl_exceptions.c
+++ b/ext/spl/spl_exceptions.c
diff --git a/ext/spl/spl_exceptions.h b/ext/spl/spl_exceptions.h
index 8d3a58a30c..8d3a58a30c 100755..100644
--- a/ext/spl/spl_exceptions.h
+++ b/ext/spl/spl_exceptions.h
diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c
index ee8f51eb33..0aac6d3f30 100644
--- a/ext/spl/spl_fixedarray.c
+++ b/ext/spl/spl_fixedarray.c
@@ -223,10 +223,14 @@ static zend_object_value spl_fixedarray_object_new_ex(zend_class_entry *class_ty
if (orig && clone_orig) {
spl_fixedarray_object *other = (spl_fixedarray_object*)zend_object_store_get_object(orig TSRMLS_CC);
intern->ce_get_iterator = other->ce_get_iterator;
-
- intern->array = emalloc(sizeof(spl_fixedarray));
- spl_fixedarray_init(intern->array, other->array->size TSRMLS_CC);
- spl_fixedarray_copy(intern->array, other->array TSRMLS_CC);
+ if (!other->array) {
+ /* leave a empty object, will be dtor later by CLONE handler */
+ zend_throw_exception(spl_ce_RuntimeException, "The instance wasn't initialized properly", 0 TSRMLS_CC);
+ } else {
+ intern->array = emalloc(sizeof(spl_fixedarray));
+ spl_fixedarray_init(intern->array, other->array->size TSRMLS_CC);
+ spl_fixedarray_copy(intern->array, other->array TSRMLS_CC);
+ }
}
while (parent) {
diff --git a/ext/spl/spl_functions.c b/ext/spl/spl_functions.c
index 3a3cdcc708..3a3cdcc708 100755..100644
--- a/ext/spl/spl_functions.c
+++ b/ext/spl/spl_functions.c
diff --git a/ext/spl/spl_functions.h b/ext/spl/spl_functions.h
index 8cf98e55b3..8cf98e55b3 100755..100644
--- a/ext/spl/spl_functions.h
+++ b/ext/spl/spl_functions.h
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c
index a46b7d4e48..a46b7d4e48 100755..100644
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
diff --git a/ext/spl/spl_iterators.h b/ext/spl/spl_iterators.h
index 525a25cc9e..525a25cc9e 100755..100644
--- a/ext/spl/spl_iterators.h
+++ b/ext/spl/spl_iterators.h
diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c
index 85bbeec731..85bbeec731 100755..100644
--- a/ext/spl/spl_observer.c
+++ b/ext/spl/spl_observer.c
diff --git a/ext/spl/spl_observer.h b/ext/spl/spl_observer.h
index bfee74f300..bfee74f300 100755..100644
--- a/ext/spl/spl_observer.h
+++ b/ext/spl/spl_observer.h
diff --git a/ext/spl/tests/array_001.phpt b/ext/spl/tests/array_001.phpt
index d9fb57c4ce..d9fb57c4ce 100755..100644
--- a/ext/spl/tests/array_001.phpt
+++ b/ext/spl/tests/array_001.phpt
diff --git a/ext/spl/tests/array_002.phpt b/ext/spl/tests/array_002.phpt
index 55935882f8..55935882f8 100755..100644
--- a/ext/spl/tests/array_002.phpt
+++ b/ext/spl/tests/array_002.phpt
diff --git a/ext/spl/tests/array_003.phpt b/ext/spl/tests/array_003.phpt
index de4ce30f91..de4ce30f91 100755..100644
--- a/ext/spl/tests/array_003.phpt
+++ b/ext/spl/tests/array_003.phpt
diff --git a/ext/spl/tests/array_004.phpt b/ext/spl/tests/array_004.phpt
index dd07f29820..dd07f29820 100755..100644
--- a/ext/spl/tests/array_004.phpt
+++ b/ext/spl/tests/array_004.phpt
diff --git a/ext/spl/tests/array_005.phpt b/ext/spl/tests/array_005.phpt
index d7ef15db1a..d7ef15db1a 100755..100644
--- a/ext/spl/tests/array_005.phpt
+++ b/ext/spl/tests/array_005.phpt
diff --git a/ext/spl/tests/array_006.phpt b/ext/spl/tests/array_006.phpt
index 49f2838f77..49f2838f77 100755..100644
--- a/ext/spl/tests/array_006.phpt
+++ b/ext/spl/tests/array_006.phpt
diff --git a/ext/spl/tests/array_007.phpt b/ext/spl/tests/array_007.phpt
index 7d9bf6afc1..7d9bf6afc1 100755..100644
--- a/ext/spl/tests/array_007.phpt
+++ b/ext/spl/tests/array_007.phpt
diff --git a/ext/spl/tests/array_008.phpt b/ext/spl/tests/array_008.phpt
index 61c7abd7c6..61c7abd7c6 100755..100644
--- a/ext/spl/tests/array_008.phpt
+++ b/ext/spl/tests/array_008.phpt
diff --git a/ext/spl/tests/array_009.phpt b/ext/spl/tests/array_009.phpt
index fc0d60baa9..fc0d60baa9 100755..100644
--- a/ext/spl/tests/array_009.phpt
+++ b/ext/spl/tests/array_009.phpt
diff --git a/ext/spl/tests/array_009a.phpt b/ext/spl/tests/array_009a.phpt
index 396aa9b9e9..396aa9b9e9 100755..100644
--- a/ext/spl/tests/array_009a.phpt
+++ b/ext/spl/tests/array_009a.phpt
diff --git a/ext/spl/tests/array_010.phpt b/ext/spl/tests/array_010.phpt
index 6b331e4b51..6b331e4b51 100755..100644
--- a/ext/spl/tests/array_010.phpt
+++ b/ext/spl/tests/array_010.phpt
diff --git a/ext/spl/tests/array_011.phpt b/ext/spl/tests/array_011.phpt
index 0c5ad55d68..0c5ad55d68 100755..100644
--- a/ext/spl/tests/array_011.phpt
+++ b/ext/spl/tests/array_011.phpt
diff --git a/ext/spl/tests/array_012.phpt b/ext/spl/tests/array_012.phpt
index 2ee9724d28..2ee9724d28 100755..100644
--- a/ext/spl/tests/array_012.phpt
+++ b/ext/spl/tests/array_012.phpt
diff --git a/ext/spl/tests/array_013.phpt b/ext/spl/tests/array_013.phpt
index 3fda53884f..3fda53884f 100755..100644
--- a/ext/spl/tests/array_013.phpt
+++ b/ext/spl/tests/array_013.phpt
diff --git a/ext/spl/tests/array_014.phpt b/ext/spl/tests/array_014.phpt
index 1ac9d4f956..1ac9d4f956 100755..100644
--- a/ext/spl/tests/array_014.phpt
+++ b/ext/spl/tests/array_014.phpt
diff --git a/ext/spl/tests/array_015.phpt b/ext/spl/tests/array_015.phpt
index f0bf9f4087..f0bf9f4087 100755..100644
--- a/ext/spl/tests/array_015.phpt
+++ b/ext/spl/tests/array_015.phpt
diff --git a/ext/spl/tests/array_016.phpt b/ext/spl/tests/array_016.phpt
index 8637c5c886..8637c5c886 100755..100644
--- a/ext/spl/tests/array_016.phpt
+++ b/ext/spl/tests/array_016.phpt
diff --git a/ext/spl/tests/array_017.phpt b/ext/spl/tests/array_017.phpt
index 8f3d345438..8f3d345438 100755..100644
--- a/ext/spl/tests/array_017.phpt
+++ b/ext/spl/tests/array_017.phpt
diff --git a/ext/spl/tests/array_018.phpt b/ext/spl/tests/array_018.phpt
index 7c68a6280e..7c68a6280e 100755..100644
--- a/ext/spl/tests/array_018.phpt
+++ b/ext/spl/tests/array_018.phpt
Binary files differ
diff --git a/ext/spl/tests/array_019.phpt b/ext/spl/tests/array_019.phpt
index d128f4de7b..d128f4de7b 100755..100644
--- a/ext/spl/tests/array_019.phpt
+++ b/ext/spl/tests/array_019.phpt
diff --git a/ext/spl/tests/array_020.phpt b/ext/spl/tests/array_020.phpt
index 4c6fe0df25..4c6fe0df25 100755..100644
--- a/ext/spl/tests/array_020.phpt
+++ b/ext/spl/tests/array_020.phpt
diff --git a/ext/spl/tests/array_021.phpt b/ext/spl/tests/array_021.phpt
index f2ae0c87e5..f2ae0c87e5 100755..100644
--- a/ext/spl/tests/array_021.phpt
+++ b/ext/spl/tests/array_021.phpt
diff --git a/ext/spl/tests/array_022.phpt b/ext/spl/tests/array_022.phpt
index 82da3bbfe3..82da3bbfe3 100755..100644
--- a/ext/spl/tests/array_022.phpt
+++ b/ext/spl/tests/array_022.phpt
diff --git a/ext/spl/tests/bug28822.phpt b/ext/spl/tests/bug28822.phpt
index 7114edac9f..7114edac9f 100755..100644
--- a/ext/spl/tests/bug28822.phpt
+++ b/ext/spl/tests/bug28822.phpt
diff --git a/ext/spl/tests/bug31185.phpt b/ext/spl/tests/bug31185.phpt
index aa410ebaae..aa410ebaae 100755..100644
--- a/ext/spl/tests/bug31185.phpt
+++ b/ext/spl/tests/bug31185.phpt
diff --git a/ext/spl/tests/bug31346.phpt b/ext/spl/tests/bug31346.phpt
index 9b5618ec0e..9b5618ec0e 100755..100644
--- a/ext/spl/tests/bug31346.phpt
+++ b/ext/spl/tests/bug31346.phpt
diff --git a/ext/spl/tests/bug31348.phpt b/ext/spl/tests/bug31348.phpt
index 047e4b223a..047e4b223a 100755..100644
--- a/ext/spl/tests/bug31348.phpt
+++ b/ext/spl/tests/bug31348.phpt
diff --git a/ext/spl/tests/bug31926.phpt b/ext/spl/tests/bug31926.phpt
index 2d72df421d..2d72df421d 100755..100644
--- a/ext/spl/tests/bug31926.phpt
+++ b/ext/spl/tests/bug31926.phpt
diff --git a/ext/spl/tests/bug32134.phpt b/ext/spl/tests/bug32134.phpt
index 5a880b321d..5a880b321d 100755..100644
--- a/ext/spl/tests/bug32134.phpt
+++ b/ext/spl/tests/bug32134.phpt
diff --git a/ext/spl/tests/bug32394.phpt b/ext/spl/tests/bug32394.phpt
index 8189b23f7a..8189b23f7a 100755..100644
--- a/ext/spl/tests/bug32394.phpt
+++ b/ext/spl/tests/bug32394.phpt
diff --git a/ext/spl/tests/bug33136.phpt b/ext/spl/tests/bug33136.phpt
index 121ff58ad7..121ff58ad7 100755..100644
--- a/ext/spl/tests/bug33136.phpt
+++ b/ext/spl/tests/bug33136.phpt
diff --git a/ext/spl/tests/bug36287.phpt b/ext/spl/tests/bug36287.phpt
index 0c3f287d4f..0c3f287d4f 100755..100644
--- a/ext/spl/tests/bug36287.phpt
+++ b/ext/spl/tests/bug36287.phpt
diff --git a/ext/spl/tests/bug36941.phpt b/ext/spl/tests/bug36941.phpt
index 528ba4a462..528ba4a462 100755..100644
--- a/ext/spl/tests/bug36941.phpt
+++ b/ext/spl/tests/bug36941.phpt
diff --git a/ext/spl/tests/bug37457.phpt b/ext/spl/tests/bug37457.phpt
index e66fa4d6ed..e66fa4d6ed 100755..100644
--- a/ext/spl/tests/bug37457.phpt
+++ b/ext/spl/tests/bug37457.phpt
diff --git a/ext/spl/tests/bug40442.phpt b/ext/spl/tests/bug40442.phpt
index fbeb22d2b3..fbeb22d2b3 100755..100644
--- a/ext/spl/tests/bug40442.phpt
+++ b/ext/spl/tests/bug40442.phpt
diff --git a/ext/spl/tests/bug40872.phpt b/ext/spl/tests/bug40872.phpt
index a48fe74feb..a48fe74feb 100755..100644
--- a/ext/spl/tests/bug40872.phpt
+++ b/ext/spl/tests/bug40872.phpt
diff --git a/ext/spl/tests/bug42654.phpt b/ext/spl/tests/bug42654.phpt
index 20aad74b73..20aad74b73 100755..100644
--- a/ext/spl/tests/bug42654.phpt
+++ b/ext/spl/tests/bug42654.phpt
diff --git a/ext/spl/tests/bug42703.phpt b/ext/spl/tests/bug42703.phpt
index 5c52763cd6..5c52763cd6 100755..100644
--- a/ext/spl/tests/bug42703.phpt
+++ b/ext/spl/tests/bug42703.phpt
diff --git a/ext/spl/tests/bug49972.phpt b/ext/spl/tests/bug49972.phpt
index 843c2519ba..843c2519ba 100755..100644
--- a/ext/spl/tests/bug49972.phpt
+++ b/ext/spl/tests/bug49972.phpt
diff --git a/ext/spl/tests/bug60082.phpt b/ext/spl/tests/bug60082.phpt
index 346bee7974..346bee7974 100755..100644
--- a/ext/spl/tests/bug60082.phpt
+++ b/ext/spl/tests/bug60082.phpt
diff --git a/ext/spl/tests/bug62904.phpt b/ext/spl/tests/bug62904.phpt
new file mode 100644
index 0000000000..7e392da9ab
--- /dev/null
+++ b/ext/spl/tests/bug62904.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Bug #62904 (Crash when cloning an object which inherits SplFixedArray)
+--FILE--
+<?php
+
+class foo extends SplFixedArray {
+ public function __construct($size) {
+ }
+}
+
+$x = new foo(2);
+
+try {
+ $z = clone $x;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+--EXPECTF--
+string(40) "The instance wasn't initialized properly"
diff --git a/ext/spl/tests/bug62978.phpt b/ext/spl/tests/bug62978.phpt
new file mode 100644
index 0000000000..94068d5604
--- /dev/null
+++ b/ext/spl/tests/bug62978.phpt
@@ -0,0 +1,50 @@
+--TEST--
+Bug #62987 (Assigning to ArrayObject[null][something] overrides all undefined variables)
+--FILE--
+<?php
+$a = new ArrayObject();
+
+$b = array();
+
+$a[null]['hurr'] = 'durr';
+
+var_dump($a['epic_magic']);
+var_dump($b['epic_magic']);
+var_dump($c['epic_magic']); // Undefined var!!
+
+$d = array();
+var_dump($a['epic_magic']); // more magic!
+var_dump($d['epic_magic']);
+
+$e = 'srsly?';
+var_dump($a['epic_magic']); // srsly.
+var_dump(isset($a['epic_magic']));
+
+$fp = fopen(__FILE__, 'r');
+var_dump($a[$fp]);
+
+fclose($fp);
+--EXPECTF--
+Notice: Undefined index: epic_magic in %sbug62978.php on line %d
+NULL
+
+Notice: Undefined index: epic_magic in %sbug62978.php on line %d
+NULL
+
+Notice: Undefined variable: c in %sbug62978.php on line %d
+NULL
+
+Notice: Undefined index: epic_magic in %sbug62978.php on line %d
+NULL
+
+Notice: Undefined index: epic_magic in %sbug62978.php on line %d
+NULL
+
+Notice: Undefined index: epic_magic in %sbug62978.php on line %d
+NULL
+bool(false)
+
+Strict Standards: Resource ID#%d used as offset, casting to integer (%d) in %sbug62978.php on line %d
+
+Notice: Undefined offset: %d in %sbug62978.php on line %d
+NULL
diff --git a/ext/spl/tests/dit_001.phpt b/ext/spl/tests/dit_001.phpt
index a56166def0..a56166def0 100755..100644
--- a/ext/spl/tests/dit_001.phpt
+++ b/ext/spl/tests/dit_001.phpt
diff --git a/ext/spl/tests/dit_002.phpt b/ext/spl/tests/dit_002.phpt
index a2665421e0..a2665421e0 100755..100644
--- a/ext/spl/tests/dit_002.phpt
+++ b/ext/spl/tests/dit_002.phpt
diff --git a/ext/spl/tests/dit_003.phpt b/ext/spl/tests/dit_003.phpt
index 4ffc2921e0..4ffc2921e0 100755..100644
--- a/ext/spl/tests/dit_003.phpt
+++ b/ext/spl/tests/dit_003.phpt
diff --git a/ext/spl/tests/fileobject_001.phpt b/ext/spl/tests/fileobject_001.phpt
index 61f688d79f..61f688d79f 100755..100644
--- a/ext/spl/tests/fileobject_001.phpt
+++ b/ext/spl/tests/fileobject_001.phpt
diff --git a/ext/spl/tests/fileobject_002.phpt b/ext/spl/tests/fileobject_002.phpt
index 8031e98fdc..8031e98fdc 100755..100644
--- a/ext/spl/tests/fileobject_002.phpt
+++ b/ext/spl/tests/fileobject_002.phpt
diff --git a/ext/spl/tests/fileobject_003.phpt b/ext/spl/tests/fileobject_003.phpt
index 6cc650b7b5..6cc650b7b5 100755..100644
--- a/ext/spl/tests/fileobject_003.phpt
+++ b/ext/spl/tests/fileobject_003.phpt
diff --git a/ext/spl/tests/iterator_001.phpt b/ext/spl/tests/iterator_001.phpt
index 26df62e85b..26df62e85b 100755..100644
--- a/ext/spl/tests/iterator_001.phpt
+++ b/ext/spl/tests/iterator_001.phpt
diff --git a/ext/spl/tests/iterator_002.phpt b/ext/spl/tests/iterator_002.phpt
index 527fe6b776..527fe6b776 100755..100644
--- a/ext/spl/tests/iterator_002.phpt
+++ b/ext/spl/tests/iterator_002.phpt
diff --git a/ext/spl/tests/iterator_003.phpt b/ext/spl/tests/iterator_003.phpt
index 11d37b303b..11d37b303b 100755..100644
--- a/ext/spl/tests/iterator_003.phpt
+++ b/ext/spl/tests/iterator_003.phpt
diff --git a/ext/spl/tests/iterator_004.phpt b/ext/spl/tests/iterator_004.phpt
index e07cd32c39..e07cd32c39 100755..100644
--- a/ext/spl/tests/iterator_004.phpt
+++ b/ext/spl/tests/iterator_004.phpt
diff --git a/ext/spl/tests/iterator_005.phpt b/ext/spl/tests/iterator_005.phpt
index 640ca9f9c2..640ca9f9c2 100755..100644
--- a/ext/spl/tests/iterator_005.phpt
+++ b/ext/spl/tests/iterator_005.phpt
diff --git a/ext/spl/tests/iterator_006.phpt b/ext/spl/tests/iterator_006.phpt
index 54da89cbd7..54da89cbd7 100755..100644
--- a/ext/spl/tests/iterator_006.phpt
+++ b/ext/spl/tests/iterator_006.phpt
diff --git a/ext/spl/tests/iterator_007.phpt b/ext/spl/tests/iterator_007.phpt
index d26c01ef79..d26c01ef79 100755..100644
--- a/ext/spl/tests/iterator_007.phpt
+++ b/ext/spl/tests/iterator_007.phpt
diff --git a/ext/spl/tests/iterator_008.phpt b/ext/spl/tests/iterator_008.phpt
index 04f8c00348..04f8c00348 100755..100644
--- a/ext/spl/tests/iterator_008.phpt
+++ b/ext/spl/tests/iterator_008.phpt
diff --git a/ext/spl/tests/iterator_009.phpt b/ext/spl/tests/iterator_009.phpt
index 0bfe74ef7f..0bfe74ef7f 100755..100644
--- a/ext/spl/tests/iterator_009.phpt
+++ b/ext/spl/tests/iterator_009.phpt
diff --git a/ext/spl/tests/iterator_010.phpt b/ext/spl/tests/iterator_010.phpt
index 39d1000f62..39d1000f62 100755..100644
--- a/ext/spl/tests/iterator_010.phpt
+++ b/ext/spl/tests/iterator_010.phpt
diff --git a/ext/spl/tests/iterator_011.phpt b/ext/spl/tests/iterator_011.phpt
index fca159a20f..fca159a20f 100755..100644
--- a/ext/spl/tests/iterator_011.phpt
+++ b/ext/spl/tests/iterator_011.phpt
diff --git a/ext/spl/tests/iterator_012.phpt b/ext/spl/tests/iterator_012.phpt
index 81bc02f69c..81bc02f69c 100755..100644
--- a/ext/spl/tests/iterator_012.phpt
+++ b/ext/spl/tests/iterator_012.phpt
diff --git a/ext/spl/tests/iterator_013.phpt b/ext/spl/tests/iterator_013.phpt
index 119631c000..119631c000 100755..100644
--- a/ext/spl/tests/iterator_013.phpt
+++ b/ext/spl/tests/iterator_013.phpt
diff --git a/ext/spl/tests/iterator_014.phpt b/ext/spl/tests/iterator_014.phpt
index 119fad05fb..119fad05fb 100755..100644
--- a/ext/spl/tests/iterator_014.phpt
+++ b/ext/spl/tests/iterator_014.phpt
diff --git a/ext/spl/tests/iterator_015.phpt b/ext/spl/tests/iterator_015.phpt
index aa30f79e1f..aa30f79e1f 100755..100644
--- a/ext/spl/tests/iterator_015.phpt
+++ b/ext/spl/tests/iterator_015.phpt
diff --git a/ext/spl/tests/iterator_016.phpt b/ext/spl/tests/iterator_016.phpt
index f231c6eb34..f231c6eb34 100755..100644
--- a/ext/spl/tests/iterator_016.phpt
+++ b/ext/spl/tests/iterator_016.phpt
diff --git a/ext/spl/tests/iterator_017.phpt b/ext/spl/tests/iterator_017.phpt
index 39d1000f62..39d1000f62 100755..100644
--- a/ext/spl/tests/iterator_017.phpt
+++ b/ext/spl/tests/iterator_017.phpt
diff --git a/ext/spl/tests/iterator_018.phpt b/ext/spl/tests/iterator_018.phpt
index 9c234bb11d..9c234bb11d 100755..100644
--- a/ext/spl/tests/iterator_018.phpt
+++ b/ext/spl/tests/iterator_018.phpt
diff --git a/ext/spl/tests/iterator_019.phpt b/ext/spl/tests/iterator_019.phpt
index 81bc02f69c..81bc02f69c 100755..100644
--- a/ext/spl/tests/iterator_019.phpt
+++ b/ext/spl/tests/iterator_019.phpt
diff --git a/ext/spl/tests/iterator_020.phpt b/ext/spl/tests/iterator_020.phpt
index 119631c000..119631c000 100755..100644
--- a/ext/spl/tests/iterator_020.phpt
+++ b/ext/spl/tests/iterator_020.phpt
diff --git a/ext/spl/tests/iterator_021.phpt b/ext/spl/tests/iterator_021.phpt
index 4f2395a8e5..4f2395a8e5 100755..100644
--- a/ext/spl/tests/iterator_021.phpt
+++ b/ext/spl/tests/iterator_021.phpt
diff --git a/ext/spl/tests/iterator_022.phpt b/ext/spl/tests/iterator_022.phpt
index 8d055313ac..8d055313ac 100755..100644
--- a/ext/spl/tests/iterator_022.phpt
+++ b/ext/spl/tests/iterator_022.phpt
diff --git a/ext/spl/tests/iterator_023.phpt b/ext/spl/tests/iterator_023.phpt
index 1b6b4685ec..1b6b4685ec 100755..100644
--- a/ext/spl/tests/iterator_023.phpt
+++ b/ext/spl/tests/iterator_023.phpt
diff --git a/ext/spl/tests/iterator_024.phpt b/ext/spl/tests/iterator_024.phpt
index 0c7dea15bc..0c7dea15bc 100755..100644
--- a/ext/spl/tests/iterator_024.phpt
+++ b/ext/spl/tests/iterator_024.phpt
diff --git a/ext/spl/tests/iterator_025.phpt b/ext/spl/tests/iterator_025.phpt
index e582b1f39e..e582b1f39e 100755..100644
--- a/ext/spl/tests/iterator_025.phpt
+++ b/ext/spl/tests/iterator_025.phpt
diff --git a/ext/spl/tests/iterator_026.phpt b/ext/spl/tests/iterator_026.phpt
index 1e6058246b..1e6058246b 100755..100644
--- a/ext/spl/tests/iterator_026.phpt
+++ b/ext/spl/tests/iterator_026.phpt
diff --git a/ext/spl/tests/iterator_027.phpt b/ext/spl/tests/iterator_027.phpt
index fd9ba70c0f..fd9ba70c0f 100755..100644
--- a/ext/spl/tests/iterator_027.phpt
+++ b/ext/spl/tests/iterator_027.phpt
diff --git a/ext/spl/tests/iterator_028.phpt b/ext/spl/tests/iterator_028.phpt
index 8b53b2123a..8b53b2123a 100755..100644
--- a/ext/spl/tests/iterator_028.phpt
+++ b/ext/spl/tests/iterator_028.phpt
diff --git a/ext/spl/tests/iterator_029.phpt b/ext/spl/tests/iterator_029.phpt
index e5bfde0219..e5bfde0219 100755..100644
--- a/ext/spl/tests/iterator_029.phpt
+++ b/ext/spl/tests/iterator_029.phpt
diff --git a/ext/spl/tests/iterator_030.phpt b/ext/spl/tests/iterator_030.phpt
index 29d147f12b..29d147f12b 100755..100644
--- a/ext/spl/tests/iterator_030.phpt
+++ b/ext/spl/tests/iterator_030.phpt
diff --git a/ext/spl/tests/iterator_031.phpt b/ext/spl/tests/iterator_031.phpt
index 40342f4bb4..40342f4bb4 100755..100644
--- a/ext/spl/tests/iterator_031.phpt
+++ b/ext/spl/tests/iterator_031.phpt
diff --git a/ext/spl/tests/iterator_032.phpt b/ext/spl/tests/iterator_032.phpt
index 84eb8e61fb..84eb8e61fb 100755..100644
--- a/ext/spl/tests/iterator_032.phpt
+++ b/ext/spl/tests/iterator_032.phpt
diff --git a/ext/spl/tests/iterator_033.phpt b/ext/spl/tests/iterator_033.phpt
index 548759ccbb..548759ccbb 100755..100644
--- a/ext/spl/tests/iterator_033.phpt
+++ b/ext/spl/tests/iterator_033.phpt
diff --git a/ext/spl/tests/iterator_034.phpt b/ext/spl/tests/iterator_034.phpt
index 3329e744bd..3329e744bd 100755..100644
--- a/ext/spl/tests/iterator_034.phpt
+++ b/ext/spl/tests/iterator_034.phpt
diff --git a/ext/spl/tests/iterator_036.phpt b/ext/spl/tests/iterator_036.phpt
index 9a9e66b3b3..9a9e66b3b3 100755..100644
--- a/ext/spl/tests/iterator_036.phpt
+++ b/ext/spl/tests/iterator_036.phpt
diff --git a/ext/spl/tests/iterator_037.phpt b/ext/spl/tests/iterator_037.phpt
index 2aa61bb03f..2aa61bb03f 100755..100644
--- a/ext/spl/tests/iterator_037.phpt
+++ b/ext/spl/tests/iterator_037.phpt
diff --git a/ext/spl/tests/iterator_038.phpt b/ext/spl/tests/iterator_038.phpt
index 9b890e2662..9b890e2662 100755..100644
--- a/ext/spl/tests/iterator_038.phpt
+++ b/ext/spl/tests/iterator_038.phpt
diff --git a/ext/spl/tests/iterator_039.phpt b/ext/spl/tests/iterator_039.phpt
index 17c9bc1ca5..17c9bc1ca5 100755..100644
--- a/ext/spl/tests/iterator_039.phpt
+++ b/ext/spl/tests/iterator_039.phpt
diff --git a/ext/spl/tests/iterator_040.phpt b/ext/spl/tests/iterator_040.phpt
index ae00c81df3..ae00c81df3 100755..100644
--- a/ext/spl/tests/iterator_040.phpt
+++ b/ext/spl/tests/iterator_040.phpt
diff --git a/ext/spl/tests/iterator_041.phpt b/ext/spl/tests/iterator_041.phpt
index e00ac6bc2b..e00ac6bc2b 100755..100644
--- a/ext/spl/tests/iterator_041.phpt
+++ b/ext/spl/tests/iterator_041.phpt
diff --git a/ext/spl/tests/iterator_041a.phpt b/ext/spl/tests/iterator_041a.phpt
index ec999a5dae..ec999a5dae 100755..100644
--- a/ext/spl/tests/iterator_041a.phpt
+++ b/ext/spl/tests/iterator_041a.phpt
diff --git a/ext/spl/tests/iterator_041b.phpt b/ext/spl/tests/iterator_041b.phpt
index e166f6bdce..e166f6bdce 100755..100644
--- a/ext/spl/tests/iterator_041b.phpt
+++ b/ext/spl/tests/iterator_041b.phpt
diff --git a/ext/spl/tests/iterator_042.phpt b/ext/spl/tests/iterator_042.phpt
index 95fea2f6b8..95fea2f6b8 100755..100644
--- a/ext/spl/tests/iterator_042.phpt
+++ b/ext/spl/tests/iterator_042.phpt
diff --git a/ext/spl/tests/iterator_043.phpt b/ext/spl/tests/iterator_043.phpt
index 301a593ba2..301a593ba2 100755..100644
--- a/ext/spl/tests/iterator_043.phpt
+++ b/ext/spl/tests/iterator_043.phpt
diff --git a/ext/spl/tests/iterator_044.phpt b/ext/spl/tests/iterator_044.phpt
index 6d25531175..6d25531175 100755..100644
--- a/ext/spl/tests/iterator_044.phpt
+++ b/ext/spl/tests/iterator_044.phpt
diff --git a/ext/spl/tests/iterator_045.phpt b/ext/spl/tests/iterator_045.phpt
index d76b2d93ce..d76b2d93ce 100755..100644
--- a/ext/spl/tests/iterator_045.phpt
+++ b/ext/spl/tests/iterator_045.phpt
diff --git a/ext/spl/tests/iterator_046.phpt b/ext/spl/tests/iterator_046.phpt
index f57415a3b2..f57415a3b2 100755..100644
--- a/ext/spl/tests/iterator_046.phpt
+++ b/ext/spl/tests/iterator_046.phpt
diff --git a/ext/spl/tests/iterator_047.phpt b/ext/spl/tests/iterator_047.phpt
index e5fec4f585..e5fec4f585 100755..100644
--- a/ext/spl/tests/iterator_047.phpt
+++ b/ext/spl/tests/iterator_047.phpt
diff --git a/ext/spl/tests/iterator_048.phpt b/ext/spl/tests/iterator_048.phpt
index bad4e7888a..bad4e7888a 100755..100644
--- a/ext/spl/tests/iterator_048.phpt
+++ b/ext/spl/tests/iterator_048.phpt
diff --git a/ext/spl/tests/iterator_049.phpt b/ext/spl/tests/iterator_049.phpt
index b9ab2c30ac..b9ab2c30ac 100755..100644
--- a/ext/spl/tests/iterator_049.phpt
+++ b/ext/spl/tests/iterator_049.phpt
diff --git a/ext/spl/tests/iterator_049b.phpt b/ext/spl/tests/iterator_049b.phpt
index 03c7350fa2..03c7350fa2 100755..100644
--- a/ext/spl/tests/iterator_049b.phpt
+++ b/ext/spl/tests/iterator_049b.phpt
Binary files differ
diff --git a/ext/spl/tests/iterator_050.phpt b/ext/spl/tests/iterator_050.phpt
index 63d8fbfa9a..63d8fbfa9a 100755..100644
--- a/ext/spl/tests/iterator_050.phpt
+++ b/ext/spl/tests/iterator_050.phpt
diff --git a/ext/spl/tests/iterator_051.phpt b/ext/spl/tests/iterator_051.phpt
index 2d198db520..2d198db520 100755..100644
--- a/ext/spl/tests/iterator_051.phpt
+++ b/ext/spl/tests/iterator_051.phpt
diff --git a/ext/spl/tests/iterator_052.phpt b/ext/spl/tests/iterator_052.phpt
index a0cbdd8f73..a0cbdd8f73 100755..100644
--- a/ext/spl/tests/iterator_052.phpt
+++ b/ext/spl/tests/iterator_052.phpt
diff --git a/ext/spl/tests/iterator_053.phpt b/ext/spl/tests/iterator_053.phpt
index 5d9c740c31..5d9c740c31 100755..100644
--- a/ext/spl/tests/iterator_053.phpt
+++ b/ext/spl/tests/iterator_053.phpt
diff --git a/ext/spl/tests/iterator_054.phpt b/ext/spl/tests/iterator_054.phpt
index 91266c9571..91266c9571 100755..100644
--- a/ext/spl/tests/iterator_054.phpt
+++ b/ext/spl/tests/iterator_054.phpt
diff --git a/ext/spl/tests/iterator_055.phpt b/ext/spl/tests/iterator_055.phpt
index dec68a463b..dec68a463b 100755..100644
--- a/ext/spl/tests/iterator_055.phpt
+++ b/ext/spl/tests/iterator_055.phpt
diff --git a/ext/spl/tests/iterator_068.phpt b/ext/spl/tests/iterator_068.phpt
index 4845708d43..4845708d43 100755..100644
--- a/ext/spl/tests/iterator_068.phpt
+++ b/ext/spl/tests/iterator_068.phpt
diff --git a/ext/spl/tests/multiple_iterator_001.phpt b/ext/spl/tests/multiple_iterator_001.phpt
index edd03f5040..edd03f5040 100755..100644
--- a/ext/spl/tests/multiple_iterator_001.phpt
+++ b/ext/spl/tests/multiple_iterator_001.phpt
diff --git a/ext/spl/tests/observer_001.phpt b/ext/spl/tests/observer_001.phpt
index e7d72b9e24..e7d72b9e24 100755..100644
--- a/ext/spl/tests/observer_001.phpt
+++ b/ext/spl/tests/observer_001.phpt
diff --git a/ext/spl/tests/observer_002.phpt b/ext/spl/tests/observer_002.phpt
index 5d006177f2..5d006177f2 100755..100644
--- a/ext/spl/tests/observer_002.phpt
+++ b/ext/spl/tests/observer_002.phpt
diff --git a/ext/spl/tests/observer_003.phpt b/ext/spl/tests/observer_003.phpt
index 5e5da22e38..5e5da22e38 100755..100644
--- a/ext/spl/tests/observer_003.phpt
+++ b/ext/spl/tests/observer_003.phpt
diff --git a/ext/spl/tests/observer_004.phpt b/ext/spl/tests/observer_004.phpt
index 0bc2512d80..0bc2512d80 100755..100644
--- a/ext/spl/tests/observer_004.phpt
+++ b/ext/spl/tests/observer_004.phpt
diff --git a/ext/spl/tests/observer_005.phpt b/ext/spl/tests/observer_005.phpt
index 883602f51d..883602f51d 100755..100644
--- a/ext/spl/tests/observer_005.phpt
+++ b/ext/spl/tests/observer_005.phpt
diff --git a/ext/spl/tests/observer_006.phpt b/ext/spl/tests/observer_006.phpt
index 3cd84a742f..3cd84a742f 100755..100644
--- a/ext/spl/tests/observer_006.phpt
+++ b/ext/spl/tests/observer_006.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_001.phpt b/ext/spl/tests/recursive_tree_iterator_001.phpt
index f70186cdd8..f70186cdd8 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_001.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_001.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_002.phpt b/ext/spl/tests/recursive_tree_iterator_002.phpt
index 1aae288e63..1aae288e63 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_002.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_002.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_003.phpt b/ext/spl/tests/recursive_tree_iterator_003.phpt
index 83c8553942..83c8553942 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_003.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_003.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_004.phpt b/ext/spl/tests/recursive_tree_iterator_004.phpt
index ad3ba6cd0a..ad3ba6cd0a 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_004.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_004.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_005.phpt b/ext/spl/tests/recursive_tree_iterator_005.phpt
index b14811fbe8..b14811fbe8 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_005.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_005.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_006.phpt b/ext/spl/tests/recursive_tree_iterator_006.phpt
index 17f51b6d0c..17f51b6d0c 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_006.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_006.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_007.phpt b/ext/spl/tests/recursive_tree_iterator_007.phpt
index 6a8ff8425a..6a8ff8425a 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_007.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_007.phpt
diff --git a/ext/spl/tests/recursive_tree_iterator_008.phpt b/ext/spl/tests/recursive_tree_iterator_008.phpt
index a0349800fb..a0349800fb 100755..100644
--- a/ext/spl/tests/recursive_tree_iterator_008.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_008.phpt
diff --git a/ext/spl/tests/spl_001.phpt b/ext/spl/tests/spl_001.phpt
index e101272a84..e101272a84 100755..100644
--- a/ext/spl/tests/spl_001.phpt
+++ b/ext/spl/tests/spl_001.phpt
diff --git a/ext/spl/tests/spl_002.phpt b/ext/spl/tests/spl_002.phpt
index d8b71b20cf..d8b71b20cf 100755..100644
--- a/ext/spl/tests/spl_002.phpt
+++ b/ext/spl/tests/spl_002.phpt
diff --git a/ext/spl/tests/spl_003.phpt b/ext/spl/tests/spl_003.phpt
index e92a41ae46..e92a41ae46 100755..100644
--- a/ext/spl/tests/spl_003.phpt
+++ b/ext/spl/tests/spl_003.phpt
diff --git a/ext/spl/tests/spl_004.phpt b/ext/spl/tests/spl_004.phpt
index bea5695846..bea5695846 100755..100644
--- a/ext/spl/tests/spl_004.phpt
+++ b/ext/spl/tests/spl_004.phpt
diff --git a/ext/spl/tests/spl_005.phpt b/ext/spl/tests/spl_005.phpt
index 219c791bbb..219c791bbb 100755..100644
--- a/ext/spl/tests/spl_005.phpt
+++ b/ext/spl/tests/spl_005.phpt
diff --git a/ext/spl/tests/spl_006.phpt b/ext/spl/tests/spl_006.phpt
index 1f5f85fb6d..1f5f85fb6d 100755..100644
--- a/ext/spl/tests/spl_006.phpt
+++ b/ext/spl/tests/spl_006.phpt
diff --git a/ext/spl/tests/spl_007.phpt b/ext/spl/tests/spl_007.phpt
index 6d4059d0b5..6d4059d0b5 100755..100644
--- a/ext/spl/tests/spl_007.phpt
+++ b/ext/spl/tests/spl_007.phpt
diff --git a/ext/spl/tests/spl_autoload_001.phpt b/ext/spl/tests/spl_autoload_001.phpt
index ff9d1e97d9..ff9d1e97d9 100755..100644
--- a/ext/spl/tests/spl_autoload_001.phpt
+++ b/ext/spl/tests/spl_autoload_001.phpt
diff --git a/ext/spl/tests/spl_autoload_002.phpt b/ext/spl/tests/spl_autoload_002.phpt
index 2373d6dbbc..2373d6dbbc 100755..100644
--- a/ext/spl/tests/spl_autoload_002.phpt
+++ b/ext/spl/tests/spl_autoload_002.phpt
diff --git a/ext/spl/tests/spl_autoload_003.phpt b/ext/spl/tests/spl_autoload_003.phpt
index 7c0bd1a021..7c0bd1a021 100755..100644
--- a/ext/spl/tests/spl_autoload_003.phpt
+++ b/ext/spl/tests/spl_autoload_003.phpt
diff --git a/ext/spl/tests/spl_autoload_004.phpt b/ext/spl/tests/spl_autoload_004.phpt
index 1f26521b90..1f26521b90 100755..100644
--- a/ext/spl/tests/spl_autoload_004.phpt
+++ b/ext/spl/tests/spl_autoload_004.phpt
diff --git a/ext/spl/tests/spl_autoload_005.phpt b/ext/spl/tests/spl_autoload_005.phpt
index f4db521d52..f4db521d52 100755..100644
--- a/ext/spl/tests/spl_autoload_005.phpt
+++ b/ext/spl/tests/spl_autoload_005.phpt
diff --git a/ext/spl/tests/spl_autoload_006.phpt b/ext/spl/tests/spl_autoload_006.phpt
index 21a6084eb4..21a6084eb4 100755..100644
--- a/ext/spl/tests/spl_autoload_006.phpt
+++ b/ext/spl/tests/spl_autoload_006.phpt
diff --git a/ext/spl/tests/spl_autoload_007.phpt b/ext/spl/tests/spl_autoload_007.phpt
index 1a81f191c7..1a81f191c7 100755..100644
--- a/ext/spl/tests/spl_autoload_007.phpt
+++ b/ext/spl/tests/spl_autoload_007.phpt
diff --git a/ext/spl/tests/spl_autoload_008.phpt b/ext/spl/tests/spl_autoload_008.phpt
index 4b10351866..4b10351866 100755..100644
--- a/ext/spl/tests/spl_autoload_008.phpt
+++ b/ext/spl/tests/spl_autoload_008.phpt
diff --git a/ext/spl/tests/spl_autoload_009.phpt b/ext/spl/tests/spl_autoload_009.phpt
index d5e54137eb..d5e54137eb 100755..100644
--- a/ext/spl/tests/spl_autoload_009.phpt
+++ b/ext/spl/tests/spl_autoload_009.phpt
diff --git a/ext/spl/tests/spl_autoload_012.phpt b/ext/spl/tests/spl_autoload_012.phpt
index e07f0e4fe5..e07f0e4fe5 100755..100644
--- a/ext/spl/tests/spl_autoload_012.phpt
+++ b/ext/spl/tests/spl_autoload_012.phpt
diff --git a/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt b/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt
index cee557e330..cee557e330 100755..100644
--- a/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt
+++ b/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt
diff --git a/ext/spl/tests/spl_iterator_apply_error.phpt b/ext/spl/tests/spl_iterator_apply_error.phpt
index 8e7cba483a..8e7cba483a 100755..100644
--- a/ext/spl/tests/spl_iterator_apply_error.phpt
+++ b/ext/spl/tests/spl_iterator_apply_error.phpt
diff --git a/ext/spl/tests/spl_iterator_apply_error_001.phpt b/ext/spl/tests/spl_iterator_apply_error_001.phpt
index 54663c0da8..54663c0da8 100755..100644
--- a/ext/spl/tests/spl_iterator_apply_error_001.phpt
+++ b/ext/spl/tests/spl_iterator_apply_error_001.phpt
diff --git a/ext/spl/tests/spl_iterator_to_array_error.phpt b/ext/spl/tests/spl_iterator_to_array_error.phpt
index 755ef7b990..755ef7b990 100755..100644
--- a/ext/spl/tests/spl_iterator_to_array_error.phpt
+++ b/ext/spl/tests/spl_iterator_to_array_error.phpt
diff --git a/ext/spl/tests/testclass.class.inc b/ext/spl/tests/testclass.class.inc
index f5fe7411fa..f5fe7411fa 100755..100644
--- a/ext/spl/tests/testclass.class.inc
+++ b/ext/spl/tests/testclass.class.inc
diff --git a/ext/spl/tests/testclass.inc b/ext/spl/tests/testclass.inc
index ceb24c877c..ceb24c877c 100755..100644
--- a/ext/spl/tests/testclass.inc
+++ b/ext/spl/tests/testclass.inc
diff --git a/ext/spl/tests/testclass.php.inc b/ext/spl/tests/testclass.php.inc
index ceb24c877c..ceb24c877c 100755..100644
--- a/ext/spl/tests/testclass.php.inc
+++ b/ext/spl/tests/testclass.php.inc
diff --git a/ext/sqlite/libsqlite/src/config_static.w32.h b/ext/sqlite/libsqlite/src/config_static.w32.h
index d9893024fa..d9893024fa 100755..100644
--- a/ext/sqlite/libsqlite/src/config_static.w32.h
+++ b/ext/sqlite/libsqlite/src/config_static.w32.h
diff --git a/ext/sqlite/tests/blankdb_oo.inc b/ext/sqlite/tests/blankdb_oo.inc
index 1139d17c8b..1139d17c8b 100755..100644
--- a/ext/sqlite/tests/blankdb_oo.inc
+++ b/ext/sqlite/tests/blankdb_oo.inc
diff --git a/ext/sqlite/tests/bug28112.phpt b/ext/sqlite/tests/bug28112.phpt
index f3e9b8b9ec..f3e9b8b9ec 100755..100644
--- a/ext/sqlite/tests/bug28112.phpt
+++ b/ext/sqlite/tests/bug28112.phpt
diff --git a/ext/sqlite/tests/sqlite_001.phpt b/ext/sqlite/tests/sqlite_001.phpt
index 61d8896570..61d8896570 100755..100644
--- a/ext/sqlite/tests/sqlite_001.phpt
+++ b/ext/sqlite/tests/sqlite_001.phpt
diff --git a/ext/sqlite/tests/sqlite_002.phpt b/ext/sqlite/tests/sqlite_002.phpt
index c9fd0e1bca..c9fd0e1bca 100755..100644
--- a/ext/sqlite/tests/sqlite_002.phpt
+++ b/ext/sqlite/tests/sqlite_002.phpt
diff --git a/ext/sqlite/tests/sqlite_003.phpt b/ext/sqlite/tests/sqlite_003.phpt
index adb891b726..adb891b726 100755..100644
--- a/ext/sqlite/tests/sqlite_003.phpt
+++ b/ext/sqlite/tests/sqlite_003.phpt
diff --git a/ext/sqlite/tests/sqlite_007.phpt b/ext/sqlite/tests/sqlite_007.phpt
index 5a1e536188..5a1e536188 100755..100644
--- a/ext/sqlite/tests/sqlite_007.phpt
+++ b/ext/sqlite/tests/sqlite_007.phpt
diff --git a/ext/sqlite/tests/sqlite_008.phpt b/ext/sqlite/tests/sqlite_008.phpt
index ee485c76a1..ee485c76a1 100755..100644
--- a/ext/sqlite/tests/sqlite_008.phpt
+++ b/ext/sqlite/tests/sqlite_008.phpt
diff --git a/ext/sqlite/tests/sqlite_009.phpt b/ext/sqlite/tests/sqlite_009.phpt
index bdad770b57..bdad770b57 100755..100644
--- a/ext/sqlite/tests/sqlite_009.phpt
+++ b/ext/sqlite/tests/sqlite_009.phpt
diff --git a/ext/sqlite/tests/sqlite_010.phpt b/ext/sqlite/tests/sqlite_010.phpt
index 152fde4cf0..152fde4cf0 100755..100644
--- a/ext/sqlite/tests/sqlite_010.phpt
+++ b/ext/sqlite/tests/sqlite_010.phpt
diff --git a/ext/sqlite/tests/sqlite_011.phpt b/ext/sqlite/tests/sqlite_011.phpt
index 9c1bf3990f..9c1bf3990f 100755..100644
--- a/ext/sqlite/tests/sqlite_011.phpt
+++ b/ext/sqlite/tests/sqlite_011.phpt
diff --git a/ext/sqlite/tests/sqlite_012.phpt b/ext/sqlite/tests/sqlite_012.phpt
index 14d9ea4f53..14d9ea4f53 100755..100644
--- a/ext/sqlite/tests/sqlite_012.phpt
+++ b/ext/sqlite/tests/sqlite_012.phpt
diff --git a/ext/sqlite/tests/sqlite_013.phpt b/ext/sqlite/tests/sqlite_013.phpt
index 95b047a75c..95b047a75c 100755..100644
--- a/ext/sqlite/tests/sqlite_013.phpt
+++ b/ext/sqlite/tests/sqlite_013.phpt
diff --git a/ext/sqlite/tests/sqlite_014.phpt b/ext/sqlite/tests/sqlite_014.phpt
index 967fcc10fa..967fcc10fa 100755..100644
--- a/ext/sqlite/tests/sqlite_014.phpt
+++ b/ext/sqlite/tests/sqlite_014.phpt
diff --git a/ext/sqlite/tests/sqlite_015.phpt b/ext/sqlite/tests/sqlite_015.phpt
index 8de42a84b9..8de42a84b9 100755..100644
--- a/ext/sqlite/tests/sqlite_015.phpt
+++ b/ext/sqlite/tests/sqlite_015.phpt
diff --git a/ext/sqlite/tests/sqlite_016.phpt b/ext/sqlite/tests/sqlite_016.phpt
index 9ca9de135f..9ca9de135f 100755..100644
--- a/ext/sqlite/tests/sqlite_016.phpt
+++ b/ext/sqlite/tests/sqlite_016.phpt
diff --git a/ext/sqlite/tests/sqlite_017.phpt b/ext/sqlite/tests/sqlite_017.phpt
index 9058622f99..9058622f99 100755..100644
--- a/ext/sqlite/tests/sqlite_017.phpt
+++ b/ext/sqlite/tests/sqlite_017.phpt
diff --git a/ext/sqlite/tests/sqlite_018.phpt b/ext/sqlite/tests/sqlite_018.phpt
index 8d80649be8..8d80649be8 100755..100644
--- a/ext/sqlite/tests/sqlite_018.phpt
+++ b/ext/sqlite/tests/sqlite_018.phpt
diff --git a/ext/sqlite/tests/sqlite_019.phpt b/ext/sqlite/tests/sqlite_019.phpt
index 74dcff99fa..74dcff99fa 100755..100644
--- a/ext/sqlite/tests/sqlite_019.phpt
+++ b/ext/sqlite/tests/sqlite_019.phpt
diff --git a/ext/sqlite/tests/sqlite_022.phpt b/ext/sqlite/tests/sqlite_022.phpt
index 76921d56f6..76921d56f6 100755..100644
--- a/ext/sqlite/tests/sqlite_022.phpt
+++ b/ext/sqlite/tests/sqlite_022.phpt
diff --git a/ext/sqlite/tests/sqlite_024.phpt b/ext/sqlite/tests/sqlite_024.phpt
index b7198c0155..b7198c0155 100755..100644
--- a/ext/sqlite/tests/sqlite_024.phpt
+++ b/ext/sqlite/tests/sqlite_024.phpt
diff --git a/ext/sqlite/tests/sqlite_025.phpt b/ext/sqlite/tests/sqlite_025.phpt
index 0a257610cc..0a257610cc 100755..100644
--- a/ext/sqlite/tests/sqlite_025.phpt
+++ b/ext/sqlite/tests/sqlite_025.phpt
diff --git a/ext/sqlite/tests/sqlite_026.phpt b/ext/sqlite/tests/sqlite_026.phpt
index c508979a27..c508979a27 100755..100644
--- a/ext/sqlite/tests/sqlite_026.phpt
+++ b/ext/sqlite/tests/sqlite_026.phpt
diff --git a/ext/sqlite/tests/sqlite_027.phpt b/ext/sqlite/tests/sqlite_027.phpt
index 7919f2c3f7..7919f2c3f7 100755..100644
--- a/ext/sqlite/tests/sqlite_027.phpt
+++ b/ext/sqlite/tests/sqlite_027.phpt
diff --git a/ext/sqlite/tests/sqlite_closures_001.phpt b/ext/sqlite/tests/sqlite_closures_001.phpt
index 8a90d1e5e0..8a90d1e5e0 100755..100644
--- a/ext/sqlite/tests/sqlite_closures_001.phpt
+++ b/ext/sqlite/tests/sqlite_closures_001.phpt
diff --git a/ext/sqlite/tests/sqlite_closures_002.phpt b/ext/sqlite/tests/sqlite_closures_002.phpt
index e880bb1733..e880bb1733 100755..100644
--- a/ext/sqlite/tests/sqlite_closures_002.phpt
+++ b/ext/sqlite/tests/sqlite_closures_002.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_001.phpt b/ext/sqlite/tests/sqlite_oo_001.phpt
index 672ddb17b6..672ddb17b6 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_001.phpt
+++ b/ext/sqlite/tests/sqlite_oo_001.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_002.phpt b/ext/sqlite/tests/sqlite_oo_002.phpt
index 00a568a2a8..00a568a2a8 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_002.phpt
+++ b/ext/sqlite/tests/sqlite_oo_002.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_003.phpt b/ext/sqlite/tests/sqlite_oo_003.phpt
index f9ca65c611..f9ca65c611 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_003.phpt
+++ b/ext/sqlite/tests/sqlite_oo_003.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_008.phpt b/ext/sqlite/tests/sqlite_oo_008.phpt
index 8e99a1deaf..8e99a1deaf 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_008.phpt
+++ b/ext/sqlite/tests/sqlite_oo_008.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_009.phpt b/ext/sqlite/tests/sqlite_oo_009.phpt
index c2a55556c1..c2a55556c1 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_009.phpt
+++ b/ext/sqlite/tests/sqlite_oo_009.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_010.phpt b/ext/sqlite/tests/sqlite_oo_010.phpt
index 8d6f3c0a99..8d6f3c0a99 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_010.phpt
+++ b/ext/sqlite/tests/sqlite_oo_010.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_011.phpt b/ext/sqlite/tests/sqlite_oo_011.phpt
index 4b5a37044c..4b5a37044c 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_011.phpt
+++ b/ext/sqlite/tests/sqlite_oo_011.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_012.phpt b/ext/sqlite/tests/sqlite_oo_012.phpt
index 408feb9d17..408feb9d17 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_012.phpt
+++ b/ext/sqlite/tests/sqlite_oo_012.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_013.phpt b/ext/sqlite/tests/sqlite_oo_013.phpt
index 0c19505f23..0c19505f23 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_013.phpt
+++ b/ext/sqlite/tests/sqlite_oo_013.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_014.phpt b/ext/sqlite/tests/sqlite_oo_014.phpt
index 9735a5442c..9735a5442c 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_014.phpt
+++ b/ext/sqlite/tests/sqlite_oo_014.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_015.phpt b/ext/sqlite/tests/sqlite_oo_015.phpt
index 893e6f14ab..893e6f14ab 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_015.phpt
+++ b/ext/sqlite/tests/sqlite_oo_015.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_016.phpt b/ext/sqlite/tests/sqlite_oo_016.phpt
index d831b48326..d831b48326 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_016.phpt
+++ b/ext/sqlite/tests/sqlite_oo_016.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_020.phpt b/ext/sqlite/tests/sqlite_oo_020.phpt
index a855101fbd..a855101fbd 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_020.phpt
+++ b/ext/sqlite/tests/sqlite_oo_020.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_021.phpt b/ext/sqlite/tests/sqlite_oo_021.phpt
index 850e4dc9a3..850e4dc9a3 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_021.phpt
+++ b/ext/sqlite/tests/sqlite_oo_021.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_022.phpt b/ext/sqlite/tests/sqlite_oo_022.phpt
index 988904f774..988904f774 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_022.phpt
+++ b/ext/sqlite/tests/sqlite_oo_022.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_024.phpt b/ext/sqlite/tests/sqlite_oo_024.phpt
index f974ad8a8d..f974ad8a8d 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_024.phpt
+++ b/ext/sqlite/tests/sqlite_oo_024.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_025.phpt b/ext/sqlite/tests/sqlite_oo_025.phpt
index 3cb42d7647..3cb42d7647 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_025.phpt
+++ b/ext/sqlite/tests/sqlite_oo_025.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_026.phpt b/ext/sqlite/tests/sqlite_oo_026.phpt
index 4beacbb888..4beacbb888 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_026.phpt
+++ b/ext/sqlite/tests/sqlite_oo_026.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_027.phpt b/ext/sqlite/tests/sqlite_oo_027.phpt
index 069c7c97ea..069c7c97ea 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_027.phpt
+++ b/ext/sqlite/tests/sqlite_oo_027.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_028.phpt b/ext/sqlite/tests/sqlite_oo_028.phpt
index fe7f8c6f68..fe7f8c6f68 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_028.phpt
+++ b/ext/sqlite/tests/sqlite_oo_028.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_029.phpt b/ext/sqlite/tests/sqlite_oo_029.phpt
index 4b2b1992b8..4b2b1992b8 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_029.phpt
+++ b/ext/sqlite/tests/sqlite_oo_029.phpt
diff --git a/ext/sqlite/tests/sqlite_oo_030.phpt b/ext/sqlite/tests/sqlite_oo_030.phpt
index 95b91f61fc..95b91f61fc 100755..100644
--- a/ext/sqlite/tests/sqlite_oo_030.phpt
+++ b/ext/sqlite/tests/sqlite_oo_030.phpt
diff --git a/ext/sqlite/tests/sqlite_spl_001.phpt b/ext/sqlite/tests/sqlite_spl_001.phpt
index 2a1a2b49c4..2a1a2b49c4 100755..100644
--- a/ext/sqlite/tests/sqlite_spl_001.phpt
+++ b/ext/sqlite/tests/sqlite_spl_001.phpt
diff --git a/ext/sqlite/tests/sqlite_spl_002.phpt b/ext/sqlite/tests/sqlite_spl_002.phpt
index c60ca01e02..c60ca01e02 100755..100644
--- a/ext/sqlite/tests/sqlite_spl_002.phpt
+++ b/ext/sqlite/tests/sqlite_spl_002.phpt
diff --git a/ext/sqlite/tests/sqlite_spl_003.phpt b/ext/sqlite/tests/sqlite_spl_003.phpt
index 267ceff50c..267ceff50c 100755..100644
--- a/ext/sqlite/tests/sqlite_spl_003.phpt
+++ b/ext/sqlite/tests/sqlite_spl_003.phpt
diff --git a/ext/standard/tests/array/array_combine.phpt b/ext/standard/tests/array/array_combine.phpt
index 34d4ff85b9..34d4ff85b9 100755..100644
--- a/ext/standard/tests/array/array_combine.phpt
+++ b/ext/standard/tests/array/array_combine.phpt
diff --git a/ext/standard/tests/array/array_diff_assoc.phpt b/ext/standard/tests/array/array_diff_assoc.phpt
index 29db107d65..29db107d65 100755..100644
--- a/ext/standard/tests/array/array_diff_assoc.phpt
+++ b/ext/standard/tests/array/array_diff_assoc.phpt
diff --git a/ext/standard/tests/array/array_fill_keys.phpt b/ext/standard/tests/array/array_fill_keys.phpt
index b4d51680ea..b4d51680ea 100755..100644
--- a/ext/standard/tests/array/array_fill_keys.phpt
+++ b/ext/standard/tests/array/array_fill_keys.phpt
diff --git a/ext/standard/tests/array/bug21918.phpt b/ext/standard/tests/array/bug21918.phpt
index 1c9d746fdf..1c9d746fdf 100755..100644
--- a/ext/standard/tests/array/bug21918.phpt
+++ b/ext/standard/tests/array/bug21918.phpt
diff --git a/ext/standard/tests/array/bug29253.phpt b/ext/standard/tests/array/bug29253.phpt
index 378489f926..378489f926 100755..100644
--- a/ext/standard/tests/array/bug29253.phpt
+++ b/ext/standard/tests/array/bug29253.phpt
diff --git a/ext/standard/tests/array/bug30266.phpt b/ext/standard/tests/array/bug30266.phpt
index 8f7c3d2135..8f7c3d2135 100755..100644
--- a/ext/standard/tests/array/bug30266.phpt
+++ b/ext/standard/tests/array/bug30266.phpt
diff --git a/ext/standard/tests/array/bug31158.phpt b/ext/standard/tests/array/bug31158.phpt
index e672a10b28..e672a10b28 100755..100644
--- a/ext/standard/tests/array/bug31158.phpt
+++ b/ext/standard/tests/array/bug31158.phpt
diff --git a/ext/standard/tests/array/bug33940.phpt b/ext/standard/tests/array/bug33940.phpt
index a6d1ff8358..a6d1ff8358 100755..100644
--- a/ext/standard/tests/array/bug33940.phpt
+++ b/ext/standard/tests/array/bug33940.phpt
diff --git a/ext/standard/tests/array/bug33989.phpt b/ext/standard/tests/array/bug33989.phpt
index ccef172d61..ccef172d61 100755..100644
--- a/ext/standard/tests/array/bug33989.phpt
+++ b/ext/standard/tests/array/bug33989.phpt
diff --git a/ext/standard/tests/array/bug34227.phpt b/ext/standard/tests/array/bug34227.phpt
index 29762b7233..29762b7233 100755..100644
--- a/ext/standard/tests/array/bug34227.phpt
+++ b/ext/standard/tests/array/bug34227.phpt
diff --git a/ext/standard/tests/array/bug34982.phpt b/ext/standard/tests/array/bug34982.phpt
index 7499667aaf..7499667aaf 100755..100644
--- a/ext/standard/tests/array/bug34982.phpt
+++ b/ext/standard/tests/array/bug34982.phpt
diff --git a/ext/standard/tests/array/prev_basic.phpt b/ext/standard/tests/array/prev_basic.phpt
index 8c1450dd3c..8c1450dd3c 100755..100644
--- a/ext/standard/tests/array/prev_basic.phpt
+++ b/ext/standard/tests/array/prev_basic.phpt
diff --git a/ext/standard/tests/array/prev_error1.phpt b/ext/standard/tests/array/prev_error1.phpt
index bea245196e..bea245196e 100755..100644
--- a/ext/standard/tests/array/prev_error1.phpt
+++ b/ext/standard/tests/array/prev_error1.phpt
diff --git a/ext/standard/tests/array/prev_error2.phpt b/ext/standard/tests/array/prev_error2.phpt
index f26bdd0a41..f26bdd0a41 100755..100644
--- a/ext/standard/tests/array/prev_error2.phpt
+++ b/ext/standard/tests/array/prev_error2.phpt
diff --git a/ext/standard/tests/array/prev_error3.phpt b/ext/standard/tests/array/prev_error3.phpt
index dfac24eacb..dfac24eacb 100755..100644
--- a/ext/standard/tests/array/prev_error3.phpt
+++ b/ext/standard/tests/array/prev_error3.phpt
diff --git a/ext/standard/tests/array/prev_variation1.phpt b/ext/standard/tests/array/prev_variation1.phpt
index 5a6253628e..5a6253628e 100755..100644
--- a/ext/standard/tests/array/prev_variation1.phpt
+++ b/ext/standard/tests/array/prev_variation1.phpt
diff --git a/ext/standard/tests/array/prev_variation2.phpt b/ext/standard/tests/array/prev_variation2.phpt
index 0ce087781e..0ce087781e 100755..100644
--- a/ext/standard/tests/array/prev_variation2.phpt
+++ b/ext/standard/tests/array/prev_variation2.phpt
diff --git a/ext/standard/tests/array/unexpected_array_mod_bug.phpt b/ext/standard/tests/array/unexpected_array_mod_bug.phpt
index 58f2249205..58f2249205 100755..100644
--- a/ext/standard/tests/array/unexpected_array_mod_bug.phpt
+++ b/ext/standard/tests/array/unexpected_array_mod_bug.phpt
diff --git a/ext/standard/tests/assert/assert_closures.phpt b/ext/standard/tests/assert/assert_closures.phpt
index e01c11ace9..e01c11ace9 100755..100644
--- a/ext/standard/tests/assert/assert_closures.phpt
+++ b/ext/standard/tests/assert/assert_closures.phpt
diff --git a/ext/standard/tests/class_object/forward_static_call_001.phpt b/ext/standard/tests/class_object/forward_static_call_001.phpt
index 2b3a8dd059..2b3a8dd059 100755..100644
--- a/ext/standard/tests/class_object/forward_static_call_001.phpt
+++ b/ext/standard/tests/class_object/forward_static_call_001.phpt
diff --git a/ext/standard/tests/class_object/forward_static_call_002.phpt b/ext/standard/tests/class_object/forward_static_call_002.phpt
index 58c4efd0cf..58c4efd0cf 100755..100644
--- a/ext/standard/tests/class_object/forward_static_call_002.phpt
+++ b/ext/standard/tests/class_object/forward_static_call_002.phpt
diff --git a/ext/standard/tests/class_object/forward_static_call_003.phpt b/ext/standard/tests/class_object/forward_static_call_003.phpt
index 2ea102e5d2..2ea102e5d2 100755..100644
--- a/ext/standard/tests/class_object/forward_static_call_003.phpt
+++ b/ext/standard/tests/class_object/forward_static_call_003.phpt
diff --git a/ext/standard/tests/file/bug39367.phpt b/ext/standard/tests/file/bug39367.phpt
index f3e79fcf5e..f3e79fcf5e 100755..100644
--- a/ext/standard/tests/file/bug39367.phpt
+++ b/ext/standard/tests/file/bug39367.phpt
diff --git a/ext/standard/tests/file/bug43216.phpt b/ext/standard/tests/file/bug43216.phpt
index b7e42534c8..b7e42534c8 100755..100644
--- a/ext/standard/tests/file/bug43216.phpt
+++ b/ext/standard/tests/file/bug43216.phpt
diff --git a/ext/standard/tests/file/bug43248.phpt b/ext/standard/tests/file/bug43248.phpt
index 1096435832..1096435832 100755..100644
--- a/ext/standard/tests/file/bug43248.phpt
+++ b/ext/standard/tests/file/bug43248.phpt
diff --git a/ext/standard/tests/file/fflush_basic.phpt b/ext/standard/tests/file/fflush_basic.phpt
index f375c4f079..f375c4f079 100755..100644
--- a/ext/standard/tests/file/fflush_basic.phpt
+++ b/ext/standard/tests/file/fflush_basic.phpt
diff --git a/ext/standard/tests/file/fflush_variation1.phpt b/ext/standard/tests/file/fflush_variation1.phpt
index 2ecf7ea919..2ecf7ea919 100755..100644
--- a/ext/standard/tests/file/fflush_variation1.phpt
+++ b/ext/standard/tests/file/fflush_variation1.phpt
diff --git a/ext/standard/tests/file/fflush_variation2.phpt b/ext/standard/tests/file/fflush_variation2.phpt
index 651c716439..651c716439 100755..100644
--- a/ext/standard/tests/file/fflush_variation2.phpt
+++ b/ext/standard/tests/file/fflush_variation2.phpt
diff --git a/ext/standard/tests/file/fflush_variation3.phpt b/ext/standard/tests/file/fflush_variation3.phpt
index 6dfd49bc40..6dfd49bc40 100755..100644
--- a/ext/standard/tests/file/fflush_variation3.phpt
+++ b/ext/standard/tests/file/fflush_variation3.phpt
diff --git a/ext/standard/tests/file/fflush_variation4.phpt b/ext/standard/tests/file/fflush_variation4.phpt
index f98616c3d8..f98616c3d8 100755..100644
--- a/ext/standard/tests/file/fflush_variation4.phpt
+++ b/ext/standard/tests/file/fflush_variation4.phpt
diff --git a/ext/standard/tests/file/fputcsv.phpt b/ext/standard/tests/file/fputcsv.phpt
index 63c41509bd..63c41509bd 100755..100644
--- a/ext/standard/tests/file/fputcsv.phpt
+++ b/ext/standard/tests/file/fputcsv.phpt
diff --git a/ext/standard/tests/file/glob_basic.phpt b/ext/standard/tests/file/glob_basic.phpt
index fc269c442f..fc269c442f 100755..100644
--- a/ext/standard/tests/file/glob_basic.phpt
+++ b/ext/standard/tests/file/glob_basic.phpt
diff --git a/ext/standard/tests/file/glob_variation.phpt b/ext/standard/tests/file/glob_variation.phpt
index 64d3d8a2db..64d3d8a2db 100755..100644
--- a/ext/standard/tests/file/glob_variation.phpt
+++ b/ext/standard/tests/file/glob_variation.phpt
diff --git a/ext/standard/tests/file/include_userstream_001.phpt b/ext/standard/tests/file/include_userstream_001.phpt
index d805afd204..d805afd204 100755..100644
--- a/ext/standard/tests/file/include_userstream_001.phpt
+++ b/ext/standard/tests/file/include_userstream_001.phpt
diff --git a/ext/standard/tests/file/include_userstream_002.phpt b/ext/standard/tests/file/include_userstream_002.phpt
index 4841d39c51..4841d39c51 100755..100644
--- a/ext/standard/tests/file/include_userstream_002.phpt
+++ b/ext/standard/tests/file/include_userstream_002.phpt
diff --git a/ext/standard/tests/file/lstat_stat_variation1.phpt b/ext/standard/tests/file/lstat_stat_variation1.phpt
index 30ce9b7217..30ce9b7217 100755..100644
--- a/ext/standard/tests/file/lstat_stat_variation1.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation1.phpt
diff --git a/ext/standard/tests/file/lstat_stat_variation2.phpt b/ext/standard/tests/file/lstat_stat_variation2.phpt
index e7d704a20b..e7d704a20b 100755..100644
--- a/ext/standard/tests/file/lstat_stat_variation2.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation2.phpt
diff --git a/ext/standard/tests/file/lstat_stat_variation3.phpt b/ext/standard/tests/file/lstat_stat_variation3.phpt
index e7bae3abb4..e7bae3abb4 100755..100644
--- a/ext/standard/tests/file/lstat_stat_variation3.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation3.phpt
diff --git a/ext/standard/tests/file/lstat_stat_variation4.phpt b/ext/standard/tests/file/lstat_stat_variation4.phpt
index 259beca006..259beca006 100755..100644
--- a/ext/standard/tests/file/lstat_stat_variation4.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation4.phpt
diff --git a/ext/standard/tests/file/lstat_stat_variation5.phpt b/ext/standard/tests/file/lstat_stat_variation5.phpt
index d0c096ef19..d0c096ef19 100755..100644
--- a/ext/standard/tests/file/lstat_stat_variation5.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation5.phpt
diff --git a/ext/standard/tests/file/lstat_stat_variation6.phpt b/ext/standard/tests/file/lstat_stat_variation6.phpt
index 7e557d034a..7e557d034a 100755..100644
--- a/ext/standard/tests/file/lstat_stat_variation6.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation6.phpt
diff --git a/ext/standard/tests/file/realpath_basic4.phpt b/ext/standard/tests/file/realpath_basic4.phpt
index d782b6d618..d782b6d618 100755..100644
--- a/ext/standard/tests/file/realpath_basic4.phpt
+++ b/ext/standard/tests/file/realpath_basic4.phpt
diff --git a/ext/standard/tests/file/rename_basic.phpt b/ext/standard/tests/file/rename_basic.phpt
index c589c514e4..c589c514e4 100755..100644
--- a/ext/standard/tests/file/rename_basic.phpt
+++ b/ext/standard/tests/file/rename_basic.phpt
diff --git a/ext/standard/tests/file/rename_error.phpt b/ext/standard/tests/file/rename_error.phpt
index fae2b4f373..fae2b4f373 100755..100644
--- a/ext/standard/tests/file/rename_error.phpt
+++ b/ext/standard/tests/file/rename_error.phpt
diff --git a/ext/standard/tests/file/stream_rfc2397_001.phpt b/ext/standard/tests/file/stream_rfc2397_001.phpt
index 040dc26f58..040dc26f58 100755..100644
--- a/ext/standard/tests/file/stream_rfc2397_001.phpt
+++ b/ext/standard/tests/file/stream_rfc2397_001.phpt
diff --git a/ext/standard/tests/file/stream_rfc2397_002.phpt b/ext/standard/tests/file/stream_rfc2397_002.phpt
index 980863bb5c..980863bb5c 100755..100644
--- a/ext/standard/tests/file/stream_rfc2397_002.phpt
+++ b/ext/standard/tests/file/stream_rfc2397_002.phpt
diff --git a/ext/standard/tests/file/stream_rfc2397_003.phpt b/ext/standard/tests/file/stream_rfc2397_003.phpt
index 7cc31fe599..7cc31fe599 100755..100644
--- a/ext/standard/tests/file/stream_rfc2397_003.phpt
+++ b/ext/standard/tests/file/stream_rfc2397_003.phpt
diff --git a/ext/standard/tests/file/stream_rfc2397_004.phpt b/ext/standard/tests/file/stream_rfc2397_004.phpt
index 1a8da936b3..1a8da936b3 100755..100644
--- a/ext/standard/tests/file/stream_rfc2397_004.phpt
+++ b/ext/standard/tests/file/stream_rfc2397_004.phpt
diff --git a/ext/standard/tests/file/stream_rfc2397_005.phpt b/ext/standard/tests/file/stream_rfc2397_005.phpt
index 8fa1c16b0c..8fa1c16b0c 100755..100644
--- a/ext/standard/tests/file/stream_rfc2397_005.phpt
+++ b/ext/standard/tests/file/stream_rfc2397_005.phpt
diff --git a/ext/standard/tests/file/stream_rfc2397_006.phpt b/ext/standard/tests/file/stream_rfc2397_006.phpt
index b1b3111cf0..b1b3111cf0 100755..100644
--- a/ext/standard/tests/file/stream_rfc2397_006.phpt
+++ b/ext/standard/tests/file/stream_rfc2397_006.phpt
diff --git a/ext/standard/tests/file/stream_rfc2397_007.phpt b/ext/standard/tests/file/stream_rfc2397_007.phpt
index 8a6f3155dd..8a6f3155dd 100755..100644
--- a/ext/standard/tests/file/stream_rfc2397_007.phpt
+++ b/ext/standard/tests/file/stream_rfc2397_007.phpt
diff --git a/ext/standard/tests/file/umask_variation1.phpt b/ext/standard/tests/file/umask_variation1.phpt
index 29fe92e556..29fe92e556 100755..100644
--- a/ext/standard/tests/file/umask_variation1.phpt
+++ b/ext/standard/tests/file/umask_variation1.phpt
diff --git a/ext/standard/tests/file/umask_variation2.phpt b/ext/standard/tests/file/umask_variation2.phpt
index 85b1a67f53..85b1a67f53 100755..100644
--- a/ext/standard/tests/file/umask_variation2.phpt
+++ b/ext/standard/tests/file/umask_variation2.phpt
diff --git a/ext/standard/tests/general_functions/bug25038.phpt b/ext/standard/tests/general_functions/bug25038.phpt
index 52fe032056..52fe032056 100755..100644
--- a/ext/standard/tests/general_functions/bug25038.phpt
+++ b/ext/standard/tests/general_functions/bug25038.phpt
diff --git a/ext/standard/tests/general_functions/bug35229.phpt b/ext/standard/tests/general_functions/bug35229.phpt
index c3c273dfee..c3c273dfee 100755..100644
--- a/ext/standard/tests/general_functions/bug35229.phpt
+++ b/ext/standard/tests/general_functions/bug35229.phpt
diff --git a/ext/standard/tests/general_functions/bug36011.phpt b/ext/standard/tests/general_functions/bug36011.phpt
index 08a45014f2..08a45014f2 100755..100644
--- a/ext/standard/tests/general_functions/bug36011.phpt
+++ b/ext/standard/tests/general_functions/bug36011.phpt
diff --git a/ext/standard/tests/general_functions/bug40398.phpt b/ext/standard/tests/general_functions/bug40398.phpt
index 11fdde2c51..11fdde2c51 100755..100644
--- a/ext/standard/tests/general_functions/bug40398.phpt
+++ b/ext/standard/tests/general_functions/bug40398.phpt
diff --git a/ext/standard/tests/general_functions/bug44461.phpt b/ext/standard/tests/general_functions/bug44461.phpt
index 6fa73ee27f..6fa73ee27f 100755..100644
--- a/ext/standard/tests/general_functions/bug44461.phpt
+++ b/ext/standard/tests/general_functions/bug44461.phpt
diff --git a/ext/standard/tests/general_functions/bug60723.phpt b/ext/standard/tests/general_functions/bug60723.phpt
new file mode 100644
index 0000000000..07b801bcfe
--- /dev/null
+++ b/ext/standard/tests/general_functions/bug60723.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Bug #60723 (error_log error time has changed to UTC ignoring default timezo)
+--INI--
+date.timezone=ASIA/Chongqing
+log_errors=On
+--FILE--
+<?php
+$dir = dirname(__FILE__);
+$log = $dir . "/tmp.err";
+ini_set("error_log", $log);
+echo $aa;
+error_log("dummy");
+readfile($log);
+unlink($log);
+?>
+--EXPECTF--
+Notice: Undefined variable: aa in %sbug60723.php on line %d
+[%s ASIA/Chongqing] PHP Notice: Undefined variable: aa in %sbug60723.php on line %d
+[%s ASIA/Chongqing] dummy
diff --git a/ext/standard/tests/general_functions/call_user_func_return.phpt b/ext/standard/tests/general_functions/call_user_func_return.phpt
index 929fdd7e35..929fdd7e35 100755..100644
--- a/ext/standard/tests/general_functions/call_user_func_return.phpt
+++ b/ext/standard/tests/general_functions/call_user_func_return.phpt
diff --git a/ext/standard/tests/general_functions/closures_001.phpt b/ext/standard/tests/general_functions/closures_001.phpt
index b4fc898fd2..b4fc898fd2 100755..100644
--- a/ext/standard/tests/general_functions/closures_001.phpt
+++ b/ext/standard/tests/general_functions/closures_001.phpt
diff --git a/ext/standard/tests/general_functions/closures_002.phpt b/ext/standard/tests/general_functions/closures_002.phpt
index 6df389bbb1..6df389bbb1 100755..100644
--- a/ext/standard/tests/general_functions/closures_002.phpt
+++ b/ext/standard/tests/general_functions/closures_002.phpt
diff --git a/ext/standard/tests/general_functions/dl-cve-2007-4887.phpt b/ext/standard/tests/general_functions/dl-cve-2007-4887.phpt
index e242d45dcb..e242d45dcb 100755..100644
--- a/ext/standard/tests/general_functions/dl-cve-2007-4887.phpt
+++ b/ext/standard/tests/general_functions/dl-cve-2007-4887.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_basic.phpt b/ext/standard/tests/general_functions/getservbyname_basic.phpt
index adaa7afb43..adaa7afb43 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_basic.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_basic.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_error.phpt b/ext/standard/tests/general_functions/getservbyname_error.phpt
index eaeec64888..eaeec64888 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_error.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_error.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation1.phpt b/ext/standard/tests/general_functions/getservbyname_variation1.phpt
index 7dd01aab36..7dd01aab36 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation1.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation1.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation10.phpt b/ext/standard/tests/general_functions/getservbyname_variation10.phpt
index 70aa567646..70aa567646 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation10.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation10.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation11.phpt b/ext/standard/tests/general_functions/getservbyname_variation11.phpt
index 3c410c55b6..3c410c55b6 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation11.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation11.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation12.phpt b/ext/standard/tests/general_functions/getservbyname_variation12.phpt
index 7e5323cca8..7e5323cca8 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation12.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation12.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation13.phpt b/ext/standard/tests/general_functions/getservbyname_variation13.phpt
index 8dad8cda55..8dad8cda55 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation13.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation13.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation14.phpt b/ext/standard/tests/general_functions/getservbyname_variation14.phpt
index d93b53ece4..d93b53ece4 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation14.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation14.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation2.phpt b/ext/standard/tests/general_functions/getservbyname_variation2.phpt
index 877c1d12af..877c1d12af 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation2.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation2.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation3.phpt b/ext/standard/tests/general_functions/getservbyname_variation3.phpt
index d34259d2a2..d34259d2a2 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation3.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation3.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation4.phpt b/ext/standard/tests/general_functions/getservbyname_variation4.phpt
index 6033c94363..6033c94363 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation4.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation4.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation5.phpt b/ext/standard/tests/general_functions/getservbyname_variation5.phpt
index 1d3b8f6d74..1d3b8f6d74 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation5.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation5.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation6.phpt b/ext/standard/tests/general_functions/getservbyname_variation6.phpt
index 0dfafa6229..0dfafa6229 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation6.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation6.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation7.phpt b/ext/standard/tests/general_functions/getservbyname_variation7.phpt
index a0e223c50d..a0e223c50d 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation7.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation7.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation8.phpt b/ext/standard/tests/general_functions/getservbyname_variation8.phpt
index 69d1d77b6a..69d1d77b6a 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation8.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation8.phpt
diff --git a/ext/standard/tests/general_functions/getservbyname_variation9.phpt b/ext/standard/tests/general_functions/getservbyname_variation9.phpt
index c1c231e148..c1c231e148 100755..100644
--- a/ext/standard/tests/general_functions/getservbyname_variation9.phpt
+++ b/ext/standard/tests/general_functions/getservbyname_variation9.phpt
diff --git a/ext/standard/tests/general_functions/ob_start_closures.phpt b/ext/standard/tests/general_functions/ob_start_closures.phpt
index ba730961bd..ba730961bd 100755..100644
--- a/ext/standard/tests/general_functions/ob_start_closures.phpt
+++ b/ext/standard/tests/general_functions/ob_start_closures.phpt
diff --git a/ext/standard/tests/image/image_type_to_mime_type_variation3.phpt b/ext/standard/tests/image/image_type_to_mime_type_variation3.phpt
index 192f23dcee..192f23dcee 100755..100644
--- a/ext/standard/tests/image/image_type_to_mime_type_variation3.phpt
+++ b/ext/standard/tests/image/image_type_to_mime_type_variation3.phpt
diff --git a/ext/standard/tests/math/bug27646.phpt b/ext/standard/tests/math/bug27646.phpt
index 7b4a923f1f..7b4a923f1f 100755..100644
--- a/ext/standard/tests/math/bug27646.phpt
+++ b/ext/standard/tests/math/bug27646.phpt
diff --git a/ext/standard/tests/math/bug28228.phpt b/ext/standard/tests/math/bug28228.phpt
index 4223f4bc15..4223f4bc15 100755..100644
--- a/ext/standard/tests/math/bug28228.phpt
+++ b/ext/standard/tests/math/bug28228.phpt
diff --git a/ext/standard/tests/math/bug30069.phpt b/ext/standard/tests/math/bug30069.phpt
index 5e3246c51c..5e3246c51c 100755..100644
--- a/ext/standard/tests/math/bug30069.phpt
+++ b/ext/standard/tests/math/bug30069.phpt
diff --git a/ext/standard/tests/network/shutdown.phpt b/ext/standard/tests/network/shutdown.phpt
index f9ab66476f..f9ab66476f 100755..100644
--- a/ext/standard/tests/network/shutdown.phpt
+++ b/ext/standard/tests/network/shutdown.phpt
diff --git a/ext/standard/tests/serialize/005.phpt b/ext/standard/tests/serialize/005.phpt
index e7b23db701..e7b23db701 100755..100644
--- a/ext/standard/tests/serialize/005.phpt
+++ b/ext/standard/tests/serialize/005.phpt
diff --git a/ext/standard/tests/serialize/bug26762.phpt b/ext/standard/tests/serialize/bug26762.phpt
index 3011bb602c..3011bb602c 100755..100644
--- a/ext/standard/tests/serialize/bug26762.phpt
+++ b/ext/standard/tests/serialize/bug26762.phpt
diff --git a/ext/standard/tests/serialize/bug30234.phpt b/ext/standard/tests/serialize/bug30234.phpt
index 9b40cc54b3..9b40cc54b3 100755..100644
--- a/ext/standard/tests/serialize/bug30234.phpt
+++ b/ext/standard/tests/serialize/bug30234.phpt
diff --git a/ext/standard/tests/serialize/bug31442.phpt b/ext/standard/tests/serialize/bug31442.phpt
index 6d451bac97..6d451bac97 100755..100644
--- a/ext/standard/tests/serialize/bug31442.phpt
+++ b/ext/standard/tests/serialize/bug31442.phpt
diff --git a/ext/standard/tests/serialize/bug35895.phpt b/ext/standard/tests/serialize/bug35895.phpt
new file mode 100644
index 0000000000..22fce0d1f2
--- /dev/null
+++ b/ext/standard/tests/serialize/bug35895.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #35895 (__sleep and private property)
+--FILE--
+<?php
+class Parents {
+ private $parents;
+ public function __sleep() {
+ return array("parents");
+ }
+}
+
+class Child extends Parents {
+ private $child;
+ public function __sleep() {
+ return array_merge(array("child"), parent::__sleep());
+ }
+}
+
+$obj = new Child();
+serialize($obj);
+
+?>
+--EXPECTF--
+Notice: serialize(): "parents" returned as member variable from __sleep() but does not exist in %sbug35895.php on line %d
diff --git a/ext/standard/tests/serialize/bug37947.phpt b/ext/standard/tests/serialize/bug37947.phpt
index 07371d1a3f..07371d1a3f 100755..100644
--- a/ext/standard/tests/serialize/bug37947.phpt
+++ b/ext/standard/tests/serialize/bug37947.phpt
diff --git a/ext/standard/tests/serialize/bug42919.phpt b/ext/standard/tests/serialize/bug42919.phpt
index 0a3d0b2e07..0a3d0b2e07 100755..100644
--- a/ext/standard/tests/serialize/bug42919.phpt
+++ b/ext/standard/tests/serialize/bug42919.phpt
diff --git a/ext/standard/tests/serialize/unserializeS.phpt b/ext/standard/tests/serialize/unserializeS.phpt
index 897208bb59..897208bb59 100755..100644
--- a/ext/standard/tests/serialize/unserializeS.phpt
+++ b/ext/standard/tests/serialize/unserializeS.phpt
diff --git a/ext/standard/tests/streams/bug63240.phpt b/ext/standard/tests/streams/bug63240.phpt
new file mode 100644
index 0000000000..7612c43745
--- /dev/null
+++ b/ext/standard/tests/streams/bug63240.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Bug #63240: stream_get_line() return contains delimiter string
+--FILE--
+<?php
+$fd = fopen('php://temp', 'r+');
+$delimiter = 'MM';
+$str = str_repeat('.', 8191) . $delimiter . "rest";
+fwrite($fd, $str);
+rewind($fd);
+$line = stream_get_line($fd, 9000, $delimiter);
+var_dump(strlen($line));
+$line = stream_get_line($fd, 9000, $delimiter);
+var_dump($line);
+?>
+--EXPECT--
+int(8191)
+string(4) "rest"
diff --git a/ext/standard/tests/strings/htmlentities-utf-2.phpt b/ext/standard/tests/strings/htmlentities-utf-2.phpt
index d515dc0ff1..d515dc0ff1 100755..100644
--- a/ext/standard/tests/strings/htmlentities-utf-2.phpt
+++ b/ext/standard/tests/strings/htmlentities-utf-2.phpt
diff --git a/ext/standard/tests/strings/htmlentities-utf.phpt b/ext/standard/tests/strings/htmlentities-utf.phpt
index 6a66e4df45..6a66e4df45 100755..100644
--- a/ext/standard/tests/strings/htmlentities-utf.phpt
+++ b/ext/standard/tests/strings/htmlentities-utf.phpt
diff --git a/ext/standard/tests/strings/moneyformat.phpt b/ext/standard/tests/strings/moneyformat.phpt
index db6c48c7d5..db6c48c7d5 100755..100644
--- a/ext/standard/tests/strings/moneyformat.phpt
+++ b/ext/standard/tests/strings/moneyformat.phpt
diff --git a/ext/standard/tests/strings/printf.phpt b/ext/standard/tests/strings/printf.phpt
index d989d6a42a..d989d6a42a 100755..100644
--- a/ext/standard/tests/strings/printf.phpt
+++ b/ext/standard/tests/strings/printf.phpt
diff --git a/ext/standard/tests/strings/printf_64bit.phpt b/ext/standard/tests/strings/printf_64bit.phpt
index d0b7aaff44..d0b7aaff44 100755..100644
--- a/ext/standard/tests/strings/printf_64bit.phpt
+++ b/ext/standard/tests/strings/printf_64bit.phpt
diff --git a/ext/standard/tests/strings/sprintf_f.phpt b/ext/standard/tests/strings/sprintf_f.phpt
index 6cba6d10b4..6cba6d10b4 100755..100644
--- a/ext/standard/tests/strings/sprintf_f.phpt
+++ b/ext/standard/tests/strings/sprintf_f.phpt
diff --git a/ext/standard/tests/strings/sprintf_f_2.phpt b/ext/standard/tests/strings/sprintf_f_2.phpt
index 1c7cc7f924..1c7cc7f924 100755..100644
--- a/ext/standard/tests/strings/sprintf_f_2.phpt
+++ b/ext/standard/tests/strings/sprintf_f_2.phpt
diff --git a/ext/standard/tests/strings/sprintf_f_3.phpt b/ext/standard/tests/strings/sprintf_f_3.phpt
index 0cf123998d..0cf123998d 100755..100644
--- a/ext/standard/tests/strings/sprintf_f_3.phpt
+++ b/ext/standard/tests/strings/sprintf_f_3.phpt
diff --git a/ext/standard/tests/time/bug38524.phpt b/ext/standard/tests/time/bug38524.phpt
index 77d0f4f234..77d0f4f234 100755..100644
--- a/ext/standard/tests/time/bug38524.phpt
+++ b/ext/standard/tests/time/bug38524.phpt
diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c
index f33f99a498..943242f343 100644
--- a/ext/standard/url_scanner_ex.c
+++ b/ext/standard/url_scanner_ex.c
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2006 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re
index e9fc0b5f56..fdc61033d2 100644
--- a/ext/standard/url_scanner_ex.re
+++ b/ext/standard/url_scanner_ex.re
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2006 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/standard/var.c b/ext/standard/var.c
index 3e2a45c54b..9934125dfa 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -626,6 +626,7 @@ static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_pt
HashPosition pos;
int i;
zval nval, *nvalp;
+ HashTable *propers;
ZVAL_NULL(&nval);
nvalp = &nval;
@@ -651,7 +652,8 @@ static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_pt
smart_str_appendl(buf,"N;", 2);
continue;
}
- if (zend_hash_find(Z_OBJPROP_P(struc), Z_STRVAL_PP(name), Z_STRLEN_PP(name) + 1, (void *) &d) == SUCCESS) {
+ propers = Z_OBJPROP_P(struc);
+ if (zend_hash_find(propers, Z_STRVAL_PP(name), Z_STRLEN_PP(name) + 1, (void *) &d) == SUCCESS) {
php_var_serialize_string(buf, Z_STRVAL_PP(name), Z_STRLEN_PP(name));
php_var_serialize_intern(buf, *d, var_hash TSRMLS_CC);
} else {
@@ -663,7 +665,7 @@ static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_pt
do {
zend_mangle_property_name(&priv_name, &prop_name_length, ce->name, ce->name_length, Z_STRVAL_PP(name), Z_STRLEN_PP(name), ce->type & ZEND_INTERNAL_CLASS);
- if (zend_hash_find(Z_OBJPROP_P(struc), priv_name, prop_name_length + 1, (void *) &d) == SUCCESS) {
+ if (zend_hash_find(propers, priv_name, prop_name_length + 1, (void *) &d) == SUCCESS) {
php_var_serialize_string(buf, priv_name, prop_name_length);
pefree(priv_name, ce->type & ZEND_INTERNAL_CLASS);
php_var_serialize_intern(buf, *d, var_hash TSRMLS_CC);
@@ -671,7 +673,7 @@ static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_pt
}
pefree(priv_name, ce->type & ZEND_INTERNAL_CLASS);
zend_mangle_property_name(&prot_name, &prop_name_length, "*", 1, Z_STRVAL_PP(name), Z_STRLEN_PP(name), ce->type & ZEND_INTERNAL_CLASS);
- if (zend_hash_find(Z_OBJPROP_P(struc), prot_name, prop_name_length + 1, (void *) &d) == SUCCESS) {
+ if (zend_hash_find(propers, prot_name, prop_name_length + 1, (void *) &d) == SUCCESS) {
php_var_serialize_string(buf, prot_name, prop_name_length);
pefree(prot_name, ce->type & ZEND_INTERNAL_CLASS);
php_var_serialize_intern(buf, *d, var_hash TSRMLS_CC);
diff --git a/ext/standard/winver.h b/ext/standard/winver.h
index cb469a91c0..cb469a91c0 100755..100644
--- a/ext/standard/winver.h
+++ b/ext/standard/winver.h
diff --git a/ext/wddx/tests/bug27287.phpt b/ext/wddx/tests/bug27287.phpt
index 72ac317aa0..72ac317aa0 100755..100644
--- a/ext/wddx/tests/bug27287.phpt
+++ b/ext/wddx/tests/bug27287.phpt
diff --git a/ext/wddx/tests/bug34306.phpt b/ext/wddx/tests/bug34306.phpt
index 5f1a0df72f..5f1a0df72f 100755..100644
--- a/ext/wddx/tests/bug34306.phpt
+++ b/ext/wddx/tests/bug34306.phpt
diff --git a/ext/wddx/tests/bug35410.phpt b/ext/wddx/tests/bug35410.phpt
index 3b4b9b62cf..3b4b9b62cf 100755..100644
--- a/ext/wddx/tests/bug35410.phpt
+++ b/ext/wddx/tests/bug35410.phpt
diff --git a/ext/wddx/tests/bug35410_64bit.phpt b/ext/wddx/tests/bug35410_64bit.phpt
index 15377b175e..15377b175e 100755..100644
--- a/ext/wddx/tests/bug35410_64bit.phpt
+++ b/ext/wddx/tests/bug35410_64bit.phpt
diff --git a/ext/wddx/tests/bug37569.phpt b/ext/wddx/tests/bug37569.phpt
index 45cd68a80b..45cd68a80b 100755..100644
--- a/ext/wddx/tests/bug37569.phpt
+++ b/ext/wddx/tests/bug37569.phpt
diff --git a/ext/wddx/tests/bug37587.phpt b/ext/wddx/tests/bug37587.phpt
index 7780355b8e..7780355b8e 100755..100644
--- a/ext/wddx/tests/bug37587.phpt
+++ b/ext/wddx/tests/bug37587.phpt
diff --git a/ext/xml/tests/bug26614_libxml.phpt b/ext/xml/tests/bug26614_libxml.phpt
index 782bdb1936..782bdb1936 100755..100644
--- a/ext/xml/tests/bug26614_libxml.phpt
+++ b/ext/xml/tests/bug26614_libxml.phpt
diff --git a/ext/xml/tests/bug32001b.phpt b/ext/xml/tests/bug32001b.phpt
index ddf26ce3cb..ddf26ce3cb 100755..100644
--- a/ext/xml/tests/bug32001b.phpt
+++ b/ext/xml/tests/bug32001b.phpt
diff --git a/ext/xml/tests/xml_closures_001.phpt b/ext/xml/tests/xml_closures_001.phpt
index 5439a2a918..5439a2a918 100755..100644
--- a/ext/xml/tests/xml_closures_001.phpt
+++ b/ext/xml/tests/xml_closures_001.phpt
diff --git a/ext/xmlreader/tests/012.phpt b/ext/xmlreader/tests/012.phpt
index e0edeef2dd..e0edeef2dd 100755..100644
--- a/ext/xmlreader/tests/012.phpt
+++ b/ext/xmlreader/tests/012.phpt
diff --git a/ext/xmlreader/tests/013.phpt b/ext/xmlreader/tests/013.phpt
index f9dcdeeec7..f9dcdeeec7 100755..100644
--- a/ext/xmlreader/tests/013.phpt
+++ b/ext/xmlreader/tests/013.phpt
diff --git a/ext/xsl/tests/bug33853.phpt b/ext/xsl/tests/bug33853.phpt
index bcf30f65a3..bcf30f65a3 100755..100644
--- a/ext/xsl/tests/bug33853.phpt
+++ b/ext/xsl/tests/bug33853.phpt
diff --git a/ext/zlib/tests/bug_52944-darwin.phpt b/ext/zlib/tests/bug_52944-darwin.phpt
new file mode 100644
index 0000000000..c25babadf5
--- /dev/null
+++ b/ext/zlib/tests/bug_52944-darwin.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #52944 (segfault with zlib filter and corrupted data)
+--SKIPIF--
+<?php if (!extension_loaded("zlib")) print "skip"; ?>
+<?php
+if (PHP_OS != 'Darwin') {
+ die("skip Darwin only");
+}
+--INI--
+allow_url_fopen=1
+--FILE--
+<?php
+require dirname(__FILE__) . "/bug_52944_corrupted_data.inc";
+
+$fp = fopen('data://text/plain;base64,' . $data, 'r');
+stream_filter_append($fp, 'zlib.inflate', STREAM_FILTER_READ);
+var_dump(fread($fp,1));
+var_dump(fread($fp,1));
+fclose($fp);
+echo "Done.\n";
+--EXPECT--
+string(1) "%"
+string(1) "C"
+Done.
diff --git a/ext/zlib/tests/bug_52944-win.phpt b/ext/zlib/tests/bug_52944-win.phpt
new file mode 100644
index 0000000000..fa369f8fb4
--- /dev/null
+++ b/ext/zlib/tests/bug_52944-win.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #52944 (segfault with zlib filter and corrupted data)
+--SKIPIF--
+<?php if (!extension_loaded("zlib")) print "skip"; ?>
+<?php
+if (substr(PHP_OS, 0, 3) != 'WIN') {
+ die("skip windows only");
+}
+--INI--
+allow_url_fopen=1
+--FILE--
+<?php
+require dirname(__FILE__) . "/bug_52944_corrupted_data.inc";
+
+$fp = fopen('data://text/plain;base64,' . $data, 'r');
+stream_filter_append($fp, 'zlib.inflate', STREAM_FILTER_READ);
+var_dump(fread($fp,1));
+var_dump(fread($fp,1));
+fclose($fp);
+echo "Done.\n";
+--EXPECT--
+string(1) "%"
+string(1) "C"
+Done.
diff --git a/ext/zlib/tests/bug_52944.phpt b/ext/zlib/tests/bug_52944.phpt
index c090fe6f5c..ed4af3e157 100644
--- a/ext/zlib/tests/bug_52944.phpt
+++ b/ext/zlib/tests/bug_52944.phpt
@@ -1,162 +1,27 @@
---TEST--
-Bug #52944 (segfault with zlib filter and corrupted data)
---SKIPIF--
-<?php if (!extension_loaded("zlib")) print "skip"; ?>
-<?php
-include "func.inc";
-if (substr(PHP_OS, 0, 3) == 'WIN' && version_compare(get_zlib_version(), '1.2.7') < 0) {
- die('skip - only for zlib >= 1.2.7 on windows');
-}
---INI--
-allow_url_fopen=1
---FILE--
-<?php
-$data =
-'U3XuBFLaJfQAWt4cqi8u8ugXxyDcPTZy8VicbJr50gGTEh0dmo+d8O4uBCTuAf3dHbbDYTieluscWXkKlavfKdMkZZRP3GpTApbb'.
-'mQONJCgdbpPHat6iGOoq34vIGCLKFuD8qiA4ti5AL7bArvDtd7i+5tvn49j1L3bwroIsk1iPS5leATIwp1iwk+VdPLzu7tsexYBf'.
-'giLx7WtQI779GtQIKD1QI4AT1Ihvf0I1Iu1u1Ca+7Vs3TtfqiCXvrm99EuJy/ix5z1VD8atW9sUyvmu/pQn8KU5lZvHUqC5xzgow'.
-'0e8m/e5n5fLH2EPhBn4CA3n0p02/E/hVlAgxNIczOk7H7shAHSyUQ7PIwicPE/xNw7Nq4F+aHj2CowlZQKvhr2+fGIhA1QsSG6SD'.
-'y3MBWfRsWxpYq08oqfievkq2Du7uwO99DGhG4GQrIODp67QfRFEFnrUQWD1qV2R44JVHoEjwt5c6ASus4MdOAtA+2OZAHLLOA9O6'.
-'4kgGY4wOggODnQMWrk6fnTn4s4E/GG/QqEPiOiY+PWvij9MDz+0qM8WlyB6rGiGdVcVbChvQJhcjos7ShfrFxU017nBgsMHx2OON'.
-'NV7mx3AovW/veYYnlUfNlF1TNysBvNPrs5V6ClWzREIaxqSGPIK+EoQEeqBvCarbQHOQnolOl/jMrmXPMBWbIDRkzJPVo3kCD3Us'.
-'NRXjK+Ad8/fMLPiqY7+CulD4Vc/pga9nIEdhGDsx1qvT4Aw9rpW6rGtv5tqvcnMLWCNgtbu7BZ25GYiGMwiStZFNs0jY+uxVFrcG'.
-'rOVt+PaYWLhRRxt3rOCm2E/BUUA75CBa7wmWkSkXFyV7bsA/9NU5TPSC8jU9p/fSqS0u9l44323oNb1h6KfYl1mvAYIzNUX0Csfp'.
-'pozkYa12FecgDSsD86KHnATUwz8uzu3jbL5Bkb9UyUtMjL30feyC0oVBYY/DcR8DYdAnbI1FcItMFuAcIkNLx7498TGqFlN49v/K'.
-'5TdaEbZPfKhWMwvZw5SKGjMvAGm6xBrEIRtYsmfRcY0NfA5ogzyuzS2nO9sCMcVkMlxTpc03vuJcSkv9T4aZkYktzv5j3FUIf9Eu'.
-'EVuPX9ZM2dBAEEEAmEzVXRcbdmMfGoEF0hn+ufCvjZoGXMbSLKGXRkIhYEcJFHzrGphvw7M/YAd1MT/q4b1weBHE7+N+ge1EyDGK'.
-'vT/q0GzHs65w1UpMcFyhKRUsLtZfOj1gG3MMrfijvnyV7gJ6DOJTfsQwogzOuESkGzr2vt7AB5ltDDDgs1YBLCP2Hs4ep/INGvDn'.
-'0gS4x7TeREJvQoEvnXoNF2AxzeJZadBG9nsfE1DhTWy/BU0CvZ/t/8VxK1No7y8OsiarJz7+Z4eP7zN0XqDFE2fBdgcLzaFdGau4'.
-'eCY+NT0bWZiQ9RJ8xXipdAO0oplw23O6CXo1DvAcC7C0VnHjT9+dnveSDURCDL+J058ivgw1MKpyUank1fTE7eD+MYNOtKepW3EM'.
-'5BaeogscRezzQwX74AjxOVQW7QYa4BPofdJVOrFAYE2dq42rbINe19qxXjuXQquNl2liaVckfFge4ywTvwxcfNuyttEveIsC5Efh'.
-'t/0A5I1okwDIHgrUs3fN2x3Q79uewcOW4/dgcJII2THNt84OUqH5dlnqMzEPzLrjLQi4S+MtVgp6vWcf+ZBE33o8admzR8jNW06P'.
-'QldnMQigV9BkjL7s2W0fRg+kbGLKAf78yTVnjHqLJv5Qjv0IeEDy4yPGq0JBW+BDvsVZShTCaCWReUxyexvGUy8LRxw72zipLkfM'.
-'a5oI2gU7/g1j8VDFlbFspQbEOJs7RdSJJDjP95E1IHKcjuHLG4xcDeh/dWXyLkXf/JFL2QJcW2nE5NXi4hT+b7e6jjOGiqHNMbWT'.
-'sLVBvw1MQLgf8dt69bepfRWCHfyDIx4Z+RYGUv6AqwxbGGD5A8YzzGY9+71nbKlzi0glZwx/ABx/NvCnUYMEyJXuvXns4PsG/jQ6'.
-'9kcfPq8j/DqmrZ9xXXoYSLidm1i1f/LA7BI807Pf4oZPYI19F9WRQRAtZJMeRRzCn8DnwMM9PzepeCNEb883OvT9HP0ovLO8UkY9'.
-'/oSSaM+n4dt20Kigx0lBgiPHgQFn4nAVc8ufSMdg4i0Z5mg0oDjD7s0saDFcEhehwEJntB2onT2hGTAXAx8MKgAVNU21E8wQNYXQ'.
-'NFf40yNVQga+Z0+xrAmk7oMUQWOfM/2ZTX758olZiaMm33pQ/X1BtvOrMAnHeJiBSheFXMKD94DNU2mkmsvE3AGrJtVcB2n/4inK'.
-'jwAZCUviQzNQgOMJojl7IF8e6YyJidrAa1HrParr/hwJifakm3TB5m8GqSGxuFhz2Nv4I4tpcyMhr4FeaN2ikWvSsZuGlgZCVWHF'.
-'Np2AKxTgEbXkY+6FyRivfDWrEnEbI0h5C9WhRdKUIws1Ah6PXb/LjqrO8bUMac6wX7iXoKV/qlgtU/vKMP8GXcQaGMxdF4PtMdNP'.
-'ZfKg8U56sg92RdJk2/hHYYCN5zp4Y3bwxvRIDt4rezRJujhIQWXMspk1tCIWF4Fj37holt/deS/w2ZSTfD2cxMJZPbDZ0OYnSf04'.
-'AG019g+HdEw8gKmvDnh0/LSRPjWAIn4zfc2aeSUXcBYeU1jd2I1B897dKS8OKHsMHdJLqeNoVE7kY6f05tQBMfvYtSMfCsHh2TKu'.
-'LJozmKY8Pt2g/m3wGcJKGzaKCYCjQaYqLY9ja5xckLecwnjndoKrMLh2ChaskC6FQQLdYmK3k6T6hmzudB5gliE9wbMKq0ZO2+Kd'.
-'frgGaU2bFYOwh4YbGc/Zhj9Itfsuumm46+8WuYgSemdNDMUOrLF9bIiF1SvIcfVibPsEfwXwEgRSrs4IkLhpCoDTFzjumlOAIgv7'.
-'dHqWGtnCI+BW4UFq1KaFKnGAPM8tcjzFDns13W1tFBMMjlEFXCANwEPGsKQoHiwupo+2BNgoJzXw8Jci0Ug780lYtzhDwyI4bF6x'.
-'tqUz//T3J/sNHcfVGwcG5Bv26+FhQ7/TQV2+UfYjXUmH+PYKvF9nYOAfXIFs05MF0GZuD+I1bxzCPYYAjX94gfYEikCDHljmHIQW'.
-'UdBAG97qgZKGn3X8eYo/z/DnOf58iz/fnZmpI6Hv5tHsjoPB/VhMZvm0zJxnI7sKbVamF/wDJ7XXkHRLpV/PHnqUZUHNI1FjPSox'.
-'M2fsNKtw7xDv3pBTh3Jpx8SUjDoe7Ssr/t9s7tgDz8hKkEz5kxsXB26mjTbLQ5gd0ryBQfK6DbLuACweipYkhxgdULB45bjEIYlj'.
-'hFzVsQOI9LI/eo5Cvzx90cFAgZLOlXo0DtD6ybmilDPD+Gr6DgT5PLw4dFw+wKZQgkwvoxcfLGV8/5ybY+ZeR4R9OdUvJqZS+MKc'.
-'s5i2khnoq5qlU1GEomn7cvac2y5zlAvJ5ekoBXEmmg4vFCRqJWfSDU8FLZagAgvcApwcX4zNnW+3KWE2YAQKUg1bPxdm05UZpCod'.
-'QOJfTouMHbo2uDhDcozKx1ymCZKK+RG2g1QRLvx2xHWCOiqI77EHF3INCaEsyzUz/VZsDo99btQVL3dOHTSHKdSbBiP8BunIxD/Q'.
-'kVOlT56ZzWmO6pBwBb6UZL5nVh1s0o0rPqys8GkNel/5BI5a7+5OBVgHLswDjCWAKA3QjzMQmuDJdZ4xFcc9XYlZf0GhqxmZKhXj'.
-'oLpb2QyUXsI4reNzqEBAwoCl1JXT28ixWewzk2fHsDUVeVTikTHNoQn+mMMZ1hXzRpybchWrwo89E5V7YBNqMbVKXjKa6zlzsufk'.
-'3oVshy4QS3Y9MPPSWuvCHpWGY1C0GsnGl0s+DtMkVYZBwZokYHiw02MjvySnMDkpMz/PzY/0ifyikqkgDvhBfOcL9CYY5bY/jvvi'.
-'0e1jIum7gPac24Oohaeixwlae4FNHGYihuxDmm5vHR6cHB3une9vHv+I6Kpgjt/uvj65F2Jzj7/nJomR+3jKD6fL8tO4vMaEMSSt'.
-'qrMG7I40BA458LMgpdHs7Nht3v3l2z5ZEqYieUvZsMg270hz7W51oW03NT86wygOKgqXRQeupQr6efBYaiBLDapLDYqlHoHOLpfY'.
-'qSwxB0tklaW15xDWlV1D20regqPt5Dtm5Dke7kiQcFviiCUS7AXYS7cA2w+BHXaH7agAmLjOQgbZqYZUqpmk1dxKpxmK9WQGSt0H'.
-'tjq2g344KEC+ySAZGy7LRpNxAezay+C2g3Hgj2kvUAFqoja5MwdSacnEzeM8wUWYAs5xJc4CpIJznOLcA4HSfxO2K+iz7YrmdOaB'.
-'KRi38xiPg/gqiPcL00gA5qRdfRQMonEwH7CeQ1iCXiiAr9E5dNU8uy2bgflDPygWVwCEMo/p9PojsEkKROm6WR8f8ynS1cxwojAD'.
-'jRQ2cAtQu3n2J8DNod+NioAjtzyoUCoWbckOnmzmqVBbfJpZGTAoAO62yjDtAsw+nXxWhusU4A4OyzDdAswxnY5WhgsLcCdBXFFi'.
-'zwOBkGtnVf0vvIyHN30/mgzHlVNpbyXQT7yZsAJIHB+AgBetQjGvMKaPji3BZ4IZFGF+FFXpFz+8UVjqSMR0HIrT5ApW8FTg2PQr'.
-'WzH1ZIgLNqVkSKexLqj0RCSMcioojOCFcTzVeEOD2wkEAs3RijgN/f3mSv15vfb06fOVNfCAFfDC1BXYlzONN8hBk/Dy861WFgiz'.
-'FTu4UpY7BrK5NYLExKnrzT8sbLXEUduODm2ntdo0ydwaoRviC0h6wcXqqjsHP0XD4LDdBhLTgfxi/+BjB6wzgabNaPCkCblpNb/L'.
-'TsD1Ujg2IA2xB/Gxo97KwLDXeJxC7rDERTxU6g8L+fMa9UVcRTdKhzZulFIaImUU3gR9SjGZSNdxCO3VX4SDjoYrmEvixGc8xnIM'.
-'OmQV/myETn396fPaYsepLd44a/oy1HIrhuroi7hsL1bTAZsMLaI1/ewLhyylRig7BACCp2sA/vMR4VrSvChuAeMt1Za061Bf1lt4'.
-'xn19SesG8IItxrfVlzrWHSh57Cyl9ZYnVcd2iLVONibfrj99Wlsc1RaHSwU+gazbGSuF2ymnhHhiG/FKmmiGx8vO0qJfxxPt+bm1'.
-'9FtJ/ocFaPR1oWuXFrtLy7l+xZJOHKiCJKfYO/AteCBvnSpiZgB/WDCMcNcJT9IjZZdWl0xgMgwBMRDtSe5w9nDXNBsiBwcvCDYP'.
-'Tx474dsSLJOgvSS7tqqWZkqqOIN7y3QXDAefl3TZ33pN14gWjl7XNaYBPa6+pPPxxTWEssfwnjy3NTVS+fQNEPbR7aPVJ397sLm/'.
-'g+79uzgYgL6xewnen4LX8y39ccRp50nXBfqdAxmXTDx3lm/aePRodRVd2+NBkr6TPIvpvhdHWyIl8GyJvmU4z9n6A1TsJSriFYEe'.
-'JV1QzJTyIRzKq0i5gEczU+JhJLJq8hrcaoz0NUMploYeyf80BMphPoc+HITjuQj/wBcYprUYdUHmnUOX4iWyg9F4KgjyCLjiG0Mn'.
-'lAwjIlZNnI42sFtGfRc4YPX072or35+tdiy8GEEex//Y0epreM/K43uRCCbkqs2rVu56xQ4OHfUi5KUYJWnzXgx4g5+x9Pk///rv'.
-'Pv+3z//l8z/8+u9+/ftf/8Pnf9A+/wsk/QWS/vHzP//695//n8//7dd//+t/+PXvNUj6LwD7f37+i4apn/9vzPT5L3iJKfSxpNGj'.
-'XIAtd3OJwHGAK3Z0h6mat9RfeB+KobfChDSJbvHtsxlwG1p+jqd6S9glunATWm8pkAyOCu2H48MDQ1/FbJgLhsdIt7ja8N9t+vRo'.
-'KRkkshqNuqUpX9ROW2rIKudSRVdaSq5eAmOkgCketpYaWk40p19nVnbdQnZHKh63mnGGXqKnnhvQFQRlvtnMk1VC434eKMBGc0PS'.
-'4q/nv3sZMC0vz0PiKhNZoeiCbsh4JJuN19AMEj4nNt/gL6ov1U6prag/ixClmCIeXVRaf+G91JdFzZb1F6veS9ytlGsBISD2RE5C'.
-'ZquEqJACxfboSg+WPksKkUGR0uhRlYrEC0QkqMw+E+RWeG0mcK+uziGlvHj3OBoEJ9AF+THMglcIXxvUwygGnXjuTabn3ni+lhi5'.
-'U1x4ovt++cphHs5hykdYxjt3ihJfliQ0Efym/5dKiW8TSs7duSWibvv5o1JglBm5go8kknDYRjTAKrdLYPbCmP35I85OLq/VQMD3'.
-'g/aYk/BpNje/2vklGSmyfZNdt+NFrem8upMeqqrfEoxpUEHTJbpiZskDBrhYMudUSOUkZctDnrj4T8MfSIHfNCQ5r9Yjr0dVo2nw'.
-'aOTAe0pPpJS2oq3Xak0BgXQCwkMbmE9NNgQNc3XNXFl7/gzhkHuQBMIkSOnPxhHK3cwa4jSQt9oSIYLeKKEmvixbGmwEqV0Lv1mn'.
-'Uk2ZFuUKZR06D28GMVNIV7BfwuRdOCTqzUPDHVVZh6wP77dfcoBzjQ++SwrZiyuFOKX4wtubgeJgHNpBu43n2OijST8BZ1HHy3HH'.
-'4ComjXVtZmnPcMsFtvkR3oZId/6xAau939V2KG+i1e1v7bX5NyF/r22+P3l7eHRsj28gUfg2fMPuJOSQUjzQ/OFrkQ34Wdnb3do5'.
-'ON5BZJxDXpZswE/ua3p9cnaJoigc+C2xszt+V9/vrorGrOavKWTyJHd3hjqB0JLpzq04d6mhExF0K3GvguzyhY7V5SgRHCptvETn'.
-'RVfefNWmEyzaRve0ffbYceiGQZy5wuUoPfBtvHfB7QQ2eJUAYXUwQjYZT/vBKb5TBIEFuhOg/roCccBwCfPKNqksEAA4ZZiV1bY6'.
-'vMbtOPo46uBh+3iActsOE0NvAJO2giEGSOPI0Rs6cm168HVnZoEJ98pNgn44LNaftmRa7WZyHdK5TxhYcesDrI7rSQ3cJchXXlHa'.
-'AAqCojHZfqZ+8KLxOBrgh7pIlpemhg7iXO2mNzXIguqyIBQWeqOdLwmYaQzjC5PzJRG7Y3qxoDYdwgkFkeQSjb+9abStaSMEmvKK'.
-'74cY9XCsUJbo2hYLXzBKkaL2JFwRbLdyzTkwVFyqnxR4RieROrdUZKNtw8gK4g8kOcmOtrjR8stbFrj8SW+D7YktIa4Qb3SMLJZo'.
-'LL1ohVcg81w8PauiOhrxp6O3o+F4Be8obNRrtb9peq5/0aGNXQ0KEeKaNtlhbuA+lObAjTvhsFFrjsCUAwe9UdNfvliF0tBplkeL'.
-'yxbyUXZUw1GUhLTvzHRwKyNYSL6OgdSkBeTHhg42Nd16rM/weLv5HzkWWR6ETCXQEibNoiQH7oExwmOhdqEWoVXHTUW4W5Y2ic34'.
-'YiqRi/inKltXZOvKbMW6lhpmQQ0aoYUYG13rEx2NIKE+rdDECHRRqqDmN48Q1RhRDdrKJWcbMHooT9C0/n35UXrSH0LgwHa6Z6dN'.
-'EoXWnETDMxkAgx/lQNfp3t3dzujODxiekCpBLnD9fjIMxw7Jr/fwZPSI3JgIY/tlDbLjYfvi/Ul7mZ4wfFu9AcodhgMYgeQ8NJSt'.
-'lKFFRbAUlftaL4DHJIy+cdEwehu9BolR5tFODlJsrAU4vn9dmmUYBUntKcTpXeJueXyInBabseI43Ei4zjS4dDx2i2b1RFEjKIpv'.
-'ANfxCKcR0gNN+Rkd4cdy2byNMBiYXaQ0caMrXClHJjW66EmlrzM+2xXIfzNGN+F2ZmU2rRBxP4XB9UZVIrroeNcXyJjWMdbc4Bsc'.
-'kBYNPvtzEiOH0EfeNUfFY2VTf45TuC1cWfyseoBp+ox3c/8b1DZfnaoKK+2RtZVKmjadD9Tt04PTGPRzxmmLi5iyuBins6D6fvRJ'.
-'py1/uVRxKaP4wGj6lNWI7QGtPqzSlO5qCFxkPC4lLi4+LogrRMISCz4afVuKlceptAVEWXImhAFVih4lzh0InzvWyHekLlcR5+0l'.
-'HsOAheABymIw4olaVsfKb18UtGmpHqUcEeoIqAQ41cWg0M8wnutBmBHrgSo4ayQ6l/o+hbiPXyVQNdeiYKVrN0aj/pS5DnQhMShd'.
-'+DTDACDlMicgjDyqH22LxUX8BSN2iJfG+GC3OQ6fTbmBHxp8AgcKcAw5CZy20FPVeR/n8hqh3ZrENOuwkT028JRxs9mFkda+Qc9w'.
-'o9YQvdN1nHTn/0a3QQDJKAhayWn37O5OebfPxeATyh3cALffR0MB+KkF+uV1qg3QKOOamuVva/xtrerbOn+DP0L2nqLVB7zVtXpn'.
-'M6jMMBUV56g8G5SET9Y5Gqv8jk/W+bkQkJTEz9a57HVOlW/WudLR/ElJsAQm5auSYLFCVXUhaELlMJTU8zjtnG2oL0Q/Zp/bQTDu'.
-'Rq1GxxL3GjfaqEattAO7liQ2GKEmqSdQxkiBwpbhlBGBbkBf9TXPcfJ4B2PVSPrR9d0wigdu/67tJmNz1bTH4KbkcpuZoUDCleg/'.
-'ZwjQUMwpT2q0Cu1nyC12N9BlsagT/82ahKX/Tk0i14maJNjwv1+jisMq9zUNH1RTQQR4UdQP3KFeJIng/d+JKtLnRLqkQzE3ckK0'.
-'IqW9mQ0XW7X6VPSnt4CnAb4pZT0Tmj8d57hpzlIH919ZGKMql6cqCixSlRjzijSkhmw/VjtgcbFtflFdBGOV6qKUTapnZg2ieNRV'.
-'ZwG6oKx7VTLqATp3BS0b4AoQhjPAzq54oa15NqIKzOEhS3gDOd+FbXO24qAZbdPq8tWBZIaf6nSLwAivq/sbfAALIDM+enimCgXy'.
-'SzPrwiTnwjklI+k1usjQS9ZF3rOA5xR/5v9uoaEFZbDr+4rMoXzaHthK+ZQjtJbySSfRSCb44i/48jiTwslK/clcYMU7DkZ4jFfm'.
-'5fBskI0WW+A42Ch8jsdOAKlBPxjglRfwNGw5nkF/zRl/EBNReChY3PEMffmU71Nxb4z0YpXUhoSsYB8+YQwgIFZEMSRflrMXtDOt'.
-'tWfPTAv+fjG+eoavruKr/0Z8axm+NRXfWg6f3Jts6eayburY3amN5hnisBg6v7IDNkheCNMldJjK9rrjrGfBd2QOOqtA1F+MX6BO'.
-'p7j2fFu31mcmvFpflPSLuQqGTYB7fCXi07SxbUkYJWWtlLJOKWeVtVk2Nhq/2Pxobpi//E2uFl//dW51eWhhhc0na/azZ1Yuda0y'.
-'dV2kyqr/0Th1V9qbK6+JQmsz86H3B0n3vES65yXSPTcryzfnvzxQ7HJ12cvVFVgu1gI60P3FqFma+H8FyTXXVubm0mvDT1uQHA4A'.
-'MH9D9Fl2oA0IC+mSdJqt6LaDN5hP4q3jY/pAYwDcRfAI8Y9SiI4ewRCcEjoHoovCrTVFm4EP1Ws7JcE545N7uk5XzC4dQO7sABFU'.
-'lhzbd+teTtzGaQ2HK/47s9xPkzhonK49VdK8IOxQGrzjvzWQQV4fzWLICf/Dt0nAL5whjq6HjdP682fW0zX4/5nlT91hrpyWG19k'.
-'uerr33OShIOELLETB1PEBkn8L00OGLhGlcC0i657EQLsdwD33Tp8+ZbT8Y6j4RiaioiV8iK8r1Ug+u4ZwltPRZYIeoCaDVWuP01L'.
-'iGIfzExA9GzdegYNqj3l9DhoSewCMnH7A/AiTtfWoSIAWl9b4w9XIVgdY4B++h1dvFBHPeR3k9Dl0gQVO1G/xQlr9WeINGvw2nf4'.
-'Dpo27ESN02+fUZMgRTSfem+9htU+s/qoF5nU9W/XAddz/CbSmd5ra0+znqF0UVT9KXxY/w4QPc0+QF9AnS3xT6SPwuGFoNV3a1b9'.
-'+3WRPg0wSlk0A/+tEaZBILkBapJ2jtL4gRtHSDxqKgIN3aupYJa1784s6jj+LKiR66/nhFip1Pdr0FVQqdEkHvUDiZdQpd2RJVFn'.
-'cm0ATRL2r4IYAL5fs8S/MwuG2DhQ2oWVLjYW8irjOA/M07VJOOzYPTDmhigOxDu9NtMJOplu3baCdkOHl+BwMv7TBLf/E2huWQjs'.
-'0oKRSZlPU+yA5EwBnFmIcHeI+O5D1APFv+qE5pPucpvziErcl2klzWV0V9ZMmXN3eF9eEISUaXXNfFHPyl9de9KlwlPckGIYKytd'.
-'gX2lrhSwNfFC/8vak2vRl+RDwboaQnGUt55v1nwE97ZLbRk3rLvirHEJKuGAavH4S9tV7Kv7c64Um/aku1Iv9dkcHA80rqLj0vY9'.
-'ybPGnybh8CtaWGjjw3kLTSz34HwkDzbynl4s9eRxcUG33B1kg/tRAoWGT9gif7cLhZvLPaXRDyESeGDwl/Go7X64QtiitE4CzRPA'.
-'mR96Ozej6B48QH/woTbaDVGvUXRtgEytYa9it5hK074AVQiolnuAzFhR0K0APqxYsW/nIkQPj3y7dNmNU7LmQymz+QxQbIpoiMoL'.
-'xfqh5MpxxFYY+w8NUO7Ky3hs1FfkMFDJjxLoATSSHySSdDgUBNk8NNVEULhDYO6mNVOpkC+bR0e+m3bwZPu8DMWFzoE8Sr7n1O1v'.
-'a/Vn3zX5Op9ak6fqB7SMXOpEI1x1+qbj1JWeHPC5/3g6e/9JzV6nzn5BVXM9vEQEJy4G8hDG1afZeje+GqK73+2a/ICK1RisdtNF'.
-'W2hZkSPCFaiBmQ1FI3zSX+mB6sqQrV7kmf9/fDrkqIA8Hz5IgeVBfsD+KxABGNcBvptDBgPo8KRuPzN/N2JgTdSRUrOfPflrGGQe'.
-'cb8QBXT0M5XKr9CTKwz0i3SoAw3TnUoYxSHILStxQcq4hyoOisNbJ7orocrFfy12kk89VteyhOWyYP9txQhR1suLsguUU10qDyjo'.
-'GMAMa89MUzZO6YKLnI6vAMeaqiL+FTjp/v3aeiW11CUFKQ8y/krXqhGwSt/5GKWgNl8Y9dU1+9tnpmoHfWs/e772DM0SREe8TAxv'.
-'rM2FxZZi8wQANK+GD4Xs6fc5CNbstRyG79cVHPOyPC/k+e6pyIUhdxkX3EuM7gvUWUXPyFZ7BnM8WRNUpoGS9vXcboEMK6GapScy'.
-'4qK0wQGSvHltdbULPjH5xQ18z0Jb6GQ/uRyQAuU2dKpT+5eTYBIUA2MCx+UVdKvlqJPpdMEzzomXptejkeuH46l+JoRmVgURxGgE'.
-'lmeL1VFaF7+7E+uGTT52PftKE+zw+Y9t+O/773UR6RNwAFaxbDwzKC3LvcKCWnhKkQjO4ly3hTY0+Cxmq4Cs4c+4Om3ntvipQ8v6'.
-'YMeJtcHbti0a7dRmQRpJ0bZuiaR8Zkq2Auylq/kWd34ja7Bwyv0IN3+Pi2uNSpGBCESeZU0W8ajcagFNdKV7JPhCR3uQhIG4Y5qW'.
-'EZSNLKE3wQ2c7bCPgZakYbw0MsC8zZ7nLSHarYB5SIZOFBh1XgjzOw5//v9XKLNoVJpjO8DdHkkDXx7JLvOhv+xeIsKe54xcER3+'.
-'deO2JcetGDLlUdi6dxS2lVFIIel3d8/Sc1zSwJTscXWt4VZEmKyuNUWQshwqKyszuu4oF6eMq2Q0pKXwsGq4hCcGbisdUrfie6MO'.
-'8tkqDhuz2XbaK2tpdJcPhpv/ot30Mfa6AkmtEsmXFjbLN+xL8auhVS25m+Brh5oMlv29G1WI+/raOrUEL+rtGz3fzkwyYHcqb6qQ'.
-'ONp5c76/c8w3/eI6He2zEKl4uK++2e9r7TDotxItBhxxGLR0BWQNQN65SXIdxQDRioZLY43C4FSgdQTqo77VXJyRJqmQ8LEcGki+'.
-'QaJCPwXovagTDrUw0cLhldsPc0U+g+87AzfsF77/YeH1zs52RXNkclV7wpjbk8Ksqdiv42jYYdx/WHh3dPh6d2+nogDlC5UxlyAq'.
-'IBb0+uSd1pdNpcIsbV2ju3i1QQj8MxkUs61XZrO1owADcP0xSF7KL2v9anP7/Hhn82jrraN/jCaa72KNwIJuaa5GO2w0jtzVrsNx'.
-'F2Q5COWpNnJjdwDaME7sF178Ev+9A2WXaC9cjY4HXFrlg71xG+rSSyDqi1X3paWNI4GaqNwPRDXev9s7hHq8PjzaP9/df+Poq8lq'.
-'OOisnuPdyKvBcJV1pd0J25xh5/z4ZPPk/fGrzaPz7Z3Xm+/3Tk52fj7hfX6OtnQc9ANqazvqY1C9top7u9Vcx5s/7ZxneSjXm2Cs'.
-'4emFVbAnh4d7J7vvOIuApRZQjqSY5Wjn9VER/VHQBhp1IUMyroIvFiHhZTHlXFCx3YM3spxH1HL3Co1X2y7CnhyebO4hmxwLeAA+'.
-'icau6IiGxhk2f9j8+fzD5m5a8ew/yLAVDYdAWChBgT7eOdiuhD4G9YqcQ3szZY32j9+c7xwdaVpllp04jmIt8v0JDLzHWY7jo5/O'.
-'63MKweN/xIWFZFfEgR91huEneAH6jUCWBoIY2OeHP84p+jWRGa3UlpZM6E709qTfnyq1qM4rCNMBtTvpk+pNHucKXKvOsykHwf2F'.
-'YtPXKhGcgJgEBu9HuDqkBRnpgHYamAGYiqKUC2lF13SYNJq3eezr1dhxSasNpL12k+EvIBSkCaz2y+bJyRyKgP0KWghjo/OFPeW9'.
-'uI8eKZ0HYmoydKn1odcPNKV+rw/3tneOKvuLhnaSgR4cahI3IT+Ism8fd45z3z4GSa6L1ufzBPfOkpA7b452t2G04mEU5ziacuBH'.
-'Ad5BwvRm9AT+ZufkfG/34McidilvEokcgc7fH+1V1gXSGSdBvT3Z36uConRAmiiwIFff71dSEKzKKJ4M0goIWXrOcuLdztH5u803'.
-'Owxer2Ut2t59t4d0LQ3GLvMic9xtbaataLf1mRa1tdu12VIZwfnJuz0FQf40AC314VGApJfg2OPoPW6v4dAL3qzOx5PUzeUlTewT'.
-'hiFQKn+WVeCE5Ofbww/nr48O9/Mt0NpxNGgsVQGfHKrNHYf9fhnu/at9VXziWEDzTIHb2X938rFIP+JYaqoC+WoHOm+nAAqQeJKS'.
-'Arb5+gT6CqAeKTDY6JpKdLALzk92T1SmJcDP/8fnv3z+p8///Ot/0j7/4+f/S/v8v37+y6//y+d/+PxPGnz63z//Z+3zvwDEv3z+'.
-'r5//UUW3t31UwofoOPs/ahneYq79j/l8kGt/Who3W4d77/cPzunglxyZYJCVwd4d7f60ebKj0CgOr1x/WoY83v1zHuExKIsy2HaG'.
-'TYzAEcpP7KI50Gsq9HYlWElmoIipaMzO0e7htiqNp6MKsP0dcL+3c3wx1TjevaLZOSGAbDnAY2+q6HNSpE9VU7YO3x+cHH1UlSCg'.
-'i6e/udG7B1uHWVcD2O4QdE4F4Kv3H4/zFXQrOWd7r8Dp231VBh1+OEC7syjEtoWirADNCWcA3UutRaEXjk9guJYE7RHPA1VVEI9K'.
-'rSg7qOo/suXUVo/B4kiq6Pj6MFc+nog5D1/90SOqIc45zS20XmOwTW+S3Ae1RlBvaQ5hPtQ6QW0Jc6I/1eKHSn+uVlLzprQnvwy+'.
-'uXWye3igcjgf4FQCPNpXB3eKujy0918dwuPh+3evPqqKO44mI6hGCfTVx+1NhTUBtOVOkwqwDzs7P6pdeR0EF1Vw+8Aeb48zuEE0'.
-'HHcF4NbbzaMTAVnidDQupcVXAV+SL6T3QKmGUnKo0PeNtyJcJmYknHYV9Seyu/KVBlbND09w2LMhX0KdQqeo54GTt5PCp67OPPD1'.
-'2naefOs1Les5FbK+XyA09UgFgY929nNwozi4CqMJOO7VGZ4XEXfdfntlCl50GXbtYwF2TUNAWV0m7u7xu73Nj+cgy/ePC/0M4nyg'.
-'GM7bO3sFES37I8ABKizJzVcABuLq9S546WoW5LY40KbRBFwY8XDtDsfo7bcIA3ohibCLN6rQCcH5RSjFpLqWpD7+XLRgO23tnMvZ'.
-'BcR9H+IJq3fiESmZWBbnilDlCKPe2X5QJA==';
-$fp = fopen('data://text/plain;base64,' . $data, 'r');
-stream_filter_append($fp, 'zlib.inflate', STREAM_FILTER_READ);
-var_dump(fread($fp,1));
-var_dump(fread($fp,1));
-fclose($fp);
-echo "Done.\n";
---EXPECT--
-string(0) ""
-string(0) ""
-Done.
+--TEST--
+Bug #52944 (segfault with zlib filter and corrupted data)
+--SKIPIF--
+<?php if (!extension_loaded("zlib")) print "skip"; ?>
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ die("skip not for windows");
+}
+if (PHP_OS == 'Darwin') {
+ die("skip not for Darwin");
+}
+--INI--
+allow_url_fopen=1
+--FILE--
+<?php
+require dirname(__FILE__) . "/bug_52944_corrupted_data.inc";
+
+$fp = fopen('data://text/plain;base64,' . $data, 'r');
+stream_filter_append($fp, 'zlib.inflate', STREAM_FILTER_READ);
+var_dump(fread($fp,1));
+var_dump(fread($fp,1));
+fclose($fp);
+echo "Done.\n";
+--EXPECT--
+string(0) ""
+string(0) ""
+Done.
diff --git a/ext/zlib/tests/bug_52944_corrupted_data.inc b/ext/zlib/tests/bug_52944_corrupted_data.inc
new file mode 100644
index 0000000000..ed46a36a1f
--- /dev/null
+++ b/ext/zlib/tests/bug_52944_corrupted_data.inc
@@ -0,0 +1,142 @@
+<?php
+
+// corrupted data
+$data =
+'U3XuBFLaJfQAWt4cqi8u8ugXxyDcPTZy8VicbJr50gGTEh0dmo+d8O4uBCTuAf3dHbbDYTieluscWXkKlavfKdMkZZRP3GpTApbb'.
+'mQONJCgdbpPHat6iGOoq34vIGCLKFuD8qiA4ti5AL7bArvDtd7i+5tvn49j1L3bwroIsk1iPS5leATIwp1iwk+VdPLzu7tsexYBf'.
+'giLx7WtQI779GtQIKD1QI4AT1Ihvf0I1Iu1u1Ca+7Vs3TtfqiCXvrm99EuJy/ix5z1VD8atW9sUyvmu/pQn8KU5lZvHUqC5xzgow'.
+'0e8m/e5n5fLH2EPhBn4CA3n0p02/E/hVlAgxNIczOk7H7shAHSyUQ7PIwicPE/xNw7Nq4F+aHj2CowlZQKvhr2+fGIhA1QsSG6SD'.
+'y3MBWfRsWxpYq08oqfievkq2Du7uwO99DGhG4GQrIODp67QfRFEFnrUQWD1qV2R44JVHoEjwt5c6ASus4MdOAtA+2OZAHLLOA9O6'.
+'4kgGY4wOggODnQMWrk6fnTn4s4E/GG/QqEPiOiY+PWvij9MDz+0qM8WlyB6rGiGdVcVbChvQJhcjos7ShfrFxU017nBgsMHx2OON'.
+'NV7mx3AovW/veYYnlUfNlF1TNysBvNPrs5V6ClWzREIaxqSGPIK+EoQEeqBvCarbQHOQnolOl/jMrmXPMBWbIDRkzJPVo3kCD3Us'.
+'NRXjK+Ad8/fMLPiqY7+CulD4Vc/pga9nIEdhGDsx1qvT4Aw9rpW6rGtv5tqvcnMLWCNgtbu7BZ25GYiGMwiStZFNs0jY+uxVFrcG'.
+'rOVt+PaYWLhRRxt3rOCm2E/BUUA75CBa7wmWkSkXFyV7bsA/9NU5TPSC8jU9p/fSqS0u9l44323oNb1h6KfYl1mvAYIzNUX0Csfp'.
+'pozkYa12FecgDSsD86KHnATUwz8uzu3jbL5Bkb9UyUtMjL30feyC0oVBYY/DcR8DYdAnbI1FcItMFuAcIkNLx7498TGqFlN49v/K'.
+'5TdaEbZPfKhWMwvZw5SKGjMvAGm6xBrEIRtYsmfRcY0NfA5ogzyuzS2nO9sCMcVkMlxTpc03vuJcSkv9T4aZkYktzv5j3FUIf9Eu'.
+'EVuPX9ZM2dBAEEEAmEzVXRcbdmMfGoEF0hn+ufCvjZoGXMbSLKGXRkIhYEcJFHzrGphvw7M/YAd1MT/q4b1weBHE7+N+ge1EyDGK'.
+'vT/q0GzHs65w1UpMcFyhKRUsLtZfOj1gG3MMrfijvnyV7gJ6DOJTfsQwogzOuESkGzr2vt7AB5ltDDDgs1YBLCP2Hs4ep/INGvDn'.
+'0gS4x7TeREJvQoEvnXoNF2AxzeJZadBG9nsfE1DhTWy/BU0CvZ/t/8VxK1No7y8OsiarJz7+Z4eP7zN0XqDFE2fBdgcLzaFdGau4'.
+'eCY+NT0bWZiQ9RJ8xXipdAO0oplw23O6CXo1DvAcC7C0VnHjT9+dnveSDURCDL+J058ivgw1MKpyUank1fTE7eD+MYNOtKepW3EM'.
+'5BaeogscRezzQwX74AjxOVQW7QYa4BPofdJVOrFAYE2dq42rbINe19qxXjuXQquNl2liaVckfFge4ywTvwxcfNuyttEveIsC5Efh'.
+'t/0A5I1okwDIHgrUs3fN2x3Q79uewcOW4/dgcJII2THNt84OUqH5dlnqMzEPzLrjLQi4S+MtVgp6vWcf+ZBE33o8admzR8jNW06P'.
+'QldnMQigV9BkjL7s2W0fRg+kbGLKAf78yTVnjHqLJv5Qjv0IeEDy4yPGq0JBW+BDvsVZShTCaCWReUxyexvGUy8LRxw72zipLkfM'.
+'a5oI2gU7/g1j8VDFlbFspQbEOJs7RdSJJDjP95E1IHKcjuHLG4xcDeh/dWXyLkXf/JFL2QJcW2nE5NXi4hT+b7e6jjOGiqHNMbWT'.
+'sLVBvw1MQLgf8dt69bepfRWCHfyDIx4Z+RYGUv6AqwxbGGD5A8YzzGY9+71nbKlzi0glZwx/ABx/NvCnUYMEyJXuvXns4PsG/jQ6'.
+'9kcfPq8j/DqmrZ9xXXoYSLidm1i1f/LA7BI807Pf4oZPYI19F9WRQRAtZJMeRRzCn8DnwMM9PzepeCNEb883OvT9HP0ovLO8UkY9'.
+'/oSSaM+n4dt20Kigx0lBgiPHgQFn4nAVc8ufSMdg4i0Z5mg0oDjD7s0saDFcEhehwEJntB2onT2hGTAXAx8MKgAVNU21E8wQNYXQ'.
+'NFf40yNVQga+Z0+xrAmk7oMUQWOfM/2ZTX758olZiaMm33pQ/X1BtvOrMAnHeJiBSheFXMKD94DNU2mkmsvE3AGrJtVcB2n/4inK'.
+'jwAZCUviQzNQgOMJojl7IF8e6YyJidrAa1HrParr/hwJifakm3TB5m8GqSGxuFhz2Nv4I4tpcyMhr4FeaN2ikWvSsZuGlgZCVWHF'.
+'Np2AKxTgEbXkY+6FyRivfDWrEnEbI0h5C9WhRdKUIws1Ah6PXb/LjqrO8bUMac6wX7iXoKV/qlgtU/vKMP8GXcQaGMxdF4PtMdNP'.
+'ZfKg8U56sg92RdJk2/hHYYCN5zp4Y3bwxvRIDt4rezRJujhIQWXMspk1tCIWF4Fj37holt/deS/w2ZSTfD2cxMJZPbDZ0OYnSf04'.
+'AG019g+HdEw8gKmvDnh0/LSRPjWAIn4zfc2aeSUXcBYeU1jd2I1B897dKS8OKHsMHdJLqeNoVE7kY6f05tQBMfvYtSMfCsHh2TKu'.
+'LJozmKY8Pt2g/m3wGcJKGzaKCYCjQaYqLY9ja5xckLecwnjndoKrMLh2ChaskC6FQQLdYmK3k6T6hmzudB5gliE9wbMKq0ZO2+Kd'.
+'frgGaU2bFYOwh4YbGc/Zhj9Itfsuumm46+8WuYgSemdNDMUOrLF9bIiF1SvIcfVibPsEfwXwEgRSrs4IkLhpCoDTFzjumlOAIgv7'.
+'dHqWGtnCI+BW4UFq1KaFKnGAPM8tcjzFDns13W1tFBMMjlEFXCANwEPGsKQoHiwupo+2BNgoJzXw8Jci0Ug780lYtzhDwyI4bF6x'.
+'tqUz//T3J/sNHcfVGwcG5Bv26+FhQ7/TQV2+UfYjXUmH+PYKvF9nYOAfXIFs05MF0GZuD+I1bxzCPYYAjX94gfYEikCDHljmHIQW'.
+'UdBAG97qgZKGn3X8eYo/z/DnOf58iz/fnZmpI6Hv5tHsjoPB/VhMZvm0zJxnI7sKbVamF/wDJ7XXkHRLpV/PHnqUZUHNI1FjPSox'.
+'M2fsNKtw7xDv3pBTh3Jpx8SUjDoe7Ssr/t9s7tgDz8hKkEz5kxsXB26mjTbLQ5gd0ryBQfK6DbLuACweipYkhxgdULB45bjEIYlj'.
+'hFzVsQOI9LI/eo5Cvzx90cFAgZLOlXo0DtD6ybmilDPD+Gr6DgT5PLw4dFw+wKZQgkwvoxcfLGV8/5ybY+ZeR4R9OdUvJqZS+MKc'.
+'s5i2khnoq5qlU1GEomn7cvac2y5zlAvJ5ekoBXEmmg4vFCRqJWfSDU8FLZagAgvcApwcX4zNnW+3KWE2YAQKUg1bPxdm05UZpCod'.
+'QOJfTouMHbo2uDhDcozKx1ymCZKK+RG2g1QRLvx2xHWCOiqI77EHF3INCaEsyzUz/VZsDo99btQVL3dOHTSHKdSbBiP8BunIxD/Q'.
+'kVOlT56ZzWmO6pBwBb6UZL5nVh1s0o0rPqys8GkNel/5BI5a7+5OBVgHLswDjCWAKA3QjzMQmuDJdZ4xFcc9XYlZf0GhqxmZKhXj'.
+'oLpb2QyUXsI4reNzqEBAwoCl1JXT28ixWewzk2fHsDUVeVTikTHNoQn+mMMZ1hXzRpybchWrwo89E5V7YBNqMbVKXjKa6zlzsufk'.
+'3oVshy4QS3Y9MPPSWuvCHpWGY1C0GsnGl0s+DtMkVYZBwZokYHiw02MjvySnMDkpMz/PzY/0ifyikqkgDvhBfOcL9CYY5bY/jvvi'.
+'0e1jIum7gPac24Oohaeixwlae4FNHGYihuxDmm5vHR6cHB3une9vHv+I6Kpgjt/uvj65F2Jzj7/nJomR+3jKD6fL8tO4vMaEMSSt'.
+'qrMG7I40BA458LMgpdHs7Nht3v3l2z5ZEqYieUvZsMg270hz7W51oW03NT86wygOKgqXRQeupQr6efBYaiBLDapLDYqlHoHOLpfY'.
+'qSwxB0tklaW15xDWlV1D20regqPt5Dtm5Dke7kiQcFviiCUS7AXYS7cA2w+BHXaH7agAmLjOQgbZqYZUqpmk1dxKpxmK9WQGSt0H'.
+'tjq2g344KEC+ySAZGy7LRpNxAezay+C2g3Hgj2kvUAFqoja5MwdSacnEzeM8wUWYAs5xJc4CpIJznOLcA4HSfxO2K+iz7YrmdOaB'.
+'KRi38xiPg/gqiPcL00gA5qRdfRQMonEwH7CeQ1iCXiiAr9E5dNU8uy2bgflDPygWVwCEMo/p9PojsEkKROm6WR8f8ynS1cxwojAD'.
+'jRQ2cAtQu3n2J8DNod+NioAjtzyoUCoWbckOnmzmqVBbfJpZGTAoAO62yjDtAsw+nXxWhusU4A4OyzDdAswxnY5WhgsLcCdBXFFi'.
+'zwOBkGtnVf0vvIyHN30/mgzHlVNpbyXQT7yZsAJIHB+AgBetQjGvMKaPji3BZ4IZFGF+FFXpFz+8UVjqSMR0HIrT5ApW8FTg2PQr'.
+'WzH1ZIgLNqVkSKexLqj0RCSMcioojOCFcTzVeEOD2wkEAs3RijgN/f3mSv15vfb06fOVNfCAFfDC1BXYlzONN8hBk/Dy861WFgiz'.
+'FTu4UpY7BrK5NYLExKnrzT8sbLXEUduODm2ntdo0ydwaoRviC0h6wcXqqjsHP0XD4LDdBhLTgfxi/+BjB6wzgabNaPCkCblpNb/L'.
+'TsD1Ujg2IA2xB/Gxo97KwLDXeJxC7rDERTxU6g8L+fMa9UVcRTdKhzZulFIaImUU3gR9SjGZSNdxCO3VX4SDjoYrmEvixGc8xnIM'.
+'OmQV/myETn396fPaYsepLd44a/oy1HIrhuroi7hsL1bTAZsMLaI1/ewLhyylRig7BACCp2sA/vMR4VrSvChuAeMt1Za061Bf1lt4'.
+'xn19SesG8IItxrfVlzrWHSh57Cyl9ZYnVcd2iLVONibfrj99Wlsc1RaHSwU+gazbGSuF2ymnhHhiG/FKmmiGx8vO0qJfxxPt+bm1'.
+'9FtJ/ocFaPR1oWuXFrtLy7l+xZJOHKiCJKfYO/AteCBvnSpiZgB/WDCMcNcJT9IjZZdWl0xgMgwBMRDtSe5w9nDXNBsiBwcvCDYP'.
+'Tx474dsSLJOgvSS7tqqWZkqqOIN7y3QXDAefl3TZ33pN14gWjl7XNaYBPa6+pPPxxTWEssfwnjy3NTVS+fQNEPbR7aPVJ397sLm/'.
+'g+79uzgYgL6xewnen4LX8y39ccRp50nXBfqdAxmXTDx3lm/aePRodRVd2+NBkr6TPIvpvhdHWyIl8GyJvmU4z9n6A1TsJSriFYEe'.
+'JV1QzJTyIRzKq0i5gEczU+JhJLJq8hrcaoz0NUMploYeyf80BMphPoc+HITjuQj/wBcYprUYdUHmnUOX4iWyg9F4KgjyCLjiG0Mn'.
+'lAwjIlZNnI42sFtGfRc4YPX072or35+tdiy8GEEex//Y0epreM/K43uRCCbkqs2rVu56xQ4OHfUi5KUYJWnzXgx4g5+x9Pk///rv'.
+'Pv+3z//l8z/8+u9+/ftf/8Pnf9A+/wsk/QWS/vHzP//695//n8//7dd//+t/+PXvNUj6LwD7f37+i4apn/9vzPT5L3iJKfSxpNGj'.
+'XIAtd3OJwHGAK3Z0h6mat9RfeB+KobfChDSJbvHtsxlwG1p+jqd6S9glunATWm8pkAyOCu2H48MDQ1/FbJgLhsdIt7ja8N9t+vRo'.
+'KRkkshqNuqUpX9ROW2rIKudSRVdaSq5eAmOkgCketpYaWk40p19nVnbdQnZHKh63mnGGXqKnnhvQFQRlvtnMk1VC434eKMBGc0PS'.
+'4q/nv3sZMC0vz0PiKhNZoeiCbsh4JJuN19AMEj4nNt/gL6ov1U6prag/ixClmCIeXVRaf+G91JdFzZb1F6veS9ytlGsBISD2RE5C'.
+'ZquEqJACxfboSg+WPksKkUGR0uhRlYrEC0QkqMw+E+RWeG0mcK+uziGlvHj3OBoEJ9AF+THMglcIXxvUwygGnXjuTabn3ni+lhi5'.
+'U1x4ovt++cphHs5hykdYxjt3ihJfliQ0Efym/5dKiW8TSs7duSWibvv5o1JglBm5go8kknDYRjTAKrdLYPbCmP35I85OLq/VQMD3'.
+'g/aYk/BpNje/2vklGSmyfZNdt+NFrem8upMeqqrfEoxpUEHTJbpiZskDBrhYMudUSOUkZctDnrj4T8MfSIHfNCQ5r9Yjr0dVo2nw'.
+'aOTAe0pPpJS2oq3Xak0BgXQCwkMbmE9NNgQNc3XNXFl7/gzhkHuQBMIkSOnPxhHK3cwa4jSQt9oSIYLeKKEmvixbGmwEqV0Lv1mn'.
+'Uk2ZFuUKZR06D28GMVNIV7BfwuRdOCTqzUPDHVVZh6wP77dfcoBzjQ++SwrZiyuFOKX4wtubgeJgHNpBu43n2OijST8BZ1HHy3HH'.
+'4ComjXVtZmnPcMsFtvkR3oZId/6xAau939V2KG+i1e1v7bX5NyF/r22+P3l7eHRsj28gUfg2fMPuJOSQUjzQ/OFrkQ34Wdnb3do5'.
+'ON5BZJxDXpZswE/ua3p9cnaJoigc+C2xszt+V9/vrorGrOavKWTyJHd3hjqB0JLpzq04d6mhExF0K3GvguzyhY7V5SgRHCptvETn'.
+'RVfefNWmEyzaRve0ffbYceiGQZy5wuUoPfBtvHfB7QQ2eJUAYXUwQjYZT/vBKb5TBIEFuhOg/roCccBwCfPKNqksEAA4ZZiV1bY6'.
+'vMbtOPo46uBh+3iActsOE0NvAJO2giEGSOPI0Rs6cm168HVnZoEJ98pNgn44LNaftmRa7WZyHdK5TxhYcesDrI7rSQ3cJchXXlHa'.
+'AAqCojHZfqZ+8KLxOBrgh7pIlpemhg7iXO2mNzXIguqyIBQWeqOdLwmYaQzjC5PzJRG7Y3qxoDYdwgkFkeQSjb+9abStaSMEmvKK'.
+'74cY9XCsUJbo2hYLXzBKkaL2JFwRbLdyzTkwVFyqnxR4RieROrdUZKNtw8gK4g8kOcmOtrjR8stbFrj8SW+D7YktIa4Qb3SMLJZo'.
+'LL1ohVcg81w8PauiOhrxp6O3o+F4Be8obNRrtb9peq5/0aGNXQ0KEeKaNtlhbuA+lObAjTvhsFFrjsCUAwe9UdNfvliF0tBplkeL'.
+'yxbyUXZUw1GUhLTvzHRwKyNYSL6OgdSkBeTHhg42Nd16rM/weLv5HzkWWR6ETCXQEibNoiQH7oExwmOhdqEWoVXHTUW4W5Y2ic34'.
+'YiqRi/inKltXZOvKbMW6lhpmQQ0aoYUYG13rEx2NIKE+rdDECHRRqqDmN48Q1RhRDdrKJWcbMHooT9C0/n35UXrSH0LgwHa6Z6dN'.
+'EoXWnETDMxkAgx/lQNfp3t3dzujODxiekCpBLnD9fjIMxw7Jr/fwZPSI3JgIY/tlDbLjYfvi/Ul7mZ4wfFu9AcodhgMYgeQ8NJSt'.
+'lKFFRbAUlftaL4DHJIy+cdEwehu9BolR5tFODlJsrAU4vn9dmmUYBUntKcTpXeJueXyInBabseI43Ei4zjS4dDx2i2b1RFEjKIpv'.
+'ANfxCKcR0gNN+Rkd4cdy2byNMBiYXaQ0caMrXClHJjW66EmlrzM+2xXIfzNGN+F2ZmU2rRBxP4XB9UZVIrroeNcXyJjWMdbc4Bsc'.
+'kBYNPvtzEiOH0EfeNUfFY2VTf45TuC1cWfyseoBp+ox3c/8b1DZfnaoKK+2RtZVKmjadD9Tt04PTGPRzxmmLi5iyuBins6D6fvRJ'.
+'py1/uVRxKaP4wGj6lNWI7QGtPqzSlO5qCFxkPC4lLi4+LogrRMISCz4afVuKlceptAVEWXImhAFVih4lzh0InzvWyHekLlcR5+0l'.
+'HsOAheABymIw4olaVsfKb18UtGmpHqUcEeoIqAQ41cWg0M8wnutBmBHrgSo4ayQ6l/o+hbiPXyVQNdeiYKVrN0aj/pS5DnQhMShd'.
+'+DTDACDlMicgjDyqH22LxUX8BSN2iJfG+GC3OQ6fTbmBHxp8AgcKcAw5CZy20FPVeR/n8hqh3ZrENOuwkT028JRxs9mFkda+Qc9w'.
+'o9YQvdN1nHTn/0a3QQDJKAhayWn37O5OebfPxeATyh3cALffR0MB+KkF+uV1qg3QKOOamuVva/xtrerbOn+DP0L2nqLVB7zVtXpn'.
+'M6jMMBUV56g8G5SET9Y5Gqv8jk/W+bkQkJTEz9a57HVOlW/WudLR/ElJsAQm5auSYLFCVXUhaELlMJTU8zjtnG2oL0Q/Zp/bQTDu'.
+'Rq1GxxL3GjfaqEattAO7liQ2GKEmqSdQxkiBwpbhlBGBbkBf9TXPcfJ4B2PVSPrR9d0wigdu/67tJmNz1bTH4KbkcpuZoUDCleg/'.
+'ZwjQUMwpT2q0Cu1nyC12N9BlsagT/82ahKX/Tk0i14maJNjwv1+jisMq9zUNH1RTQQR4UdQP3KFeJIng/d+JKtLnRLqkQzE3ckK0'.
+'IqW9mQ0XW7X6VPSnt4CnAb4pZT0Tmj8d57hpzlIH919ZGKMql6cqCixSlRjzijSkhmw/VjtgcbFtflFdBGOV6qKUTapnZg2ieNRV'.
+'ZwG6oKx7VTLqATp3BS0b4AoQhjPAzq54oa15NqIKzOEhS3gDOd+FbXO24qAZbdPq8tWBZIaf6nSLwAivq/sbfAALIDM+enimCgXy'.
+'SzPrwiTnwjklI+k1usjQS9ZF3rOA5xR/5v9uoaEFZbDr+4rMoXzaHthK+ZQjtJbySSfRSCb44i/48jiTwslK/clcYMU7DkZ4jFfm'.
+'5fBskI0WW+A42Ch8jsdOAKlBPxjglRfwNGw5nkF/zRl/EBNReChY3PEMffmU71Nxb4z0YpXUhoSsYB8+YQwgIFZEMSRflrMXtDOt'.
+'tWfPTAv+fjG+eoavruKr/0Z8axm+NRXfWg6f3Jts6eayburY3amN5hnisBg6v7IDNkheCNMldJjK9rrjrGfBd2QOOqtA1F+MX6BO'.
+'p7j2fFu31mcmvFpflPSLuQqGTYB7fCXi07SxbUkYJWWtlLJOKWeVtVk2Nhq/2Pxobpi//E2uFl//dW51eWhhhc0na/azZ1Yuda0y'.
+'dV2kyqr/0Th1V9qbK6+JQmsz86H3B0n3vES65yXSPTcryzfnvzxQ7HJ12cvVFVgu1gI60P3FqFma+H8FyTXXVubm0mvDT1uQHA4A'.
+'MH9D9Fl2oA0IC+mSdJqt6LaDN5hP4q3jY/pAYwDcRfAI8Y9SiI4ewRCcEjoHoovCrTVFm4EP1Ws7JcE545N7uk5XzC4dQO7sABFU'.
+'lhzbd+teTtzGaQ2HK/47s9xPkzhonK49VdK8IOxQGrzjvzWQQV4fzWLICf/Dt0nAL5whjq6HjdP682fW0zX4/5nlT91hrpyWG19k'.
+'uerr33OShIOELLETB1PEBkn8L00OGLhGlcC0i657EQLsdwD33Tp8+ZbT8Y6j4RiaioiV8iK8r1Ug+u4ZwltPRZYIeoCaDVWuP01L'.
+'iGIfzExA9GzdegYNqj3l9DhoSewCMnH7A/AiTtfWoSIAWl9b4w9XIVgdY4B++h1dvFBHPeR3k9Dl0gQVO1G/xQlr9WeINGvw2nf4'.
+'Dpo27ESN02+fUZMgRTSfem+9htU+s/qoF5nU9W/XAddz/CbSmd5ra0+znqF0UVT9KXxY/w4QPc0+QF9AnS3xT6SPwuGFoNV3a1b9'.
+'+3WRPg0wSlk0A/+tEaZBILkBapJ2jtL4gRtHSDxqKgIN3aupYJa1784s6jj+LKiR66/nhFip1Pdr0FVQqdEkHvUDiZdQpd2RJVFn'.
+'cm0ATRL2r4IYAL5fs8S/MwuG2DhQ2oWVLjYW8irjOA/M07VJOOzYPTDmhigOxDu9NtMJOplu3baCdkOHl+BwMv7TBLf/E2huWQjs'.
+'0oKRSZlPU+yA5EwBnFmIcHeI+O5D1APFv+qE5pPucpvziErcl2klzWV0V9ZMmXN3eF9eEISUaXXNfFHPyl9de9KlwlPckGIYKytd'.
+'gX2lrhSwNfFC/8vak2vRl+RDwboaQnGUt55v1nwE97ZLbRk3rLvirHEJKuGAavH4S9tV7Kv7c64Um/aku1Iv9dkcHA80rqLj0vY9'.
+'ybPGnybh8CtaWGjjw3kLTSz34HwkDzbynl4s9eRxcUG33B1kg/tRAoWGT9gif7cLhZvLPaXRDyESeGDwl/Go7X64QtiitE4CzRPA'.
+'mR96Ozej6B48QH/woTbaDVGvUXRtgEytYa9it5hK074AVQiolnuAzFhR0K0APqxYsW/nIkQPj3y7dNmNU7LmQymz+QxQbIpoiMoL'.
+'xfqh5MpxxFYY+w8NUO7Ky3hs1FfkMFDJjxLoATSSHySSdDgUBNk8NNVEULhDYO6mNVOpkC+bR0e+m3bwZPu8DMWFzoE8Sr7n1O1v'.
+'a/Vn3zX5Op9ak6fqB7SMXOpEI1x1+qbj1JWeHPC5/3g6e/9JzV6nzn5BVXM9vEQEJy4G8hDG1afZeje+GqK73+2a/ICK1RisdtNF'.
+'W2hZkSPCFaiBmQ1FI3zSX+mB6sqQrV7kmf9/fDrkqIA8Hz5IgeVBfsD+KxABGNcBvptDBgPo8KRuPzN/N2JgTdSRUrOfPflrGGQe'.
+'cb8QBXT0M5XKr9CTKwz0i3SoAw3TnUoYxSHILStxQcq4hyoOisNbJ7orocrFfy12kk89VteyhOWyYP9txQhR1suLsguUU10qDyjo'.
+'GMAMa89MUzZO6YKLnI6vAMeaqiL+FTjp/v3aeiW11CUFKQ8y/krXqhGwSt/5GKWgNl8Y9dU1+9tnpmoHfWs/e772DM0SREe8TAxv'.
+'rM2FxZZi8wQANK+GD4Xs6fc5CNbstRyG79cVHPOyPC/k+e6pyIUhdxkX3EuM7gvUWUXPyFZ7BnM8WRNUpoGS9vXcboEMK6GapScy'.
+'4qK0wQGSvHltdbULPjH5xQ18z0Jb6GQ/uRyQAuU2dKpT+5eTYBIUA2MCx+UVdKvlqJPpdMEzzomXptejkeuH46l+JoRmVgURxGgE'.
+'lmeL1VFaF7+7E+uGTT52PftKE+zw+Y9t+O/773UR6RNwAFaxbDwzKC3LvcKCWnhKkQjO4ly3hTY0+Cxmq4Cs4c+4Om3ntvipQ8v6'.
+'YMeJtcHbti0a7dRmQRpJ0bZuiaR8Zkq2Auylq/kWd34ja7Bwyv0IN3+Pi2uNSpGBCESeZU0W8ajcagFNdKV7JPhCR3uQhIG4Y5qW'.
+'EZSNLKE3wQ2c7bCPgZakYbw0MsC8zZ7nLSHarYB5SIZOFBh1XgjzOw5//v9XKLNoVJpjO8DdHkkDXx7JLvOhv+xeIsKe54xcER3+'.
+'deO2JcetGDLlUdi6dxS2lVFIIel3d8/Sc1zSwJTscXWt4VZEmKyuNUWQshwqKyszuu4oF6eMq2Q0pKXwsGq4hCcGbisdUrfie6MO'.
+'8tkqDhuz2XbaK2tpdJcPhpv/ot30Mfa6AkmtEsmXFjbLN+xL8auhVS25m+Brh5oMlv29G1WI+/raOrUEL+rtGz3fzkwyYHcqb6qQ'.
+'ONp5c76/c8w3/eI6He2zEKl4uK++2e9r7TDotxItBhxxGLR0BWQNQN65SXIdxQDRioZLY43C4FSgdQTqo77VXJyRJqmQ8LEcGki+'.
+'QaJCPwXovagTDrUw0cLhldsPc0U+g+87AzfsF77/YeH1zs52RXNkclV7wpjbk8Ksqdiv42jYYdx/WHh3dPh6d2+nogDlC5UxlyAq'.
+'IBb0+uSd1pdNpcIsbV2ju3i1QQj8MxkUs61XZrO1owADcP0xSF7KL2v9anP7/Hhn82jrraN/jCaa72KNwIJuaa5GO2w0jtzVrsNx'.
+'F2Q5COWpNnJjdwDaME7sF178Ev+9A2WXaC9cjY4HXFrlg71xG+rSSyDqi1X3paWNI4GaqNwPRDXev9s7hHq8PjzaP9/df+Poq8lq'.
+'OOisnuPdyKvBcJV1pd0J25xh5/z4ZPPk/fGrzaPz7Z3Xm+/3Tk52fj7hfX6OtnQc9ANqazvqY1C9top7u9Vcx5s/7ZxneSjXm2Cs'.
+'4emFVbAnh4d7J7vvOIuApRZQjqSY5Wjn9VER/VHQBhp1IUMyroIvFiHhZTHlXFCx3YM3spxH1HL3Co1X2y7CnhyebO4hmxwLeAA+'.
+'icau6IiGxhk2f9j8+fzD5m5a8ew/yLAVDYdAWChBgT7eOdiuhD4G9YqcQ3szZY32j9+c7xwdaVpllp04jmIt8v0JDLzHWY7jo5/O'.
+'63MKweN/xIWFZFfEgR91huEneAH6jUCWBoIY2OeHP84p+jWRGa3UlpZM6E709qTfnyq1qM4rCNMBtTvpk+pNHucKXKvOsykHwf2F'.
+'YtPXKhGcgJgEBu9HuDqkBRnpgHYamAGYiqKUC2lF13SYNJq3eezr1dhxSasNpL12k+EvIBSkCaz2y+bJyRyKgP0KWghjo/OFPeW9'.
+'uI8eKZ0HYmoydKn1odcPNKV+rw/3tneOKvuLhnaSgR4cahI3IT+Ism8fd45z3z4GSa6L1ufzBPfOkpA7b452t2G04mEU5ziacuBH'.
+'Ad5BwvRm9AT+ZufkfG/34McidilvEokcgc7fH+1V1gXSGSdBvT3Z36uConRAmiiwIFff71dSEKzKKJ4M0goIWXrOcuLdztH5u803'.
+'Owxer2Ut2t59t4d0LQ3GLvMic9xtbaataLf1mRa1tdu12VIZwfnJuz0FQf40AC314VGApJfg2OPoPW6v4dAL3qzOx5PUzeUlTewT'.
+'hiFQKn+WVeCE5Ofbww/nr48O9/Mt0NpxNGgsVQGfHKrNHYf9fhnu/at9VXziWEDzTIHb2X938rFIP+JYaqoC+WoHOm+nAAqQeJKS'.
+'Arb5+gT6CqAeKTDY6JpKdLALzk92T1SmJcDP/8fnv3z+p8///Ot/0j7/4+f/S/v8v37+y6//y+d/+PxPGnz63z//Z+3zvwDEv3z+'.
+'r5//UUW3t31UwofoOPs/ahneYq79j/l8kGt/Who3W4d77/cPzunglxyZYJCVwd4d7f60ebKj0CgOr1x/WoY83v1zHuExKIsy2HaG'.
+'TYzAEcpP7KI50Gsq9HYlWElmoIipaMzO0e7htiqNp6MKsP0dcL+3c3wx1TjevaLZOSGAbDnAY2+q6HNSpE9VU7YO3x+cHH1UlSCg'.
+'i6e/udG7B1uHWVcD2O4QdE4F4Kv3H4/zFXQrOWd7r8Dp231VBh1+OEC7syjEtoWirADNCWcA3UutRaEXjk9guJYE7RHPA1VVEI9K'.
+'rSg7qOo/suXUVo/B4kiq6Pj6MFc+nog5D1/90SOqIc45zS20XmOwTW+S3Ae1RlBvaQ5hPtQ6QW0Jc6I/1eKHSn+uVlLzprQnvwy+'.
+'uXWye3igcjgf4FQCPNpXB3eKujy0918dwuPh+3evPqqKO44mI6hGCfTVx+1NhTUBtOVOkwqwDzs7P6pdeR0EF1Vw+8Aeb48zuEE0'.
+'HHcF4NbbzaMTAVnidDQupcVXAV+SL6T3QKmGUnKo0PeNtyJcJmYknHYV9Seyu/KVBlbND09w2LMhX0KdQqeo54GTt5PCp67OPPD1'.
+'2naefOs1Les5FbK+XyA09UgFgY929nNwozi4CqMJOO7VGZ4XEXfdfntlCl50GXbtYwF2TUNAWV0m7u7xu73Nj+cgy/ePC/0M4nyg'.
+'GM7bO3sFES37I8ABKizJzVcABuLq9S546WoW5LY40KbRBFwY8XDtDsfo7bcIA3ohibCLN6rQCcH5RSjFpLqWpD7+XLRgO23tnMvZ'.
+'BcR9H+IJq3fiESmZWBbnilDlCKPe2X5QJA==';
diff --git a/main/main.c b/main/main.c
index 6506e10af6..631a6a9fea 100644
--- a/main/main.c
+++ b/main/main.c
@@ -600,7 +600,15 @@ PHPAPI void php_log_err(char *log_message TSRMLS_DC)
char *error_time_str;
time(&error_time);
- error_time_str = php_format_date("d-M-Y H:i:s e", 13, error_time, 0 TSRMLS_CC);
+#ifdef ZTS
+ if (!php_during_module_startup()) {
+ error_time_str = php_format_date("d-M-Y H:i:s e", 13, error_time, 1 TSRMLS_CC);
+ } else {
+ error_time_str = php_format_date("d-M-Y H:i:s e", 13, error_time, 0 TSRMLS_CC);
+ }
+#else
+ error_time_str = php_format_date("d-M-Y H:i:s e", 13, error_time, 1 TSRMLS_CC);
+#endif
len = spprintf(&tmp, 0, "[%s] %s%s", error_time_str, log_message, PHP_EOL);
#ifdef PHP_WIN32
php_flock(fd, 2);
diff --git a/main/php_streams.h b/main/php_streams.h
index 83b18c008b..83b18c008b 100755..100644
--- a/main/php_streams.h
+++ b/main/php_streams.h
diff --git a/main/php_version.h b/main/php_version.h
index 3107a2808a..e4ba15eba9 100644
--- a/main/php_version.h
+++ b/main/php_version.h
@@ -2,7 +2,7 @@
/* edit configure.in to change version number */
#define PHP_MAJOR_VERSION 5
#define PHP_MINOR_VERSION 3
-#define PHP_RELEASE_VERSION 16
+#define PHP_RELEASE_VERSION 19
#define PHP_EXTRA_VERSION "-dev"
-#define PHP_VERSION "5.3.16-dev"
-#define PHP_VERSION_ID 50316
+#define PHP_VERSION "5.3.19-dev"
+#define PHP_VERSION_ID 50319
diff --git a/main/streams/glob_wrapper.c b/main/streams/glob_wrapper.c
index 4a35153722..4a35153722 100755..100644
--- a/main/streams/glob_wrapper.c
+++ b/main/streams/glob_wrapper.c
diff --git a/main/streams/php_stream_glob_wrapper.h b/main/streams/php_stream_glob_wrapper.h
index c584ff8f84..c584ff8f84 100755..100644
--- a/main/streams/php_stream_glob_wrapper.h
+++ b/main/streams/php_stream_glob_wrapper.h
diff --git a/main/streams/streams.c b/main/streams/streams.c
index dfd60940fc..eec9b70349 100755..100644
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -989,9 +989,17 @@ PHPAPI char *php_stream_get_record(php_stream *stream, size_t maxlen, size_t *re
if (has_delim) {
/* search for delimiter, but skip buffered_len (the number of bytes
* buffered before this loop iteration), as they have already been
- * searched for the delimiter */
+ * searched for the delimiter.
+ * The left part of the delimiter may still remain in the buffer,
+ * so subtract up to <delim_len - 1> from buffered_len, which is
+ * the ammount of data we skip on this search as an optimization
+ */
found_delim = _php_stream_search_delim(
- stream, maxlen, buffered_len, delim, delim_len TSRMLS_CC);
+ stream, maxlen,
+ buffered_len >= (delim_len - 1)
+ ? buffered_len - (delim_len - 1)
+ : 0,
+ delim, delim_len TSRMLS_CC);
if (found_delim) {
break;
}
diff --git a/netware/start.c b/netware/start.c
index 43510fc22c..b842749257 100644
--- a/netware/start.c
+++ b/netware/start.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/sapi/cli/tests/003-2.phpt b/sapi/cli/tests/003-2.phpt
index 2ed9b07db4..2ed9b07db4 100755..100644
--- a/sapi/cli/tests/003-2.phpt
+++ b/sapi/cli/tests/003-2.phpt
diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4
index c23485a342..768766056e 100644
--- a/sapi/fpm/config.m4
+++ b/sapi/fpm/config.m4
@@ -583,7 +583,7 @@ if test "$PHP_FPM" != "no"; then
AC_DEFINE_UNQUOTED(PHP_FPM_USER, "$php_fpm_user", [fpm user name])
AC_DEFINE_UNQUOTED(PHP_FPM_GROUP, "$php_fpm_group", [fpm group name])
- PHP_OUTPUT(sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.8 sapi/fpm/status.html)
+ PHP_OUTPUT(sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html)
PHP_ADD_MAKEFILE_FRAGMENT([$abs_srcdir/sapi/fpm/Makefile.frag], [$abs_srcdir/sapi/fpm], [sapi/fpm])
SAPI_FPM_PATH=sapi/fpm/php-fpm
diff --git a/sapi/fpm/fpm/fastcgi.c b/sapi/fpm/fpm/fastcgi.c
index e2e208aa7f..f77c9fb4d6 100644
--- a/sapi/fpm/fpm/fastcgi.c
+++ b/sapi/fpm/fpm/fastcgi.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2009 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/sapi/fpm/fpm/fastcgi.h b/sapi/fpm/fpm/fastcgi.h
index 7a9f3ef363..f39559d256 100644
--- a/sapi/fpm/fpm/fastcgi.h
+++ b/sapi/fpm/fpm/fastcgi.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2009 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/sapi/fpm/fpm/fpm.c b/sapi/fpm/fpm/fpm.c
index dab415d123..b866f37f2d 100644
--- a/sapi/fpm/fpm/fpm.c
+++ b/sapi/fpm/fpm/fpm.c
@@ -39,10 +39,10 @@ struct fpm_globals_s fpm_globals = {
.test_successful = 0,
.heartbeat = 0,
.run_as_root = 0,
- .send_config_signal = 0,
+ .send_config_pipe = {0, 0},
};
-int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int run_as_root) /* {{{ */
+int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int run_as_root, int force_daemon) /* {{{ */
{
fpm_globals.argc = argc;
fpm_globals.argv = argv;
@@ -55,7 +55,7 @@ int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int t
if (0 > fpm_php_init_main() ||
0 > fpm_stdio_init_main() ||
- 0 > fpm_conf_init_main(test_conf) ||
+ 0 > fpm_conf_init_main(test_conf, force_daemon) ||
0 > fpm_unix_init_main() ||
0 > fpm_scoreboard_init_main() ||
0 > fpm_pctl_init_main() ||
diff --git a/sapi/fpm/fpm/fpm.h b/sapi/fpm/fpm/fpm.h
index 7a2903d07d..65d0e0d691 100644
--- a/sapi/fpm/fpm/fpm.h
+++ b/sapi/fpm/fpm/fpm.h
@@ -37,7 +37,7 @@
int fpm_run(int *max_requests);
-int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int run_as_root);
+int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int run_as_root, int force_daemon);
struct fpm_globals_s {
pid_t parent_pid;
@@ -55,7 +55,7 @@ struct fpm_globals_s {
int test_successful;
int heartbeat;
int run_as_root;
- int send_config_signal;
+ int send_config_pipe[2];
};
extern struct fpm_globals_s fpm_globals;
diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c
index dfe6792c05..25e2cc43a1 100644
--- a/sapi/fpm/fpm/fpm_conf.c
+++ b/sapi/fpm/fpm/fpm_conf.c
@@ -1115,7 +1115,7 @@ int fpm_conf_write_pid() /* {{{ */
}
/* }}} */
-static int fpm_conf_post_process(TSRMLS_D) /* {{{ */
+static int fpm_conf_post_process(int force_daemon TSRMLS_DC) /* {{{ */
{
struct fpm_worker_pool_s *wp;
@@ -1123,6 +1123,11 @@ static int fpm_conf_post_process(TSRMLS_D) /* {{{ */
fpm_evaluate_full_path(&fpm_global_config.pid_file, NULL, PHP_LOCALSTATEDIR, 0);
}
+ if (force_daemon >= 0) {
+ /* forced from command line options */
+ fpm_global_config.daemonize = force_daemon;
+ }
+
fpm_globals.log_level = fpm_global_config.log_level;
if (fpm_global_config.process_max < 0) {
@@ -1584,7 +1589,7 @@ static void fpm_conf_dump() /* {{{ */
}
/* }}} */
-int fpm_conf_init_main(int test_conf) /* {{{ */
+int fpm_conf_init_main(int test_conf, int force_daemon) /* {{{ */
{
int ret;
TSRMLS_FETCH();
@@ -1630,7 +1635,7 @@ int fpm_conf_init_main(int test_conf) /* {{{ */
return -1;
}
- if (0 > fpm_conf_post_process(TSRMLS_C)) {
+ if (0 > fpm_conf_post_process(force_daemon TSRMLS_CC)) {
zlog(ZLOG_ERROR, "failed to post process the configuration");
return -1;
}
diff --git a/sapi/fpm/fpm/fpm_conf.h b/sapi/fpm/fpm/fpm_conf.h
index f780f03891..dc54133d43 100644
--- a/sapi/fpm/fpm/fpm_conf.h
+++ b/sapi/fpm/fpm/fpm_conf.h
@@ -97,7 +97,7 @@ enum {
PM_STYLE_ONDEMAND = 3
};
-int fpm_conf_init_main(int test_conf);
+int fpm_conf_init_main(int test_conf, int force_daemon);
int fpm_worker_pool_config_free(struct fpm_worker_pool_config_s *wpc);
int fpm_conf_write_pid();
int fpm_conf_unlink_pid();
diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c
index 9c314f51c6..3faf308667 100644
--- a/sapi/fpm/fpm/fpm_main.c
+++ b/sapi/fpm/fpm/fpm_main.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2009 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -155,6 +155,8 @@ static const opt_struct OPTIONS[] = {
{'p', 1, "prefix"},
{'g', 1, "pid"},
{'R', 0, "allow-to-run-as-root"},
+ {'D', 0, "daemonize"},
+ {'F', 0, "nodaemonize"},
{'-', 0, NULL} /* end of args */
};
@@ -921,7 +923,7 @@ static void php_cgi_usage(char *argv0)
prog = "php";
}
- php_printf( "Usage: %s [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g <pid>] [-c <file>] [-d foo[=bar]] [-y <file>]\n"
+ php_printf( "Usage: %s [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g <pid>] [-c <file>] [-d foo[=bar]] [-y <file>] [-D] [-F]\n"
" -c <path>|<file> Look for php.ini file in this directory\n"
" -n No php.ini file will be used\n"
" -d foo[=bar] Define INI entry foo with value 'bar'\n"
@@ -937,6 +939,9 @@ static void php_cgi_usage(char *argv0)
" -y, --fpm-config <file>\n"
" Specify alternative path to FastCGI process manager config file.\n"
" -t, --test Test FPM configuration and exit\n"
+ " -D, --daemonize force to run in background, and ignore daemonize option from config file\n"
+ " -F, --nodaemonize\n"
+ " force to stay in foreground, and ignore daemonize option from config file\n"
" -R, --allow-to-run-as-root\n"
" Allow pool to run as root (disabled by default)\n",
@@ -1560,6 +1565,7 @@ int main(int argc, char *argv[])
char *fpm_prefix = NULL;
char *fpm_pid = NULL;
int test_conf = 0;
+ int force_daemon = -1;
int php_information = 0;
int php_allow_to_run_as_root = 0;
@@ -1679,6 +1685,14 @@ int main(int argc, char *argv[])
php_allow_to_run_as_root = 1;
break;
+ case 'D': /* daemonize */
+ force_daemon = 1;
+ break;
+
+ case 'F': /* nodaemonize */
+ force_daemon = 0;
+ break;
+
default:
case 'h':
case '?':
@@ -1703,9 +1717,9 @@ int main(int argc, char *argv[])
SG(request_info).no_headers = 1;
#if ZEND_DEBUG
- php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2009 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
+ php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2012 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
#else
- php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2009 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
+ php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2012 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
#endif
php_request_shutdown((void *) 0);
fcgi_shutdown();
@@ -1802,18 +1816,22 @@ consult the installation file that came with this distribution, or visit \n\
}
}
- if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, fpm_pid, test_conf, php_allow_to_run_as_root)) {
+ if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, fpm_pid, test_conf, php_allow_to_run_as_root, force_daemon)) {
- if (fpm_globals.send_config_signal) {
- zlog(ZLOG_DEBUG, "Sending SIGUSR2 (error) to parent %d", getppid());
- kill(getppid(), SIGUSR2);
+ if (fpm_globals.send_config_pipe[1]) {
+ int writeval = 0;
+ zlog(ZLOG_DEBUG, "Sending \"0\" (error) to parent via fd=%d", fpm_globals.send_config_pipe[1]);
+ write(fpm_globals.send_config_pipe[1], &writeval, sizeof(writeval));
+ close(fpm_globals.send_config_pipe[1]);
}
return FPM_EXIT_CONFIG;
}
- if (fpm_globals.send_config_signal) {
- zlog(ZLOG_DEBUG, "Sending SIGUSR1 (OK) to parent %d", getppid());
- kill(getppid(), SIGUSR1);
+ if (fpm_globals.send_config_pipe[1]) {
+ int writeval = 1;
+ zlog(ZLOG_DEBUG, "Sending \"1\" (OK) to parent via fd=%d", fpm_globals.send_config_pipe[1]);
+ write(fpm_globals.send_config_pipe[1], &writeval, sizeof(writeval));
+ close(fpm_globals.send_config_pipe[1]);
}
fpm_is_running = 1;
diff --git a/sapi/fpm/fpm/fpm_signals.c b/sapi/fpm/fpm/fpm_signals.c
index 656269f1a3..8993a860ae 100644
--- a/sapi/fpm/fpm/fpm_signals.c
+++ b/sapi/fpm/fpm/fpm_signals.c
@@ -249,15 +249,3 @@ int fpm_signals_get_fd() /* {{{ */
}
/* }}} */
-void fpm_signals_sighandler_exit_ok(pid_t pid) /* {{{ */
-{
- exit(FPM_EXIT_OK);
-}
-/* }}} */
-
-void fpm_signals_sighandler_exit_config(pid_t pid) /* {{{ */
-{
- exit(FPM_EXIT_CONFIG);
-}
-/* }}} */
-
diff --git a/sapi/fpm/fpm/fpm_signals.h b/sapi/fpm/fpm/fpm_signals.h
index 13484cbac2..eb80faecfd 100644
--- a/sapi/fpm/fpm/fpm_signals.h
+++ b/sapi/fpm/fpm/fpm_signals.h
@@ -11,9 +11,6 @@ int fpm_signals_init_main();
int fpm_signals_init_child();
int fpm_signals_get_fd();
-void fpm_signals_sighandler_exit_ok(pid_t pid);
-void fpm_signals_sighandler_exit_config(pid_t pid);
-
extern const char *fpm_signal_names[NSIG + 1];
#endif
diff --git a/sapi/fpm/fpm/fpm_status.c b/sapi/fpm/fpm/fpm_status.c
index 3b09d3b895..7bad5951d8 100644
--- a/sapi/fpm/fpm/fpm_status.c
+++ b/sapi/fpm/fpm/fpm_status.c
@@ -148,7 +148,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"<tr><th>start time</th><td>%s</td></tr>\n"
"<tr><th>start since</th><td>%lu</td></tr>\n"
"<tr><th>accepted conn</th><td>%lu</td></tr>\n"
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"<tr><th>listen queue</th><td>%u</td></tr>\n"
"<tr><th>max listen queue</th><td>%u</td></tr>\n"
"<tr><th>listen queue len</th><td>%d</td></tr>\n"
@@ -177,7 +177,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"<th>content length</th>"
"<th>user</th>"
"<th>script</th>"
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"<th>last request cpu</th>"
#endif
"<th>last request memory</th>"
@@ -196,7 +196,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"<td>%zu</td>"
"<td>%s</td>"
"<td>%s</td>"
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"<td>%.2f</td>"
#endif
"<td>%zu</td>"
@@ -219,7 +219,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"<start-time>%s</start-time>\n"
"<start-since>%lu</start-since>\n"
"<accepted-conn>%lu</accepted-conn>\n"
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"<listen-queue>%u</listen-queue>\n"
"<max-listen-queue>%u</max-listen-queue>\n"
"<listen-queue-len>%d</listen-queue-len>\n"
@@ -247,7 +247,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"<content-length>%zu</content-length>"
"<user>%s</user>"
"<script>%s</script>"
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"<last-request-cpu>%.2f</last-request-cpu>"
#endif
"<last-request-memory>%zu</last-request-memory>"
@@ -268,7 +268,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"\"start time\":%s,"
"\"start since\":%lu,"
"\"accepted conn\":%lu,"
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"\"listen queue\":%u,"
"\"max listen queue\":%u,"
"\"listen queue len\":%d,"
@@ -297,7 +297,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"\"content length\":%zu,"
"\"user\":\"%s\","
"\"script\":\"%s\","
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"\"last request cpu\":%.2f,"
#endif
"\"last request memory\":%zu"
@@ -317,7 +317,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
"start time: %s\n"
"start since: %lu\n"
"accepted conn: %lu\n"
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
"listen queue: %u\n"
"max listen queue: %u\n"
"listen queue len: %d\n"
@@ -358,7 +358,7 @@ int fpm_status_handle_request(TSRMLS_D) /* {{{ */
time_buffer,
now_epoch - scoreboard.start_epoch,
scoreboard.requests,
-#if HAVE_FPM_LQ
+#ifdef HAVE_FPM_LQ
scoreboard.lq,
scoreboard.lq_max,
scoreboard.lq_len,
diff --git a/sapi/fpm/fpm/fpm_unix.c b/sapi/fpm/fpm/fpm_unix.c
index 5c5e37c3a4..48249e8a49 100644
--- a/sapi/fpm/fpm/fpm_unix.c
+++ b/sapi/fpm/fpm/fpm_unix.c
@@ -121,16 +121,16 @@ static int fpm_unix_conf_wp(struct fpm_worker_pool_s *wp) /* {{{ */
}
} else { /* not root */
if (wp->config->user && *wp->config->user) {
- zlog(ZLOG_WARNING, "[pool %s] 'user' directive is ignored when FPM is not running as root", wp->config->name);
+ zlog(ZLOG_NOTICE, "[pool %s] 'user' directive is ignored when FPM is not running as root", wp->config->name);
}
if (wp->config->group && *wp->config->group) {
- zlog(ZLOG_WARNING, "[pool %s] 'group' directive is ignored when FPM is not running as root", wp->config->name);
+ zlog(ZLOG_NOTICE, "[pool %s] 'group' directive is ignored when FPM is not running as root", wp->config->name);
}
if (wp->config->chroot && *wp->config->chroot) {
- zlog(ZLOG_WARNING, "[pool %s] 'chroot' directive is ignored when FPM is not running as root", wp->config->name);
+ zlog(ZLOG_NOTICE, "[pool %s] 'chroot' directive is ignored when FPM is not running as root", wp->config->name);
}
if (wp->config->process_priority != 64) {
- zlog(ZLOG_WARNING, "[pool %s] 'process.priority' directive is ignored when FPM is not running as root", wp->config->name);
+ zlog(ZLOG_NOTICE, "[pool %s] 'process.priority' directive is ignored when FPM is not running as root", wp->config->name);
}
/* set up HOME and USER anyway */
@@ -262,36 +262,19 @@ int fpm_unix_init_main() /* {{{ */
* The parent process has then to wait for the master
* process to initialize to return a consistent exit
* value. For this pupose, the master process will
- * send USR1 if everything went well and USR2
- * otherwise.
+ * send \"1\" into the pipe if everything went well
+ * and \"0\" otherwise.
*/
- struct sigaction act;
- struct sigaction oldact_usr1;
- struct sigaction oldact_usr2;
- struct timeval tv;
- /*
- * set sigaction for USR1 before fork
- * save old sigaction to restore it after
- * fork in the child process (the master process)
- */
- memset(&act, 0, sizeof(act));
- memset(&act, 0, sizeof(oldact_usr1));
- act.sa_handler = fpm_signals_sighandler_exit_ok;
- sigfillset(&act.sa_mask);
- sigaction(SIGUSR1, &act, &oldact_usr1);
+ struct timeval tv;
+ fd_set rfds;
+ int ret;
- /*
- * set sigaction for USR2 before fork
- * save old sigaction to restore it after
- * fork in the child process (the master process)
- */
- memset(&act, 0, sizeof(act));
- memset(&act, 0, sizeof(oldact_usr2));
- act.sa_handler = fpm_signals_sighandler_exit_config;
- sigfillset(&act.sa_mask);
- sigaction(SIGUSR2, &act, &oldact_usr2);
+ if (pipe(fpm_globals.send_config_pipe) == -1) {
+ zlog(ZLOG_SYSERROR, "failed to create pipe");
+ return -1;
+ }
/* then fork */
pid_t pid = fork();
@@ -302,24 +285,54 @@ int fpm_unix_init_main() /* {{{ */
return -1;
case 0 : /* children */
- /* restore USR1 and USR2 sigaction */
- sigaction(SIGUSR1, &oldact_usr1, NULL);
- sigaction(SIGUSR2, &oldact_usr2, NULL);
- fpm_globals.send_config_signal = 1;
+ close(fpm_globals.send_config_pipe[0]); /* close the read side of the pipe */
break;
default : /* parent */
- fpm_cleanups_run(FPM_CLEANUP_PARENT_EXIT);
+ close(fpm_globals.send_config_pipe[1]); /* close the write side of the pipe */
/*
* wait for 10s before exiting with error
- * the child is supposed to send USR1 or USR2 to tell the parent
+ * the child is supposed to send 1 or 0 into the pipe to tell the parent
* how it goes for it
*/
+ FD_ZERO(&rfds);
+ FD_SET(fpm_globals.send_config_pipe[0], &rfds);
+
tv.tv_sec = 10;
tv.tv_usec = 0;
- zlog(ZLOG_DEBUG, "The calling process is waiting for the master process to ping");
- select(0, NULL, NULL, NULL, &tv);
+
+ zlog(ZLOG_DEBUG, "The calling process is waiting for the master process to ping via fd=%d", fpm_globals.send_config_pipe[0]);
+ ret = select(fpm_globals.send_config_pipe[0] + 1, &rfds, NULL, NULL, &tv);
+ if (ret == -1) {
+ zlog(ZLOG_SYSERROR, "failed to select");
+ exit(FPM_EXIT_SOFTWARE);
+ }
+ if (ret) { /* data available */
+ int readval;
+ ret = read(fpm_globals.send_config_pipe[0], &readval, sizeof(readval));
+ if (ret == -1) {
+ zlog(ZLOG_SYSERROR, "failed to read from pipe");
+ exit(FPM_EXIT_SOFTWARE);
+ }
+
+ if (ret == 0) {
+ zlog(ZLOG_ERROR, "no data have been read from pipe");
+ exit(FPM_EXIT_SOFTWARE);
+ } else {
+ if (readval == 1) {
+ zlog(ZLOG_DEBUG, "I received a valid acknoledge from the master process, I can exit without error");
+ fpm_cleanups_run(FPM_CLEANUP_PARENT_EXIT);
+ exit(FPM_EXIT_OK);
+ } else {
+ zlog(ZLOG_DEBUG, "The master process returned an error !");
+ exit(FPM_EXIT_SOFTWARE);
+ }
+ }
+ } else { /* no date sent ! */
+ zlog(ZLOG_ERROR, "the master process didn't send back its status (via the pipe to the calling process)");
+ exit(FPM_EXIT_SOFTWARE);
+ }
exit(FPM_EXIT_SOFTWARE);
}
}
@@ -337,7 +350,7 @@ int fpm_unix_init_main() /* {{{ */
return -1;
}
} else {
- zlog(ZLOG_WARNING, "'process.priority' directive is ignored when FPM is not running as root");
+ zlog(ZLOG_NOTICE, "'process.priority' directive is ignored when FPM is not running as root");
}
}
diff --git a/sapi/fpm/init.d.php-fpm.in b/sapi/fpm/init.d.php-fpm.in
index dc66310c3d..49cce79ae9 100644
--- a/sapi/fpm/init.d.php-fpm.in
+++ b/sapi/fpm/init.d.php-fpm.in
@@ -18,7 +18,7 @@ php_fpm_CONF=@sysconfdir@/php-fpm.conf
php_fpm_PID=@localstatedir@/run/php-fpm.pid
-php_opts="--fpm-config $php_fpm_CONF"
+php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
wait_for_pid () {
@@ -54,7 +54,7 @@ case "$1" in
start)
echo -n "Starting php-fpm "
- $php_fpm_BIN $php_opts
+ $php_fpm_BIN --daemonize $php_opts
if [ "$?" != 0 ] ; then
echo " failed"
diff --git a/sapi/fpm/php-fpm.8.in b/sapi/fpm/php-fpm.8.in
index 6c9c6d6274..a4e7e74e20 100644
--- a/sapi/fpm/php-fpm.8.in
+++ b/sapi/fpm/php-fpm.8.in
@@ -99,6 +99,20 @@ Test FPM configuration file and exit
If called twice (-tt), the configuration is dumped before exiting.
.TP
.PD 0
+.B \-\-daemonize
+.TP
+.PD 1
+.B \-D
+Force to run in background and ignore daemonize option from configuration file.
+.TP
+.PD 0
+.B \-\-nodaemonize
+.TP
+.PD 1
+.B \-F
+Force to stay in foreground and ignore daemonize option from configuration file.
+.TP
+.PD 0
.B \-\-zend\-extension \fIfile\fP
.TP
.PD 1
@@ -113,13 +127,20 @@ The configuration file for the php-fpm daemon.
.B php.ini
The standard php configuration file.
.SH EXAMPLES
-You should use the init script provided to start and stop the php-fpm daemon. This situation applies for any unix systems which use init.d for their main process manager.
+For any unix systems which use init.d for their main process manager, you should use the init script provided to start and stop the php-fpm daemon.
.P
.PD 1
.RS
sudo /etc/init.d/php-fpm start
.RE
.TP
+For any unix systems which use systemd for their main process manager, you should use the unit file provided to start and stop the php-fpm daemon.
+.P
+.PD 1
+.RS
+sudo systemctl start php-fpm.service
+.RE
+.TP
If your installation has no appropriate init script, launch php-fpm with no arguments. It will launch as a daemon (background process) by default. The file @php_fpm_localstatedir@/run/php-fpm.pid determines whether php-fpm is already up and running. Once started, php-fpm then responds to several POSIX signals:
.P
.PD 0
diff --git a/sapi/fpm/php-fpm.service.in b/sapi/fpm/php-fpm.service.in
new file mode 100644
index 0000000000..396a88d66f
--- /dev/null
+++ b/sapi/fpm/php-fpm.service.in
@@ -0,0 +1,12 @@
+[Unit]
+Description=The PHP FastCGI Process Manager
+After=syslog.target network.target
+
+[Service]
+PIDFile=@localstatedir@/run/php-fpm.pid
+ExecStart=@sbindir@/php-fpm --nodaemonize --fpm-config @sysconfdir@/php-fpm.conf
+ExecReload=/bin/kill -USR2 $MAINPID
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c
index a197225b4b..bb532d8362 100644
--- a/sapi/litespeed/lsapi_main.c
+++ b/sapi/litespeed/lsapi_main.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2007 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -719,9 +719,9 @@ static int cli_main( int argc, char * argv[] )
case 'v':
if (php_request_startup(TSRMLS_C) != FAILURE) {
#if ZEND_DEBUG
- php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2004 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
+ php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2012 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
#else
- php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2004 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
+ php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2012 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version());
#endif
#ifdef PHP_OUTPUT_NEWAPI
php_output_end_all(TSRMLS_C);
diff --git a/sapi/litespeed/lsapidef.h b/sapi/litespeed/lsapidef.h
index 276c579b2c..68f73c4e25 100644
--- a/sapi/litespeed/lsapidef.h
+++ b/sapi/litespeed/lsapidef.h
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2007 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c
index a3297346d6..fe89ebab28 100644
--- a/sapi/litespeed/lsapilib.c
+++ b/sapi/litespeed/lsapilib.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2007 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/sapi/litespeed/lsapilib.h b/sapi/litespeed/lsapilib.h
index 8a604fbf1e..701b5284c9 100644
--- a/sapi/litespeed/lsapilib.h
+++ b/sapi/litespeed/lsapilib.h
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2007 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/tests/basic/bug29971.phpt b/tests/basic/bug29971.phpt
index d4b654bdb1..d4b654bdb1 100755..100644
--- a/tests/basic/bug29971.phpt
+++ b/tests/basic/bug29971.phpt
diff --git a/tests/classes/__call_002.phpt b/tests/classes/__call_002.phpt
index 53a179f787..53a179f787 100755..100644
--- a/tests/classes/__call_002.phpt
+++ b/tests/classes/__call_002.phpt
diff --git a/tests/classes/__set__get_002.phpt b/tests/classes/__set__get_002.phpt
index 71111ccdf8..71111ccdf8 100755..100644
--- a/tests/classes/__set__get_002.phpt
+++ b/tests/classes/__set__get_002.phpt
diff --git a/tests/classes/__set__get_003.phpt b/tests/classes/__set__get_003.phpt
index 390d303362..390d303362 100755..100644
--- a/tests/classes/__set__get_003.phpt
+++ b/tests/classes/__set__get_003.phpt
diff --git a/tests/classes/__set__get_004.phpt b/tests/classes/__set__get_004.phpt
index e3061da4f0..e3061da4f0 100755..100644
--- a/tests/classes/__set__get_004.phpt
+++ b/tests/classes/__set__get_004.phpt
diff --git a/tests/classes/__set__get_005.phpt b/tests/classes/__set__get_005.phpt
index d8bbad3d45..d8bbad3d45 100755..100644
--- a/tests/classes/__set__get_005.phpt
+++ b/tests/classes/__set__get_005.phpt
diff --git a/tests/classes/abstract_by_interface_001.phpt b/tests/classes/abstract_by_interface_001.phpt
index 7565fdf45f..7565fdf45f 100755..100644
--- a/tests/classes/abstract_by_interface_001.phpt
+++ b/tests/classes/abstract_by_interface_001.phpt
diff --git a/tests/classes/abstract_by_interface_002.phpt b/tests/classes/abstract_by_interface_002.phpt
index 77c5619dfe..77c5619dfe 100755..100644
--- a/tests/classes/abstract_by_interface_002.phpt
+++ b/tests/classes/abstract_by_interface_002.phpt
diff --git a/tests/classes/abstract_user_call.phpt b/tests/classes/abstract_user_call.phpt
index 0e1ddbe796..0e1ddbe796 100755..100644
--- a/tests/classes/abstract_user_call.phpt
+++ b/tests/classes/abstract_user_call.phpt
diff --git a/tests/classes/array_access_005.phpt b/tests/classes/array_access_005.phpt
index dcb873ff56..dcb873ff56 100755..100644
--- a/tests/classes/array_access_005.phpt
+++ b/tests/classes/array_access_005.phpt
diff --git a/tests/classes/array_access_007.phpt b/tests/classes/array_access_007.phpt
index 42187fe5d5..42187fe5d5 100755..100644
--- a/tests/classes/array_access_007.phpt
+++ b/tests/classes/array_access_007.phpt
diff --git a/tests/classes/array_access_008.phpt b/tests/classes/array_access_008.phpt
index 9979889174..9979889174 100755..100644
--- a/tests/classes/array_access_008.phpt
+++ b/tests/classes/array_access_008.phpt
diff --git a/tests/classes/array_access_009.phpt b/tests/classes/array_access_009.phpt
index 3862240261..3862240261 100755..100644
--- a/tests/classes/array_access_009.phpt
+++ b/tests/classes/array_access_009.phpt
diff --git a/tests/classes/array_access_010.phpt b/tests/classes/array_access_010.phpt
index e60716dc1b..e60716dc1b 100755..100644
--- a/tests/classes/array_access_010.phpt
+++ b/tests/classes/array_access_010.phpt
diff --git a/tests/classes/array_access_011.phpt b/tests/classes/array_access_011.phpt
index aa20a56d39..aa20a56d39 100755..100644
--- a/tests/classes/array_access_011.phpt
+++ b/tests/classes/array_access_011.phpt
diff --git a/tests/classes/array_access_012.phpt b/tests/classes/array_access_012.phpt
index 8f85f296eb..8f85f296eb 100755..100644
--- a/tests/classes/array_access_012.phpt
+++ b/tests/classes/array_access_012.phpt
diff --git a/tests/classes/array_access_013.phpt b/tests/classes/array_access_013.phpt
index 206d9d5403..206d9d5403 100755..100644
--- a/tests/classes/array_access_013.phpt
+++ b/tests/classes/array_access_013.phpt
diff --git a/tests/classes/autoload_001.phpt b/tests/classes/autoload_001.phpt
index 6f325f49bb..6f325f49bb 100755..100644
--- a/tests/classes/autoload_001.phpt
+++ b/tests/classes/autoload_001.phpt
diff --git a/tests/classes/autoload_002.phpt b/tests/classes/autoload_002.phpt
index 27dea0f9d4..27dea0f9d4 100755..100644
--- a/tests/classes/autoload_002.phpt
+++ b/tests/classes/autoload_002.phpt
diff --git a/tests/classes/autoload_003.phpt b/tests/classes/autoload_003.phpt
index 7bdb5da36a..7bdb5da36a 100755..100644
--- a/tests/classes/autoload_003.phpt
+++ b/tests/classes/autoload_003.phpt
diff --git a/tests/classes/autoload_004.phpt b/tests/classes/autoload_004.phpt
index 23aea5d086..23aea5d086 100755..100644
--- a/tests/classes/autoload_004.phpt
+++ b/tests/classes/autoload_004.phpt
diff --git a/tests/classes/autoload_005.phpt b/tests/classes/autoload_005.phpt
index 36a4e18f0b..36a4e18f0b 100755..100644
--- a/tests/classes/autoload_005.phpt
+++ b/tests/classes/autoload_005.phpt
diff --git a/tests/classes/autoload_006.phpt b/tests/classes/autoload_006.phpt
index 9af6fc9829..9af6fc9829 100755..100644
--- a/tests/classes/autoload_006.phpt
+++ b/tests/classes/autoload_006.phpt
diff --git a/tests/classes/class_abstract.phpt b/tests/classes/class_abstract.phpt
index 880f84930f..880f84930f 100755..100644
--- a/tests/classes/class_abstract.phpt
+++ b/tests/classes/class_abstract.phpt
diff --git a/tests/classes/class_final.phpt b/tests/classes/class_final.phpt
index 5c73cb2556..5c73cb2556 100755..100644
--- a/tests/classes/class_final.phpt
+++ b/tests/classes/class_final.phpt
diff --git a/tests/classes/class_stdclass.phpt b/tests/classes/class_stdclass.phpt
index 5e3422aeae..5e3422aeae 100755..100644
--- a/tests/classes/class_stdclass.phpt
+++ b/tests/classes/class_stdclass.phpt
diff --git a/tests/classes/clone_001.phpt b/tests/classes/clone_001.phpt
index eb06c1f520..eb06c1f520 100755..100644
--- a/tests/classes/clone_001.phpt
+++ b/tests/classes/clone_001.phpt
diff --git a/tests/classes/clone_002.phpt b/tests/classes/clone_002.phpt
index 4430a2cab4..4430a2cab4 100755..100644
--- a/tests/classes/clone_002.phpt
+++ b/tests/classes/clone_002.phpt
diff --git a/tests/classes/clone_003.phpt b/tests/classes/clone_003.phpt
index 9a251c506f..9a251c506f 100755..100644
--- a/tests/classes/clone_003.phpt
+++ b/tests/classes/clone_003.phpt
diff --git a/tests/classes/clone_004.phpt b/tests/classes/clone_004.phpt
index 2059103bc5..2059103bc5 100755..100644
--- a/tests/classes/clone_004.phpt
+++ b/tests/classes/clone_004.phpt
diff --git a/tests/classes/clone_005.phpt b/tests/classes/clone_005.phpt
index bfe4d66d6f..bfe4d66d6f 100755..100644
--- a/tests/classes/clone_005.phpt
+++ b/tests/classes/clone_005.phpt
diff --git a/tests/classes/clone_006.phpt b/tests/classes/clone_006.phpt
index de22fec151..de22fec151 100755..100644
--- a/tests/classes/clone_006.phpt
+++ b/tests/classes/clone_006.phpt
diff --git a/tests/classes/ctor_failure.phpt b/tests/classes/ctor_failure.phpt
index b7d3b64dda..b7d3b64dda 100755..100644
--- a/tests/classes/ctor_failure.phpt
+++ b/tests/classes/ctor_failure.phpt
diff --git a/tests/classes/ctor_in_interface_01.phpt b/tests/classes/ctor_in_interface_01.phpt
index f6f9b66eab..f6f9b66eab 100755..100644
--- a/tests/classes/ctor_in_interface_01.phpt
+++ b/tests/classes/ctor_in_interface_01.phpt
diff --git a/tests/classes/ctor_in_interface_02.phpt b/tests/classes/ctor_in_interface_02.phpt
index ad9fac3892..ad9fac3892 100755..100644
--- a/tests/classes/ctor_in_interface_02.phpt
+++ b/tests/classes/ctor_in_interface_02.phpt
diff --git a/tests/classes/ctor_in_interface_03.phpt b/tests/classes/ctor_in_interface_03.phpt
index 953d6822fd..953d6822fd 100755..100644
--- a/tests/classes/ctor_in_interface_03.phpt
+++ b/tests/classes/ctor_in_interface_03.phpt
diff --git a/tests/classes/ctor_in_interface_04.phpt b/tests/classes/ctor_in_interface_04.phpt
index 0016244c18..0016244c18 100755..100644
--- a/tests/classes/ctor_in_interface_04.phpt
+++ b/tests/classes/ctor_in_interface_04.phpt
diff --git a/tests/classes/ctor_visibility.phpt b/tests/classes/ctor_visibility.phpt
index 8d3b1c5c50..8d3b1c5c50 100755..100644
--- a/tests/classes/ctor_visibility.phpt
+++ b/tests/classes/ctor_visibility.phpt
diff --git a/tests/classes/destructor_and_echo.phpt b/tests/classes/destructor_and_echo.phpt
index 0a253593a5..0a253593a5 100755..100644
--- a/tests/classes/destructor_and_echo.phpt
+++ b/tests/classes/destructor_and_echo.phpt
diff --git a/tests/classes/destructor_and_exceptions.phpt b/tests/classes/destructor_and_exceptions.phpt
index 8100c92465..8100c92465 100755..100644
--- a/tests/classes/destructor_and_exceptions.phpt
+++ b/tests/classes/destructor_and_exceptions.phpt
diff --git a/tests/classes/destructor_and_globals.phpt b/tests/classes/destructor_and_globals.phpt
index 9caf0f1026..9caf0f1026 100755..100644
--- a/tests/classes/destructor_and_globals.phpt
+++ b/tests/classes/destructor_and_globals.phpt
diff --git a/tests/classes/destructor_and_references.phpt b/tests/classes/destructor_and_references.phpt
index 6b9b019b62..6b9b019b62 100755..100644
--- a/tests/classes/destructor_and_references.phpt
+++ b/tests/classes/destructor_and_references.phpt
diff --git a/tests/classes/destructor_inheritance.phpt b/tests/classes/destructor_inheritance.phpt
index b9a46659b0..b9a46659b0 100755..100644
--- a/tests/classes/destructor_inheritance.phpt
+++ b/tests/classes/destructor_inheritance.phpt
diff --git a/tests/classes/destructor_visibility_001.phpt b/tests/classes/destructor_visibility_001.phpt
index 7674c512f6..7674c512f6 100755..100644
--- a/tests/classes/destructor_visibility_001.phpt
+++ b/tests/classes/destructor_visibility_001.phpt
diff --git a/tests/classes/destructor_visibility_002.phpt b/tests/classes/destructor_visibility_002.phpt
index 2cc83334a9..2cc83334a9 100755..100644
--- a/tests/classes/destructor_visibility_002.phpt
+++ b/tests/classes/destructor_visibility_002.phpt
diff --git a/tests/classes/destructor_visibility_003.phpt b/tests/classes/destructor_visibility_003.phpt
index 83e3efe22e..83e3efe22e 100755..100644
--- a/tests/classes/destructor_visibility_003.phpt
+++ b/tests/classes/destructor_visibility_003.phpt
diff --git a/tests/classes/factory_and_singleton_001.phpt b/tests/classes/factory_and_singleton_001.phpt
index 70fa020a49..70fa020a49 100755..100644
--- a/tests/classes/factory_and_singleton_001.phpt
+++ b/tests/classes/factory_and_singleton_001.phpt
diff --git a/tests/classes/factory_and_singleton_002.phpt b/tests/classes/factory_and_singleton_002.phpt
index 3308a561a5..3308a561a5 100755..100644
--- a/tests/classes/factory_and_singleton_002.phpt
+++ b/tests/classes/factory_and_singleton_002.phpt
diff --git a/tests/classes/factory_and_singleton_003.phpt b/tests/classes/factory_and_singleton_003.phpt
index 3d50a810a6..3d50a810a6 100755..100644
--- a/tests/classes/factory_and_singleton_003.phpt
+++ b/tests/classes/factory_and_singleton_003.phpt
diff --git a/tests/classes/factory_and_singleton_004.phpt b/tests/classes/factory_and_singleton_004.phpt
index 14edcb1fc8..14edcb1fc8 100755..100644
--- a/tests/classes/factory_and_singleton_004.phpt
+++ b/tests/classes/factory_and_singleton_004.phpt
diff --git a/tests/classes/factory_and_singleton_005.phpt b/tests/classes/factory_and_singleton_005.phpt
index 2cd7e5cc99..2cd7e5cc99 100755..100644
--- a/tests/classes/factory_and_singleton_005.phpt
+++ b/tests/classes/factory_and_singleton_005.phpt
diff --git a/tests/classes/factory_and_singleton_006.phpt b/tests/classes/factory_and_singleton_006.phpt
index 81cf714888..81cf714888 100755..100644
--- a/tests/classes/factory_and_singleton_006.phpt
+++ b/tests/classes/factory_and_singleton_006.phpt
diff --git a/tests/classes/factory_and_singleton_007.phpt b/tests/classes/factory_and_singleton_007.phpt
index 4788dbf087..4788dbf087 100755..100644
--- a/tests/classes/factory_and_singleton_007.phpt
+++ b/tests/classes/factory_and_singleton_007.phpt
diff --git a/tests/classes/factory_and_singleton_008.phpt b/tests/classes/factory_and_singleton_008.phpt
index 750b9db340..750b9db340 100755..100644
--- a/tests/classes/factory_and_singleton_008.phpt
+++ b/tests/classes/factory_and_singleton_008.phpt
diff --git a/tests/classes/factory_and_singleton_009.phpt b/tests/classes/factory_and_singleton_009.phpt
index acf792c316..acf792c316 100755..100644
--- a/tests/classes/factory_and_singleton_009.phpt
+++ b/tests/classes/factory_and_singleton_009.phpt
diff --git a/tests/classes/factory_and_singleton_010.phpt b/tests/classes/factory_and_singleton_010.phpt
index 0f5fb2dc74..0f5fb2dc74 100755..100644
--- a/tests/classes/factory_and_singleton_010.phpt
+++ b/tests/classes/factory_and_singleton_010.phpt
diff --git a/tests/classes/final_ctor1.phpt b/tests/classes/final_ctor1.phpt
index ebfa08081e..ebfa08081e 100755..100644
--- a/tests/classes/final_ctor1.phpt
+++ b/tests/classes/final_ctor1.phpt
diff --git a/tests/classes/final_ctor2.phpt b/tests/classes/final_ctor2.phpt
index 905337b408..905337b408 100755..100644
--- a/tests/classes/final_ctor2.phpt
+++ b/tests/classes/final_ctor2.phpt
diff --git a/tests/classes/inheritance_002.phpt b/tests/classes/inheritance_002.phpt
index cca528e29c..cca528e29c 100755..100644
--- a/tests/classes/inheritance_002.phpt
+++ b/tests/classes/inheritance_002.phpt
diff --git a/tests/classes/inheritance_003.phpt b/tests/classes/inheritance_003.phpt
index a22e5cce58..a22e5cce58 100755..100644
--- a/tests/classes/inheritance_003.phpt
+++ b/tests/classes/inheritance_003.phpt
diff --git a/tests/classes/inheritance_004.phpt b/tests/classes/inheritance_004.phpt
index 9c81970cc2..9c81970cc2 100755..100644
--- a/tests/classes/inheritance_004.phpt
+++ b/tests/classes/inheritance_004.phpt
diff --git a/tests/classes/interface_and_extends.phpt b/tests/classes/interface_and_extends.phpt
index f9040ae4a9..f9040ae4a9 100755..100644
--- a/tests/classes/interface_and_extends.phpt
+++ b/tests/classes/interface_and_extends.phpt
diff --git a/tests/classes/interface_optional_arg.phpt b/tests/classes/interface_optional_arg.phpt
index 05f2fc41df..05f2fc41df 100755..100644
--- a/tests/classes/interface_optional_arg.phpt
+++ b/tests/classes/interface_optional_arg.phpt
diff --git a/tests/classes/interfaces_003.phpt b/tests/classes/interfaces_003.phpt
index f9ab92bb15..f9ab92bb15 100755..100644
--- a/tests/classes/interfaces_003.phpt
+++ b/tests/classes/interfaces_003.phpt
diff --git a/tests/classes/iterators_001.phpt b/tests/classes/iterators_001.phpt
index 02e3610782..02e3610782 100755..100644
--- a/tests/classes/iterators_001.phpt
+++ b/tests/classes/iterators_001.phpt
diff --git a/tests/classes/iterators_002.phpt b/tests/classes/iterators_002.phpt
index 4a58be0324..4a58be0324 100755..100644
--- a/tests/classes/iterators_002.phpt
+++ b/tests/classes/iterators_002.phpt
diff --git a/tests/classes/iterators_003.phpt b/tests/classes/iterators_003.phpt
index 42695db6ba..42695db6ba 100755..100644
--- a/tests/classes/iterators_003.phpt
+++ b/tests/classes/iterators_003.phpt
diff --git a/tests/classes/iterators_004.phpt b/tests/classes/iterators_004.phpt
index 3fe05276c3..3fe05276c3 100755..100644
--- a/tests/classes/iterators_004.phpt
+++ b/tests/classes/iterators_004.phpt
diff --git a/tests/classes/iterators_005.phpt b/tests/classes/iterators_005.phpt
index 005deb92a2..005deb92a2 100755..100644
--- a/tests/classes/iterators_005.phpt
+++ b/tests/classes/iterators_005.phpt
diff --git a/tests/classes/iterators_007.phpt b/tests/classes/iterators_007.phpt
index f2638b31dc..f2638b31dc 100755..100644
--- a/tests/classes/iterators_007.phpt
+++ b/tests/classes/iterators_007.phpt
diff --git a/tests/classes/private_members.phpt b/tests/classes/private_members.phpt
index a8ef9ab920..a8ef9ab920 100755..100644
--- a/tests/classes/private_members.phpt
+++ b/tests/classes/private_members.phpt
diff --git a/tests/classes/private_redeclare.phpt b/tests/classes/private_redeclare.phpt
index e3061f1136..e3061f1136 100755..100644
--- a/tests/classes/private_redeclare.phpt
+++ b/tests/classes/private_redeclare.phpt
diff --git a/tests/classes/serialize_001.phpt b/tests/classes/serialize_001.phpt
index 142fc50fcd..142fc50fcd 100755..100644
--- a/tests/classes/serialize_001.phpt
+++ b/tests/classes/serialize_001.phpt
diff --git a/tests/classes/static_properties_001.phpt b/tests/classes/static_properties_001.phpt
index 1c34f68fc5..1c34f68fc5 100755..100644
--- a/tests/classes/static_properties_001.phpt
+++ b/tests/classes/static_properties_001.phpt
diff --git a/tests/classes/static_this.phpt b/tests/classes/static_this.phpt
index 91b0287195..91b0287195 100755..100644
--- a/tests/classes/static_this.phpt
+++ b/tests/classes/static_this.phpt
diff --git a/tests/classes/this.phpt b/tests/classes/this.phpt
index 1d9c6236e4..1d9c6236e4 100755..100644
--- a/tests/classes/this.phpt
+++ b/tests/classes/this.phpt
diff --git a/tests/classes/tostring_001.phpt b/tests/classes/tostring_001.phpt
index 53144ca207..53144ca207 100755..100644
--- a/tests/classes/tostring_001.phpt
+++ b/tests/classes/tostring_001.phpt
diff --git a/tests/classes/tostring_002.phpt b/tests/classes/tostring_002.phpt
index 8a4a7af339..8a4a7af339 100755..100644
--- a/tests/classes/tostring_002.phpt
+++ b/tests/classes/tostring_002.phpt
diff --git a/tests/classes/tostring_003.phpt b/tests/classes/tostring_003.phpt
index 8815bd9407..8815bd9407 100755..100644
--- a/tests/classes/tostring_003.phpt
+++ b/tests/classes/tostring_003.phpt
diff --git a/tests/classes/type_hinting_002.phpt b/tests/classes/type_hinting_002.phpt
index 7c685bfdba..7c685bfdba 100755..100644
--- a/tests/classes/type_hinting_002.phpt
+++ b/tests/classes/type_hinting_002.phpt
diff --git a/tests/classes/type_hinting_003.phpt b/tests/classes/type_hinting_003.phpt
index 431d66eabc..431d66eabc 100755..100644
--- a/tests/classes/type_hinting_003.phpt
+++ b/tests/classes/type_hinting_003.phpt
diff --git a/tests/classes/visibility_005.phpt b/tests/classes/visibility_005.phpt
index 859a5f7b6c..859a5f7b6c 100755..100644
--- a/tests/classes/visibility_005.phpt
+++ b/tests/classes/visibility_005.phpt
diff --git a/tests/lang/015.inc b/tests/lang/015.inc
index d436a7bb14..d436a7bb14 100755..100644
--- a/tests/lang/015.inc
+++ b/tests/lang/015.inc
diff --git a/tests/lang/016.inc b/tests/lang/016.inc
index b73333f7b0..b73333f7b0 100755..100644
--- a/tests/lang/016.inc
+++ b/tests/lang/016.inc
diff --git a/tests/lang/023-1.inc b/tests/lang/023-1.inc
index 8d52e844c9..8d52e844c9 100755..100644
--- a/tests/lang/023-1.inc
+++ b/tests/lang/023-1.inc
diff --git a/tests/lang/023-2.inc b/tests/lang/023-2.inc
index 6dd1e730f1..6dd1e730f1 100755..100644
--- a/tests/lang/023-2.inc
+++ b/tests/lang/023-2.inc
diff --git a/tests/lang/036.phpt b/tests/lang/036.phpt
index 474316e363..474316e363 100755..100644
--- a/tests/lang/036.phpt
+++ b/tests/lang/036.phpt
diff --git a/tests/lang/037.phpt b/tests/lang/037.phpt
index c2a1ee312f..c2a1ee312f 100755..100644
--- a/tests/lang/037.phpt
+++ b/tests/lang/037.phpt
diff --git a/tests/lang/038.phpt b/tests/lang/038.phpt
index 195050b2fb..195050b2fb 100755..100644
--- a/tests/lang/038.phpt
+++ b/tests/lang/038.phpt
diff --git a/tests/lang/039.phpt b/tests/lang/039.phpt
index aa4b591649..aa4b591649 100755..100644
--- a/tests/lang/039.phpt
+++ b/tests/lang/039.phpt
diff --git a/tests/lang/040.phpt b/tests/lang/040.phpt
index 6d8ece9679..6d8ece9679 100755..100644
--- a/tests/lang/040.phpt
+++ b/tests/lang/040.phpt
diff --git a/tests/lang/bug23524.phpt b/tests/lang/bug23524.phpt
index 512c714e22..512c714e22 100755..100644
--- a/tests/lang/bug23524.phpt
+++ b/tests/lang/bug23524.phpt
diff --git a/tests/lang/bug24499.phpt b/tests/lang/bug24499.phpt
index 6ce56dbad7..6ce56dbad7 100755..100644
--- a/tests/lang/bug24499.phpt
+++ b/tests/lang/bug24499.phpt
diff --git a/tests/lang/bug24640.phpt b/tests/lang/bug24640.phpt
index 919b38e29e..919b38e29e 100755..100644
--- a/tests/lang/bug24640.phpt
+++ b/tests/lang/bug24640.phpt
diff --git a/tests/lang/bug24652.phpt b/tests/lang/bug24652.phpt
index 3bcea0e1d2..3bcea0e1d2 100755..100644
--- a/tests/lang/bug24652.phpt
+++ b/tests/lang/bug24652.phpt
diff --git a/tests/lang/bug24908.phpt b/tests/lang/bug24908.phpt
index 30056abf3c..30056abf3c 100755..100644
--- a/tests/lang/bug24908.phpt
+++ b/tests/lang/bug24908.phpt
diff --git a/tests/lang/bug25145.phpt b/tests/lang/bug25145.phpt
index 9c533871a8..9c533871a8 100755..100644
--- a/tests/lang/bug25145.phpt
+++ b/tests/lang/bug25145.phpt
diff --git a/tests/lang/bug25547.phpt b/tests/lang/bug25547.phpt
index b54f467ea8..b54f467ea8 100755..100644
--- a/tests/lang/bug25547.phpt
+++ b/tests/lang/bug25547.phpt
diff --git a/tests/lang/bug25652.phpt b/tests/lang/bug25652.phpt
index 09cfc18197..09cfc18197 100755..100644
--- a/tests/lang/bug25652.phpt
+++ b/tests/lang/bug25652.phpt
diff --git a/tests/lang/bug25922.phpt b/tests/lang/bug25922.phpt
index bb030c9df8..bb030c9df8 100755..100644
--- a/tests/lang/bug25922.phpt
+++ b/tests/lang/bug25922.phpt
diff --git a/tests/lang/bug27439.phpt b/tests/lang/bug27439.phpt
index 4bcadb78fd..4bcadb78fd 100755..100644
--- a/tests/lang/bug27439.phpt
+++ b/tests/lang/bug27439.phpt
diff --git a/tests/lang/bug29566.phpt b/tests/lang/bug29566.phpt
index 5f292bd759..5f292bd759 100755..100644
--- a/tests/lang/bug29566.phpt
+++ b/tests/lang/bug29566.phpt
diff --git a/tests/lang/bug29893.phpt b/tests/lang/bug29893.phpt
index d320de0ee7..d320de0ee7 100755..100644
--- a/tests/lang/bug29893.phpt
+++ b/tests/lang/bug29893.phpt
diff --git a/tests/lang/bug29944.phpt b/tests/lang/bug29944.phpt
index 7882936f08..7882936f08 100755..100644
--- a/tests/lang/bug29944.phpt
+++ b/tests/lang/bug29944.phpt
diff --git a/tests/lang/bug35176.phpt b/tests/lang/bug35176.phpt
index dd56c76a68..dd56c76a68 100755..100644
--- a/tests/lang/bug35176.phpt
+++ b/tests/lang/bug35176.phpt
diff --git a/tests/lang/bug35382.phpt b/tests/lang/bug35382.phpt
index 69190d4c95..69190d4c95 100755..100644
--- a/tests/lang/bug35382.phpt
+++ b/tests/lang/bug35382.phpt
diff --git a/tests/lang/bug38579.inc b/tests/lang/bug38579.inc
index 8ecc55824e..8ecc55824e 100755..100644
--- a/tests/lang/bug38579.inc
+++ b/tests/lang/bug38579.inc
diff --git a/tests/lang/bug38579.phpt b/tests/lang/bug38579.phpt
index 445296c222..445296c222 100755..100644
--- a/tests/lang/bug38579.phpt
+++ b/tests/lang/bug38579.phpt
diff --git a/tests/lang/bug44654.phpt b/tests/lang/bug44654.phpt
index be714e8acc..be714e8acc 100755..100644
--- a/tests/lang/bug44654.phpt
+++ b/tests/lang/bug44654.phpt
diff --git a/tests/lang/compare_objects_basic2.phpt b/tests/lang/compare_objects_basic2.phpt
index a2c34d06ad..7e4786cd28 100644
--- a/tests/lang/compare_objects_basic2.phpt
+++ b/tests/lang/compare_objects_basic2.phpt
@@ -20,9 +20,5 @@ var_dump($obj1 == $obj2);
===DONE===
--EXPECTF--
Simple test comparing two objects with different compare callback handler
-
-Notice: Object of class X could not be converted to int in %s on line %d
-
-Notice: Object of class DateTime could not be converted to int in %s on line %d
-bool(true)
-===DONE=== \ No newline at end of file
+bool(false)
+===DONE===
diff --git a/tests/lang/foreach_with_object_001.phpt b/tests/lang/foreach_with_object_001.phpt
index 598b844fb7..598b844fb7 100755..100644
--- a/tests/lang/foreach_with_object_001.phpt
+++ b/tests/lang/foreach_with_object_001.phpt
diff --git a/tests/strings/bug22592.phpt b/tests/strings/bug22592.phpt
index 3443c32859..3443c32859 100755..100644
--- a/tests/strings/bug22592.phpt
+++ b/tests/strings/bug22592.phpt
diff --git a/win32/build/deplister.c b/win32/build/deplister.c
index bf91b96d52..f99da51228 100644
--- a/win32/build/deplister.c
+++ b/win32/build/deplister.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/win32/build/libs_version.txt b/win32/build/libs_version.txt
index e916d05a1c..5895e7bc9d 100644
--- a/win32/build/libs_version.txt
+++ b/win32/build/libs_version.txt
@@ -1,17 +1,17 @@
bz2-1.0.6
cclient-2007e
freetype-2.4.3
-icu-4.6.1
+icu-49.1.2
jpeglib-6b
-libcurl-7.24.0
-libiconv-1.11
+libcurl-7.27.0
+libiconv-1.14
libmcrypt-2.5.8
libmpir-1.3.1
libpng-1.2.46
libpq-8.3.6
-libssh2-1.3.0
+libssh2-1.4.2
libtidy-20090325
-libxslt-1.1.23
-libxml-2.7.7
-openssl-0.9.8u
+libxslt-1.1.27
+libxml-2.7.8
+openssl-0.9.8x
diff --git a/win32/build/template.rc b/win32/build/template.rc
index 2db8896497..606b08a244 100644
--- a/win32/build/template.rc
+++ b/win32/build/template.rc
@@ -65,7 +65,7 @@ BEGIN
#endif
VALUE "FileVersion", EXT_VERSION
VALUE "InternalName", INTERNAL_NAME
- VALUE "LegalCopyright", "Copyright © 1997-2010 The PHP Group"
+ VALUE "LegalCopyright", "Copyright © 1997-2012 The PHP Group"
VALUE "LegalTrademarks", "PHP"
VALUE "OriginalFilename", FILE_NAME
VALUE "ProductName", "PHP"
diff --git a/win32/globals.c b/win32/globals.c
index b92fad9f2d..b92fad9f2d 100755..100644
--- a/win32/globals.c
+++ b/win32/globals.c
diff --git a/win32/php_win32_globals.h b/win32/php_win32_globals.h
index 1fcfb60365..1fcfb60365 100755..100644
--- a/win32/php_win32_globals.h
+++ b/win32/php_win32_globals.h
diff --git a/win32/registry.c b/win32/registry.c
index 45e842b455..638d85ae52 100644
--- a/win32/registry.c
+++ b/win32/registry.c
@@ -77,12 +77,13 @@ static int LoadDirectory(HashTable *directories, HKEY key, char *path, int path_
value_len = max_value+1;
if (RegEnumValue(key, i, name, &name_len, NULL, &type, value, &value_len) == ERROR_SUCCESS) {
if ((type == REG_SZ) || (type == REG_EXPAND_SZ)) {
- ht = (HashTable*)malloc(sizeof(HashTable));
if (!ht) {
- return ret;
+ ht = (HashTable*)malloc(sizeof(HashTable));
+ if (!ht) {
+ return ret;
+ }
+ zend_hash_init(ht, 0, NULL, ZVAL_INTERNAL_PTR_DTOR, 1);
}
- zend_hash_init(ht, 0, NULL, ZVAL_INTERNAL_PTR_DTOR, 1);
-
data = (zval*)malloc(sizeof(zval));
if (!data) {
return ret;