Compare commits

...
1189 Commits
Author SHA1 Message Date
SVN Migration 1a1c34a111 This commit was manufactured by cvs2svn to create tag 'php_5_2_5'. 2007-11-09 03:51:13 +00:00
Ilia Alshanetsky af81b9d973 5.2.5 2007-11-08 13:44:12 +00:00
Antony Dovgal e9e1ba64e9 MFH 2007-11-08 11:39:59 +00:00
Antony Dovgal 2bb2bcdcce fix tests 2007-11-08 11:19:46 +00:00
Antony Dovgal f237b06942 fix test 2007-11-08 10:30:08 +00:00
Antony Dovgal 9958658fc3 MFH: fix test 2007-11-08 10:13:47 +00:00
Antony Dovgal 527f581a6b MFH 2007-11-08 08:12:01 +00:00
Dmitry Stogov 76a5faaf8f Fixed tests 2007-11-08 07:06:55 +00:00
Antony Dovgal 0e6b470417 fix tests 2007-11-07 12:07:59 +00:00
Antony Dovgal 295c1cc04e MFH 2007-11-07 08:31:04 +00:00
Jani Taskinen df35a307cc MFH: - Fixed bug #43196 (array_intersect_assoc() crashes with non-array input) 2007-11-06 13:28:21 +00:00
Raghubansh Kumar c6779ec584 New testcases for asort() function 2007-11-05 16:37:45 +00:00
Raghubansh Kumar f87b27a84e better test title 2007-11-05 16:24:37 +00:00
Raghubansh Kumar bbc87a14eb New testcases for sort() function 2007-11-05 15:38:03 +00:00
Raghubansh Kumar c1ee9eeecf New testcases for array_intersect_assoc() function 2007-11-05 14:39:42 +00:00
Derick Rethans db4b1f7f46 - Updated to version 2007.9 2007-11-05 10:36:50 +00:00
Mattias Bengtsson 5697c1a9ac - Right filename 2007-11-05 01:14:18 +00:00
Mattias Bengtsson 7f57a366dc - Fixed Bug #43121 (gdImageFill with IMG_COLOR_TILED crashes httpd) 2007-11-04 23:56:00 +00:00
Raghubansh Kumar 72c994d464 fix tests: proper temp file names 2007-11-02 03:54:05 +00:00
Raghubansh Kumar 5302a164b1 fix tests: proper temp file names 2007-11-02 03:16:22 +00:00
Raghubansh Kumar 72a009a2f2 Fix test: better float values 2007-11-02 03:00:18 +00:00
Ilia Alshanetsky 79cd4dc1c3 back to dev 2007-11-01 22:37:35 +00:00
Ilia Alshanetsky e3eb1b9bed 5.2.5RC2 2007-11-01 22:33:31 +00:00
Antony Dovgal f6966f28d0 MFH: initialize correct variable 2007-11-01 19:13:49 +00:00
Jani Taskinen e207cc58ac MFH: nuke unused variables 2007-11-01 17:32:26 +00:00
Dmitry Stogov 67f6979df2 Another fix for bug #42773 2007-11-01 15:41:13 +00:00
Dmitry Stogov e468aa44a2 Fixed bug #42848 (Status: header incorrect under FastCGI) 2007-11-01 15:23:14 +00:00
Dmitry Stogov fc6d3652f9 Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI result in major slowdown) 2007-11-01 14:11:47 +00:00
Dmitry Stogov 375bf36e42 Fixed bug #42773 (WSDL error causes HTTP 500 Response) 2007-11-01 14:10:19 +00:00
Robert Nicholson 997925db9f delete .project file 2007-11-01 10:34:38 +00:00
Robert Nicholson fa0e4863a2 update min_error and max_error testcases to take into account bug fix for bug#43125 2007-11-01 08:42:32 +00:00
Dmitry Stogov 2e869a00ac Added CGI SAPI -T option, to measure execution time of script repeated several times. 2007-10-31 18:24:42 +00:00
Jani Taskinen 171184b64d MFH: fix typo 2007-10-31 13:39:14 +00:00
Jani Taskinen bdbcc4b6d3 MFH: - Fixed Bug #43137 (rmdir() and rename() do not clear statcache) 2007-10-31 13:23:07 +00:00
Ilia Alshanetsky f4cd343b6c MFB: Fixed bug #43139 PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with
fetchAll()
2007-10-31 12:58:24 +00:00
Ilia Alshanetsky e5db0d8077 MFB: Test not relavent for sqlite that uses built-in bound syntax 2007-10-30 23:03:54 +00:00
Ilia Alshanetsky 68893b0cb4 MFB: Fixed bug #43130 (Bound parameters cannot have - in their name) 2007-10-29 22:37:25 +00:00
Jani Taskinen caa0de9205 MFH 2007-10-29 09:05:55 +00:00
Ilia Alshanetsky 39f1f2fcd3 MFB: Fixed bug #42976 (Crash when constructor for newInstance() or
newInstanceArgs() fails)
2007-10-28 13:47:14 +00:00
Raghubansh Kumar b89ab4a4d5 New testcases for shuffle() function 2007-10-27 12:29:25 +00:00
Raghubansh Kumar 6d9165b332 New testcases for array_intersect() function 2007-10-27 12:16:57 +00:00
Stanislav Malyshev b196fbece9 add attribution 2007-10-26 17:45:26 +00:00
Robert Nicholson 85122b5ae6 Remove unneeded INI sections 2007-10-26 16:08:34 +00:00
Raghubansh Kumar 8ba0f7f275 more testcases for array_unshift() function 2007-10-26 11:47:50 +00:00
Robert Nicholson 8ae4fa2810 new testcases for array_splice 2007-10-26 11:07:31 +00:00
Robert Nicholson b6900cb61d new testcases for max and min 2007-10-26 11:02:04 +00:00
Jani Taskinen 9a6012ff21 fix news 2007-10-26 08:13:15 +00:00
Antony Dovgal ef0652c7f3 MFH 2007-10-25 13:01:16 +00:00
Antony Dovgal 54e44a4707 MFH 2007-10-25 11:54:23 +00:00
Dmitry Stogov 602f26dc08 Added ability to control memory consumption between request using ZEND_MM_COMPACT environment variable 2007-10-25 07:30:29 +00:00
Ilia Alshanetsky 68f328560d MFB: Fixed bug #43099 (XMLWriter::endElement() does not check # of params) 2007-10-24 22:50:19 +00:00
Dmitry Stogov 1155200b02 Fixed realpath cache for existent file with CWD_FILEPATH flag on win32 2007-10-23 05:57:35 +00:00
Mattias Bengtsson a04472df2e - Be paranoid and dont allow multiplication with zero 2007-10-23 01:58:08 +00:00
Ilia Alshanetsky 521048a9ae MFB: Fixed bug #4294 (Move *timeout initialization from RINIT to connect
time)
2007-10-22 22:43:44 +00:00
Raghubansh Kumar 4846f7e349 more testcase for array_filter() function 2007-10-22 11:13:51 +00:00
Andrey Hristov 7c21b37a2f Make it compile with libmysql 3.23 2007-10-22 10:35:33 +00:00
Dmitry Stogov f8e5189286 forgotten description 2007-10-22 07:52:03 +00:00
Dmitry Stogov 9926736605 Fixed move_uploaded_file() to always set file permissions of resulting file according to UMASK (Andrew Sitnikov) 2007-10-22 07:37:20 +00:00
Ilia Alshanetsky 0139100668 MFB: Fixed bug #42944 (test failing due to expectation that /etc/passwd has
0644 permissions).
2007-10-21 15:41:45 +00:00
Raghubansh Kumar 083c7f05ca New tetscases for array_rand() function 2007-10-19 18:39:52 +00:00
Raghubansh Kumar ff9f6404dd New testcases for array_fill() function 2007-10-19 18:34:16 +00:00
Raghubansh Kumar ee0c90556e New testcases for array_filter() function 2007-10-19 18:18:17 +00:00
Raghubansh Kumar 5516f0a247 New testcases for array_unshift() function 2007-10-19 09:12:22 +00:00
Robert Thompson 586ceb9d40 formatting 2007-10-19 05:35:05 +00:00
Robert Thompson 08433295c4 News for getcwd() failure fix. 2007-10-19 01:22:24 +00:00
Ilia Alshanetsky c6ec417654 Back to dev 2007-10-18 23:09:54 +00:00
Ilia Alshanetsky 63f4dc835e 5.2.5RC1 2007-10-18 22:59:43 +00:00
Scott MacVicar 3e47b3cb7b MFB53: Fixed bug #43020 (Warning message is missing with shuffle() and more than one argument) 2007-10-18 14:39:08 +00:00
Dmitry Stogov 168f127abb Fixed bug #42722 (display_errors setting ignored for E_PARSE and HTTP 500 page) 2007-10-18 13:11:30 +00:00
Marcus Boerger 2e2a566c15 - BFN 2007-10-18 05:32:50 +00:00
Marcus Boerger 9f6936fc0c - MF53 Fix for #41692, #42703
# Now in correct branch with fixed checkout and so on
2007-10-18 05:26:55 +00:00
Marcus Boerger efc78b635b - Fix test expectation 2007-10-18 04:51:53 +00:00
Marcus Boerger 017fa36d3f - MFB #42654, #42704 2007-10-18 04:49:55 +00:00
Dmitry Stogov c43fe1c6cf Fixed possible crash because of uninitialized value (Zdash Urf) 2007-10-17 12:08:46 +00:00
Dmitry Stogov 82264b0b45 Fixed bug #42637 (SoapFault : Only http and https are allowed) 2007-10-17 11:17:46 +00:00
Antony Dovgal 7a9cd0a4fd MFH 2007-10-17 08:19:50 +00:00
Antony Dovgal 36e950eb5f avoid double free and use zval_dtor() where neccessary 2007-10-16 13:20:29 +00:00
Andrey Hristov c8f8766461 MFB5_3 : Shadowing of params bring undefined results. 2007-10-16 13:00:32 +00:00
Raghubansh Kumar 7a97b74637 New testcases for array_flip() function 2007-10-15 06:29:37 +00:00
Raghubansh Kumar 92642d0189 New testcases for array_reverse() function 2007-10-15 06:09:27 +00:00
Hannes Magnusson a029117eb5 MFH: fix typo and remove dots in error message 2007-10-13 11:35:35 +00:00
Ilia Alshanetsky accfde57ca MFB: Fixed bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode) 2007-10-11 20:56:22 +00:00
Derick Rethans 94a3bb327e - Updated to version 2007.8 2007-10-11 18:54:37 +00:00
Raghubansh Kumar d7e424acbe fix test (temp. file name) 2007-10-11 11:53:16 +00:00
Jani Taskinen 979e8b5896 MFB53 2007-10-11 09:33:53 +00:00
Jani Taskinen 3c9eb61d04 MF53 2007-10-11 08:28:02 +00:00
Robert Thompson 98505945f2 Fix for bug 41899, safe mode and relative paths with Solaris's broken getcwd(). 2007-10-10 23:54:39 +00:00
Jani Taskinen 6f128d2dd7 - Generated with more recent re2c version 2007-10-10 09:28:51 +00:00
Ilia Alshanetsky 00f18d764a MFB: Fixed bug #42869 (automatic session id insertion adds sessions id to
non-local forms)
2007-10-10 00:35:52 +00:00
Scott MacVicar 6928bdc6bf MFH: Add constant to allow setting of character set with mysqli_options prior to connection. 2007-10-09 16:56:38 +00:00
Raghubansh Kumar 2a078d14c9 New testcases for strip_tags() function 2007-10-09 12:47:00 +00:00
Raghubansh Kumar 1993c9a384 fix test 2007-10-09 12:19:27 +00:00
Raghubansh Kumar ecf81d1529 fix tests 2007-10-09 12:12:19 +00:00
Raghubansh Kumar bf428e90a5 fix tests 2007-10-09 10:56:45 +00:00
Scott MacVicar 7deeb54fe1 MFH: Fix expand_filepath when including relative files, ideally you should test your code... 2007-10-09 10:06:34 +00:00
Jani Taskinen 6d078cea10 MFH: ws + cs 2007-10-09 08:40:47 +00:00
Raghubansh Kumar fdf4c22696 fix tests 2007-10-09 06:18:47 +00:00
Raghubansh Kumar be49c27d17 more tests for fseek(), ftell() & rewind() for win32 2007-10-09 04:55:14 +00:00
Raghubansh Kumar 0c9f9f8ef9 fix tests 2007-10-09 04:07:24 +00:00
Andrey Hristov 8cc2f5d576 News entry 2007-10-08 18:27:18 +00:00
Andrey Hristov 3f6b49a340 Fix for bug #42890 Constant "LIST" defined by mysqlclient and c-client 2007-10-08 18:25:52 +00:00
Raghubansh Kumar 393a686507 fix test 2007-10-08 16:02:55 +00:00
Raghubansh Kumar b8e0f7e78a fix test 2007-10-08 15:44:26 +00:00
Raghubansh Kumar 40098256fb fix tests 2007-10-08 15:36:01 +00:00
Raghubansh Kumar 50a4e50d03 New testcases for strtr() function 2007-10-08 15:19:56 +00:00
Raghubansh Kumar 99d99a0ba0 New testcases for get_html_translation_table() function 2007-10-08 15:19:27 +00:00
Raghubansh Kumar f075e78ac1 fix test 2007-10-08 06:19:11 +00:00
Robert Thompson 477e2b315b Fix for bug 41822 and 41899. expand_filepath() will now return a relative path under the specific situation where getcwd() returns NULL and the file is
still readable.  As far as I have been able to tell, this fix only applies to the Solaris OS where files in directories with (--x) cannot getcwd().
2007-10-08 02:49:26 +00:00
Antony Dovgal 98599a1c23 MFH: fix ws & folding 2007-10-06 21:35:53 +00:00
Raghubansh Kumar ea8fc31bf3 New testcases for setlocale() function 2007-10-05 19:30:51 +00:00
Raghubansh Kumar b84873aa96 New testcases for nl2br() function 2007-10-05 18:44:35 +00:00
Raghubansh Kumar 7cf81e0fe0 New testcases for strrpos() function 2007-10-05 18:31:51 +00:00
Raghubansh Kumar 620b1c63d0 New testcases for str_split() function 2007-10-05 18:16:34 +00:00
Raghubansh Kumar 2a05dfadb2 New testcases for vsprintf() function 2007-10-05 18:07:28 +00:00
Jani Taskinen 5a8c9a7d1c MFH: fix test 2007-10-05 14:57:51 +00:00
Nuno Lopes e1a402b6da allow lcov 1.6 2007-10-05 14:51:36 +00:00
Ilia Alshanetsky f9137cddf6 BFN 2007-10-04 23:26:04 +00:00
Ilia Alshanetsky 07710a5fb9 MFB: Fixed bug #42817 (clone() on a non-object does not result in a fatal
error)
2007-10-04 23:23:43 +00:00
Jani Taskinen 1be447eb95 MFH: Removed ending dots from error messages 2007-10-04 13:31:11 +00:00
Ilia Alshanetsky 91e99495af MFB: Fixed bug #42783 (pg_insert() does not accept an empty list for
insertion)
2007-10-03 23:31:58 +00:00
Michael Wallner b260f03830 MFH: fix CURLOPT_TIMEOUT_MS support 2007-10-03 20:34:48 +00:00
Dmitry Stogov 0cd4039af2 Fixed bug #42818 ($foo = clone(array()); leaks memory) 2007-10-03 09:47:25 +00:00
Dmitry Stogov c7047381f5 Fixed bug #42772 (Storing $this in a static var fails while handling a cast to string) 2007-10-03 08:02:19 +00:00
Stanislav Malyshev f422acca26 add html* utf fix 2007-10-03 05:03:12 +00:00
Stanislav Malyshev ecc9d28fed add test with invalid sequences 2007-10-03 04:58:41 +00:00
Stanislav Malyshev 5e82a38f0a do not accept partial multibyte sequences in html* functions 2007-10-03 04:53:05 +00:00
Antony Dovgal 63b3528cb1 improved recursion detection in array_walk()
fixes #42752, though the leaks are still there
2007-10-02 10:04:13 +00:00
Ilia Alshanetsky 139996e1ac MFB: Added test for bug #42785 2007-10-01 15:33:21 +00:00
Ilia Alshanetsky f89aae49a7 MFB: Fixed bug #42785 (json_encode() formats doubles according to locale
rather then following standard syntax).
2007-10-01 15:23:15 +00:00
Ilia Alshanetsky 94eb3ed91b MFB: Fixed typo in previous patch 2007-10-01 15:00:15 +00:00
Ilia Alshanetsky 191bf235ed MFB: Refactor code to make fixes for coverity issues #385 and #386 a bit
more obvious
2007-10-01 14:53:01 +00:00
Antony Dovgal 7d889d818a fix test 2007-10-01 10:41:36 +00:00
Antony Dovgal d70e63458f fix tests 2007-10-01 10:25:50 +00:00
Antony Dovgal 23d9af29d7 these dots exist since PHP3
even though Jani removed them in 5_3, I can't see how they can cause any BUGS
2007-10-01 10:22:43 +00:00
Pierre Joye 73219c9cb0 - add notice about glob regression (Lukas) 2007-10-01 08:14:03 +00:00
Raghubansh Kumar e538e493d7 smaller tests already exist 2007-09-29 17:21:41 +00:00
Raghubansh Kumar 2770262bad New testcases for sprintf() function 2007-09-29 14:13:53 +00:00
Raghubansh Kumar 69158b5e18 New testcases for chunk_split() function 2007-09-29 12:55:34 +00:00
Raghubansh Kumar f0435592a0 New testcases for stripos() function 2007-09-29 09:19:43 +00:00
Raghubansh Kumar 6eaef0712e New testcases for strrchr() function 2007-09-29 09:18:07 +00:00
Raghubansh Kumar 64f7dafa74 New testcases for join() function 2007-09-29 09:10:18 +00:00
Raghubansh Kumar 16242cd2df New testcases for htmlspecialchars_decode() function 2007-09-29 09:00:48 +00:00
Johannes Schlüter 11d5f9c7c4 - MFH: Fix type in example 2007-09-28 22:04:47 +00:00
Ilia Alshanetsky 3447b26334 MFB: Fixed coverity issue #470 Unitialized integer value used inside
zend_ini_boolean_displayer_cb
2007-09-27 17:27:15 +00:00
Jani Taskinen 12760053c1 missing folding tag 2007-09-27 16:42:11 +00:00
Jani Taskinen 52095f58a5 MFH: use Z_STR* macros 2007-09-27 16:29:27 +00:00
Jani Taskinen b024bedbdb MFH: ws 2007-09-27 16:00:20 +00:00
Jani Taskinen 5cb0b7609a MFH: ws + cs (to keep in sync with HEAD/PHP_5_3 only!) 2007-09-27 15:54:49 +00:00
Jani Taskinen 2c841333ee ws + cs fixes 2007-09-27 13:15:09 +00:00
Antony Dovgal 474f6eef5e MFH: fix coverity issue #412 2007-09-27 09:19:06 +00:00
Antony Dovgal eb2659c7b2 MFH: fix coverity issue #411 2007-09-27 09:15:20 +00:00
Ilia Alshanetsky f871988b88 BFN 2007-09-26 15:44:15 +00:00
Ilia Alshanetsky b26d5f6077 Fixed bug #42767 (highlight_string() truncates trailing comment) 2007-09-26 15:43:58 +00:00
Raghubansh Kumar 2ff92b584e new testcases for strrev() function 2007-09-26 14:40:14 +00:00
Antony Dovgal 72fc33ef6a MFH 2007-09-26 10:55:07 +00:00
Raghubansh Kumar 433d1a5d02 New testcases for crc32() function 2007-09-26 06:03:55 +00:00
Ilia Alshanetsky d0796d9d68 Another typo fix 2007-09-25 18:18:10 +00:00
Ilia Alshanetsky b89c7fcf8f Fixed typo 2007-09-24 23:33:24 +00:00
Dmitry Stogov 884b06e303 Fixed crash on POST request after dl("mbstring.so") 2007-09-24 11:53:40 +00:00
Rui Hirokawa e94f26f356 MFH: added support "entity" as substitute_character settin accoding to bug #39404 2007-09-24 11:51:36 +00:00
Dmitry Stogov b441b275b3 Fixed bug #42699 (PHP_SELF duplicates path) 2007-09-24 11:40:05 +00:00
Ilia Alshanetsky f60df047f1 Fixed bug #42739 (mkdir() doesnt like a trailing slash when safe_mode is
enabled).
2007-09-23 15:19:21 +00:00
Ilia Alshanetsky ddc1871576 Improve check for filename (fixed coverity issue #355) 2007-09-22 15:55:35 +00:00
Ilia Alshanetsky 24c806c41b Fixed memory leak inside array_intersec (coverity issues #403,#404) 2007-09-22 15:38:00 +00:00
Ilia Alshanetsky 91e8740fe4 Fixed memory leak inside array_diff() (coverity issues #401,#402) 2007-09-22 15:32:11 +00:00
Ilia Alshanetsky 9307163e67 Fixed memory leak inside pack() (coverity issues #398,#399,#400) 2007-09-22 15:25:46 +00:00
Raghubansh Kumar b17d0085f3 New testcases for strspn() function 2007-09-22 10:51:38 +00:00
Raghubansh Kumar 0aa09167c1 New testcases for strcspn() function 2007-09-22 10:36:15 +00:00
Raghubansh Kumar eb3f8fda65 New testcases for strtok() function 2007-09-22 07:39:57 +00:00
Raghubansh Kumar 32b432f878 replaced by array_search_variation1.phpt, hence removed. 2007-09-22 06:58:33 +00:00
Raghubansh Kumar 12bc950491 update and split of testcases for functions array_search() and in_array() 2007-09-22 06:53:58 +00:00
Antony Dovgal cecbe87656 MFH: add NULL check (coverity issue #385) and fix CS 2007-09-21 14:17:06 +00:00
Antony Dovgal 74ae13f933 MFH: check for NULL (coverity issue #386) 2007-09-21 14:12:52 +00:00
Antony Dovgal 074b4e51f0 MFH: check the return value of getgroups() for -1 (coverity issue #390) 2007-09-21 14:05:18 +00:00
Antony Dovgal 43cc8937b2 MFH: plug leak on error (coverity issue #405) 2007-09-21 13:51:49 +00:00
Antony Dovgal 366c113156 MFH: plug leak on error (coverity issue #407) 2007-09-21 13:37:30 +00:00
Dmitry Stogov 9ee4848c3f Improved speed of array_diff_key(), array_diff_assoc() and array_udiff_assoc(). 2007-09-21 13:10:59 +00:00
Antony Dovgal f5bf263b88 initialize all fields of the struct (it's generally good idea even though they should not be used) 2007-09-21 13:08:00 +00:00
Antony Dovgal 3587185a89 MFH: fix invalid read when opendir over FTP fails (coverity issue #462) 2007-09-21 12:57:38 +00:00
Stanislav Malyshev 7985002fc6 better fix for iconv_substr 2007-09-20 22:35:24 +00:00
Nuno Lopes fa0efe45e0 fix crash when fetching a node type that doesnt exist
# reported in a manual user note
2007-09-20 22:25:06 +00:00
Stanislav Malyshev c70e307e77 fix potential overflow (Mattias Bengtsson) 2007-09-20 21:55:14 +00:00
Stanislav Malyshev cfd8f6d775 add test for dl() with long name 2007-09-20 18:44:24 +00:00
Jani Taskinen 30dc58671d MFH 2007-09-20 14:28:12 +00:00
Jani Taskinen ba144fd417 - Fix test and tuned error message 2007-09-20 14:11:32 +00:00
Jani Taskinen c932082f7b MFH 2007-09-20 13:49:33 +00:00
Ilia Alshanetsky 84d594e4b6 Fixed test for glob() affected by previous patch 2007-09-20 13:29:04 +00:00
Rob Richards da068e5291 BFN 2007-09-20 09:32:31 +00:00
Rob Richards adb1cd835d MFH: fix bug #42139 (XMLReader option constants are broken using XML())
add test
2007-09-20 09:30:45 +00:00
Dmitry Stogov 8d377a698a Improved speed of array_intersect_key(), array_intersect_assoc() and array_uintersect_assoc(). (100 times faster on arrays with 100000 elements) 2007-09-20 09:22:59 +00:00
Antony Dovgal f67c0222fe MFH 2007-09-20 08:10:44 +00:00
Ilia Alshanetsky 47950d10cf Fixed regression in glob() when enforcing safe_mode/open_basedir checks on
paths containing '*'
2007-09-19 22:37:58 +00:00
Antony Dovgal 77951494b7 MFH 2007-09-19 11:25:57 +00:00
Stanislav Malyshev f7e4ff1054 one more test 2007-09-19 00:49:02 +00:00
Stanislav Malyshev d07b041e8a report iconv fix 2007-09-19 00:41:10 +00:00
Stanislav Malyshev 1ef91c8494 limit iconv parameters here too 2007-09-19 00:33:43 +00:00
Stanislav Malyshev 2fe9599880 limit iconv parameter sizes - workaround for glibc bug 2007-09-19 00:30:52 +00:00
Stanislav Malyshev 15a715ae73 add length tests for iconv functions 2007-09-19 00:18:01 +00:00
Rui Hirokawa beeddd8873 MFH: fixed bug #42502 va_* cannot detect. 2007-09-18 21:35:39 +00:00
Rui Hirokawa 507112e44d modified line end CR -> CR+NL 2007-09-18 21:33:29 +00:00
Stanislav Malyshev 08d3f07ced add dl() limit patch 2007-09-18 20:25:07 +00:00
Stanislav Malyshev 280e6464e8 limit dl() argument length (patch by Christian Hoffmann) 2007-09-18 20:19:34 +00:00
Ilia Alshanetsky 785b9d76f8 Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime
values).
2007-09-18 19:49:54 +00:00
Jani Taskinen 21f5a00183 BFN 2007-09-18 09:25:03 +00:00
Jani Taskinen c29136bd08 - Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported on MacOSX) 2007-09-18 09:24:04 +00:00
Ilia Alshanetsky 6c49087e64 Fixed typos 2007-09-17 12:44:16 +00:00
Ilia Alshanetsky 402d3eb0e0 Fixed a typo 2007-09-16 15:38:57 +00:00
Raghubansh Kumar 35990e7c5b better output matching/fixes 2007-09-15 07:29:55 +00:00
Raghubansh Kumar ec3a713fbb Removing from file dir as it was wrongly committed to this dir 2007-09-14 19:03:14 +00:00
Raghubansh Kumar b59c171e23 New testcases for strncasecmp() 2007-09-14 19:02:07 +00:00
Raghubansh Kumar 6d12620591 New testcases for chop() 2007-09-14 18:58:02 +00:00
Raghubansh Kumar e1a08e5d55 New testcases for wordwrap() 2007-09-14 18:53:38 +00:00
Raghubansh Kumar 4799047e07 New testcases for strncasecmp() function 2007-09-14 18:26:44 +00:00
Raghubansh Kumar aafdc266bf New testscases for chop() function 2007-09-14 18:24:47 +00:00
Zoe Slattery 619b218e9a Changing to use %a to match recent run-tests.php patch 2007-09-14 16:28:54 +00:00
Nuno Lopes 40085b06f2 changes to run-tests.php:
- change %s to %a
- make %s = [^\r\n]+
- fix tests accordingly
2007-09-14 15:28:03 +00:00
Nuno Lopes b121ffae92 fix expected output 2007-09-14 15:04:19 +00:00
Raghubansh Kumar 0cb6cfcd87 better comments 2007-09-14 14:31:55 +00:00
Raghubansh Kumar f22626ba5a New testcases for wordwrap() function 2007-09-14 14:14:48 +00:00
Raghubansh Kumar 4903f48eaa fix test 2007-09-14 09:38:13 +00:00
Jani Taskinen 3373aeff8e fix news 2007-09-14 08:20:15 +00:00
Stanislav Malyshev 03547dc13c register mail.force_extra_parameters change 2007-09-13 20:08:00 +00:00
Stanislav Malyshev cd836153d6 disallow setting mail.force_extra_parameters from .htaccess 2007-09-13 20:04:22 +00:00
Nuno Lopes bb2ec1c790 fix test, particularly when running with valgrind, bacause it may take more than one second to execute both instructions and thus get different dates 2007-09-13 19:58:26 +00:00
Nuno Lopes b0e393e543 attemp to set locale if it exists. fix skip condition 2007-09-13 19:51:34 +00:00
Nuno Lopes e0660a267e fix expected output 2007-09-13 19:30:19 +00:00
Nuno Lopes e3e2a62d44 fix test expected output 2007-09-13 18:55:28 +00:00
Nuno Lopes 69fbaf7d10 fix skip reasons. the word 'skip' should be followed by a single space and doesnt need any \n at the end 2007-09-13 18:24:26 +00:00
Stanislav Malyshev 4d34ae2946 List recent fixes 2007-09-13 17:15:02 +00:00
Ilia Alshanetsky 2cfdcd265d Added a note indicating that the tests may fail to due libc implementation 2007-09-13 15:36:37 +00:00
Jani Taskinen 859a017f95 MFH: cs/ws 2007-09-13 07:42:12 +00:00
Stanislav Malyshev f39d5a2f21 docs say dl() parameter can be filename only - enforce it 2007-09-13 00:56:31 +00:00
Stanislav Malyshev 1f45d49a0c fix crash if stream is empty and reader function sets buffer as null 2007-09-12 21:21:18 +00:00
Ilia Alshanetsky 910850be51 Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). 2007-09-12 18:26:49 +00:00
Jani Taskinen 96df4d2161 reorder 2007-09-12 11:46:02 +00:00
Jani Taskinen 0e0df5e47c BFN 2007-09-12 11:45:34 +00:00
Jani Taskinen bf132de1eb MFH:- Fixed bug #42627 (bz2 extension fails to build with -fno-common) 2007-09-12 11:44:26 +00:00
Nuno Lopes ada2b7ca41 BFN #39651 2007-09-12 11:44:25 +00:00
Nuno Lopes b24d4ddac9 fix bug #39651: proc_open() append mode doesnt work on windows 2007-09-12 11:42:43 +00:00
Jani Taskinen 26bcbca33b fix news 2007-09-12 09:49:20 +00:00
Raghubansh Kumar 99c6da86f3 marked with Bug #42038 2007-09-12 09:47:35 +00:00
Andrey Hristov dc34874dc9 Fix stupid error, which happens only on Windows. And we thought this has
been fixed. Now my_thread_end() should be called and there should be no
warnings in the error logs of exiting thread, which hasn't deinited, and
leaks.
2007-09-12 09:12:56 +00:00
Raghubansh Kumar 5e6724b122 marked with Bug# 42638 2007-09-12 08:27:35 +00:00
Ilia Alshanetsky 79325e3c55 MFH: Fixed function definition 2007-09-11 23:34:25 +00:00
Pierre Joye fd15282c77 - [DOC] add alpha support for imagefilter's IMG_FILTER_COLORIZE 2007-09-11 21:03:48 +00:00
Nuno Lopes 336111e4e9 remove the -DHAVE_CONFIG_H switch again to fix things on windows
this means that the upgrade script strips the #ifdef automatically
2007-09-11 16:17:34 +00:00
Rob Richards 7f7c158096 MFH: revert config header change 2007-09-11 11:25:20 +00:00
Jani Taskinen 3327653e19 - Fix tests (we are not interested what the old value was for the ini option) 2007-09-11 10:23:04 +00:00
Raghubansh Kumar b33ea59337 fix test 2007-09-11 05:21:40 +00:00
Ilia Alshanetsky ea6de20d86 Fixed Bug #42596 (session.save_path MODE option does not work). 2007-09-10 23:42:54 +00:00
Dmitry Stogov 96810f0ae6 Fixed bug #42587 (behaviour change regarding symlinked .php files) 2007-09-10 10:55:26 +00:00
Antony Dovgal a09eadc95b fix tests 2007-09-10 10:28:54 +00:00
Antony Dovgal 99695744ac split one more ten-in-one test
and fix \v\f stuff while we're here..
2007-09-09 22:28:06 +00:00
Ilia Alshanetsky 9f249298fc BFN 2007-09-09 16:34:05 +00:00
Ilia Alshanetsky 8ff31493b7 Fixed bug #42590 (Make the engine recornize \v and \f escape sequences) 2007-09-09 16:33:34 +00:00
Scott MacVicar e041a39e25 BFN 2007-09-09 16:12:09 +00:00
Scott MacVicar 734dfc8b75 MFH: Fixed bug 42549 (ext/mysql failed to compile with libmysql 3.23) 2007-09-09 16:08:17 +00:00
Pierre Joye 374bef4bc4 - #106 entry 2007-09-09 13:07:00 +00:00
Pierre Joye 7ea43ee23a - re-add fix for libgd #106, imagerectangle draws 1x1 rectangles
as 1x3 rectangles
2007-09-09 13:05:51 +00:00
Rob Richards 20296c625d MFH: point to valid config header 2007-09-08 09:57:22 +00:00
Pierre Joye 793956a0e1 - #42592, remove ending dot in warning msg 2007-09-07 18:23:58 +00:00
Raghubansh Kumar a14ef42c0c New testcases for ucwords() function 2007-09-07 14:44:52 +00:00
Raghubansh Kumar 67b4492c47 New testcases for strncmp() function 2007-09-07 14:20:12 +00:00
Jani Taskinen 9025c2a891 - Can not remove because of the idiotic ZEND_STR*() macros 2007-09-07 14:15:17 +00:00
Raghubansh Kumar cf2121887c New testcases for stripslashes() function 2007-09-07 13:51:26 +00:00
Zoe Slattery b7a47a439b fixing error in expected output 2007-09-07 10:28:03 +00:00
Jani Taskinen 2b69d18e49 - Added reminder for 5.3 2007-09-07 10:00:45 +00:00
Jani Taskinen 822400d78f - Missed this from previous commit to zend_ini.h 2007-09-07 09:59:50 +00:00
Jani Taskinen 2a528a158a - No need to break binary compatibility here 2007-09-07 09:55:37 +00:00
Jani Taskinen 279f8d4822 BFN 2007-09-07 09:39:11 +00:00
Jani Taskinen 82626c1868 MFH: - Fixed the rest of bug #41561 ( @ operator not working ) 2007-09-07 09:37:38 +00:00
Jani Taskinen 510ad20616 MFH: folding tags 2007-09-07 09:35:06 +00:00
Jani Taskinen f393620b9b BFN 2007-09-07 08:50:13 +00:00
Jani Taskinen fef2b33e85 MFH:- Fixed bug #42579 (apache_reset_timeout() does not exist) 2007-09-07 08:49:24 +00:00
Dmitry Stogov dd8c8d05e8 Added checks for malformated FastCGI requests (Mattias Bengtsson) 2007-09-07 08:26:47 +00:00
Ilia Alshanetsky 022d4fc0b6 Added missing safety checks for 2nd parameter of setlocale() function 2007-09-07 02:28:42 +00:00
Derick Rethans e280715150 - MFH: Add a comment why not ~0 or -1. 2007-09-06 13:28:05 +00:00
Andrey Hristov 09fbf87a6c Fixed leaks with multiple connects using one mysqli object.
HEAD will be fixed during the next mysqlnd merge

Fixed failing test for bug38710, 5.0 version is bad, 5.1 is ok.
2007-09-06 10:07:42 +00:00
Raghubansh Kumar af40765f8f New testcases for addslashes() function 2007-09-06 04:01:25 +00:00
Ilia Alshanetsky 49c91f6e33 MFH: fixed typo in function name 2007-09-05 13:03:59 +00:00
Andrey Hristov 649152ca49 Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion)
Fixed regression of bug 38710. Already fixed in HEAD.
#HEAD will be fixed when doing the next merge from svn
2007-09-05 12:36:44 +00:00
Dmitry Stogov e56466edc8 Fixed bug #42214 (SoapServer sends clients internal PHP errors) 2007-09-05 11:20:45 +00:00
Dmitry Stogov ee944bd1b5 Fixed bug #42488 (SoapServer reports an encoding error and the error itself breaks). 2007-09-05 10:18:23 +00:00
Dmitry Stogov 5d238efaa6 Fixed bug #42523 (PHP_SELF duplicates path) 2007-09-05 08:26:32 +00:00
Antony Dovgal 18ce620bdf bfn 2007-09-04 18:51:48 +00:00
Antony Dovgal 2198abb1c4 MFH: detect endianness in compile time when using Apple's GCC (fixes universal binary build) 2007-09-04 18:46:21 +00:00
Rui Hirokawa b9424cdfaf MFH: fixed bug #29955 invalid case conversion in iso-8859-9. 2007-09-04 14:14:11 +00:00
Ilia Alshanetsky 72f910c012 Fixed possible buffer overflows inside the fnmatch() and glob() functions 2007-09-04 12:51:49 +00:00
Zoe Slattery b78b25a336 Test cases for sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh. 2007-09-04 09:01:02 +00:00
Raghubansh Kumar 5096c8d232 fix tests 2007-09-04 08:37:51 +00:00
Ilia Alshanetsky 59a410cb76 Fixed bug #42506 (php_pgsql_convert() timezone parse bug) 2007-09-03 15:36:04 +00:00
Ilia Alshanetsky 09cad322fa Fixed bug #42468 (Write lock on file_get_contents fails when using a
compression stream).
2007-09-03 02:53:56 +00:00
Derick Rethans 152d379950 - MFH: Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on
64-bit PHP).
2007-09-01 18:38:39 +00:00
Nuno Lopes c6f777da1f adapt for PCRE 7.3
remove ability to include config.h from php_pcre.c, as it seems pretty useless and produces a few warnings
2007-09-01 17:51:35 +00:00
Nuno Lopes 3edd2a69f2 upgrade to PCRE 7.3 2007-09-01 17:48:43 +00:00
Nuno Lopes a3e6be974f new test 2007-09-01 17:47:13 +00:00
Antony Dovgal eaa89d2443 1.2.4 2007-08-31 22:30:27 +00:00
Antony Dovgal 19b1e39830 fix package2.xml 2007-08-31 22:26:13 +00:00
Antony Dovgal c230fa2b76 add Chris to the maintainers 2007-08-31 21:44:57 +00:00
Christopher Jones 63bfa32aee New tests for getAttribute 2007-08-31 21:09:43 +00:00
Christopher Jones af387e49ba Add $dbh->getAttribute() support for ATTR_SERVER_VERSION, ATTR_SERVER_INFO, ATTR_CLIENT_VERSION, ATTR_AUTOCOMMIT. Sync WS between PHP 5 & 6 and add a couple of casts. 2007-08-31 21:08:48 +00:00
Antony Dovgal 90d58d4668 MFH: prohibit arguments by ref in magic methods 2007-08-31 12:36:14 +00:00
Dmitry Stogov 39bceffc4a Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline options) 2007-08-31 12:17:52 +00:00
Antony Dovgal a1ac6e1ee3 update changelog, prepare for 1.2.4 release 2007-08-31 12:10:54 +00:00
Dmitry Stogov 83647013af Fixed bug #42359 (xsd:list type not parsed) 2007-08-31 10:48:45 +00:00
Jani Taskinen cac7e107c6 MFH: ws + protos 2007-08-31 10:46:19 +00:00
Dmitry Stogov fdf96bed47 Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic compliant wsdl) 2007-08-31 09:36:02 +00:00
Jani Taskinen 77c36cd259 MFH: ws 2007-08-31 08:35:37 +00:00
Jani Taskinen 9be89ed6f6 MFH: ws fixes 2007-08-31 08:16:13 +00:00
Jani Taskinen b9ddb5cba6 MFH 2007-08-31 08:09:50 +00:00
Dmitry Stogov ba1f56cb6d Fixed bug #42326 (SoapServer crash) 2007-08-31 08:07:28 +00:00
Jani Taskinen 6066b01d1b MFH: Revert revert. 2007-08-31 07:52:29 +00:00
Jani Taskinen 3197e135fa MFH: Moved php.ini related protos where they belong 2007-08-31 07:48:05 +00:00
Jani Taskinen 11750c315d MFH: ws 2007-08-31 07:43:37 +00:00
Jani Taskinen cd0cfdfc39 MFH 2007-08-31 07:42:05 +00:00
Christopher Jones 4450386ae0 New tests 2007-08-30 17:33:00 +00:00
Rob Richards 0ecaf04f86 BFN 2007-08-30 16:32:54 +00:00
Rob Richards 78b2aaa954 MFH: fix bug #42462 (Segmentation when trying to set an attribute in DOMElement) 2007-08-30 16:32:34 +00:00
Hannes Magnusson 2fc92c9172 - Fixed bug #42452 (PDO classes do not expose Reflection API information)
- Fixed tests
2007-08-30 14:06:12 +00:00
Sebastian Bergmann d0d1e42c75 Add optional parameter to debug_backtrace(). 2007-08-30 07:43:21 +00:00
Sebastian Bergmann 78e0e02179 Back to -dev. 2007-08-30 07:40:13 +00:00
Raghubansh Kumar 5081b960e5 fix test: do not run when noatime set 2007-08-30 04:04:58 +00:00
Ilia Alshanetsky 493b67b518 5.2.4 2007-08-29 23:36:11 +00:00
Raghubansh Kumar 16980248cc fix test: do not run on MACOS 2007-08-29 10:11:40 +00:00
Pierre Joye a83c2153f9 - gd bug #102, alternative fix when an old library is used 2007-08-29 06:26:30 +00:00
Raghubansh Kumar 3b32190c91 fix test, do not run on macos 2007-08-29 04:38:09 +00:00
Jani Taskinen ff95906878 Fix news 2007-08-27 08:35:27 +00:00
Pierre Joye 73fcf22627 - revert fix for #106
- add news entry for pslib fix
  NB: Please next time, inform us before a complete freeze is done for
      a given branch. And a week for a RC is defitively too short.
2007-08-27 08:27:45 +00:00
Pierre Joye 0d98b9a1d9 - MFB: gd #106, imagerectangle draws 1x1 rectangles as 1x3 rectangles 2007-08-26 20:35:11 +00:00
Zoe Slattery 9dfb01d3b1 adding check for rc1 to version-compare test 2007-08-24 14:47:50 +00:00
Jani Taskinen 00b9764a41 MFH:- Fix problem with non-bash compliant shells 2007-08-24 11:44:10 +00:00
Ilia Alshanetsky 6ed33cd46d Back to dev 2007-08-23 22:53:52 +00:00
Ilia Alshanetsky 43a3524f49 5.2.4RC3 2007-08-23 22:39:02 +00:00
Antony Dovgal cc44f5a09c -BFN 2007-08-23 18:44:09 +00:00
Antony Dovgal 8a3b3e9365 MFH: revert the patch which breaks multithreaded servers 2007-08-23 18:42:42 +00:00
Derick Rethans 80b4ee9f44 - MFH: Make version_compare() also understand the lower case variant of "RC". 2007-08-23 18:38:42 +00:00
Jani Taskinen de85bf4060 MFH: ws + cs changes (sync to ease merging patches around!) 2007-08-23 12:23:59 +00:00
Jani Taskinen 19401951c0 MFH: sync 2007-08-23 11:42:21 +00:00
Raghubansh Kumar ede06426ee fix tests 2007-08-23 09:32:37 +00:00
Ilia Alshanetsky 89c0ba1685 Fixed bug #37273 (Symlinks and mod_files session handler allow open_basedir
bypass).
2007-08-23 02:04:39 +00:00
Ilia Alshanetsky f30f2ef733 Fixed bug #42368 (Incorrect error message displayed by pg_escape_string). 2007-08-22 22:40:29 +00:00
Jani Taskinen 8ab9984707 MFH:- Fixed bug #42365 (glob() crashes with invalid flags) 2007-08-22 14:59:45 +00:00
Dmitry Stogov 8a61fc9b6e Fixed bug #42183 (classmap cause crashr in non-wsdl mode) 2007-08-22 14:18:10 +00:00
Dmitry Stogov 1aab36e3f2 Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the same way as "instanceof" operator). 2007-08-22 13:19:48 +00:00
Jani Taskinen 141ae73099 MFH:Fix typo in fastcgi.logging option example 2007-08-21 23:24:18 +00:00
Johannes Schlüter 254992907c - MFH: Fix Bug #42364 Crash when using getRealPath with DirectoryIterator 2007-08-21 22:45:53 +00:00
Ilia Alshanetsky 1fd7133d5a No longer experimental 2007-08-20 23:36:03 +00:00
Sebastian Bergmann 11b820bda3 - Fugbix typo. 2007-08-20 17:01:22 +00:00
Jani Taskinen c6a7e4cad4 MFH:- Part 1 of fixing problems with runpath switch (make --disable-rpath work for real) 2007-08-20 14:28:45 +00:00
Raghubansh Kumar 857aae2bd7 fix test : skip if user is root 2007-08-20 04:07:02 +00:00
Raghubansh Kumar 7f0be4f49d fix tests 2007-08-20 03:37:39 +00:00
Raghubansh Kumar b1080faf44 fix test: skip if user is root 2007-08-20 03:12:36 +00:00
Jani Taskinen 8c4b05ad66 BFN 2007-08-19 16:11:17 +00:00
Ilia Alshanetsky c5e61d4bca No longer relavent, extension is made absolete by fileinfo 2007-08-19 13:48:00 +00:00
Rui Hirokawa 1d44054407 MFH (fixed #42085) 2007-08-19 01:58:39 +00:00
Johannes Schlüter 1d48a1081c - MFH: Mark the parameter for ReflectionProperty::GetValue as optional 2007-08-17 14:21:32 +00:00
Christopher Jones 440ed3da7f PDO_OCI: fix Instant Client build broken by logic correction during previous Solaris lib/lib32 fix 2007-08-17 13:30:36 +00:00
Jani Taskinen b27d339ddb MFH:- Fixed bug #41904 (proc_open with empty env array) 2007-08-17 10:42:30 +00:00
Ilia Alshanetsky 2526d4f752 Back to dev 2007-08-17 00:38:23 +00:00
Ilia Alshanetsky 7f91d94c1d 5.2.4RC2 2007-08-17 00:35:39 +00:00
Stanislav Malyshev 5b021ac2fa fix proto 2007-08-16 23:54:24 +00:00
Jani Taskinen eb4a23c5ca - Check the length too (just like in HEAD) 2007-08-16 23:05:43 +00:00
Jani Taskinen a3e6f47ea1 MFH:- Fix bug #41946 (ip2long("") should return FALSE) 2007-08-16 22:17:10 +00:00
Raghubansh Kumar f2038206cc fix tests 2007-08-16 16:31:25 +00:00
Ilia Alshanetsky 2326c077e7 Extension is no longer experimental 2007-08-15 17:58:46 +00:00
Ilia Alshanetsky a4e199018c Docs were added 2007-08-14 23:53:34 +00:00
Raghubansh Kumar 33f46cfe00 Fix tests 2007-08-14 14:07:46 +00:00
Antony Dovgal 35591acebd MFH 2007-08-14 12:15:04 +00:00
Rob Richards 068ee42185 BFN 2007-08-14 12:12:33 +00:00
Rob Richards 07bf252ef5 MFH: fix bug #42259 (SimpleXMLIterator loses ancestry)
add test
2007-08-14 12:10:46 +00:00
Jani Taskinen 2c126513bb bfn 2007-08-14 08:43:57 +00:00
Jani Taskinen e602885e54 MFH:- Fixed bug #42292 ($PHP_CONFIG not set for phpized builds) 2007-08-14 08:43:41 +00:00
Jani Taskinen d32c991e44 fix is fix, change is something else 2007-08-14 07:36:13 +00:00
Ilia Alshanetsky 74f8114a89 Oracle news 2007-08-14 00:57:06 +00:00
Stanislav Malyshev fb5d47b1fb variable class patch was reverted for 5.2.4 2007-08-14 00:50:45 +00:00
Ilia Alshanetsky c7b4ea7820 Fixed typo 2007-08-13 23:17:38 +00:00
Stanislav Malyshev 848b1cbb91 revert variable class support for 5.2 2007-08-13 21:20:18 +00:00
Stanislav Malyshev c8f090c13e Revert variable class patch for 5.2 2007-08-13 21:16:57 +00:00
Jani Taskinen bd27a1227e touch try 2 2007-08-13 20:33:08 +00:00
Jani Taskinen b1ac58f75b touch 2007-08-13 20:14:05 +00:00
Jani Taskinen 65c77514e4 - RC2 on the run 2007-08-13 20:13:19 +00:00
Hannes Magnusson 1507d56fc6 Fix version
# RC1 is out, RC2 is in the works..
2007-08-13 20:07:58 +00:00
Antony Dovgal afed25d648 MFH 2007-08-13 12:46:40 +00:00
Raghubansh Kumar 5c98effea0 New testcase for clearstatcache() function 2007-08-13 11:40:57 +00:00
Raghubansh Kumar 4ed53a6dce New testcase for parse_ini_file() function 2007-08-13 11:34:42 +00:00
Ilia Alshanetsky fb8e3abe88 Fixed copy test as well as the directory check inside copy() function 2007-08-12 17:09:59 +00:00
Ilia Alshanetsky df9fbb6a73 Fixed test 2007-08-12 16:29:43 +00:00
Ilia Alshanetsky 69c00b75bb WS 2007-08-12 16:28:07 +00:00
Raghubansh Kumar b6e86f054c New testcases for fgetss() function 2007-08-12 06:53:04 +00:00
Raghubansh Kumar 6aa6434abf More new testcases for fopen() & fclose() functions 2007-08-12 05:16:19 +00:00
Antony Dovgal ba1cfb71ae MFH 2007-08-11 22:42:29 +00:00
Antony Dovgal 5c3fb1ec46 MFH: fix tests 2007-08-11 22:18:45 +00:00
Rui Hirokawa e2a13a5c50 fixed compilation error: S_ISDIR is undefined. 2007-08-11 04:34:59 +00:00
Raghubansh Kumar ceeeed9d19 New testcases for fscanf() function 2007-08-10 17:54:48 +00:00
Raghubansh Kumar 7893178d8d New testcases for htmlentities() and htmlspecialchars() 2007-08-10 15:06:17 +00:00
Jani Taskinen 6c305edc9c No dots in error messages! 2007-08-10 13:25:03 +00:00
Antony Dovgal e2a79ed73e .. and remove the original one 2007-08-10 12:30:21 +00:00
Antony Dovgal 296147ea6e split the test 2007-08-10 12:30:09 +00:00
Jani Taskinen c4be8ab831 - Fix the fix for bug #42233 2007-08-10 12:17:26 +00:00
Antony Dovgal e87a7388b7 fix tests 2007-08-10 12:11:46 +00:00
Antony Dovgal 2046298d47 MFH 2007-08-10 10:13:15 +00:00
Antony Dovgal 38b7d577a3 MFH: fix ws/cs & folding 2007-08-10 09:09:46 +00:00
Antony Dovgal 7fbcb745ab nuke the dot 2007-08-10 08:58:44 +00:00
Christopher Jones 9420637921 oci8: MFH with Ilia's OK: changes to build with Oracle Database 11g 2007-08-10 07:02:33 +00:00
Christopher Jones decd278a8d pdo_oci: MFH with Ilia's OK: changes to build with Oracle Database 11g 2007-08-10 07:01:47 +00:00
Raghubansh Kumar 9bdaf6ab55 more new testcases for tempnam() function 2007-08-10 03:31:56 +00:00
Raghubansh Kumar 270414f3b5 New testcases for strtolower() and strtoupper() functions 2007-08-10 03:03:49 +00:00
Raghubansh Kumar 40f54b6c21 More new testcases for copy() function 2007-08-10 02:57:30 +00:00
Ilia Alshanetsky b29b59dcd2 Fixed bug #42242 (sybase_connect() crashes) 2007-08-10 00:43:50 +00:00
Ilia Alshanetsky e9b8f37341 Fixed bug #42243 (copy() does not ouput an error when the first arg is a
dir).
2007-08-10 00:36:57 +00:00
Ilia Alshanetsky ffab827d01 Fixed bug #42261 (header wrong for date field). 2007-08-10 00:30:04 +00:00
Ilia Alshanetsky 6a752ac6df Fixed bug #42117 (bzip2.compress loses data in internal buffer) 2007-08-09 23:27:22 +00:00
Mattias Bengtsson 3126445073 - libgd #101, imagecreatefromgd can crash if gdImageCreate fails 2007-08-09 14:21:38 +00:00
Mattias Bengtsson 436a7a9767 - libgd #94, imagecreatefromxbm can crash if gdImageCreate fails 2007-08-09 12:08:29 +00:00
Jani Taskinen 2c1d8c74bd bfn 2007-08-09 08:43:09 +00:00
Jani Taskinen 8c32099c5e MFH:- Fixed bug #42247 (ldap_parse_result() not defined under win32) 2007-08-09 08:42:43 +00:00
Raghubansh Kumar f852cf4c91 New testcases for tempnam() function 2007-08-09 03:34:00 +00:00
Stanislav Malyshev 50293835bf remove unneeded variables 2007-08-08 23:51:57 +00:00
Antony Dovgal 08286bcb9f fix ws & folding 2007-08-08 22:32:24 +00:00
Stanislav Malyshev 45e907a0ee fix startup - remove unneeded variables 2007-08-08 21:57:30 +00:00
Stanislav Malyshev 1e7a23a376 initialize values 2007-08-08 21:11:53 +00:00
Stanislav Malyshev 6c8312fa03 fix TSRM embed startup 2007-08-08 21:06:28 +00:00
Dmitry Stogov ef71664817 Fixed bug #42211 (property_exists() fails to find protected properties from a parent class) 2007-08-08 13:32:46 +00:00
Raghubansh Kumar 9bd0045359 New Testcases for fgetcsv() function 2007-08-08 13:13:18 +00:00
Raghubansh Kumar af3de070e5 More testcases for fputcsv() function 2007-08-08 13:08:17 +00:00
Dmitry Stogov 50aef7ec83 - Fixed bug #42198 (SCRIPT_NAME and PHP_SELF truncated when inside a userdir
and using PATH_INFO).
- Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning
  on screws up PATH_INFO).
2007-08-08 13:01:40 +00:00
Nuno Lopes cb0e56f7c7 +- Fixed bug #41973 (./configure --with-ldap=shared fails with 2007-08-08 11:37:44 +00:00
Jani Taskinen 9c07366bb0 MFH: fix typos in comments 2007-08-08 10:00:34 +00:00
Jani Taskinen 0d5dd8829b - Fixed bug #42233 (Problems with æøå in extract()). 2007-08-08 07:41:09 +00:00
Jani Taskinen 45e96efd1d MFH: This is what we get for not doing MFH..or MFB..a mess 2007-08-08 07:01:49 +00:00
Dmitry Stogov 6aa06fc7fb Fixed test 2007-08-08 06:42:10 +00:00
Pierre Joye e507b4c4ce - fix regression introduced with #42222 (thx to tony and mattias for the
head up)
2007-08-08 06:29:46 +00:00
Christopher Jones bc890f08fb Record 'nother bug fix 2007-08-08 04:36:02 +00:00
Raghubansh Kumar 83928238c2 New testcases for fputcsv() function 2007-08-08 03:53:07 +00:00
Ilia Alshanetsky 0cb6dd5671 Fixed bug #42237 (stream_copy_to_stream returns invalid values for mmaped
streams).
2007-08-08 02:16:41 +00:00
Christopher Jones aa02056fcb Add bugs fixed 2007-08-07 23:12:31 +00:00
Antony Dovgal 15de12187e update changelog 2007-08-07 21:56:10 +00:00
Hannes Magnusson d937ffa999 Fix test 2007-08-06 23:35:46 +00:00
Hannes Magnusson 42e003cd6c MFH: - Fix isset/empty($ZipArchive->property)
MFH: - Add test
2007-08-06 22:02:32 +00:00
Christopher Jones a289952c47 MFH: oci8: flush persistent connection after password change 2007-08-06 20:32:55 +00:00
Pierre Joye 455cd3d837 - #42222, forgot this one (thanks mattias) 2007-08-06 19:49:45 +00:00
Jani Taskinen 0018bc6ac5 - move entry to right place.. 2007-08-06 19:40:21 +00:00
Pierre Joye 3f05f1f6fd - #42222 entry 2007-08-06 19:16:40 +00:00
Pierre Joye bca0912296 - #42222, truncate the _default to the buffer size (was 200 since day #1, we don't need dynamic alloc here) 2007-08-06 19:11:20 +00:00
Jani Taskinen c07aeab868 Touch generated file 2007-08-06 18:33:29 +00:00
Jani Taskinen 6bd9f53a63 - fix ws 2007-08-06 18:23:16 +00:00
Ilia Alshanetsky 57f3c5b343 Fixed compiler warning 2007-08-06 16:45:23 +00:00
Rob Richards 8f17ded3d7 BFN 2007-08-06 16:23:08 +00:00
Rob Richards 9abc90728d MFH: fix bug #42082 (NodeList length zero should be empty). (Hannes)
add and update tests
2007-08-06 16:22:24 +00:00
Antony Dovgal 12ddff7032 update changelog & list of files 2007-08-06 15:57:27 +00:00
Jani Taskinen 67940a9c29 MFH:- Fixed bug #42195 (C++ compiler required always) 2007-08-06 14:33:51 +00:00
Antony Dovgal 83e7324dae fix build 2007-08-06 12:54:57 +00:00
Ilia Alshanetsky cd32b4e2bb Fixed bug #42208 (substr_replace() crashes when the same array is passed
more than once)
2007-08-05 14:47:42 +00:00
Sara Golemon 6f25b84a3a MFH(r-1.49)Bugfix#36492 Userfilters can leak buckets 2007-08-04 07:53:00 +00:00
Antony Dovgal 515aaeda10 'I32' and 'I' support 2007-08-03 14:31:28 +00:00
Jani Taskinen a847d2c6fe MFH: fix for broken shells 2007-08-03 14:01:56 +00:00
Antony Dovgal fd088beb06 fix test names 2007-08-03 13:50:20 +00:00
Jani Taskinen 82559ff7e5 - Hopefully this fixes the "test: argument expected" error on solaris.. 2007-08-03 10:45:23 +00:00
Antony Dovgal 4a43566b19 fix folding 2007-08-03 09:51:12 +00:00
Antony Dovgal 57daf22d8f MFH: add I64 support to spprintf() 2007-08-03 09:48:58 +00:00
Jani Taskinen 77f9d22a0e - Sync with apache2handler 2007-08-03 09:33:30 +00:00
Jani Taskinen b8470c4ca0 ws 2007-08-03 09:33:17 +00:00
Jani Taskinen fc2fef68ac - ws + sync apache2filter apache_config.c with the one from apache2handler 2007-08-03 09:32:34 +00:00
Christopher Jones 1fbba60dcb New oci8 test for oci_password_change() 2007-08-03 01:55:15 +00:00
Stanislav Malyshev df11ce1ece check correct value 2007-08-03 01:30:21 +00:00
Stanislav Malyshev 6b7f164803 correct fix for access control for save_path and .htaccess 2007-08-03 01:16:40 +00:00
Stanislav Malyshev 1b131c46ad make error_log setting access-controlled by safe_mode/open_basedir 2007-08-03 01:15:51 +00:00
Stanislav Malyshev c94dee8696 implement separate .htaccess stage 2007-08-03 01:14:44 +00:00
Stanislav Malyshev 0ad85237ea add stage for .htaccess 2007-08-02 23:57:52 +00:00
Stanislav Malyshev a019d99e3f it's 4 either way, but it's customary to use 1<< 2007-08-02 23:54:19 +00:00
Stanislav Malyshev f361b07629 use hardcoded ini like CLI 2007-08-02 23:45:28 +00:00
Christopher Jones 864a08d1cb Test existing PHP 5 safe mode functionality and make consistent. No MTH. 2007-08-02 22:39:54 +00:00
Ilia Alshanetsky 56a947a3f7 Back to dev 2007-08-02 22:28:18 +00:00
Antony Dovgal 00b3df2ad3 fix test 2007-08-02 22:28:06 +00:00
Ilia Alshanetsky 6879ccfa7d 5.2.4RC1 2007-08-02 22:18:30 +00:00
Johannes Schlüter b3c6a9dffc - Add possibility to call static class members using variables (Etienne Kneuss) 2007-08-02 21:55:23 +00:00
Antony Dovgal 48d5519378 MFH: int -> zend_bool 2007-08-02 20:32:44 +00:00
Antony Dovgal cc5fd27a0e BFN 2007-08-02 20:30:31 +00:00
Christopher Jones 5534e4381d Fix message grammar and capitalization 2007-08-02 19:38:08 +00:00
Christopher Jones f894c6ece7 MFH: Bug #42173 (INTERVAL and TIMESTAMP type fixes) 2007-08-02 19:04:37 +00:00
Johannes Schlüter c0667eeaff - MFH: Respect value of the parameter for get_loaded_extensions() and only
print zend extensions if set to true
2007-08-02 16:54:44 +00:00
Stanislav Malyshev 959aa4f596 revert wrong fix 2007-08-01 23:51:45 +00:00
Ilia Alshanetsky 3f1b9990a4 Fixed bug #41831 (pdo_sqlite prepared statements convert resources to
strings).
2007-08-01 22:45:31 +00:00
Christopher Jones e942c16f7c MFH: New test for error handling 2007-08-01 15:18:37 +00:00
Pierre Joye 6387c99f83 - fix win32 build 2007-08-01 15:13:40 +00:00
Johannes Schlüter 25848bff61 - MFH: Fix #42164 Internal Sendmail Support is ALWAYS disabled 2007-08-01 12:49:34 +00:00
Antony Dovgal d5a59064f9 MFH 2007-08-01 11:43:05 +00:00
Dmitry Stogov a382ede3e8 Fixed bug #42119 (array_push($arr,&$obj) doesn't work with zend.ze1_compatibility_mode On) 2007-08-01 10:56:45 +00:00
Dmitry Stogov 8589a7f473 Fixed bug #42151 (__destruct functions not called after catching a SoapFault exception) 2007-08-01 10:39:33 +00:00
Johannes Schlüter 8566193449 - MFH: Use a script to generate tokenizer data from zend_language_parser.h 2007-07-31 23:24:11 +00:00
Ilia Alshanetsky c72d39f763 Fixed bug #41971 (PDOStatement::fetch and PDOStatement::setFetchMode causes
unexpected behavior).
2007-07-31 22:48:42 +00:00
Johannes Schlüter 4db96af53f - BFN 2007-07-31 22:47:43 +00:00
Johannes Schlüter ebaba40774 - MFH: Add additional param to get_loaded_extensions() for returning Zend
extensions (Fixes #41278) [DOC]
2007-07-31 22:47:25 +00:00
Jani Taskinen 52bb8f78a0 MFH:- Allow using * in test filenames to match pattern 2007-07-31 21:29:21 +00:00
Antony Dovgal 49fbb7770b add test 2007-07-31 21:11:33 +00:00
Antony Dovgal 287ac21d5f MFH: missing part of the fix for bug #42134 2007-07-31 21:09:01 +00:00
Antony Dovgal 9efa1d8914 MFH: fix #42134 (oci_error() returns false after oci_new_collection() fails) 2007-07-31 19:21:08 +00:00
Rob Richards 10fabe9092 BFN 2007-07-31 15:41:31 +00:00
Rob Richards e0a2d149f5 MFH: fix bug #41833 (addChild() on a non-existent node, no node created, getName() segfaults) 2007-07-31 15:40:49 +00:00
Rob Richards ce582024a5 MFH: fix possible crash 2007-07-31 15:07:54 +00:00
Jani Taskinen 8af7bc2044 MFH: Fix some lib vs $PHP_LIBDIR issues 2007-07-31 13:02:00 +00:00
Antony Dovgal 095fdf88ce fix typo 2007-07-31 12:23:50 +00:00
Antony Dovgal d78c7c9421 fix test 2007-07-31 07:09:08 +00:00
Stanislav Malyshev fb927452c9 sometimes c-client lib returns non-null entry with null host 2007-07-31 00:31:10 +00:00
Pierre Joye 6ed7c8f3aa - fix gd bug #102, < 0 means that no load are loaded, return false
- add error code in the warning
2007-07-30 21:42:36 +00:00
Rob Richards b96718ba20 allow user specified class to be returned from transformToDoc 2007-07-30 16:33:22 +00:00
Ilia Alshanetsky f8217712a4 Fixed bug #42142 (substr_replace() returns FALSE when length > string
length).

[doc] Adjust length validation check inside substr_replace() to be similar
to that inside substr() so that excessive length is truncated to string
length.
2007-07-30 14:22:06 +00:00
Ilia Alshanetsky 3034092111 Fixed bug #42135 (Second call of session_start() causes creation of SID) 2007-07-29 14:43:30 +00:00
Rob Richards 7d8734e5ca BFN 2007-07-28 08:35:09 +00:00
Rob Richards b96a8a79ba Fixed Bug #42112 (deleting a node produces memory corruption)
add test
2007-07-28 08:32:51 +00:00
Dmitry Stogov 786621893e Improved fix for bug #41633 (self:: doesn't work for constants) to support function define() 2007-07-27 16:29:12 +00:00
Ilia Alshanetsky d3571ea2a9 WS 2007-07-27 00:20:43 +00:00
Jani Taskinen 8684e7495f MFH: - Made build system less major version dependant to ease MFB/MFH 2007-07-26 22:45:59 +00:00
Jani Taskinen 68b823564d MFH: - Fixed bug #42107 (sscanf broken when using %2$s type format parameters) 2007-07-26 15:24:06 +00:00
Jani Taskinen 9fe59f509c MFH: cs + ws fixes 2007-07-26 14:30:22 +00:00
Raghubansh Kumar dcc62b53bf file.inc : Added dumping of stat array in functions (compare_self_stat() & compare_stats() )
Smaller testcases for lstat_stat_variation[1-7].phpt files
2007-07-26 13:38:24 +00:00
Hannes Magnusson 423982ac97 MFH: arginfo 2007-07-26 13:20:21 +00:00
Antony Dovgal 0c10470842 BFN 2007-07-26 08:26:47 +00:00
Jani Taskinen 5a1c39f71d MFH: - Allow using extra headers in PHP_CHECK_SIZEOF 2007-07-25 22:49:39 +00:00
Ilia Alshanetsky 2600cf9c20 Already exists in PECL 2007-07-25 22:26:14 +00:00
Dmitry Stogov 2d3d745bd9 Fixed EOF handling in case of reading from file opened in write only mode. 2007-07-25 16:34:06 +00:00
Dmitry Stogov d0ef6e9a95 Fixed bug #41713 (Persistent memory consumption on win32 since 5.2) 2007-07-25 11:13:00 +00:00
Antony Dovgal 934b97d611 MFH 2007-07-25 09:41:06 +00:00
Hannes Magnusson d2d88e74a0 MFH: Show "wrong parameter count" error messages 2007-07-25 09:06:22 +00:00
Johannes Schlüter 179c67a64b - New ReflectionExtension::info() function to print the phpinfo() block
for an extension. [DOC]
2007-07-24 23:15:58 +00:00
Hannes Magnusson e3b8cf0f66 MFH: Fixed bug#42090 (json_decode causes segmentation fault) 2007-07-24 22:57:13 +00:00
Antony Dovgal 3afa134717 [DOC] MFH: add PCRE_VERSION constant to ext/pcre 2007-07-24 22:35:18 +00:00
Antony Dovgal 99a162bb8b fix ZTS build 2007-07-24 20:32:32 +00:00
Dmitry Stogov af0e8612af Fixed test 2007-07-24 20:08:33 +00:00
Dmitry Stogov e13b4c2c4e Fixed bug #40705 (Iterating within function moves original array pointer)
Fixed bug #40509 (key() function changed behaviour if global array is used within function)
2007-07-24 19:24:40 +00:00
Dmitry Stogov 4035a8ebc0 Fixed bug #41372 (Internal pointer of source array resets during array copying)
Fixed bug #37715 (array pointers resetting on copy)
2007-07-24 18:28:39 +00:00
Dmitry Stogov 78932ba2f9 Fixed bug #41984 (Hangs on large SoapClient requests) 2007-07-24 14:24:44 +00:00
Jani Taskinen 335cac3c6a MFH:- Changed "display_errors" php.ini option to accept "stderr" as value which
MFH:  makes the error messages to be outputted to STDERR instead of STDOUT with
MFH:  CGI and CLI SAPIs (FR #22839).
2007-07-24 14:21:36 +00:00
Ilia Alshanetsky 1bc2880c46 Test name formatting fixes 2007-07-24 14:07:42 +00:00
Dmitry Stogov 7ec48cb37f Fixed bug #40757 (get_object_vars get nothing in child class)
Fixed bug #41929 (Foreach on object does not iterate over all visible properties)
2007-07-24 11:39:56 +00:00
Jani Taskinen c96c5ca91f MFH:- Added missing MSG_EOR and MSG_EOF constants 2007-07-24 11:35:08 +00:00
Jani Taskinen 10da2d994b MFH: removed useless file 2007-07-24 11:15:59 +00:00
Dmitry Stogov 7a847f1086 Fixed bug #41983 (Error Fetching http headers terminated by '\n') 2007-07-24 09:27:46 +00:00
Jani Taskinen b555062576 - fix NEWS 2007-07-24 09:26:34 +00:00
Andrey Hristov 38ae7f47c0 Fix build with latest 5.1 sources where gptr is no more. 2007-07-24 09:22:16 +00:00
Dmitry Stogov db97db9430 Fixed bug #42027 is_file() / is_dir() matches file/dirnames with wildcard char or trailing slash 2007-07-24 09:07:33 +00:00
Ilia Alshanetsky 5cdae5bdbb Fixed bug #42072 (No warning message for clearstatcache() with arguments). 2007-07-23 23:03:09 +00:00
Antony Dovgal fe25997d44 fix test 2007-07-23 22:46:03 +00:00
Antony Dovgal 48f4ea9fba fix test 2007-07-23 22:14:47 +00:00
Antony Dovgal a13e153942 remove the tests, they've been splitted into smaller ones 2007-07-23 19:19:09 +00:00
Jani Taskinen 4b1afad123 BFN 2007-07-23 16:18:10 +00:00
Jani Taskinen c9f6d5941e MFH: - Fixed buf #42071 (ini scanner allows using NULL as option name).
MFH: Use Z_* macros to access the zvals.
2007-07-23 16:17:10 +00:00
Jani Taskinen e8fcd7477c MFH: Fixed str_pad() when passed huge negative pad length. 2007-07-23 13:27:59 +00:00
Antony Dovgal 17ee976404 fix ws/folding 2007-07-23 12:24:52 +00:00
Jani Taskinen 5b71d45eff MFH: sync 2007-07-23 11:53:58 +00:00
Jani Taskinen 0dd60dd1cd MFH: fix descriptions 2007-07-23 10:47:13 +00:00
Antony Dovgal ecb986892c more tests 2007-07-23 09:14:34 +00:00
Dmitry Stogov 1f5310747e Fixed wrong expectation 2007-07-23 08:58:17 +00:00
Dmitry Stogov 4ddde21059 Fixed rename() in ZTS to allow renaming of symbolic links;
Consistent handling of trailing slash
2007-07-23 08:57:04 +00:00
Raghubansh Kumar e4bf2268bf more testcases for glob() function 2007-07-23 07:32:08 +00:00
Raghubansh Kumar 6e8d7aa85d New testcases for glob() function 2007-07-23 05:22:59 +00:00
Hannes Magnusson e6e823c844 Avoid endless loop 2007-07-23 01:13:43 +00:00
Jani Taskinen 0b40ec1f19 MFH:- Fixed bug #21197 (socket_read() outputs error with PHP_NORMAL_READ) 2007-07-22 23:01:20 +00:00
Jani Taskinen 815d8a9743 MFH: ws fix + sync U stuff for patches to MFB easier 2007-07-22 22:47:18 +00:00
Jani Taskinen 542d413277 MFH: sync 2007-07-22 22:22:09 +00:00
Jani Taskinen 257405eda6 - Test properly for socketpair inside an extension. 2007-07-22 22:18:41 +00:00
Raghubansh Kumar 8c01bf9ffb More new testcases for fread() function 2007-07-22 17:41:25 +00:00
Raghubansh Kumar 58bae48bf4 New testcases for fread() functions 2007-07-22 17:27:35 +00:00
Ilia Alshanetsky 3fea65b0dc Fixed "Floating point exception" inside wordwrap() 2007-07-22 15:55:16 +00:00
Ilia Alshanetsky 20c4198341 Added test for KEY_PAIR code and fixed KEY_PAIR detection code 2007-07-22 15:50:17 +00:00
Ilia Alshanetsky 285316fcff Fixed PDO_FETCH_KEY_PAIR implementation for fetchAll() 2007-07-22 15:14:21 +00:00
Raghubansh Kumar a6278717f5 New testcases for stat() function on windows 2007-07-22 12:37:09 +00:00
Raghubansh Kumar 66e901b9d5 New testcases for ftruncate() function 2007-07-22 12:35:03 +00:00
Raghubansh Kumar 6b81cef355 fix tests 2007-07-22 12:26:18 +00:00
Raghubansh Kumar 5b83920434 New testcases for umask() function 2007-07-21 18:16:17 +00:00
Raghubansh Kumar 1797c6870e New testcases for lstat() and stat() functions 2007-07-21 17:35:37 +00:00
Raghubansh Kumar a47f464e6e New testcases for is_file() function 2007-07-21 17:34:03 +00:00
Raghubansh Kumar 7cefd7792c New testcases for is_dir() function 2007-07-21 17:31:42 +00:00
Raghubansh Kumar 0e6b39f515 New testcases for fseek(), ftell() and rewind() functions 2007-07-21 17:30:23 +00:00
Raghubansh Kumar ff2a77b1d3 New testcases for fflush() function 2007-07-21 17:14:50 +00:00
Derick Rethans 51431a7660 - MFH: Allow the use of a user defined template.rc file to override the
default ones. This makes it possible to include the extension's version
  inside the version properties of the generated extension DLL instead
  of the PHP version the extension is build against.
2007-07-21 11:24:53 +00:00
Raghubansh Kumar 0b4fc7c768 New testcases for fgetc() and fgets() functions 2007-07-21 07:55:07 +00:00
Jani Taskinen d271071067 MFH: Fixed compile warnings 2007-07-21 01:43:33 +00:00
Jani Taskinen a22a6711ad MFH: Fixed compile warnings 2007-07-21 01:24:26 +00:00
Jani Taskinen 10a6af6bd0 MFH: cs+ws+compile warning fixes 2007-07-21 00:51:17 +00:00
Jani Taskinen 226c56fe76 MFH: Fixed compiler warnings 2007-07-21 00:35:15 +00:00
Jani Taskinen bffb8c406c MFH: fix warnings 2007-07-20 23:53:40 +00:00
Raghubansh Kumar d62163292f Fix for fill_file() in file.inc
New testcases for readfile() and umask() functions
2007-07-20 18:07:02 +00:00
Antony Dovgal bfed3520c9 MFH: fix #41691 (ArrayObject::exchangeArray hangs Apache) 2007-07-20 10:53:56 +00:00
Antony Dovgal 93af1c1f84 MFH: fix #41989 (move_uploaded_file() & relative path in ZTS mode) 2007-07-19 15:49:45 +00:00
Jani Taskinen fb7efdab86 MFH: Use SEPARATE_ZVAL_IF_NOT_REF for cleaner code. 2007-07-19 15:29:30 +00:00
Antony Dovgal a091268eef MFH 2007-07-19 15:15:26 +00:00
Antony Dovgal 0806c6c804 add new tests from HEAD 2007-07-19 15:04:15 +00:00
Antony Dovgal 79e53b202c fix ws & folding 2007-07-19 14:32:55 +00:00
Jani Taskinen 184b2e5d20 MFH 2007-07-19 13:57:16 +00:00
Jani Taskinen a547182c79 MFH:- Stop configure if scanner files are not found and invalid/no flex is found 2007-07-19 12:36:06 +00:00
Antony Dovgal 297f069eb6 MFH 2007-07-19 12:16:30 +00:00
Jani Taskinen 09d9338040 MFH:- Fixed bug #41433 (DBA: configure fails to include correct db.h for db4) 2007-07-19 10:50:16 +00:00
Ilia Alshanetsky 7966ff120b Fixed typo 2007-07-18 23:10:33 +00:00
Nuno Lopes b89637687d fix oci8 entries for Chris Jones 2007-07-18 18:06:55 +00:00
Christopher Jones d2219c0a1a MFH: add casts to fix compilation warnings 2007-07-18 15:10:42 +00:00
Jani Taskinen 6b4b1e7431 MFH: cleanup & sync 2007-07-18 15:04:22 +00:00
Antony Dovgal 521917bdfa MFH 2007-07-18 11:46:50 +00:00
Jani Taskinen 741c74a25e MFH: Use correct macro name 2007-07-18 09:04:58 +00:00
Raghubansh Kumar 9d7e023e37 New testcases for filesystem handling function : unlink() 2007-07-18 04:59:46 +00:00
Ilia Alshanetsky 20aa854940 Allow file uploads to bypass open_basedir checks (fixes regression) 2007-07-17 23:46:40 +00:00
Jani Taskinen 2c05c8c6b3 MFH: ws fix 2007-07-17 13:29:33 +00:00
Jani Taskinen dd23eb0c88 MFH:- Fixed bugs #36796, #36918, #41371 (stream_set_blocking() does not work) 2007-07-17 13:28:44 +00:00
Jani Taskinen addd471501 MFH:- Fixed bug #42019 (configure option --with-adabas=DIR does not work) 2007-07-17 12:12:26 +00:00
Nuno Lopes e73b3b0dc4 update for latest library rlease 2007-07-17 10:29:32 +00:00
Jani Taskinen e8f3167cd3 MFH: removed dots from error messages 2007-07-17 09:09:42 +00:00
Jani Taskinen 0b31350607 MFH:- Fixed bug #42015 (ldap_rename() gets server error "DSA is unwilling to perform") 2007-07-17 08:40:24 +00:00
Antony Dovgal aaa16ad82b initialize glob struct 2007-07-16 20:29:21 +00:00
Ilia Alshanetsky 39c1705848 Fixed a possible crash inside the constructor 2007-07-16 18:00:18 +00:00
Raghubansh Kumar 38002b9f7f fix tests 2007-07-16 17:55:39 +00:00
Raghubansh Kumar c9aedbdda1 New testcases 2007-07-16 17:34:44 +00:00
Antony Dovgal b355edcc3a MFH 2007-07-16 13:29:47 +00:00
Antony Dovgal 2399b208db MFH: split test 2007-07-16 10:59:17 +00:00
Jani Taskinen 76b92b6d5d - Fix issue in differentiating between --with-* and --enable-* 2007-07-16 10:00:44 +00:00
Jani Taskinen c77bcba737 - Remove ereg/ from PHP_5_2 branch. (not yet wanted here :) 2007-07-15 19:43:06 +00:00
Jani Taskinen cc7342ef72 MFH: folding tags and some more ws fixes 2007-07-15 15:34:28 +00:00
Jani Taskinen aad63942b8 MFH: ws fixes (sync!) 2007-07-15 15:21:12 +00:00
Jani Taskinen 268808ad76 MFH: removed unused macros 2007-07-15 15:10:04 +00:00
Ilia Alshanetsky a2fa9bbe84 Clear out last error & last error file information at the end of the
request to ensure that they don't propogate to the next request
2007-07-15 14:15:02 +00:00
Nuno Lopes c5e892b213 ignore *.gcda 2007-07-14 17:29:45 +00:00
Derick Rethans cd34e1c27a - MFH: Let's always use the macro as llabs() requires c99. 2007-07-13 17:49:50 +00:00
Antony Dovgal 241e66a708 MFH: split the test 2007-07-13 16:47:39 +00:00
Zoe Slattery a7b240b337 Assert test cases 2007-07-13 15:20:12 +00:00
Jani Taskinen ad61002dc4 MFH: fix wrong logic 2007-07-13 15:09:19 +00:00
Jani Taskinen 9d53e19697 MFH: cleanups + fixes 2007-07-13 14:23:59 +00:00
Dmitry Stogov 6c5e9cc6e4 Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI result in major slowdown 2007-07-13 14:00:05 +00:00
Rob Richards 01fe5a0f22 MFH: use macro - llabs not always available on win32 2007-07-13 12:50:00 +00:00
Jani Taskinen 06877d0064 - Do not break thousands of scripts.. (will remove in 5.3) 2007-07-13 10:55:43 +00:00
Antony Dovgal 40e44e99d6 MFH: don't allow $PHP_OCI8 to be empty if OCI8 is enabled
fixes bug #41988
2007-07-13 09:24:30 +00:00
Dmitry Stogov 1e768865dc Fixed memleak 2007-07-13 09:14:03 +00:00
Jani Taskinen 3dff7a7dba MFH: - Make sure people call ldap_first_attribute() before ldap_next_attribute() 2007-07-13 02:00:39 +00:00
Jani Taskinen 95f8148f18 MFH:- Fixed bug #41127 (Memory leak in ldap_{first|next}_attribute functions)
# This removes an useless parameter from 2 functions. Perhaps the next
# release should be 5.3.0, there are lot of other new things done already.
# Sneak in namespaces too.. ;)
2007-07-13 01:24:16 +00:00
Johannes Schlüter 43bbbe8899 MFH: - Mention [DOC] tag in the README
- PHP_5_1 is closed meanwhile
- Fixed a small typo
2007-07-12 23:44:43 +00:00
Ilia Alshanetsky 33329c065c revise test to reflect recent code 2007-07-12 23:34:32 +00:00
Ilia Alshanetsky 4e68effc2e Commit previously missing patch for bug #41919 2007-07-12 23:33:50 +00:00
Jani Taskinen f54f453209 MFH: - Fixed bug #39291 (ldap_sasl_bind() misses the sasl_authc_id parameter). 2007-07-12 22:08:58 +00:00
Zoe Slattery 55ff728d73 reflectionObject tests 2007-07-12 21:03:39 +00:00
Derick Rethans af88e0b52c - MFH: Commit generated file. 2007-07-12 18:59:55 +00:00
Derick Rethans 7588023b65 - MFH: Missing file in previous commit. 2007-07-12 18:59:05 +00:00
Derick Rethans 4b64dbb9a1 - MFH: Fixed bug #41964 (strtotime returns a timestamp for non-time string of
pattern '(A|a) .+').
- MFH: Fixed bug #41844 (Format returns incorrect number of digits for negative
  years -0001 to -0999).
- MFH: Fixed bug #41842 (Cannot create years < 0100 & negative years with
  date_create or new DateTime).
- MFH: Fixed bug #41709 (strtotime() does not handle 00.00.0000).
- MFH: Fixed bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as
  1999-11-30).
2007-07-12 18:58:00 +00:00
Seiji Masugata e206802652 Synced mail function in mb_send_mail function(Escape mail.force_extra_parameters value). 2007-07-12 15:31:54 +00:00
Jani Taskinen 921eb8939b MFH: fix invalid logic + prevent non-integers to be passed 2007-07-12 11:33:37 +00:00
Jani Taskinen 28a2fe07b4 MFH: close file handles 2007-07-12 11:14:22 +00:00
Jani Taskinen efe310579e MFH: - Fixed bug #41815 (Concurrent read/write fails when EOF is reached) 2007-07-12 11:03:46 +00:00
Dmitry Stogov ed10530eb5 Fixed bug #41961 (Ensure search for hidden private methods does not stray from class hierarchy). (robin_fernandes at uk dot ibm dot com) 2007-07-12 10:32:09 +00:00
Antony Dovgal f0dd5f5d52 new test 2007-07-12 09:29:07 +00:00
Antony Dovgal 9069dde1a4 fix test 2007-07-12 09:26:42 +00:00
Jani Taskinen eb923bf6fc MFH: - Changed AC_ARG_* options to PHP_ARG_* options.
MFH: - Some cleanups here and there
MFH: - Enabled PHP_CHECK_CONFIGURE_OPTIONS (checks for unknown configure
MFH:   options)
# Note to Marcus: ext/dba/config.m4 needs to be "converted" to use
# the PHP_ARG_* options. I did't touch it needs quite a lot of work to keep
# it's current behaviour regarding "enabled-by-default" parts of it.
#
# Hint: By using the PHP_ARG_* options you have the "default" option.. ;)
2007-07-11 23:20:37 +00:00
Antony Dovgal 4ef905ae59 MFH 2007-07-11 22:16:11 +00:00
Antony Dovgal d3ac984385 MFH 2007-07-11 22:06:54 +00:00
Jani Taskinen 0261432888 MFH 2007-07-11 21:51:55 +00:00
Zoe Slattery addad71048 More reflectionClass tests 2007-07-11 20:11:34 +00:00
Johannes Schlüter dc8d09bbbd - MFH: Always enable mail() function 2007-07-11 17:36:56 +00:00
Jani Taskinen 90b9d6241e - Introducing 1st part of "show unknown configure options" and nuked PHP_REGEX macro for good 2007-07-11 15:16:56 +00:00
Dmitry Stogov 5c28db4a9c Fixed wrong warning 2007-07-11 14:33:30 +00:00
Antony Dovgal 40f32634c2 MFH: fix copy/paste type and bug #41962 2007-07-11 13:27:49 +00:00
Dmitry Stogov 1ad841d53a mproced openssl_x509_parse() to return extensions in readable form 2007-07-11 12:18:14 +00:00
Jani Taskinen 3067f6a937 MFH: Nuked unnecessary AC_MSG_CHECKING 2007-07-11 11:56:03 +00:00
Jani Taskinen a0a2b24df5 MFH: cleanup, removed unnecessary macro definitions 2007-07-11 11:50:37 +00:00
Jani Taskinen 7b016d72a1 MFH: No return values for void function 2007-07-11 10:24:04 +00:00
Raghubansh Kumar f0a8003c23 better check for skip 2007-07-11 09:13:47 +00:00
Jani Taskinen 45c85130af MFH: Changed AC_ARG_ENABLE to PHP_ARG_ENABLE 2007-07-11 08:47:45 +00:00
Dmitry Stogov f765f73e5f Fixed memory leak 2007-07-11 07:36:12 +00:00
Dmitry Stogov 2821378c33 Fixed crash on non-string passphrase 2007-07-11 07:26:52 +00:00
Stanislav Malyshev 06d76f722d add CVE ref 2007-07-10 20:25:49 +00:00
Stanislav Malyshev 37781a5a84 Escape mail.force_extra_parameters value 2007-07-10 20:21:24 +00:00
Stanislav Malyshev 6f1b3ea73a suppress warnings to avoid potential loop 2007-07-10 17:58:19 +00:00
Stanislav Malyshev 62ec6b17a6 fixes 2007-07-10 17:46:15 +00:00
Stanislav Malyshev 84c9050805 check if write is allowed before writing to error log 2007-07-10 17:42:29 +00:00
Stanislav Malyshev 143badba52 always check save_path (issue reported by Maksymilian Arciemowicz) 2007-07-10 17:40:41 +00:00
Zoe Slattery 90fd8fd7e8 tests for reflectionClass 2007-07-10 16:25:15 +00:00
Dmitry Stogov ca854215db Fixed symlink("", "somthing") and link("", "somthing") in ZTS mode 2007-07-10 13:21:11 +00:00
Rob Richards b8383203a2 BFN 2007-07-10 12:27:15 +00:00
Rob Richards 796d9cd783 fix bug #41947 (SimpleXML incorrectly registers empty strings as namespaces
add test
2007-07-10 12:24:51 +00:00
Dmitry Stogov 510bee631f Fixed warning 2007-07-10 11:57:34 +00:00
Antony Dovgal d0ee4977e7 MFH: use safe_emalloc() 2007-07-10 11:08:08 +00:00
Jani Taskinen b0ef04af84 MFH: Removed --enable-versioning 2007-07-10 10:18:48 +00:00
Raghubansh Kumar c5254dbc1d These testcases are now split into smaller testcases, hence being deleted 2007-07-09 17:55:34 +00:00
Raghubansh Kumar f159642284 Fix and smaller testcases for mkdir_rmdir_variation.phpt, popen_pclose_error.phpt, readlink_realpath_basic.phpt, readlink_realpath_error.phpt & readlink_realpath_variation.phpt 2007-07-09 17:38:33 +00:00
Dmitry Stogov 539f67ed8f Added ability to create local or remote (URL) user streams
Local user streams must not be able to open(), URLs if allow_url_include is off
Implemented new function stream_is_local()
[
- stream_wrapper_register() extended with additional optional argument "flags"
  of type long. This time only one flag is implemented
- STREAM_IS_URL, that means that userstream wrapper is remote (URL).
  By default stream is local.
- stream_is_local() is a new function that accepts stream and tell if this
  stream is local or remote (URL)
]
2007-07-09 17:27:24 +00:00
Dmitry Stogov fe9a826605 Proper fix for MOPB-29 2007-07-09 14:31:56 +00:00
Jani Taskinen 21290220f7 MFH: use defined values instead of plain integers 2007-07-09 13:42:05 +00:00
Zoe Slattery 5d0ee5b518 array copy on write tests 2007-07-09 13:23:37 +00:00
Zoe Slattery 4c22d54e23 ReflectionClass constructor tests 2007-07-09 13:22:10 +00:00
Jani Taskinen 2d098d1856 bfn 2007-07-09 12:55:50 +00:00
Jani Taskinen cab5c25dc2 MFH:- Fixed bug #35981 (pdo-pgsql should not use pkg-config when not present) 2007-07-09 12:54:11 +00:00
Jani Taskinen fb8aedb046 MFH 2007-07-09 12:38:02 +00:00
Jani Taskinen 7c6f0bd42b MFH: - Use $PHP_LIBDIR where appropriate 2007-07-09 12:33:43 +00:00
Dmitry Stogov 3a5501e0d4 ECONNABORTED is not a critical error (Andrei Nigmatulin) 2007-07-09 11:48:39 +00:00
Jani Taskinen d56933b179 MFH: Fixed bug #41870 (PDO_ODBC module linking fails with iODBC) 2007-07-09 11:13:56 +00:00
Jani Taskinen 9d82ead2bc fix news 2007-07-09 10:17:51 +00:00
Antony Dovgal e79091eb13 MFH 2007-07-09 09:08:59 +00:00
Dmitry Stogov 9f62beabfd Fixed bug #41919 2007-07-09 08:53:14 +00:00
Ilia Alshanetsky aeaf26b86d Fixed bug #41919 (crash in string to array conversion) 2007-07-08 15:28:46 +00:00
Raghubansh Kumar a1fdbe88a6 These files are now split into one or more smaller testcases, hence being deleted. 2007-07-08 12:41:44 +00:00
Raghubansh Kumar 0affea112a Run only on 32-bit OS 2007-07-08 05:01:11 +00:00
Christopher Jones ebf7807668 *** empty log message *** 2007-07-06 23:29:44 +00:00
Raghubansh Kumar fda3f33554 Fix and smaller testcases for is_readable_variation.phpt, is_executable_variation.phpt & is_writable_variation.phpt 2007-07-06 18:30:46 +00:00
Antony Dovgal 0cfa8b1a66 MFH 2007-07-06 12:17:58 +00:00
Antony Dovgal 793800c78e MFH: fix #41908 (CFLAGS="-Os" ./configure --enable-debug fails)
patch by christian at hoffie dot info
2007-07-06 10:44:23 +00:00
Raghubansh Kumar 28b73af90f better check for root user 2007-07-06 03:40:31 +00:00
Ilia Alshanetsky fd784655a2 Fixed NOTICE message 2007-07-06 00:13:56 +00:00
Derick Rethans 2ea0137d6c - Marking already fixed bug in NEWS file (Bug #41909). 2007-07-05 20:54:59 +00:00
Raghubansh Kumar 87b2a52a16 fix test: 006_error.phpt & filegroup_basic.phpt
fix and smaller tests for symlink_link_linkinfo_is_link[basic|error|variation].phpt
2007-07-05 18:53:34 +00:00
Derick Rethans 7dcf89d7d5 - MFH: Updated timezone database to 2007.6 (2007f). 2007-07-05 13:49:43 +00:00
Antony Dovgal 86a022f7c7 MFH: add CURLINFO_PRIVATE & CURLOPT_PRIVATE
patch by Andrey A. Belashkov
2007-07-04 13:34:23 +00:00
Dmitry Stogov a3ba415e91 Fixed "make test" 2007-07-04 10:16:22 +00:00
foobar e20d798623 do not fax the fixes :) 2007-07-04 07:45:10 +00:00
Sara Golemon 1ac512f547 MFH (r-1.240)
Fix behavior of empty($sxe->element) and empty($sxe['prop'])
when used on empty elements properties (apply PHP emptiness rules)
2007-07-04 05:05:57 +00:00
Ilia Alshanetsky 26f2367d2d v2 package file 2007-07-03 23:59:13 +00:00
foobar 7ed3c4536d MFH: Fix some configure --help texts 2007-07-03 17:25:43 +00:00
Dmitry Stogov 2fd4e8146c Fixed "make test" mistakes 2007-07-03 15:56:21 +00:00
Christopher Jones 20fece8f76 New test 2007-07-03 15:10:41 +00:00
Rob Richards 36722ebc31 BFN 2007-07-03 15:03:16 +00:00
Rob Richards d6756845e8 fix bug #41861 (getNamespaces() returns namespaces of node's siblings)
add test
2007-07-03 14:55:53 +00:00
Dmitry Stogov e99013d039 Store existent file in realpath cache 2007-07-03 14:48:01 +00:00
Raghubansh Kumar 9beffb1971 Smaller testcases for 006_variation.phpt, file_get_contents_file_put_contents_variation.pht, filesize_variation.phpt, filesize_variation-win32.phpt, fwrite_variation.phpt, fwrite_variation-win32.phpt"
Fix for filesize_variation to match filesize using %d
2007-07-03 07:10:01 +00:00
Christopher Jones 38af2c5741 Added basic PDO->quote() functionality to PDO_OCI 2007-07-03 04:32:27 +00:00
Ilia Alshanetsky 921294e0d7 Fixed bug #41770 (SSL: fatal protocol error due to buffer issues). 2007-07-02 16:42:10 +00:00
Ilia Alshanetsky 46c508e92c oracle BFN 2007-07-02 15:54:08 +00:00
Ilia Alshanetsky adcfdf7fa4 Fixed bug #41845 (pgsql extension does not compile with PostgreSQL <7.4) 2007-07-02 15:37:43 +00:00
Rob Richards 19f89a22c0 BFN 2007-07-02 11:37:26 +00:00
Rob Richards 4938221a36 fix bug #41867 (getName is broken)
add test
2007-07-02 11:35:18 +00:00
foobar 320a41603e MFH: - Fixed bug #41865 (fputcsv(): 2nd parameter is not optional) 2007-07-01 21:28:16 +00:00
Christopher Jones d6e320d849 Fix Bug #11345 Seg fault after NLS environment initialization error 2007-06-30 02:30:35 +00:00
foobar e5b21a95e1 MFH 2007-06-29 15:13:40 +00:00
Christopher Jones 82c2452bf9 Test for old bug fixed in some previous, unknown change 2007-06-29 15:01:51 +00:00
foobar 9e1c9cad2d MFH 2007-06-29 14:30:35 +00:00
foobar a074d2d66b typo 2007-06-29 14:01:11 +00:00
foobar 0f15eeda46 oops 2007-06-29 14:00:21 +00:00
foobar ad0beee01f - Added missing SKIPIFs 2007-06-29 13:51:27 +00:00
Antony Dovgal e4450111cc divide the test into smaller tests 2007-06-29 12:56:49 +00:00
Antony Dovgal 83bc0eb739 MFH 2007-06-29 11:47:36 +00:00
foobar cc2bcefc47 oops 2007-06-29 11:36:29 +00:00
Dmitry Stogov e45dab8c49 Fixed CGI tests 2007-06-29 09:49:21 +00:00
Antony Dovgal 9f4ff35af0 MFH 2007-06-29 09:14:49 +00:00
Christopher Jones 952a281aec Un-DOSify line terminators. No merge to 6 required. 2007-06-29 05:29:48 +00:00
Christopher Jones 3443d9be3f Add testing steps 2007-06-29 04:30:53 +00:00
foobar 4d63c09661 MFH:- Improved php-config:
MFH:  . Added --configure-options option to get configure line for current build
MFH:  . Added --php-sapis option which shows SAPIs available
MFH:  . Fixed problem with missing php binary when CLI is not build but CGI is.
MFH:- Fixed broken sed issues in phpize script
2007-06-29 01:10:35 +00:00
Ilia Alshanetsky d34bfe5c37 When working with persistent connections re-initialize options on each
connection. Flags like error reporting may differ.
2007-06-28 19:22:52 +00:00
Antony Dovgal dd44c6a093 add env vars for test settings (like in PDO) 2007-06-28 17:26:54 +00:00
Antony Dovgal 37e0738f3a MFH 2007-06-28 17:23:07 +00:00
Antony Dovgal 030252067e MFH 2007-06-28 16:07:12 +00:00
Antony Dovgal 4948afff78 MFH 2007-06-28 15:27:09 +00:00
Antony Dovgal 93dfce49ca remove 32bit restriction 2007-06-28 15:10:57 +00:00
Antony Dovgal 6b75f7bb82 more smaller tests 2007-06-28 15:04:47 +00:00
Antony Dovgal b4e74fe9b5 MFH 2007-06-28 14:51:35 +00:00
Andrey Hristov e1f222858f Remove dot at the end of the message 2007-06-28 09:07:40 +00:00
Ilia Alshanetsky 37d1bfed25 Added support for ATTR_TIMEOUT inside pdo_pgsql driver.
Fixed a bug inside PDO's "use persistent" connection detection mechanism
that would trigger connections on "" and "0" values
2007-06-28 03:13:29 +00:00
Antony Dovgal 4b2c457288 ksh is a pita 2007-06-27 22:05:31 +00:00
Antony Dovgal 6e48ec45dd fix test 2007-06-27 17:04:15 +00:00
Zoe Slattery af85497e8f Tests constant initialisation 2007-06-27 14:50:21 +00:00
foobar 3d88f40d51 MFH:- Added PHP_CHECK_SIZEOF macro (special version of AC_CHECK_SIZEOF) 2007-06-27 14:40:08 +00:00
Antony Dovgal f132df4f66 MFH: fix #41692 (ArrayObject shows weird behaviour in respect to inheritance) 2007-06-27 12:30:28 +00:00
Antony Dovgal aa15254e41 BFN 2007-06-27 08:56:38 +00:00
Antony Dovgal feb142cb79 add test 2007-06-27 08:55:27 +00:00
Antony Dovgal 8e26df9523 fix #41813 (segmentation fault when using string offset as an object)
patch by judas dot iscariote at gmail dot com
2007-06-27 08:51:40 +00:00
Ilia Alshanetsky abffe87d42 Fixed a crash inside PDO when there is more then one instance of a
persistent connection inside a script and PDO object is extended by class
with a destructor
2007-06-27 02:02:18 +00:00
Ilia Alshanetsky e8de152ddd Added persistent connection status checker to pdo_pgsql 2007-06-27 02:00:46 +00:00
Dmitry Stogov e5909f149c Fixed bug #40419 (Trailing Slash in CGI request don't work) 2007-06-26 14:47:16 +00:00
Antony Dovgal a61d445360 fix tests as discussed 2007-06-26 12:12:31 +00:00
Antony Dovgal ce22f44493 MFH: fix #41445 (parse_ini_file() has a problem with certain types of integer as sections) 2007-06-26 12:10:08 +00:00
Antony Dovgal 7210ab5695 fix ws 2007-06-26 11:51:14 +00:00
Antony Dovgal 58ac8d559d MFH: fix #41795 (checkdnsrr does not support DNS_TXT type)
patch by lucas at facebook dot com
2007-06-26 11:04:55 +00:00
Antony Dovgal 83e33eac02 MFH 2007-06-26 10:22:48 +00:00
Ilia Alshanetsky dc1c6f74c8 Fixed bug #41698 (float parameters truncated to integer in prepared
statements).
2007-06-26 01:24:10 +00:00
Antony Dovgal 76cf8c0636 fix test 2007-06-25 21:24:44 +00:00
Antony Dovgal 5daef5cd4a fix #41773 (php_strip_whitespace sends headers with errors suppressed)
MFB is not needed, output buffering in HEAD handles this situation correctly
2007-06-25 21:12:47 +00:00
Antony Dovgal fa8a77a466 MFH: fix #41711 (Null temporary lobs not supported) 2007-06-25 18:26:52 +00:00
Antony Dovgal 386cf7889f MFH 2007-06-25 17:37:55 +00:00
Antony Dovgal be9e02fd74 fix test 2007-06-25 17:10:14 +00:00
foobar 76872ee86e MFH: - Fixed bug #41794 (build fails with external libs under Solaris) 2007-06-25 16:26:39 +00:00
Scott MacVicar 99c875a03d Fixed bug #41350 (my_thread_global_end() error during request shutdown on Windows). 2007-06-25 16:01:30 +00:00
Dmitry Stogov 305ae11a3f Fixed stat() to support rdev, blocksize and blocks on Fedora 7 2007-06-25 14:22:49 +00:00
Dmitry Stogov 48658c2512 Fixed tests 2007-06-25 09:01:53 +00:00
Dmitry Stogov 506bd484dc Better fix for bug #41655 2007-06-25 08:40:20 +00:00
Dmitry Stogov aa54d9e385 Restore big exponent letter in var_export() ('1e300' -> '1E300') 2007-06-25 08:39:10 +00:00
Dmitry Stogov c0481701be Fixed tests 2007-06-25 06:45:57 +00:00
Ilia Alshanetsky 67a2cca930 Fixed bug #41685 (array_push() fails to warn when next index is already
occupied).
2007-06-24 17:37:01 +00:00
Nuno Lopes 7f47814c4e fix memleak in sxe_prop_dim_read()
#found by coverity
2007-06-24 11:41:12 +00:00
Zoe Slattery 4d503a8807 Reverting test to original after dicsussion with Raghu. Will open bugzilla for Linux/VMware behaviour 2007-06-22 19:18:37 +00:00
Zoe Slattery 3725bf6d5f Changed expected output so that this runs on Linux under VMWare as well as Linux. 2007-06-22 14:46:18 +00:00
Pierre Joye 1b894c90e7 - MFB: add test cases for #41655 2007-06-22 12:35:41 +00:00
Raghubansh Kumar 7a1b48eeff New tests for file system handling functions 2007-06-22 08:11:45 +00:00
Stanislav Malyshev 3444305c5d Fixed bug #41765 (Recode crashes/does not work on amd64) 2007-06-22 00:10:02 +00:00
Stanislav Malyshev 44bec384ed fix #41765 2007-06-22 00:02:15 +00:00
Raghubansh Kumar e647140a82 New tests for file system handling functions 2007-06-21 21:12:18 +00:00
Raghubansh Kumar 993b689a2e New functons to compare stat array 2007-06-21 21:06:47 +00:00
Dmitry Stogov 70105187db Proper fix for bug #39215 Inappropriate close of stdin/stdout/stderr 2007-06-21 12:42:36 +00:00
Dmitry Stogov 5f82777275 Fixed default values 2007-06-21 09:02:21 +00:00
Dmitry Stogov 5d2180835a no need to return exit status of the last fastcgi request 2007-06-21 08:40:43 +00:00
Ilia Alshanetsky ebb9408202 Fixed typos 2007-06-20 23:05:52 +00:00
Ilia Alshanetsky e2b093bfcb Fixed a memory leak inside load_all_certs_file() 2007-06-19 22:09:49 +00:00
foobar 3322064025 bfn 2007-06-19 18:22:58 +00:00
Nuno Lopes a2e06e6dc8 new test 2007-06-19 17:32:36 +00:00
Nuno Lopes 034e8692b7 final PCRE 7.2 release :-) 2007-06-19 17:11:30 +00:00
Derick Rethans 3b481cef64 - MFH: Added the H modifier to create non-locale-aware non-fixed-precision
float representations.
- MFH: Fixed var_export() to use the new H modifier so that it can generate
  parsable PHP code for floats again, independent of the locale.
2007-06-19 12:20:50 +00:00
foobar 0475096ea1 rephrase 2007-06-18 22:35:30 +00:00
Stanislav Malyshev 6d754185df mysql fix 2007-06-18 22:06:33 +00:00
Stanislav Malyshev b925a9248b Fix INFILE LOCAL option handling with MySQL - now not allowed when open_basedir
or safe_mode is active
2007-06-18 21:51:32 +00:00
Raghubansh Kumar 210f091022 New tests for file system handling functions 2007-06-18 19:45:53 +00:00
foobar 4c61a3f27e rephrase 2007-06-18 16:55:36 +00:00
Ilia Alshanetsky 24bdf0e368 Fixed bug #41686 (Omitting length param in array_slice not possible). 2007-06-18 16:53:09 +00:00
Ilia Alshanetsky 161ab0aa50 Fixed bug #41724 (libxml_get_last_error() - errors survice request scope). 2007-06-18 16:46:21 +00:00
Scott MacVicar b73d2a94ae Fixed bug #41628 (PHP settings leak between Virtual Hosts in Apache 1.3). 2007-06-18 15:52:46 +00:00
Dmitry Stogov d3f2d039a5 Fixed test 2007-06-18 10:02:12 +00:00
Dmitry Stogov 738ff1277a Fixed yet another realpath cache bug and wrong tests 2007-06-18 09:50:40 +00:00
Nuno Lopes 74474a1ef8 malloc+memset == calloc (sync with libgd) 2007-06-17 19:03:58 +00:00
Pierre Joye fcd0a1e790 - Drop useless tests (Daniel Diaz) 2007-06-17 16:51:50 +00:00
Ilia Alshanetsky 32c5a87a14 Fixed zend_alter_ini_entry() memory_limit interruption vulnerability. 2007-06-17 14:31:12 +00:00
Ilia Alshanetsky e2d606e18b Fixed compiler warning 2007-06-17 14:25:46 +00:00
Pierre Joye bf348c8c46 - MFH: #41717, imagepolygon does not respect thickness
(sync with libgd)
2007-06-17 10:56:51 +00:00
Stefan Esser df7bfe0a0f MFH 2007-06-16 07:48:07 +00:00
Stanislav Malyshev 70a8f9313b Disallow characters that Cookie RFC does not allow in unquoted cookies 2007-06-15 22:40:00 +00:00
Nuno Lopes 93cf41436b sync with libgd: improve _gdImageFillTiled() 2007-06-15 19:47:10 +00:00
Nuno Lopes 4e51d2ec73 upgrade PCRE to version 7.2 RC3
# I'll update to the final version early next week when its released
2007-06-15 19:09:26 +00:00
Nuno Lopes 17db5db759 add tests for pcre 7.0 regression
update to pcre 7.2 will follow soon
2007-06-15 11:57:08 +00:00
Dmitry Stogov e1f08c8297 HTTP 500 is sent to browser in case of PHP error instead of blank page 2007-06-15 09:20:27 +00:00
Dmitry Stogov 1fe8fded5f Fixed test 2007-06-15 08:16:11 +00:00
Dmitry Stogov a81b0b5d62 Prevent memory overflow 2007-06-15 08:04:59 +00:00
Dmitry Stogov c2e04e8364 Prevent crash in case of wrong arguments to CRT functions (strftime()) on PHP complead by MS VC2005 2007-06-15 07:27:08 +00:00
Ilia Alshanetsky bab1ce1429 Fixed bug #41693 (scandir() allows empty directory names). 2007-06-14 23:28:06 +00:00
Raghubansh Kumar 788ac84cf4 New tests for file system handling functions 2007-06-14 20:12:58 +00:00
Pierre Joye f5f04f2214 - Fixed regression introduced by the fix for the libgd bug #74 2007-06-14 19:17:31 +00:00
Zoe Slattery c73237b7b9 Tests are not valid if run by root - adding check to skip is user is root. 2007-06-14 15:40:06 +00:00
Dmitry Stogov 3b27cd22b6 Fixed bug #41566 (SOAP Server not properly generating href attributes) 2007-06-14 07:09:31 +00:00
Raghubansh Kumar ed39fac5d2 New tests for file handling system functions 2007-06-13 22:38:49 +00:00
Ilia Alshanetsky c969e9005b Handle very small longs via double 2007-06-13 17:56:41 +00:00
Ilia Alshanetsky 9f28e21bb1 Fixed bug #41673 (json_encode breaks large numbers in arrays). 2007-06-13 17:07:58 +00:00
Dmitry Stogov 1c7fa8fb4c Fixed bug #41633 (Crash instantiating classes with self-referencing constants) 2007-06-13 16:48:10 +00:00
Dmitry Stogov 28bc39500a Fixed some class constant issues related to bug #41633 2007-06-13 14:50:13 +00:00
Dmitry Stogov f018ec9024 Fixed wrong fix for bug #41582 2007-06-13 13:38:26 +00:00
Johannes Schlüter 62849e3fee - MFH: Fix test 2007-06-12 17:24:38 +00:00
Nuno Lopes 5aea16e06b ignore tmp-php.ini 2007-06-12 14:54:14 +00:00
Scott MacVicar 2caf386764 Display PCRE ini entries as part of module info 2007-06-12 14:08:16 +00:00
Scott MacVicar 34d1d2eed0 Fix ZTS build 2007-06-12 13:42:32 +00:00
Ilia Alshanetsky 06b4c66f02 Fixed bug #41655 (open_basedir bypass via glob()) 2007-06-12 12:53:08 +00:00
foobar 5160f532af regroup 2007-06-11 20:22:45 +00:00
Raghubansh Kumar 648aaf250a New tests for file handling system functions 2007-06-11 16:14:59 +00:00
Raghubansh Kumar 38c095a44f New testcase for get_defined_vars() function: get_defined_vars.phpt 2007-06-11 16:04:43 +00:00
Raghubansh Kumar 4f33b594ac New testcase for unset(), isset() and empty functions : 019.phpt 2007-06-11 15:55:44 +00:00
Ilia Alshanetsky f3ad3a770e Fixed test 2007-06-11 15:09:41 +00:00
Ilia Alshanetsky b6762a8991 Fixed bug #41527 (WDDX deserialize numeric string array key). 2007-06-11 15:08:43 +00:00
Ilia Alshanetsky 3b61fd8286 Update test 2007-06-11 15:07:40 +00:00
Ilia Alshanetsky 79d58abf65 Fixed memory corruption when reading exif data of a non-file 2007-06-10 20:12:45 +00:00
foobar 37e8ce097c - Fix special case of no ini file in use or not found 2007-06-09 12:06:53 +00:00
foobar f199649ad6 MFH 2007-06-09 11:53:12 +00:00
foobar f7d22b60f0 MFH:- Added php_ini_loaded_file() function which returns the path to the actual
php.ini in use.
2007-06-09 11:44:08 +00:00
Johannes Schlüter 1351bc4e86 Fix #41640 (get_class_vars produces error on class constants) 2007-06-09 08:38:44 +00:00
Antony Dovgal f903d42867 bfn 2007-06-08 14:48:35 +00:00
Antony Dovgal 0ca8dab47d MFH: fix #41561 (Values set with php_admin_* in httpd.conf can be overwritten with ini_set()) 2007-06-08 14:47:45 +00:00
Antony Dovgal c8d54ca3fe news 2007-06-08 08:45:33 +00:00
Antony Dovgal a87f7117ff MFH: enable statement cache for non-persistent connections (patch by Chris Jones) 2007-06-08 08:44:39 +00:00
Antony Dovgal 76065b520a adjust test for 64bit 2007-06-08 08:40:28 +00:00
Antony Dovgal e5be1f55ad fix test, add 64bit version 2007-06-08 08:34:48 +00:00
Pierre Joye d5c9a6efc4 - #41630 entry 2007-06-08 05:28:40 +00:00
Ilia Alshanetsky 1bd2791cd4 Added missing error check inside bcpowmod(). 2007-06-08 00:41:57 +00:00
Ilia Alshanetsky a6340d27ae Final shot at the date issue 2007-06-07 23:16:04 +00:00
Pierre Joye c4b5196d0b - #41630, fix segfault when an invalid color index is present in the image
data
2007-06-07 21:07:33 +00:00
Antony Dovgal b1a0a4d3e4 MFH: reset active_result_id when fetching persistent connection
patch by Peter Christensen
2007-06-07 12:17:35 +00:00
Antony Dovgal 074b58b7f1 MFH: php_localtime_r() checks 2007-06-07 09:07:36 +00:00
Antony Dovgal d042fd0675 MFH: php_gmtime_r() fixes 2007-06-07 08:59:00 +00:00
Antony Dovgal c9805e7b92 MFH: check return value of *time_r() functions for NULL 2007-06-07 08:44:41 +00:00
Antony Dovgal 91da96ba71 MFH: change E_NOTICE to E_ERROR when using a class constant from non-existent class
(noticed by Jani)
add tests
2007-06-07 08:37:40 +00:00
Ilia Alshanetsky 20b5c66e14 Fixed a crash inside ncurses_panel_above() when called prior to
ncurses_init()
2007-06-07 02:29:44 +00:00
Ilia Alshanetsky 594fe5c398 Fixed typo 2007-06-07 02:21:26 +00:00
Ilia Alshanetsky d02356922a Adjust previous patch to work on all compilers 2007-06-06 23:16:34 +00:00
Ilia Alshanetsky a20bba04d5 Optimize out a loop 2007-06-06 22:58:42 +00:00
foobar 7b9e125e0c fix news 2007-06-06 22:41:23 +00:00
Stanislav Malyshev b6ddf71381 revert - already have unpack.phpt 2007-06-06 22:25:08 +00:00
Stanislav Malyshev bc35767b46 add edge case test 2007-06-06 22:21:59 +00:00
Antony Dovgal 4cf17cfc33 MFH: improve the checks for integer overflow 2007-06-06 22:09:25 +00:00
Ilia Alshanetsky 717e94c67a Added missing format validator to unpack() function 2007-06-06 22:04:05 +00:00
Antony Dovgal 2041566a12 MFH 2007-06-06 21:53:54 +00:00
Stanislav Malyshev 9295456f01 new fixes 2007-06-06 18:53:35 +00:00
foobar cb0fd15625 MFH:- Fix passing of shared extensions to run-tests.php 2007-06-06 18:28:13 +00:00
Stanislav Malyshev d114d0b0c8 fix the chunks fix 2007-06-06 18:15:41 +00:00
Stanislav Malyshev 29b9d79c2f Fix chunk_split fix - avoid using floats
Fix money_format - don't give strfmon more arguments then supplied
Fix str[c]spn integer overflow
2007-06-06 17:59:07 +00:00
Stanislav Malyshev 2e15dda50e fix test format 2007-06-06 17:46:17 +00:00
Stanislav Malyshev 8b5a2d38c4 add some edge cases 2007-06-06 17:12:40 +00:00
Stanislav Malyshev e001e11009 add test for moneyformat 2007-06-06 17:11:59 +00:00
Zoe Slattery 860c643448 New tests for file handling 2007-06-06 12:53:58 +00:00
Zoe Slattery 7a7c447a17 fixed file permission for new empty file 2007-06-06 12:53:17 +00:00
Nuno Lopes 0997342dff fix gcov build for the 100th time.. 2007-06-06 12:27:24 +00:00
Antony Dovgal e029945a02 MFH: minor optimization - make sure the objects are not the same instance before we start comparing their properties 2007-06-06 11:57:36 +00:00
Antony Dovgal 32e23d419f more details 2007-06-06 11:36:20 +00:00
Antony Dovgal 8853804482 MFH: fix several integer overflows in GD 2007-06-06 09:45:43 +00:00
Antony Dovgal 2374641e58 BFN + fix other entries 2007-06-06 08:35:44 +00:00
Antony Dovgal 3790227f9d MFH: fix #41608 (segfault on a weird code with objects and switch()) 2007-06-06 08:35:23 +00:00
Ilia Alshanetsky c38ad55e8e Fixed bug #41600 (url rewriter tags doesn't work with namespaced tags). 2007-06-06 00:00:28 +00:00
Ilia Alshanetsky c084d1c829 Fixed bug #41596 (Fixed a crash inside pdo_pgsql on some non-well-formed
SQL queries).
2007-06-05 22:55:27 +00:00
Antony Dovgal ceef5840ad fix folding 2007-06-05 13:35:26 +00:00
Antony Dovgal 03b0a479dd fix folding 2007-06-05 12:12:55 +00:00
Antony Dovgal cf53dfaff3 MFH 2007-06-05 12:02:46 +00:00
Zoe Slattery 7a03838430 Fixing incorrect comment in test cases fileinode_variation and filetype_variation 2007-06-05 11:35:04 +00:00
Antony Dovgal 0b157a6f84 enable display_startup_errors, fix test 2007-06-05 10:59:25 +00:00
Antony Dovgal 5d8ae45309 MFH: fix #41582 (SimpleXML crashes when accessing newly created element) 2007-06-05 10:03:12 +00:00
Zoe Slattery 22c68a8155 new test cases for general functions 2007-06-05 09:12:34 +00:00
Zoe Slattery ce71724def New test cases for file system functions 2007-06-05 09:10:50 +00:00
Zoe Slattery d5d297d461 Added fill_buffer() function 2007-06-05 08:02:17 +00:00
Antony Dovgal ecd42f9774 MFH: fix #41594 (Statement cache is flushed too frequently) 2007-06-05 07:49:00 +00:00
Ilia Alshanetsky 045b283a7d Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP). 2007-06-04 23:51:32 +00:00
Nuno Lopes bd7c9ebeb0 ignore *.gcno 2007-06-04 18:13:53 +00:00
Antony Dovgal 31ce08253c MFH 2007-06-04 17:18:51 +00:00
Antony Dovgal 43bb6e7c3e news entry 2007-06-04 15:39:26 +00:00
Antony Dovgal 5c75e5b4f4 MFH: add missing open_basedir checks to CGI 2007-06-04 15:38:12 +00:00
Antony Dovgal 3285bd834b fix folding 2007-06-04 09:47:54 +00:00
Antony Dovgal 61d697d100 fix ws 2007-06-04 06:38:22 +00:00
Brian Shire 55b5b89ef7 fix sprintf/printf %u tests so they work correctly on both 32-bit and 64-bit. (broken in previous fix)
# just made these EXPECTREGEX expressions, if there's a prefered way to comply with both 32/64 bit let me know.
2007-06-04 01:23:07 +00:00
Hannes Magnusson d1b9c6e62e fix test 2007-06-03 23:40:01 +00:00
foobar ca1b7e7b47 fix test 2007-06-03 22:50:19 +00:00
foobar d12bbce277 MFH 2007-06-03 21:57:35 +00:00
Pierre Joye c76e5dd0bd - fix logic (goto is a gift, I should use it :) 2007-06-03 21:34:21 +00:00
Pierre Joye d5d2d6e30e - pecl bug #11216, better fix, leak removed and improved test
- typo in news, better late than never (-d)
2007-06-03 21:21:57 +00:00
foobar a4d68b26e4 bug news 2007-06-03 20:28:33 +00:00
foobar 7bd41e0715 MFH:- Fixed bug #41576 (misbehaviour when using --without-apxs) 2007-06-03 20:27:16 +00:00
Pierre Joye fd2e66bd05 - PECL #11216 test 2007-06-03 19:50:36 +00:00
Pierre Joye ef952b0383 - PECL #11216, addEmptyDir crashes if the directory already exists 2007-06-03 19:47:17 +00:00
foobar 029b4678aa fix news 2007-06-03 19:06:23 +00:00
Ilia Alshanetsky 405a15043f Corrected fix for CVE-2007-2872 2007-06-03 18:47:10 +00:00
Pierre Joye 256de924c7 - MFH: @DOC add constants GD_MAJOR_VERSION, GD_MINOR_VERSION, GD_RELEASE_VERSION
GD_EXTRA_VERSION and GD_VERSION_STRING
2007-06-03 17:46:18 +00:00
Ilia Alshanetsky 489c2d739a Fixed test for PostgreSQL 2007-06-03 17:41:21 +00:00
foobar f26145fa8c MFH:- Improved the error message for exceeding max_input_nesting_level. 2007-06-03 16:54:06 +00:00
Ilia Alshanetsky a8be5f419d Improved fix for MOPB-02-2007 2007-06-03 16:19:14 +00:00
Brian Shire 79e3c88352 MFH: Change printf %u behavior so that it does not truncate numbers at 32-bits. (Reported by Aditya Agarwal.) 2007-06-03 09:12:04 +00:00
Pierre Joye f4926a042e - sx/sy must be > 0 and < INT_MAX 2007-06-02 15:38:09 +00:00
Pierre Joye 70650810ad - enable tests even when an external GD is used. Latest releases
(2.0.34 or 2.0.35) work.
2007-06-02 15:35:34 +00:00
foobar 6567a93a2a fix test 2007-06-01 22:18:56 +00:00
foobar c5e8992942 MFH: - Fixed bug #41555 (configure failure: regression caused by fix for #41265) 2007-06-01 21:34:17 +00:00
foobar c1c44ddcf3 MFH: - Add missing CXXFLAGS_CLEAN variable. 2007-06-01 15:12:29 +00:00
Antony Dovgal 8e3eee385e MFH: fix #41518 (file_exists() warns of open_basedir restriction on non-existent file) 2007-06-01 13:35:23 +00:00
Antony Dovgal 6d76fc2834 MFH: fix #39330 (apache2handler does not call shutdown actions before apache child die) 2007-06-01 10:04:06 +00:00
Ilia Alshanetsky de64609fec Back to dev 2007-05-30 18:48:58 +00:00
Ilia Alshanetsky b604bc7200 5.2.3 2007-05-30 18:45:59 +00:00
Antony Dovgal 23eaae2211 MFH 2007-05-30 16:32:02 +00:00
Antony Dovgal df057bf78d fix test names 2007-05-30 15:40:26 +00:00
Pierre Joye f2e130c145 - add missing cert (thx Tony) 2007-05-30 15:16:31 +00:00
Antony Dovgal 568525bbb5 fix test (second try) 2007-05-30 14:43:18 +00:00
Antony Dovgal 2958037b2a fix test 2007-05-30 14:40:24 +00:00
Antony Dovgal 794ceb7bad MFH: fix lstat() function resolving symlinks 2007-05-30 10:50:47 +00:00
Antony Dovgal b529617499 fix tests 2007-05-30 10:19:39 +00:00
Antony Dovgal 770790af04 set module in internal_function struct 2007-05-30 10:17:43 +00:00
Ilia Alshanetsky 9282d4add6 Fixed an interger overflow inside chunk_split(), identified by Gerhard
Wagner
2007-05-30 00:33:13 +00:00
Antony Dovgal f7ec7197f7 fix tests 2007-05-29 10:25:33 +00:00
Marcus Boerger 407c9833ef - Bug #41525 ReflectionParameter::getPosition() not available
# This was supposed to be dropped in 5.1.4, I wonder why thisis not in
# because the functionality is documented.
# [ DOC ] Make sure the function documentation is correct for:
# ReflectionParameter::getPosition
# ReflectionParameter::getDeclaringFunction
# ReflectionFunction::getExtension
# ReflectionFunction::getExtensionName
2007-05-29 08:44:05 +00:00
Antony Dovgal 97e9bd1da0 fix test names 2007-05-28 20:03:54 +00:00
Pierre Joye b49e70f946 - MFH:
- tests for #39217
 - skip test if openssl is too old
2007-05-28 13:55:30 +00:00
Hannes Magnusson c0dd1f4d0b MFH 2007-05-28 12:19:41 +00:00
Hannes Magnusson c64a4a1359 MFH: fix logic 2007-05-28 10:46:21 +00:00
Antony Dovgal f92e99e83a reorder 2007-05-28 10:36:09 +00:00
Antony Dovgal a841027cca MFH 2007-05-28 10:07:50 +00:00
Dmitry Stogov e35679618e Removed deprecated comment 2007-05-28 08:11:59 +00:00
Antony Dovgal ccd16d09c0 MFH 2007-05-27 19:23:09 +00:00
Hannes Magnusson bcc95ae09b the binary is called php-cgi now 2007-05-27 19:00:47 +00:00
foobar 26c60afb5d MFH: add missing entries, these are in PHP_4_4 branch.. 2007-05-27 18:04:10 +00:00
Ilia Alshanetsky 47216d7de4 Adjust tests to reflect the new expected output 2007-05-27 17:57:57 +00:00
Ilia Alshanetsky e3759c2823 Fixed SQLite version 2007-05-27 17:53:04 +00:00
Ilia Alshanetsky 0f6e099d7d Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). 2007-05-27 17:46:46 +00:00
Ilia Alshanetsky 6f61e84727 Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). 2007-05-27 17:33:39 +00:00
Ilia Alshanetsky d2ec6b60da Fixed bug #41236 (Regression in timeout handling of non-blocking SSL
connections during reads and writes).
2007-05-27 17:05:51 +00:00
Ilia Alshanetsky faae3e9ecf Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty
string keys).
2007-05-27 16:31:35 +00:00
Nuno Lopes 2c5368c013 fix handling of &&amp; by htmlentities 'no-double-encode'
expand the test cases
2007-05-27 15:57:11 +00:00
Nuno Lopes 452524fe3a fix the new 'no-double-encoding' feature of htmlspecialchars() (the length for char search was wrong. this could lead to crashes..) 2007-05-27 15:45:18 +00:00
Nuno Lopes 8931a76101 make make_digest() output a 16-byte string so that it wont break the internal PHP API (it was breaking the SOAP extension) 2007-05-27 15:29:38 +00:00
Antony Dovgal 7e1647e524 MFH: add missing skipif sections 2007-05-27 15:12:33 +00:00
foobar 8561368787 fix news 2007-05-27 15:11:31 +00:00
foobar 8588db4b46 - Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c) 2007-05-27 14:50:09 +00:00
Antony Dovgal bac779d6b6 check for required func 2007-05-27 14:39:21 +00:00
Antony Dovgal 060589090d fix test 2007-05-27 14:30:06 +00:00
Rasmus Lerdorf 227fd7aa1f Remove simple optimization here for now until we clean up this SAPI/TSRM
mess.
2007-05-25 22:53:34 +00:00
Hannes Magnusson f00ea3c023 MFH: Mention why short_open_tags is off (bug#37068) 2007-05-25 19:25:15 +00:00
Hannes Magnusson df03be1a3b Allow skipping hint_charset (fixes ext/standard/tests/strings/htmlentities18.phpt) 2007-05-25 14:09:02 +00:00
Zoe Slattery eb0f324f70 New testcaes for file/strings/general_functions 2007-05-25 13:44:23 +00:00
Hannes Magnusson de4408c9af MFH: protos (patch by jeffg at activestate dot com) 2007-05-25 13:24:50 +00:00
Michael Wallner d9c97cbd47 - fix typo 2007-05-25 12:47:55 +00:00
Hannes Magnusson 194044bbdb Mention json nesting dept bump 2007-05-25 12:35:33 +00:00
Hannes Magnusson ad57583ba4 This test should only test failures 2007-05-25 12:31:03 +00:00
Hannes Magnusson 993b66b4c8 Fix test after stack limit bump 2007-05-25 12:15:38 +00:00
Rasmus Lerdorf 6e0d643783 Slightly cleaner code 2007-05-25 09:20:01 +00:00
Rasmus Lerdorf f6bffb69c5 Optimize sapi_get_request_time() slightly making it use the cached time
and also checking if there is a server_context before trying to call
the request_time sapi hook.
2007-05-25 09:12:35 +00:00
Ilia Alshanetsky 9998f67c91 Back to dev 2007-05-25 00:07:57 +00:00
Ilia Alshanetsky f0b7941067 5.2.3RC1 2007-05-25 00:05:30 +00:00
foobar a894611636 - Unify installation of SAPIs: CGI is no exception anymore. 2007-05-24 23:29:59 +00:00
Rasmus Lerdorf c7069887a4 Make the code match the commit comment 2007-05-24 22:40:02 +00:00
Rasmus Lerdorf 464d87e58b I don't see any reason to leave the stack limitation at 20. We have
reports of this limit being hit now and as far as I can tell bumping it
to 128 isn't going break anything in the parser code.
2007-05-24 22:37:59 +00:00
foobar efcdcd80b6 - Allow build without flex/bison installed (fixes builddir != srcdir build
when using distributed sources which inlude pre-generated bison/flex
  output. See bug #38762 for more..)
2007-05-24 21:40:41 +00:00
Rasmus Lerdorf 2fba3bf13b Uh, only meant to remove the null check, not the assignment 2007-05-24 21:29:27 +00:00
Rasmus Lerdorf 61b06f1527 Avoid running off the end of a non-null terminated string. Not that we
should have any of those, but a mistake in an extension could hit this
and the check doesn't actually make any sense as far as I am concerned.
2007-05-24 20:53:05 +00:00
foobar 5603bef272 - Fix previous fix. (just revert of Stefan's bad fix..) 2007-05-24 19:52:03 +00:00
foobar 91d98d2986 - Fix idiotic change in logic. (hint: flex is _REQUIRED_ for building PHP! 2007-05-24 19:35:46 +00:00
Dmitry Stogov 9bca44df22 Impoved error reporting on parser errors (Matt, Dmitry) 2007-05-24 08:56:35 +00:00
Ilia Alshanetsky 6f694fab9a Simplify code 2007-05-23 15:01:00 +00:00
Hannes Magnusson a6a989d44c new curl constants 2007-05-22 19:31:07 +00:00
Antony Dovgal 9a37c5588c fix tests 2007-05-22 16:58:33 +00:00
Antony Dovgal d14d148f66 fix test 2007-05-22 16:52:58 +00:00
Hannes Magnusson 77fda18119 Add entry about --ini 2007-05-22 16:38:50 +00:00
Raghubansh Kumar 17a6ac36da New version of gettype_settype_variation1.phpt gettype_settype_variation6.phpt
gettype_settype_variation2.phpt  gettype_settype_variation7.phpt      gettype_settype_variation3.phpt  gettype_settype_variation8.phpt
gettype_settype_basic.phpt  gettype_settype_variation4.phpt
gettype_settype_error.phpt  gettype_settype_variation5.phpt
2007-05-22 16:01:59 +00:00
Raghubansh Kumar 9f5016ef7b New version of basename_basic.phpt, basename_error.phpt, basename_variation.phpt 2007-05-22 15:59:04 +00:00
Hannes Magnusson 13feaf3620 Ladies and gentelmens,
I bring you our new documentation editor....
Philip Olson!
2007-05-22 15:44:11 +00:00
Hannes Magnusson cdd37424a8 Update proto&arginfo for double_encode in htmlspecialchars()&htmlentities() 2007-05-22 15:38:27 +00:00
Pierre Joye c1ba2927aa - add cve ref 2007-05-22 15:17:03 +00:00
Antony Dovgal a69e6e2c79 MFH: improve variable name checks
add more tests
2007-05-22 14:34:23 +00:00
Hannes Magnusson b4eb20c8aa Add max_input_nesting_level 2007-05-22 13:27:16 +00:00
Ilia Alshanetsky c98cbb6020 [DOC] Added a 4th parameter flag to htmlspecialchars() and htmlentities()
that makes the function not encode existing html entities. The feature is
disabled by default and can be activated by passing FALSE as the 4th param
2007-05-22 12:37:00 +00:00
Timm Friebe 43fccbf2b9 - Changed hardcoded "tempdb" database name to a constant 2007-05-22 12:16:32 +00:00
Timm Friebe 090cee2bdc - Fixed expectancy in for SQL query <select convert(datetime, "notadate")>
This query should return bool(false) and not a resource() because
  the above is a syntax error
# Exact message yielded by SQL server is the following:
# "Syntax error during explicit conversion of VARCHAR value `notadate`
# to a DATETIME field.
2007-05-22 11:38:57 +00:00
Timm Friebe 9181a464fe - Added constant TEMPDB, defaulting to "tempdb"
# This constant is used by some of the tests and should point
# to a database where the user has create proc|table permissions
2007-05-22 11:36:55 +00:00
Timm Friebe 6218d2d998 - Changed hardcoded "tempdb" database name to a constant
# This constant is defined in test.inc and defaults to "tempdb"
# In certain setups, create procedure permissions may not be granted
# in tempdb
2007-05-22 11:35:47 +00:00
Timm Friebe 680735fce8 - Fixed tests on Windows
# The tests expected %s/test.inc in warnings and notices, but of course,
# on Windows, the directory separator is a backslash.
# Made this work in both worlds by testing for %stest.inc
2007-05-22 11:33:36 +00:00
Antony Dovgal 083844f847 MFH: fix #41442 (imagegd2() under output control) 2007-05-22 10:22:49 +00:00
Sara Golemon 5040dbd5e8 MFH(r-1.112) Add CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS option constants 2007-05-22 08:39:20 +00:00
Ilia Alshanetsky 89d57c7c67 Fixed typos 2007-05-21 16:50:03 +00:00
Michael Wallner 5fdcc761a1 - first check the SSL lib string in libcurl and then the header 2007-05-21 13:32:35 +00:00
Dmitry Stogov 7d1dbff79d Fixed bug #41337 WSDL parsing doesn't ignore non soap bindings 2007-05-21 13:13:50 +00:00
Antony Dovgal 007bac315d MFH: fix #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS) 2007-05-21 11:38:53 +00:00
Dmitry Stogov 23409a4bbf Fixed crash on "php -b 1234 -unknown-option" 2007-05-21 09:08:13 +00:00
Dmitry Stogov 3040a34b21 libfcgi cleanup (Andrei Nigmatulin) 2007-05-21 08:47:51 +00:00
Antony Dovgal 04aefb4e18 MFH 2007-05-21 07:12:41 +00:00
Marcus Boerger a4e3f29771 - MFH Add print_htptr, print_htstr 2007-05-20 21:46:17 +00:00
Ilia Alshanetsky 30dd6a45d3 Fixed a possible crash when PATH_INFO is not provided but the path contains
path info information
2007-05-20 15:56:10 +00:00
Pierre Joye b65cdd0793 - use the same checks for zip_stat 2007-05-19 22:25:11 +00:00
Pierre Joye 26e22f34fa - #41423. PHP assumes wrongly that certain ciphers are enabled in OpenSSL 2007-05-19 22:05:08 +00:00
Ilia Alshanetsky b828d1939f Optimized digest generation in md5() and sha1() functions by using code
from ext/hash. This makes the functions 20-50% faster on short strings.
2007-05-19 20:30:35 +00:00
Michael Wallner a349109e42 - fix compile/linker agnostic runpath switch 2007-05-19 19:36:11 +00:00
Ilia Alshanetsky c009fc8915 CS fixes
Fixed a possible crash in the event directory cannot be created, due to a
double free.
2007-05-19 19:29:37 +00:00
Ilia Alshanetsky a3899eda3e Fixed typo in constant name 2007-05-19 18:40:27 +00:00
Ilia Alshanetsky c554031b24 Eliminate memory allocation in RINIT for spl 2007-05-19 18:32:35 +00:00
Ilia Alshanetsky 9db4812366 Remove pointless RINIT 2007-05-19 17:58:22 +00:00
Ilia Alshanetsky c8a694eb45 Avoid strlen() 2007-05-19 17:52:30 +00:00
Ilia Alshanetsky 2a6442190c Fixed test to work with postgresql 2007-05-19 15:28:37 +00:00
Antony Dovgal 0db4f06f13 MFH 2007-05-19 12:53:06 +00:00
Stanislav Malyshev 3dc920d4ea and now the right number 2007-05-19 08:10:52 +00:00
Stanislav Malyshev ff95fbd692 fix reference 2007-05-19 08:08:03 +00:00
Antony Dovgal 27dcd0e5fb reorder 2007-05-18 20:56:50 +00:00
Stanislav Malyshev 9955794367 news about #41401 2007-05-18 20:49:28 +00:00
Antony Dovgal 6434290092 fix test
add separate test for 64bit
2007-05-18 20:45:50 +00:00
Antony Dovgal 7e80ad9407 fix leak and check for < 0 only of the 5th arg was passed 2007-05-18 20:34:13 +00:00
Stanislav Malyshev cfedafff67 add test for 41401 2007-05-18 20:13:28 +00:00
Stanislav Malyshev bc2b546dcc fix #41401 - parser precedence on unary operators
# now 1/-2*5 is -2.5 as it should be
2007-05-18 18:36:04 +00:00
Dmitry Stogov 80d2409fd8 Improved compilation of heredocs and interpolated strings. (Matt, Dmitry) 2007-05-18 13:12:05 +00:00
Antony Dovgal 6d41d020df MFH: fix #41430 (Fatal error with negative values of maxlen parameter of file_get_contents()) 2007-05-18 12:06:44 +00:00
Antony Dovgal 4167b0a4ce BFN 2007-05-18 11:52:47 +00:00
Antony Dovgal d7b30e457a MFH: fix #41421 (Uncaught exception from a stream wrapper segfaults) 2007-05-18 11:52:08 +00:00
Antony Dovgal ff514e208e fix tests 2007-05-18 11:47:58 +00:00
Rasmus Lerdorf 7e5f0a8380 Get rid of a stray time() syscall in tsrm and clean up lcg rinit 2007-05-18 11:36:55 +00:00
Antony Dovgal ffd09c0961 fix tests 2007-05-18 11:29:55 +00:00
Nuno Lopes 83aba2c5b9 fix gcov build....... 2007-05-17 17:57:51 +00:00
Antony Dovgal 27c32bab35 news entry 2007-05-17 15:13:51 +00:00
Antony Dovgal ae49128df4 implement FR #41416 (getColumnMeta() should also return table name) 2007-05-17 15:12:23 +00:00
Hannes Magnusson 4ad45f6566 Fix paths for ext/sqlite 2007-05-17 13:40:12 +00:00
Antony Dovgal 4bd12c4673 fix test 2007-05-17 11:43:47 +00:00
Rasmus Lerdorf 52c2d6c235 Get rid of a useless RINIT and an empty RSHUTDOWN on non-Windows 2007-05-17 06:38:13 +00:00
Pierre Joye 85f738261f - fix title 2007-05-16 22:55:27 +00:00
Pierre Joye 7807477a87 - MFH: libgd #86: Fixed possible infinite loop in libgd/gd_png.c, fix test
(Reported by Xavier Roche)
2007-05-16 22:21:41 +00:00
Pierre Joye 587de83684 - MFH: libgd #86: Fixed possible infinite loop in libgd/gd_png.c
(Reported by Xavier Roche)
2007-05-16 22:19:08 +00:00
Michael Wallner a5ce18dd47 - BFN 2007-05-16 21:22:12 +00:00
Michael Wallner 6447c82454 - fixed bug #41358: configure cannot determine libcurl's SSL lib as of v7.16.2 2007-05-16 21:18:41 +00:00
Zoe Slattery 8f06575c23 Updated range() test 2007-05-16 21:07:33 +00:00
Ilia Alshanetsky 2b46d621e6 Upgraded libsqlite3 to SQLite 3.3 2007-05-16 21:04:46 +00:00
Ilia Alshanetsky 67032ecdf0 Make test work in sqlite 2007-05-16 21:03:46 +00:00
Antony Dovgal 5e7b464517 typofix 2007-05-16 20:04:32 +00:00
Ilia Alshanetsky 7cc5c04b47 news 2007-05-16 19:36:21 +00:00
Ilia Alshanetsky efd7846d34 [DOC] Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set
into an associated array.
2007-05-16 19:33:57 +00:00
Marcus Boerger bfbbe4110e - MFH Extensions are indexed lowercased and not case aware 2007-05-16 18:57:15 +00:00
Antony Dovgal 3a10e5c078 MFH: fix #41394 (dbase_create creates file with corrupted header) 2007-05-16 13:17:50 +00:00
Antony Dovgal 09a575a20f MFH: fix #41403 (json_decode cannot decode floats if localeconv decimal_point is not '.') 2007-05-16 12:54:30 +00:00
Stanislav Malyshev 69650d0ebf do not send cookie when session is passed in URL, same as it happens with GET/POST 2007-05-16 01:18:14 +00:00
Antony Dovgal e72d044f9f fix tests 2007-05-15 14:25:21 +00:00
Scott MacVicar 55a3d5f8b1 MFH: Fixed bug #41390 (Clarify error message with invalid protocol scheme) 2007-05-15 13:04:43 +00:00
Antony Dovgal e5a556757e add the original author of the patch 2007-05-15 12:39:05 +00:00
Dmitry Stogov 633aff5541 Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in "Status:" header) 2007-05-15 08:17:08 +00:00
Ilia Alshanetsky 727109283d News file cleanup 2007-05-14 18:54:05 +00:00
Scott MacVicar 607467451d Prefix NEWS item so documentation team know of new function and typo from old parsing API spotted by bjori 2007-05-14 18:09:20 +00:00
Scott MacVicar ac38b635cb Add mysql_set_charset() so that the connection encoding can be changed. This is similar to the SET NAMES statement but allows the mysql_real_escape_string to use the correct character set. 2007-05-14 17:10:47 +00:00
Antony Dovgal a640896685 fix test 2007-05-14 16:18:02 +00:00
Antony Dovgal d85fc29edf MFH 2007-05-14 12:19:34 +00:00
Rob Richards 7d3c91bed3 free wholetext properly 2007-05-14 11:52:35 +00:00
Rob Richards 82dc0875cb BFN 2007-05-14 11:45:38 +00:00
Rob Richards f42784219a Fixed bug #41374 (wholetext concats values of wrong nodes).
add test
2007-05-14 11:44:15 +00:00
Antony Dovgal 725260ea0f fix CS 2007-05-14 11:33:34 +00:00
Antony Dovgal 2274c18cc6 remove floats, their text representation varies depending on many factors 2007-05-14 11:10:30 +00:00
Antony Dovgal 9100e9efde add 64bit tests 2007-05-14 11:04:30 +00:00
Antony Dovgal 83df9beca2 fix precision 2007-05-14 11:04:08 +00:00
Antony Dovgal b33de5d0aa fix tests - make them 32bit only, 64bit version will be later
add --INI-- section
remove recursive arrays, that thing should be in a separate test
2007-05-14 10:57:04 +00:00
Pierre Joye 19d1d24d60 - [@DOC] MFH: #41326, better fix. It restores BC and allows both canonical
and short form:
  - when $content is given, the closing tag will be generated (even for empty
  string)
  - when $content is ignored or NULL is given, the short form will be used
2007-05-14 09:23:49 +00:00
Ilia Alshanetsky f752fd4836 Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). 2007-05-13 17:37:32 +00:00
Hannes Magnusson 909894682d MFH: bug#41361 (shell_exec() does not find binaries) 2007-05-12 16:06:46 +00:00
Raghubansh Kumar c5c162d182 New version of debug_zval_dump_b.phpt, is_array.phpt, is_null.phpt, is_string.phpt, debug_zval_dump_e.phpt, is_bool.phpt, is_numeric.phpt, print_r.phpt, debug_zval_dump_o.phpt, is_float.phpt is_object.phpt, strval.phpt,
debug_zval_dump_v.phpt, is_int.phpt, is_scalar.phpt, var_dump.phpt
2007-05-12 10:28:00 +00:00
Raghubansh Kumar 3a97c49489 New version of addcslashes.phpt, md5_file.phpt, str_replace.phpt, substr.phpt, chr_ord.phpt, strpos.phpt, strstr.phpt, trim1.phpt, implode1.phpt, str_repeat.phpt, substr_count.phpt 2007-05-12 10:15:02 +00:00
Raghubansh Kumar 42ae6b508e New version of 005.phpt, array_change_key_case.phpt, array_key_exists.phpt, array_keys.phpt, array_map.phpt, array_pop.phpt, array_search.phpt, array_values.phpt, each.phpt, end.phpt, extract.phpt 2007-05-12 09:53:30 +00:00
Raghubansh Kumar 02dd014013 New version of 009.phpt 2007-05-12 09:50:40 +00:00
Antony Dovgal bc25fc52bf MFH: remove warnings in resource dtor 2007-05-11 15:46:38 +00:00
Antony Dovgal 2b229635c2 BFN 2007-05-11 12:22:00 +00:00
Antony Dovgal c8cfd3b99a MFH: fix #41134 (zend_ts_hash_clean not thread-safe)
fix also zend_ts_hash_*destroy()
2007-05-11 12:21:26 +00:00
Antony Dovgal c1e84f1fff BFN 2007-05-11 09:39:49 +00:00
Antony Dovgal 756f3f60ca MFH: fix #41351 (Invalid opcode with foreach ($a[] as $b)) 2007-05-11 09:39:36 +00:00
Dmitry Stogov d2fe65c191 Fixed bug #39542 (Behaviour of require/include different to < 5.2.0) 2007-05-11 08:02:43 +00:00
Marcus Boerger 93583f9680 - MFH Add invert option to RegexIterator 2007-05-11 00:15:25 +00:00
Antony Dovgal 8de1ecef64 MFH: fix segfault in strripos() when offset == INT_MAX+1
identified and repoted by Joxean Koret
2007-05-10 22:10:43 +00:00
Antony Dovgal 5d8567b83b %d -> %ld 2007-05-10 21:52:10 +00:00
Ilia Alshanetsky 51e0891f0b Fixed random number generation for http auth mechanism in SOAP
# Identified by Stefan Esser
2007-05-10 21:05:14 +00:00
Hannes Magnusson 63c11738f8 use php_strtok_r() rather than strsep()
# Fixes build on, for instance, solaris
2007-05-10 19:48:30 +00:00
Antony Dovgal 7efde494d7 MFH: flush output buffer when/if highlight_string()/php_strip_whitespace()/highlight_string() fail 2007-05-10 16:28:11 +00:00
Dmitry Stogov 6e8438633b Fixed bug #41291 (FastCGI does not set SO_REUSEADDR). (fmajid at kefta dot com) 2007-05-10 15:21:02 +00:00
Dmitry Stogov fb045249e5 Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings) 2007-05-10 14:58:17 +00:00
Scott MacVicar e7577d57cd Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). 2007-05-10 13:16:54 +00:00
Antony Dovgal c69b76dc52 MFH: fix segfault in iptcembed() 2007-05-10 12:23:25 +00:00
Antony Dovgal f9f456a9cd MFH: bcmath.scale must be greater or equal to zero 2007-05-10 09:53:36 +00:00
Ilia Alshanetsky 6df5384610 Fixed a typo 2007-05-09 23:59:06 +00:00
Pierre Joye 223cfe342f - MFH: #41326, Writing empty tags with Xmlwriter::WriteElement[ns] 2007-05-08 21:41:36 +00:00
Ilia Alshanetsky 75b5ce3b8d Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE). 2007-05-08 18:38:20 +00:00
Dmitry Stogov eec0b67cd8 Fixed bug #41304 (compress.zlib temp files left) 2007-05-08 12:08:17 +00:00
Ilia Alshanetsky 420352d8b5 Register RAW_POST_DATA even when always_populate_raw_post_data is off in
instances where content type is not known
2007-05-07 23:27:59 +00:00
Antony Dovgal c25a2f6cd2 fix tests (add precision) 2007-05-07 22:41:30 +00:00
Antony Dovgal 3a46e8ab1f fix tests 2007-05-07 22:30:16 +00:00
Antony Dovgal 56a27267f3 fix tests 2007-05-07 22:10:14 +00:00
Antony Dovgal c2c4fe75e1 fix test 2007-05-07 21:38:42 +00:00
Ilia Alshanetsky 9b661ea62e Fixed SOAP tests and added additional tests to ensure processing POST data
works based on server001.phpt
2007-05-07 18:45:03 +00:00
Ilia Alshanetsky 146a600711 Added support for --GZIP_POST-- and --DEFLATE_POST-- that allows emulation
of compressed POST input
2007-05-07 18:40:33 +00:00
Antony Dovgal 1f65545121 fix test names 2007-05-07 18:03:01 +00:00
Antony Dovgal b64823deb7 fix test names 2007-05-07 17:54:12 +00:00
Nuno Lopes 877b7c7ea7 fix test title 2007-05-07 15:23:53 +00:00
Pierre Joye 4a8e75b990 - MFH: fix build when use with a museum freetype version (1.x) 2007-05-07 14:54:36 +00:00
Antony Dovgal fa14b60e68 add 64bit version of the tests 2007-05-07 14:00:40 +00:00
Antony Dovgal 8f70937bec fix tests 2007-05-07 12:09:14 +00:00
Antony Dovgal f0dbacb715 fix test 2007-05-07 08:25:12 +00:00
Ilia Alshanetsky 0a63bd4d0b Allow SOAP extension's handler() to work even when
always_populate_raw_post_data is off.

# Tests will be updated in the next few days
2007-05-06 17:21:13 +00:00
Ilia Alshanetsky f932fe5ad4 Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no
default post handler).
2007-05-06 16:34:14 +00:00
Ilia Alshanetsky 636806a869 Added HTTP_RAW_POST_DATA test for instances where post length exceeds
post_max_size.
2007-05-06 16:30:09 +00:00
Ilia Alshanetsky 468dc98961 Added $HTTP_RAW_POST_DATA test 2007-05-06 16:26:11 +00:00
Ilia Alshanetsky accdf2c64c Clarify bug fix details 2007-05-06 15:37:07 +00:00
Hannes Magnusson 448dbac84f MFH: Fixed PHP CLI to use the php.ini from the binary location 2007-05-06 14:01:26 +00:00
Hannes Magnusson 1d2c53b249 Fix test 2007-05-06 13:11:31 +00:00
Johannes Schlüter 9edf1dc617 - MFH: Fix build without reflection 2007-05-06 12:57:50 +00:00
Antony Dovgal 3000c0be66 fix tests, add more 2007-05-05 21:44:52 +00:00
foobar 0d5a13ddda MFH 2007-05-05 19:26:39 +00:00
Marcus Boerger 3cd6bc54bc - MFH --ri does not require ext/Reflection
- MFH --ini to show ini files being used
2007-05-05 16:21:07 +00:00
Ilia Alshanetsky 502d68e1e7 Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled
sqlite2 lib).
2007-05-05 15:36:15 +00:00
Ilia Alshanetsky c70105610a Fixed bug #41283 (Bug with serializing array key that are doubles or
floats).
2007-05-05 15:14:56 +00:00
Antony Dovgal 9fd3c30f94 MFH 2007-05-04 22:32:57 +00:00
foobar 3f6cb452ee MFH:- Prevent bugs like #41265 being submitted from now on. 2007-05-04 21:57:47 +00:00
Rob Richards cde4621907 BFN 2007-05-04 20:18:51 +00:00
Rob Richards 78ccf4e0c2 Fix bug #41287 (Namespace functions don't allow xmlns to be optional)
add test
2007-05-04 20:16:39 +00:00
Rob Richards 3585581412 BFN 2007-05-04 19:32:53 +00:00
Rob Richards 24434e7ba2 fix bug #41257 (lookupNamespaceURI does not work as expected)
fix related issue in isDefaultNamespace
add test
reconcile namespaces when setting attribute in a new namespace
2007-05-04 19:30:59 +00:00
Edin Kadribasic 567c9daeae Update Apache 2 libs to 2.0.59 on the build box and standardize the dirs 2007-05-04 18:17:55 +00:00
Nuno Lopes b8fbcae5b3 get ride of warnings (different signdess) 2007-05-04 17:11:05 +00:00
Antony Dovgal b1b4b0a6a7 fix comments 2007-05-04 16:19:57 +00:00
Antony Dovgal 3f8c011a9a add tests 2007-05-04 12:46:18 +00:00
Antony Dovgal dadbd426c4 MFH 2007-05-04 11:30:37 +00:00
Antony Dovgal 803e6f5887 MFH 2007-05-04 09:05:32 +00:00
Antony Dovgal 1d6fea0e55 MFH 2007-05-04 08:27:33 +00:00
Dmitry Stogov 97b338afe5 - Fixed bug #41097 (ext/soap returning associative array as indexed without
using WSDL).
- Fixed bug #41004 (minOccurs="0" and null class member variable).
2007-05-04 06:19:34 +00:00
Dmitry Stogov d8ce0568ef Fixed altering $this via argument named "this" 2007-05-04 06:18:53 +00:00
Ilia Alshanetsky cd32cab680 Fixed ext/filter Email Validation Vulnerability
(MOPB-24 by Stefan Esser)
2007-05-03 23:38:27 +00:00
Johannes Schlüter f50ec4ea53 - MFH: Fix skipif 2007-05-03 12:44:48 +00:00
Antony Dovgal 0a92fdba8a improve test 2007-05-03 12:10:11 +00:00
Edin Kadribasic ee593ef3b1 Fix Windows Build 2007-05-03 04:16:32 +00:00
Ilia Alshanetsky a64c73121d Back to dev 2007-05-03 01:16:50 +00:00
Ilia Alshanetsky 0f474f9474 5.2.2 2007-05-02 23:05:14 +00:00
Dmitry Stogov df61bae636 Reverted the following fixed because of php-5.2.2 release process
- Fixed altering $this via argument named "this".
- Fixed bug #41097 (ext/soap returning associative array as indexed without
  using WSDL).
- Fixed bug #41004 (minOccurs="0" and null class member variable).
2007-05-02 17:24:16 +00:00
Antony Dovgal fca80f63fb add SKIPIF section 2007-05-02 15:41:22 +00:00
Antony Dovgal e03eadf633 MFH: add USE_ZEND_ALLOC env var 2007-05-02 15:41:06 +00:00
Dmitry Stogov 688cc5039a Fixed altering $this via argument named "this" 2007-05-02 13:21:55 +00:00
Dmitry Stogov c327dec913 Fixed bug #41192 (Per Directory Values only work for one key) 2007-05-02 10:16:34 +00:00
Dmitry Stogov 101a0f08ce Fixed bug #41004 (minOccurs="0" and null class member variable) 2007-05-02 09:38:12 +00:00
Dmitry Stogov 4b7999cd0b New test 2007-05-02 08:35:17 +00:00
Dmitry Stogov 3721cb9d8d Fixed bug #41097 (ext/soap returning associative array as indexed without using WSDL) 2007-05-02 08:22:13 +00:00
Dmitry Stogov f409fcd02a Fixed test 2007-05-02 07:27:36 +00:00
Ilia Alshanetsky 01b0f9d44d Removed completed TODO items 2007-05-01 23:04:30 +00:00
Derick Rethans 047ccbc0c2 - MFH: Added test case for bug #41252. 2007-05-01 16:04:33 +00:00
Ilia Alshanetsky e0cab44595 Remove quotes 2007-05-01 00:05:39 +00:00
Antony Dovgal 96964359af MFH: initialize optional params 2007-04-30 21:40:02 +00:00
Johannes Schlüter c52e519bc0 BFN 2007-04-30 20:01:16 +00:00
Johannes Schlüter e181e3ac7b - MFH Fix "f" modifier for zend_parse_parameters_ex in case of a __call call
# only affects iterator_apply() in 5_2 branch
2007-04-30 19:54:41 +00:00
Edin Kadribasic 618e172ec8 Sync correctly with configure.in 2007-04-30 16:18:06 +00:00
Edin Kadribasic 7bcf3ef165 Sync with zlib 2007-04-29 17:47:31 +00:00
Ilia Alshanetsky 7810fc89fa Fixed bug #41215 (setAttribute return code reversed). 2007-04-29 14:47:34 +00:00
foobar e878249669 typofix..and exactly HOW or WHAT in commandline handling was fixed? 2007-04-29 00:45:23 +00:00
foobar 1d7d3a4307 - Updated credits 2007-04-29 00:43:11 +00:00
Antony Dovgal c3b9d939e0 add new tests 2007-04-28 11:59:08 +00:00
Antony Dovgal 70e6d3d042 add new tests 2007-04-27 21:33:02 +00:00
Edin Kadribasic 9b1de77959 Sync with configure.in 2007-04-27 20:54:47 +00:00
Antony Dovgal a6cd2b4cec MFH: improve the tests 2007-04-27 11:43:45 +00:00
Antony Dovgal de4f3007e2 MFH: initialize retval_ptr_ptr before returning FAILURE
this fixes invalid read in #41209
2007-04-27 08:12:24 +00:00
Uwe Schindler 88bef568da MFH: Fix crash on server startup when log message is printed 2007-04-27 00:29:26 +00:00
Antony Dovgal 66859a74de fix tests 2007-04-26 23:30:00 +00:00
Antony Dovgal ef32c956f7 MFH 2007-04-26 23:13:25 +00:00
Ilia Alshanetsky bd7e78c48b Back to dev 2007-04-26 22:44:53 +00:00
2375 changed files with 325414 additions and 41860 deletions

No files matched your search

+44 -10
View File
@@ -8,7 +8,7 @@ define ____executor_globals
end
document ____executor_globals
portable way of accessing executor_globals
portable way of accessing executor_globals, set $eg
ZTS detection is automatically based on ext/standard module struct
end
@@ -39,14 +39,18 @@ define printzv
end
document printzv
prints content of zval
prints zval contents
end
define ____printzv_contents
set $zvalue = $arg0
set $type = $zvalue->type
printf "(refcount=%d) ", $zvalue->refcount
printf "(refcount=%d", $zvalue->refcount
if $zvalue->is_ref
printf ",is_ref"
end
printf ") "
if $type == 0
printf "NULL"
end
@@ -69,7 +73,7 @@ define ____printzv_contents
if ! $arg1
printf "{\n"
set $ind = $ind + 1
____print_ht $zvalue->value.ht
____print_ht $zvalue->value.ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
@@ -103,7 +107,7 @@ define ____printzv_contents
printf "(%d): ", $ht->nNumOfElements
printf "{\n"
set $ind = $ind + 1
____print_ht $ht
____print_ht $ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
@@ -188,12 +192,10 @@ define print_const_table
end
define ____print_ht
set $ht = $arg0
set $ht = (HashTable*)$arg0
set $p = $ht->pListHead
while $p != 0
set $zval = *(zval **)$p->pData
set $i = $ind
while $i > 0
printf " "
@@ -206,8 +208,18 @@ define ____print_ht
else
printf "%d => ", $p->h
end
if $arg1 == 0
printf "%p\n", (void*)$p->pData
end
if $arg1 == 1
set $zval = *(zval **)$p->pData
____printzv $zval 1
end
if $arg1 == 2
printf "%s\n", (char*)$p->pData
end
____printzv $zval 1
set $p = $p->pListNext
end
end
@@ -215,7 +227,7 @@ end
define print_ht
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0
____print_ht $arg0 1
printf "}\n"
end
@@ -223,6 +235,28 @@ document print_ht
dumps elements of HashTable made of zval
end
define print_htptr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 0
printf "}\n"
end
document print_htptr
dumps elements of HashTable made of pointers
end
define print_htstr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 2
printf "}\n"
end
document print_htstr
dumps elements of HashTable made of strings
end
define ____print_ft
set $ht = $arg0
set $p = $ht->pListHead
+1 -1
View File
@@ -256,7 +256,7 @@ that the first implementation include a file labeled 'EXPERIMENTAL'
in the function directory, and that the functions follow the
standard prefixing conventions during their initial implementation.
The file labelled 'EXPERIMENTAL' should include the following
The file labeled 'EXPERIMENTAL' should include the following
information:
Any authoring information (known bugs, future directions of the module).
Ongoing status notes which may not be appropriate for CVS comments.
+9 -9
View File
@@ -3,21 +3,21 @@
# Zend
#
$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
$(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
$(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
@$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
$(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c
$(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
@$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
$(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c
$(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
@$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
$(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(builddir)/zend_language_parser.h
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
+59 -14
View File
@@ -13,22 +13,22 @@ all: $(all_targets)
build-modules: $(PHP_MODULES)
libphp5.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-@$(LIBTOOL) --silent --mode=install cp libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
-@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1
libs/libphp5.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp5.so
libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp$(PHP_MAJOR_VERSION).so
install: $(all_targets) $(install_targets)
install-sapi: $(OVERALL_TARGET)
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-@if test ! -r $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME); then \
-@if test ! -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); then \
for i in 0.0.0 0.0 0; do \
if test -r $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME); \
if test -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); \
break; \
fi; \
done; \
@@ -66,33 +66,78 @@ install-headers:
fi \
done; \
fi
install-su: install-pear
test: all
PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1'
PHP_TEST_SHARED_EXTENSIONS = ` \
if test "x$(PHP_MODULES)" != "x"; then \
for i in $(PHP_MODULES)""; do \
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
done; \
fi`
test: all
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(PHP_EXECUTABLE) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -d 'extension_dir=modules/' -d `( . $(PHP_MODULES) ; echo extension=$$dlname)` tests/; \
$(PHP_EXECUTABLE) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -U -d extension_dir=modules/ $(PHP_TEST_SHARED_EXTENSIONS) tests/; \
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php $(TESTS); \
$(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -U -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
utest: all
-@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -u -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
ntest: all
-@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -N -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
clean:
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp5.la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp5.module buildmk.stamp
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f
+545 -73
View File
@@ -1,10 +1,540 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
26 Apr 2007, PHP 5.2.2RC2
08 Nov 2007 , PHP 5.2.5
- Upgraded PCRE to version 7.3 (Nuno)
- Added optional parameter $provide_object to debug_backtrace(). (Sebastian)
- Added alpha support for imagefilter() IMG_FILTER_COLORIZE. (Pierre)
- Added ability to control memory consumption between request using
ZEND_MM_COMPACT environment variable. (Dmitry)
- Improved speed of array_intersect_key(), array_intersect_assoc(),
array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and
array_udiff_assoc(). (Dmitry)
- Fixed move_uploaded_file() to always set file permissions of resulting file
according to UMASK. (Andrew Sitnikov)
- Fixed possible crash in ext/soap because of uninitialized value. (Zdash Urf)
- Fixed regression in glob() when enforcing safe_mode/open_basedir checks on
paths containing '*'. (Ilia)
- Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable
in .htaccess due to the security implications - reported by SecurityReason.
(Stas)
- Fixed PDO crash when driver returns empty LOB stream. (Stas)
- Fixed dl() to only accept filenames - reported by Laurent Gaffie. (Stas)
- Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887).
(Christian Hoffmann)
- Fixed iconv_*() functions to limit argument sizes as workaround to libc
bug (CVE-2007-4783, CVE-2007-4840 by Laurent Gaffie).
(Christian Hoffmann, Stas)
- Fixed missing brackets leading to build warning and error in the log.
Win32 code. (Andrey)
- Fixed leaks with multiple connects on one mysqli object. (Andrey)
- Fixed endianness detection on MacOS when building universal binary.
(Uwe Schindler, Christian Speich, Tony)
- Fixed possible triggering of buffer overflows inside glibc
implementations of the fnmatch(), setlocale() and glob() functions.
Reported by Laurent Gaffie. (Ilia)
- Fixed imagerectangle regression with 1x1 rectangle (libgd #106). (Pierre)
- Fixed htmlentities/htmlspecialchars not to accept partial multibyte
sequences. (Stas)
- Fixed bug #43196 (array_intersect_assoc() crashes with non-array input).
(Jani)
- Fixed bug #43139 (PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with
fetchAll()). (Ilia)
- Fixed bug #43137 (rmdir() and rename() do not clear statcache). (Jani)
- Fixed bug #43130 (Bound parameters cannot have - in their name). (Ilia)
- Fixed bug #43099 (XMLWriter::endElement() does not check # of params).
(Ilia)
- Fixed bug #43020 (Warning message is missing with shuffle() and more
than one argument). (Scott)
- Fixed bug #42976 (Crash when constructor for newInstance() or
newInstanceArgs() fails) (Ilia)
- Fixed bug #42943 (ext/mssql: Move *timeout initialization from RINIT
to connect time). (Ilia)
- Fixed bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode).
(Ilia)
- Fixed bug #42890 (Constant "LIST" defined by mysqlclient and c-client).
(Andrey)
- Fixed bug #42869 (automatic session id insertion adds sessions id to
non-local forms). (Ilia)
- Fixed bug #42818 ($foo = clone(array()); leaks memory). (Dmitry)
- Fixed bug #42817 (clone() on a non-object does not result in a fatal
error). (Ilia)
- Fixed bug #42785 (json_encode() formats doubles according to locale rather
then following standard syntax). (Ilia)
- Fixed bug #42783 (pg_insert() does not accept an empty list for
insertion). (Ilia)
- Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry)
- Fixed bug #42772 (Storing $this in a static var fails while handling a cast
to string). (Dmitry)
- Fixed bug #42767 (highlight_string() truncates trailing comment). (Ilia)
- Fixed bug #42739 (mkdir() doesn't like a trailing slash when safe_mode is
enabled). (Ilia)
- Fixed bug #42703 (Exception raised in an iterator::current() causes segfault
in FilterIterator) (Marcus)
- Fixed bug #42699 (PHP_SELF duplicates path). (Dmitry)
- Fixed bug #42654 (RecursiveIteratorIterator modifies only part of leaves)
(Marcus)
- Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). (Ilia)
- Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran)
- Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported
on MacOSX). (jdolecek at NetBSD dot org)
- Fixed bug #42627 (bz2 extension fails to build with -fno-common).
(dolecek at netbsd dot org)
- Fixed Bug #42596 (session.save_path MODE option does not work). (Ilia)
- Fixed bug #42590 (Make the engine recognize \v and \f escape sequences).
(Ilia)
- Fixed bug #42587 (behavior change regarding symlinked .php files). (Dmitry)
- Fixed bug #42579 (apache_reset_timeout() does not exist). (Jani)
- Fixed bug #42549 (ext/mysql failed to compile with libmysql 3.23). (Scott)
- Fixed bug #42523 (PHP_SELF duplicates path). (Dmitry)
- Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on
64-bit PHP). (Derick)
- Fixed bug #42506 (php_pgsql_convert() timezone parse bug) (nonunnet at
gmail dot com, Ilia)
- Fixed bug #42462 (Segmentation when trying to set an attribute in a
DOMElement). (Rob)
- Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline
options). (Dmitry)
- Fixed bug #42452 (PDO classes do not expose Reflection API information).
(Hannes)
- Fixed bug #42468 (Write lock on file_get_contents fails when using a
compression stream). (Ilia)
- Fixed bug #42488 (SoapServer reports an encoding error and the error itself
breaks). (Dmitry)
- Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion). (Andrey)
- Fixed bug #42359 (xsd:list type not parsed). (Dmitry)
- Fixed bug #42326 (SoapServer crash). (Dmitry)
- Fixed bug #42214 (SoapServer sends clients internal PHP errors). (Dmitry)
- Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime
values). (Ilia)
- Fixed bug #42139 (XMLReader option constants are broken using XML()). (Rob)
- Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic
compliant wsdl). (Dmitry)
- Fixed bug #41822 (Relative includes broken when getcwd() fails). (Ab5602,
Jani)
- Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten
with ini_set()). (Stas, Jani)
- Fixed bug #39651 (proc_open() append mode doesn't work on windows). (Nuno)
30 Aug 2007, PHP 5.2.4
- Removed --enable-versioning configure option. (Jani)
- Upgraded PCRE to version 7.2 (Nuno)
- Updated timezone database to version 2007.6. (Derick)
- Improved openssl_x509_parse() to return extensions in readable form. (Dmitry)
- Enabled changing the size of statement cache for non-persistent OCI8
connections. (Chris Jones, Tony)
- Changed "display_errors" php.ini option to accept "stderr" as value which
makes the error messages to be outputted to STDERR instead of STDOUT with
CGI and CLI SAPIs (FR #22839). (Jani)
- Changed error handler to send HTTP 500 instead of blank page on PHP errors.
(Dmitry, Andrei Nigmatulin)
- Changed mail() function to be always available. (Johannes)
- Added check for unknown options passed to configure. (Jani)
- Added persistent connection status checker to pdo_pgsql.
(Elvis Pranskevichus, Ilia)
- Added support for ATTR_TIMEOUT inside pdo_pgsql driver. (Ilia)
- Added php_ini_loaded_file() function which returns the path to the actual
php.ini in use. (Jani)
- Added GD version constants GD_MAJOR_VERSION, GD_MINOR_VERSION,
GD_RELEASE_VERSION, GD_EXTRA_VERSION and GD_VERSION_STRING. (Pierre)
- Added missing open_basedir checks to CGI.
(anight at eyelinkmedia dot com, Tony)
- Added missing format validator to unpack() function. (Ilia)
- Added missing error check inside bcpowmod(). (Ilia)
- Added CURLOPT_PRIVATE & CURLINFO_PRIVATE constants.
(Andrey A. Belashkov, Tony)
- Added missing MSG_EOR and MSG_EOF constants to sockets extension. (Jani)
- Added PCRE_VERSION constant. (Tony)
- Added ReflectionExtension::info() function to print the phpinfo()
block for an extension. (Johannes)
- Implemented FR #41884 (ReflectionClass::getDefaultProperties() does not
handle static attributes). (Tony)
- Fixed "Floating point exception" inside wordwrap().
(Mattias Bengtsson, Ilia)
- Fixed several integer overflows in ImageCreate(), ImageCreateTrueColor(),
ImageCopyResampled() and ImageFilledPolygon() reported by Mattias Bengtsson.
(Tony)
- Fixed size calculation in chunk_split(). (Stas)
- Fixed integer overflow in str[c]spn(). (Stas)
- Fixed money_format() not to accept multiple %i or %n tokens.
(Stas, Ilia)
- Fixed zend_alter_ini_entry() memory_limit interruption
vulnerability. (Ilia)
- Fixed INFILE LOCAL option handling with MySQL extensions not to be
allowed when open_basedir or safe_mode is active. (Stas)
- Fixed session.save_path and error_log values to be checked against
open_basedir and safe_mode (CVE-2007-3378) (Stas, Maksymilian Arciemowicz)
- Fixed possible invalid read in glob() win32 implementation (CVE-2007-3806).
(Tony)
- Improved fix for MOPB-03-2007. (Ilia)
- Corrected fix for CVE-2007-2872. (Ilia)
- Fixed possible crash in imagepsloadfont(), work around a bug in the pslib on
Windows. (Pierre)
- Fixed oci8 and PDO_OCI extensions to allow configuring with Oracle 11g
client libraries. (Chris Jones)
- Fixed EOF handling in case of reading from file opened in write only mode.
(Dmitry)
- Fixed var_export() to use the new H modifier so that it can generate
parseable PHP code for floats, independent of the locale. (Derick)
- Fixed regression introduced by the fix for the libgd bug #74. (Pierre)
- Fixed SimpleXML's behavior when used with empty(). (Sara)
- Fixed crash in OpenSSL extension because of non-string passphrase. (Dmitry)
- Fixed PECL Bug #11345 (PDO_OCI crash after National language Support "NLS"
environment initialization error). (Chris Jones)
- Fixed PECL bug #11216 (crash in ZipArchive::addEmptyDir when a directory
already exists). (Pierre)
- Fixed bug #42848 (Status: header incorrect under FastCGI). (Dmitry)
- Fixed bug #42368 (Incorrect error message displayed by pg_escape_string).
(Ilia)
- Fixed bug #42365 (glob() crashes and/or accepts way too many flags).
(Jani)
- Fixed Bug #42364 (Crash when using getRealPath with DirectoryIterator).
(Johannes)
- Fixed bug #42292 ($PHP_CONFIG not set for phpized builds). (Jani)
- Fixed bug #42261 (header wrong for date field).
(roberto at spadim dot com dot br, Ilia)
- Fixed bug #42259 (SimpleXMLIterator loses ancestry). (Rob)
- Fixed bug #42247 (ldap_parse_result() not defined under win32). (Jani)
- Fixed bug #42243 (copy() does not output an error when the first arg is a
dir). (Ilia)
- Fixed bug #42242 (sybase_connect() crashes). (Ilia)
- Fixed bug #42237 (stream_copy_to_stream returns invalid values for mmaped
streams). (andrew dot minerd at sellingsource dot com, Ilia)
- Fixed bug #42233 (Problems with æøå in extract()). (Jani)
- Fixed bug #42222 (possible buffer overflow in php_openssl_make_REQ). (Pierre)
- Fixed bug #42211 (property_exists() fails to find protected properties
from a parent class). (Dmitry)
- Fixed bug #42208 (substr_replace() crashes when the same array is passed
more than once). (crrodriguez at suse dot de, Ilia)
- Fixed bug #42198 (SCRIPT_NAME and PHP_SELF truncated when inside a userdir
and using PATH_INFO). (Dmitry)
- Fixed bug #42195 (C++ compiler required always). (Jani)
- Fixed bug #42183 (classmap causes crash in non-wsdl mode). (Dmitry)
- Fixed bug #42173 (oci8 INTERVAL and TIMESTAMP type fixes). (Chris)
- Fixed bug #42151 (__destruct functions not called after catching a SoapFault
exception). (Dmitry)
- Fixed bug #42142 (substr_replace() returns FALSE when length > string length).
(Ilia)
- Fixed bug #42135 (Second call of session_start() causes creation of SID).
(Ilia)
- Fixed bug #42134 (oci_error() returns false after oci_new_collection() fails).
(Tony)
- Fixed bug #42119 (array_push($arr,&$obj) doesn't work with
zend.ze1_compatibility_mode On). (Dmitry)
- Fixed bug #42117 (bzip2.compress loses data in internal buffer).
(Philip, Ilia)
- Fixed bug #42112 (deleting a node produces memory corruption). (Rob)
- Fixed bug #42107 (sscanf broken when using %2$s format parameters). (Jani)
- Fixed bug #42090 (json_decode causes segmentation fault). (Hannes)
- Fixed bug #42082 (NodeList length zero should be empty). (Hannes)
- Fixed bug #42072 (No warning message for clearstatcache() with arguments).
(Ilia)
- Fixed bug #42071 (ini scanner allows using NULL as option name). (Jani)
- Fixed bug #42027 (is_file() / is_dir() matches file/dirnames with wildcard char
or trailing slash in Windows). (Dmitry)
- Fixed bug #42019 (configure option --with-adabas=DIR does not work). (Jani)
- Fixed bug #42015 (ldap_rename(): server error "DSA is unwilling to perform").
(bob at mroczka dot com, Jani)
- Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the
same way as "instanceof" operator). (Dmitry)
- Fixed bug #41989 (move_uploaded_file() & relative path in ZTS mode). (Tony)
- Fixed bug #41984 (Hangs on large SoapClient requests). (Dmitry)
- Fixed bug #41983 (Error Fetching http headers terminated by '\n'). (Dmitry)
- Fixed bug #41973 (--with-ldap=shared fails with LDFLAGS="-Wl,--as-needed"). (Nuno)
- Fixed bug #41971 (PDOStatement::fetch and PDOStatement::setFetchMode causes
unexpected behavior). (Ilia)
- Fixed bug #41964 (strtotime returns a timestamp for non-time string of
pattern '(A|a) .+'). (Derick)
- Fixed bug #41961 (Ensure search for hidden private methods does not stray from
class hierarchy). (robin_fernandes at uk dot ibm dot com)
- Fixed bug #41947 (SimpleXML incorrectly registers empty strings asnamespaces).
(Rob)
- Fixed bug #41929 (Foreach on object does not iterate over all visible properties).
(Dmitry)
- Fixed bug #41919 (crash in string to array conversion).
(judas dot iscariote at gmail dot com, Ilia)
- Fixed bug #41909 (var_export() is locale sensitive when exporting float
values). (Derick)
- Fixed bug #41908 (CFLAGS="-Os" ./configure --enable-debug fails).
(christian at hoffie dot info, Tony)
- Fixed bug #41904 (proc_open(): empty env array should cause empty environment
to be passed to process). (Jani)
- Fixed bug #41867 (SimpleXML: getName is broken). (Rob)
- Fixed bug #41865 (fputcsv(): 2nd parameter is not optional). (Jani)
- Fixed bug #41861 (SimpleXML: getNamespaces() returns the namespaces of a node's
siblings). (Rob)
- Fixed bug #41845 (pgsql extension does not compile with PostgreSQL <7.4). (Ilia)
- Fixed bug #41844 (Format returns incorrect number of digits for negative years
-0001 to -0999). (Derick)
- Fixed bug #41842 (Cannot create years < 0100 & negative years with date_create
or new DateTime). (Derick)
- Fixed bug #41833 (addChild() on a non-existent node, no node created,
getName() segfaults). (Rob)
- Fixed bug #41831 (pdo_sqlite prepared statements convert resources to
strings). (Ilia)
- Fixed bug #41815 (Concurrent read/write fails when EOF is reached). (Sascha)
- Fixed bug #41813 (segmentation fault when using string offset as an object).
(judas dot iscariote at gmail dot com, Tony)
- Fixed bug #41795 (checkdnsrr does not support DNS_TXT type).
(lucas at facebook dot com, Tony)
- Fixed bug #41773 (php_strip_whitespace() sends headers with errors
suppressed). (Tony)
- Fixed bug #41770 (SSL: fatal protocol error due to buffer issues). (Ilia)
- Fixed bug #41765 (Recode crashes/does not work on amd64).
(nexus at smoula dot net, Stas)
- Fixed bug #41724 (libxml_get_last_error() - errors service request scope).
(thekid at php dot net, Ilia)
- Fixed bug #41717 (imagepolygon does not respect thickness). (Pierre)
- Fixed bug #41713 (Persistent memory consumption on win32 since 5.2). (Dmitry)
- Fixed bug #41711 (NULL temporary lobs not supported in OCI8).
(Chris Jones, Tony)
- Fixed bug #41709 (strtotime() does not handle 00.00.0000). (Derick)
- Fixed bug #41698 (float parameters truncated to integer in prepared
statements). (Ilia)
- Fixed bug #41692 (ArrayObject shows weird behavior in respect to
inheritance). (Tony)
- Fixed bug #41691 (ArrayObject::exchangeArray hangs Apache). (Tony)
- Fixed bug #41686 (Omitting length param in array_slice not possible). (Ilia)
- Fixed bug #41685 (array_push() fails to warn when next index is
already occupied). (Ilia)
- Fixed bug #41655 (open_basedir bypass via glob()). (Ilia)
- Fixed bug #41640 (get_class_vars produces error on class constants).
(Johannes)
- Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI
result in major slowdown). (Dmitry)
- Fixed bug #41633 (Crash instantiating classes with self-referencing
constants). (Dmitry)
- Fixed bug #41630 (segfault when an invalid color index is present in the
image data). (Reported by Elliot <wccoder@gmail dot com>) (Pierre)
- Fixed bug #41628 (PHP settings leak between Virtual Hosts in Apache 1.3).
(Scott, manuel at mausz dot at)
- Fixed bug #41608 (segfault on a weird code with objects and switch()).
(Tony)
- Fixed bug #41600 (url rewriter tags doesn't work with namespaced tags).
(Ilia)
- Fixed bug #41596 (Fixed a crash inside pdo_pgsql on some non-well-formed
SQL queries). (Ilia)
- Fixed bug #41594 (OCI8 statement cache is flushed too frequently). (Tony)
- Fixed bug #41582 (SimpleXML crashes when accessing newly created element).
(Tony)
- Fixed bug #41576 (configure failure when using --without-apxs or some other
SAPIs disabling options). (Jani)
- Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP).
(Lucas, Ilia)
- Fixed bug #41566 (SOAP Server not properly generating href attributes).
(Dmitry)
- Fixed bug #41555 (configure failure: regression caused by fix for #41265).
(Jani)
- Fixed bug #41527 (WDDX deserialize numeric string array key).
(Matt, Ilia)
- Fixed bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30).
(Derick)
- Fixed bug #41518 (file_exists() warns of open_basedir restriction on
non-existent file). (Tony)
- Fixed bug #41445 (parse_ini_file() has a problem with certain types of
integer as sections). (Tony)
- Fixed bug #41433 (DBA: configure fails to include correct db.h for db4).
(Jani)
- Fixed bug #41372 (Internal pointer of source array resets during array
copying). (Dmitry)
- Fixed bug #41350 (my_thread_global_end() error during request shutdown on
Windows). (Scott, Andrey)
- Fixed bug #41278 (get_loaded_extensions() should list Zend extensions).
(Johannes)
- Fixed bug #41127 (Memory leak in ldap_{first|next}_attribute functions).
(Jani)
- Fixed bug #40757 (get_object_vars get nothing in child class). (Dmitry)
- Fixed bug #40705 (Iterating within function moves original array pointer).
(Dmitry)
- Fixed bug #40509 (key() function changed behaviour if global array is used
within function). (Dmitry)
- Fixed bug #40419 (Trailing slash in CGI request does not work). (Dmitry)
- Fixed bug #39330 (apache2handler does not call shutdown actions before
apache child die). (isk at ecommerce dot com, Gopal, Tony)
- Fixed bug #39291 (ldap_sasl_bind() misses the sasl_authc_id parameter).
(diafour at gmail dot com, Jani)
- Fixed bug #37715 (array pointers resetting on copy). (Dmitry)
- Fixed bug #37273 (Symlinks and mod_files session handler allow open_basedir
bypass). (Ilia)
- Fixed bug #36492 (Userfilters can leak buckets). (Sara)
- Fixed bugs #36796, #36918, #41371 (stream_set_blocking() does not work).
(Jani)
- Fixed bug #35981 (pdo-pgsql should not use pkg-config when not present).
(Jani)
- Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning on
screws up PATH_INFO). (Dmitry)
- Fixed bug #21197 (socket_read() outputs error with PHP_NORMAL_READ).
(Nuno, Jani)
31 May 2007, PHP 5.2.3
- Changed CGI install target to php-cgi and 'make install' to install CLI
when CGI is selected. (Jani)
- Changed JSON maximum nesting depth from 20 to 128. (Rasmus)
- Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
- Optimized out a couple of per-request syscalls. (Rasmus)
- Optimized digest generation in md5() and sha1() functions. (Ilia)
- Upgraded bundled SQLite 3 to version 3.3.17. (Ilia)
- Added "max_input_nesting_level" php.ini option to limit nesting level of
input variables. Fix for MOPB-03-2007. (Stas)
- Added a 4th parameter flag to htmlspecialchars() and htmlentities() that
makes the function not encode existing html entities. (Ilia)
- Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into
an associated array. (Ilia)
- Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara)
- Added --ini switch to CLI that prints out configuration file names. (Marcus)
- Added mysql_set_charset() to allow runtime altering of connection encoding.
(Scott)
- Implemented FR #41416 (getColumnMeta() should also return table name). (Tony)
- Fixed an integer overflow inside chunk_split(). Identified by Gerhard Wagner.
(Ilia)
- Fixed SOAP extension's handler() to work even when
"always_populate_raw_post_data" is off. (Ilia)
- Fixed possible infinite loop in imagecreatefrompng. (libgd #86)
(by Xavier Roche, CVE-2007-2756). (Pierre)
- Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser).
(Ilia)
- Fixed altering $this via argument named "this". (Dmitry)
- Fixed PHP CLI usage of php.ini from the binary location. (Hannes)
- Fixed segfault in strripos(). (Tony, Joxean Koret)
- Fixed bug #41693 (scandir() allows empty directory names). (Ilia)
- Fixed bug #41673 (json_encode breaks large numbers in arrays). (Ilia)
- Fixed bug #41525 (ReflectionParameter::getPosition() not available). (Marcus)
- Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c). (Jani)
- Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty
string keys). (Ilia)
- Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). (Ilia)
- Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). (Ilia)
- Fixed bug #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS).
(mmarek at suse dot cz, Tony)
- Fixed bug #41442 (imagegd2() under output control). (Tony)
- Fixed bug #41430 (Fatal error with negative values of maxlen parameter of
file_get_contents()). (Tony)
- Fixed bug #41423 (PHP assumes wrongly that certain ciphers are enabled in
OpenSSL). (Pierre)
- Fixed bug #41421 (Uncaught exception from a stream wrapper segfaults).
(Tony, Dmitry)
- Fixed bug #41403 (json_decode cannot decode floats if localeconv
decimal_point is not '.'). (Tony)
- Fixed bug #41401 (wrong unary operator precedence). (Stas)
- Fixed bug #41394 (dbase_create creates file with corrupted header). (Tony)
- Fixed bug #41390 (Clarify error message with invalid protocol scheme).
(Scott)
- Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in
"Status:" header). (anight at eyelinkmedia dot com, Dmitry)
- Fixed bug #41374 (whole text concats values of wrong nodes). (Rob)
- Fixed bug #41358 (configure cannot determine SSL lib with libcurl >= 7.16.2).
(Mike)
- Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). (Ilia)
- Fixed bug #41351 (Invalid opcode with foreach ($a[] as $b)). (Dmitry, Tony)
- Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott)
- Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry)
- Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns])
(Pierre)
- Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE).
(Ilia)
- Fixed bug #41304 (compress.zlib temp files left). (Dmitry)
- Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no
default post handler). (Ilia)
- Fixed bug #41291 (FastCGI does not set SO_REUSEADDR).
(fmajid at kefta dot com, Dmitry)
- Fixed gd build when used with freetype 1.x (Pierre, Tony)
- Fixed bug #41287 (Namespace functions don't allow xmlns definition to be
optional). (Rob)
- Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled
sqlite2 lib). (Ilia)
- Fixed bug #41283 (Bug with deserializing array key that are doubles or
floats in wddx). (Ilia)
- Fixed bug #41257 (lookupNamespaceURI does not work as expected). (Rob)
- Fixed bug #41236 (Regression in timeout handling of non-blocking SSL
connections during reads and writes). (Ilia)
- Fixed bug #41134 (zend_ts_hash_clean not thread-safe).
(marco dot cova at gmail dot com, Tony)
- Fixed bug #41097 (ext/soap returning associative array as indexed without
using WSDL). (Dmitry)
- Fixed bug #41004 (minOccurs="0" and null class member variable). (Dmitry)
- Fixed bug #39542 (Behavior of require/include different to < 5.2.0).
(Dmitry)
03 May 2007, PHP 5.2.2
- Improved bundled GD
. Sync to 2.0.35
. Added imagegrabwindow and imagegrabscreen, capture a screen or a
window using its handle (Pierre)
. colors allocated henceforth from the resulting image overwrite the palette
colors (Rob Leslie)
. Improved thread safety of the gif support (Roman Nemecek, Nuno, Pierre)
. Use the dimension of the GIF frame to create the destination image (Pierre)
. Load only once the local color map from a GIF data (Pierre)
. Improved thread safety of the freetype cache (Scott MacVicar, Nuno, Pierre)
. imagearc huge CPU usage with large angles, libgd bug #74 (Pierre)
- Improved FastCGI SAPI to support external pipe and socket servers on win32.
(Dmitry)
- Improved Zend Memory Manager
. guarantee of reasonable time for worst cases of best-fit free block
searching algorithm. (Dmitry)
. better cache usage and less fragmentation on erealloc() (Tony, Dmitry)
- Improved SPL (Marcus)
. Added SplFileInfo::getBasename(), DirectoryIterator::getBasename().
. Added SplFileInfo::getLinkTarget(), SplFileInfo::getRealPath().
. Made RecursiveFilterIterator::accept() abstract as stated in documentation.
- Improved SOAP
. Added ability to encode arrays with "SOAP-ENC:Array" type instead of WSDL
type. To activate the ability use "feature"=>SOAP_USE_XSI_ARRAY_TYPE
option in SoapClient/SoapServer constructors. (Rob, Dmitry)
- Added GMP_VERSION constant. (Tony)
- Fixed commandline handling fro CLI and CGI. (Marcus, Johannes)
- Added --ri switch to CLI which allows to check extension information. (Marcus)
- Added tidyNode::getParent() method (John, Nuno)
- Added openbasedir and safemode checks in zip:// stream wrapper and
ZipArchive::open (Pierre)
- Added php_pdo_sqlite_external.dll, a version of the PDO SQLite driver that
links against an external sqlite3.dll. This provides Windows users to upgrade
their sqlite3 version outside of the PHP release cycle. (Wez, Edin)
- Added linenumbers to array returned by token_get_all(). (Johannes)
- Upgraded SQLite 3 to version 3.3.16 (Ilia)
- Upgraded libraries bundled in the Windows distribution. (Edin)
. c-client (imap) to version 2006e
. libpq (PostgreSQL) to version 8.2.3
. libmysql (MySQL) to version 5.0.37
. openssl to version 0.9.8e
- Upgraded PCRE to version 7.0 (Nuno)
- Updated timezone database to version 2007.5. (Derick)
- Fixed commandline handling for CLI and CGI. (Marcus, Johannes)
- Fixed iterator_apply() with a callback using __call(). (Johannes)
- Fixed possible multi bytes issues in openssl csr parser (Pierre)
- Fixed shmop_open() with IPC_CREAT|IPC_EXCL flags on Windows.
(Vladimir Kamaev, Tony).
- Fixed possible leak in ZipArchive::extractTo when safemode checks fails (Ilia)
- Fixed possible relative path issues in zip_open and TS mode (old API) (Pierre)
- Fixed zend_llist_remove_tail (Michael Wallner, Dmitry)
- Fixed a thread safety issue in gd gif read code (Nuno, Roman Nemecek)
- Fixed CVE-2007-1001, GD wbmp used with invalid image size (Pierre)
- Fixed unallocated memory access/double free in in array_user_key_compare()
(MOPB-24 by Stefan Esser) (Stas)
- Fixed wrong length calculation in unserialize S type
(MOPB-29 by Stefan Esser) (Stas)
- Fixed bug #41215 (setAttribute return code reversed). (Ilia)
- Fixed bug #41192 (Per Directory Values only work for one key). (Dmitry)
- Fixed bug #41175 (addAttribute() fails to add an attribute with an empty
value). (Ilia)
- Fixed bug #41159 (mysql_pconnect() hash does not account for connect
@@ -24,79 +554,20 @@ PHP NEWS
- Fixed bug #41063 (chdir doesn't like root paths). (Dmitry)
- Fixed bug #41061 ("visibility error" in ReflectionFunction::export()).
(Johannes)
- Fixed bug #41034 (json_encode() ignores null byte started keys in arrays).
(Ilia)
- Fixed bug #40935 (pdo_mysql does not raise an exception on empty
fetchAll()). (Ilia)
- Fixed bug #40861 (strtotime() doesn't handle double negative relative time
units correctly). (Derick)
- Fixed bug #40290 (strtotime() returns unexpected result with particular
timezone offset). (Derick)
- Fixed bug #39965 (Latitude and longitude are backwards in date_sun_info()).
(Derick)
- Fixed bug #39416 (Milliseconds in date()). (Derick)
10 Apr 2007, PHP 5.2.2RC1
- Improved bundled GD
. Sync to 2.0.35
. Added imagegrabwindow and imagegrabscreen, capture a screen or a
window using its handle (Pierre)
. colors allocated henceforth from the resulting image overwrite the palette
colors (Rob Leslie)
. Improved thread safety of the gif support (Roman Nemecek, Nuno, Pierre)
. Use the dimension of the GIF frame to create the destination image (Pierre)
. Load only once the local color map from a GIF data (Pierre)
. Improved thread safety of the freetype cache (Scott MacVicar, Nuno, Pierre)
. imagearc huge CPU usage with large angles, libgd bug #74 (Pierre)
- Upgraded libraries bundled in the Windows distribution. (Edin)
. c-client (imap) to version 2006e
. libpq (PostgreSQL) to version 8.2.3
. libmysql (MySQL) to version 5.0.37
. openssl to version 0.9.8e
- Upgraded PCRE to version 7.0 (Nuno)
- Updated timezone database to version 2007.3. (Derick)
- Improved FastCGI SAPI to support external pipe and socket servers on win32.
(Dmitry)
- Improved Zend Memory Manager
. guarantee of reasonable time for worst cases of best-fit free block
searching algorithm. (Dmitry)
. better cache usage and less fragmentation on erealloc() (Tony, Dmitry)
- Improved SPL (Marcus)
. Added SplFileInfo::getBasename(), DirectoryIterator::getBasename().
. Added SplFileInfo::getLinkTarget(), SplFileInfo::getRealPath().
. Made RecursiveFilterIterator::accept() abstract as stated in documentation.
- Improved SOAP
. Added ability to encode arrays with "SOAP-ENC:Array" type instead of WSDL
type. To activate the ability use "feature"=>SOAP_USE_XSI_ARRAY_TYPE
option in SoapClient/SoapServer constructors. (Rob, Dmitry)
- Added --ri switch to CLI which allows to check extension information. (Marcus)
- Added tidyNode::getParent() method (John, Nuno)
- Added openbasedir and safemode checks in zip:// stream wrapper and
ZipArchive::open (Pierre)
- Added php_pdo_sqlite_external.dll, a version of the PDO SQLite driver that
links against an external sqlite3.dll. This provides Windows users to upgrade
their sqlite3 version outside of the PHP release cycle. (Wez, Edin)
- Added linenumbers to array returned by token_get_all(). (Johannes)
- Fixed possible multi bytes issues in openssl csr parser (Pierre)
- Fixed shmop_open() with IPC_CREAT|IPC_EXCL flags on Windows.
(Vladimir Kamaev, Tony).
- Fixed possible leak in ZipArchive::extractTo when safemode checks fails (Ilia)
- Fixed possible relative path issues in zip_open and TS mode (old API) (Pierre)
- Fixed zend_llist_remove_tail (Michael Wallner, Dmitry)
- Fixed a thread safety issue in gd gif read code (Nuno, Roman Nemecek)
- Fixed CVE-2007-1001, GD wbmp used with invalid image size (Pierre)
- Fixed bug #41043 (pdo_oci crash when freeing error text with persistent
connection). (Tony)
- Fixed bug #41037 (unregister_tick_function() inside the tick function crash PHP).
(Tony)
- Fixed bug #41034 (json_encode() ignores null byte started keys in arrays).
(Ilia)
- Fixed bug #41026 (segfault when calling "self::method()" in shutdown functions).
(Tony)
- Fixed bug #40999 (mcrypt_create_iv() not using random seed). (Ilia)
- Fixed bug #40998 (long session array keys are truncated). (Tony)
- Implement feature request #40947, allow a single filter as argument
for filter_var_array (Pierre)
- Fixed bug #40935 (pdo_mysql does not raise an exception on empty
fetchAll()). (Ilia)
- Fixed bug #40931 (open_basedir bypass via symlink and move_uploaded_file()).
(Tony)
- Fixed bug #40921 (php_default_post_reader crashes when post_max_size is
@@ -107,7 +578,8 @@ PHP NEWS
- Fixed bug #40883 (mysql_query() is allocating memory incorrectly). (Tony)
- Fixed bug #40872 (inconsistency in offsetSet, offsetExists treatment of
string enclosed integers). (Marcus)
- Fixed bug #40861 (Multiple +/- on relative units breaks strtotime()). (Ilia)
- Fixed bug #40861 (strtotime() doesn't handle double negative relative time
units correctly). (Derick, Ilia)
- Fixed bug #40854 (imap_mail_compose() creates an invalid terminator for
multipart e-mails). (Ilia)
- Fixed bug #40848 (sorting issue on 64-bit Solaris). (Wez)
@@ -182,14 +654,19 @@ PHP NEWS
(tuxracer69 at gmail dot com, Tony)
- Fixed bug #40371 (pg_client_encoding() not working on Windows). (Edin)
- Fixed bug #40352 (FCGI_WEB_SERVER_ADDRS function get lost). (Dmitry)
- Fixed bug #40290 (strtotime() returns unexpected result with particular
timezone offset). (Derick)
- Fixed bug #40286 (PHP fastcgi with PHP_FCGI_CHILDREN don't kill children when
parent is killed). (Dmitry)
- Fixed bug #40261 (Extremely slow data handling due to memory fragmentation).
(Dmitry)
- Fixed bug #40236 (php -a function allocation eats memory). (Dmitry)
- Fixed bug #40109 (iptcembed fails on non-jfif jpegs). (Tony)
- Fixed bug #39965 (Latitude and longitude are backwards in date_sun_info()).
(Derick)
- Implement #39867 (openssl PKCS#12 support) (Marc Delling, Pierre)
- Fixed bug #39836 (SplObjectStorage empty after unserialize). (Marcus)
- Fixed bug #39416 (Milliseconds in date()). (Derick)
- Fixed bug #39396 (stream_set_blocking crashes on Win32). (Ilia, maurice at
iceblog dot de)
- Fixed bug #39351 (relative include fails on Solaris). (Dmitry, Tony)
@@ -205,8 +682,6 @@ PHP NEWS
(jdolecek at netbsd dot org, Nuno)
- Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in
the callback). (Tony)
- Limit nesting level of input variables with max_input_nesting_level
as fix for MOPB-03-2007 (Stas)
- Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia)
- Fixed crash on op-assign where argument is string offset (Brian, Stas)
- Fixed bug #38710 (data leakage because of nonexisting boundary checking in
@@ -215,13 +690,10 @@ PHP NEWS
(Rob)
- Fixed bug #37013 (server hangs when returning circular object references).
(Dmitry)
- Fixed unallocated memory access/double free in in array_user_key_compare()
(MOPB-24 by Stefan Esser) (Stas)
- Fixed wrong length calculation in unserialize S type
(MOPB-29 by Stefan Esser) (Stas)
- Fixed bug #33664 Console window appears when using exec()
(Richard Quadling, Stas)
08 Feb 2007, PHP 5.2.1
- Added read-timeout context option "timeout" for HTTP streams. (Hannes, Ilia).
- Added CURLOPT_TCP_NODELAY constant to Curl extension. (Sara)
@@ -1156,7 +1628,7 @@ PHP NEWS
aborted" FastCGI err). (Dmitry)
- Fixed bug #37192 (cc may complain about non-constant initializers in
hash_adler.c). (Mike)
- Fixed bug #37191 (chmod takes off sticky bit when safe_mode is On). (Tony)
- Fixed bug #37191 (chmod takes off sticky bit when safe_mode is On). (Tony)
- Fixed bug #37167 (PDO segfaults when throwing exception from the
fetch handler). (Tony)
- Fixed bug #37162 (wddx does not build as a shared extension).
+6 -4
View File
@@ -39,9 +39,7 @@ HEAD Will become PHP 6.0. This CVS branch is for active development.
PHP_5_2 Is used to release the PHP 5.2.x series. Only minor feature
enhancements may go in here, but please keep that as infrequent as
possible.
PHP_5_1 Is used to release the PHP 5.1.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
PHP_5_0 This branch is closed.
PHP_5_1 This branch is closed.
PHP_4_4 Is used to release the PHP 4.4.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
PHP_4_3 This branch is closed.
@@ -100,9 +98,13 @@ For string.c:
The # lines will be omitted from the ChangeLog automagically.
Use the [DOC] tag in your log message whenever you feel that your changes
imply a documentation modification. The php-doc team will automatically
get notified about your commit through the php-doc mailing list.
If you fix some bugs, you should note the bug ID numbers in your
commit message. Bug ID should be prefixed by "#" for easier access to
bug report when developers are browsing CVS via. LXR or Bonsai.
bug report when developers are browsing CVS via LXR or Bonsai.
Example:
+1 -1
View File
@@ -70,7 +70,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsz",
/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
zend_class_entry my_ce;
zend_class_entry *my_ce;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
&obj, my_ce, &d) == FAILURE) {
return;
+15
View File
@@ -172,6 +172,21 @@ Items from the NEWS file explained
from your error handler in order to populate $php_errormsg. This allows
you to fine-grain the levels of the messages stored.
==============================
Regressions introduced/fixed
==============================
- In version 5.2.4 a security fix caused a regression for patterns of
the form "/foo/*/bar/*". Since version 5.2.5 instead of raising a warning the
glob() function will return false when openbase_dir restrictions are violated.
#See http://bugs.php.net/bug.php?id=41655
The warning that used to be raised looked like something as follows:
Warning: glob() [function.glob]: Unable to access /foo/*/bar/* in /foo.php on line xxx
#See http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dir.c?r1=1.169&r2=1.170
The patch can safely be applied to PHP 5.2.4 as well.
==============================
Backwards incompatible changes
-7
View File
@@ -96,13 +96,6 @@ ext/pcntl
* Remove all zend_extension code
* Add object callback support to pcntl_signal()
ext/pgsql
---------
For PHP 4.3.0:
* Add pg_metadata() with metadata cache feature.
* Add pg_convert() to check and convert array value for query.
* Add pg_insert/pg_update/pg_delete/pg_select for simple query.
ext/session
-----------
For PHP 4.3.0:
+135 -61
View File
@@ -136,7 +136,7 @@ static int php_check_dots(const char *element, int n)
free((s)->cwd);
#ifdef TSRM_WIN32
CWD_API int php_sys_stat(const char *path, struct stat *buf)
CWD_API int php_sys_stat(const char *path, struct stat *buf) /* {{{ */
{
WIN32_FILE_ATTRIBUTE_DATA data;
__int64 t;
@@ -215,9 +215,10 @@ CWD_API int php_sys_stat(const char *path, struct stat *buf)
buf->st_mtime = (unsigned long)((t / 10000000) - 11644473600);
return 0;
}
/* }}} */
#endif
static int php_is_dir_ok(const cwd_state *state)
static int php_is_dir_ok(const cwd_state *state) /* {{{ */
{
struct stat buf;
@@ -226,8 +227,9 @@ static int php_is_dir_ok(const cwd_state *state)
return (1);
}
/* }}} */
static int php_is_file_ok(const cwd_state *state)
static int php_is_file_ok(const cwd_state *state) /* {{{ */
{
struct stat buf;
@@ -236,8 +238,9 @@ static int php_is_file_ok(const cwd_state *state)
return (1);
}
/* }}} */
static void cwd_globals_ctor(virtual_cwd_globals *cwd_globals TSRMLS_DC)
static void cwd_globals_ctor(virtual_cwd_globals *cwd_globals TSRMLS_DC) /* {{{ */
{
CWD_STATE_COPY(&cwd_globals->cwd, &main_cwd_state);
cwd_globals->realpath_cache_size = 0;
@@ -245,14 +248,16 @@ static void cwd_globals_ctor(virtual_cwd_globals *cwd_globals TSRMLS_DC)
cwd_globals->realpath_cache_ttl = REALPATH_CACHE_TTL;
memset(cwd_globals->realpath_cache, 0, sizeof(cwd_globals->realpath_cache));
}
/* }}} */
static void cwd_globals_dtor(virtual_cwd_globals *cwd_globals TSRMLS_DC)
static void cwd_globals_dtor(virtual_cwd_globals *cwd_globals TSRMLS_DC) /* {{{ */
{
CWD_STATE_FREE(&cwd_globals->cwd);
realpath_cache_clean(TSRMLS_C);
}
/* }}} */
static char *tsrm_strndup(const char *s, size_t length)
static char *tsrm_strndup(const char *s, size_t length) /* {{{ */
{
char *p;
@@ -266,8 +271,9 @@ static char *tsrm_strndup(const char *s, size_t length)
p[length]=0;
return p;
}
/* }}} */
CWD_API void virtual_cwd_startup(void)
CWD_API void virtual_cwd_startup(void) /* {{{ */
{
char cwd[MAXPATHLEN];
char *result;
@@ -302,8 +308,9 @@ CWD_API void virtual_cwd_startup(void)
cwd_mutex = tsrm_mutex_alloc();
#endif
}
/* }}} */
CWD_API void virtual_cwd_shutdown(void)
CWD_API void virtual_cwd_shutdown(void) /* {{{ */
{
#ifndef ZTS
cwd_globals_dtor(&cwd_globals TSRMLS_CC);
@@ -314,8 +321,9 @@ CWD_API void virtual_cwd_shutdown(void)
free(main_cwd_state.cwd); /* Don't use CWD_STATE_FREE because the non global states will probably use emalloc()/efree() */
}
/* }}} */
CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC)
CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC) /* {{{ */
{
cwd_state *state;
@@ -347,10 +355,10 @@ CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC)
*length = state->cwd_length;
return strdup(state->cwd);
}
/* }}} */
/* Same semantics as UNIX getcwd() */
CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC)
CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC) /* {{{ */
{
size_t length;
char *cwd;
@@ -369,8 +377,9 @@ CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC)
free(cwd);
return buf;
}
/* }}} */
static inline unsigned long realpath_cache_key(const char *path, int path_len)
static inline unsigned long realpath_cache_key(const char *path, int path_len) /* {{{ */
{
register unsigned long h;
const char *e = path + path_len;
@@ -382,8 +391,9 @@ static inline unsigned long realpath_cache_key(const char *path, int path_len)
return h;
}
/* }}} */
CWD_API void realpath_cache_clean(TSRMLS_D)
CWD_API void realpath_cache_clean(TSRMLS_D) /* {{{ */
{
int i;
@@ -398,8 +408,9 @@ CWD_API void realpath_cache_clean(TSRMLS_D)
}
CWDG(realpath_cache_size) = 0;
}
/* }}} */
CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC)
CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC) /* {{{ */
{
unsigned long key = realpath_cache_key(path, path_len);
unsigned long n = key % (sizeof(CWDG(realpath_cache)) / sizeof(CWDG(realpath_cache)[0]));
@@ -418,8 +429,9 @@ CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC)
}
}
}
/* }}} */
static inline void realpath_cache_add(const char *path, int path_len, const char *realpath, int realpath_len, time_t t TSRMLS_DC)
static inline void realpath_cache_add(const char *path, int path_len, const char *realpath, int realpath_len, time_t t TSRMLS_DC) /* {{{ */
{
long size = sizeof(realpath_cache_bucket) + path_len + 1 + realpath_len + 1;
if (CWDG(realpath_cache_size) + size <= CWDG(realpath_cache_size_limit)) {
@@ -440,8 +452,9 @@ static inline void realpath_cache_add(const char *path, int path_len, const char
CWDG(realpath_cache_size) += size;
}
}
/* }}} */
static inline realpath_cache_bucket* realpath_cache_find(const char *path, int path_len, time_t t TSRMLS_DC)
static inline realpath_cache_bucket* realpath_cache_find(const char *path, int path_len, time_t t TSRMLS_DC) /* {{{ */
{
unsigned long key = realpath_cache_key(path, path_len);
unsigned long n = key % (sizeof(CWDG(realpath_cache)) / sizeof(CWDG(realpath_cache)[0]));
@@ -462,11 +475,11 @@ static inline realpath_cache_bucket* realpath_cache_find(const char *path, int p
}
return NULL;
}
/* }}} */
/* Resolve path relatively to state and put the real path into state */
/* returns 0 for ok, 1 for error */
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath)
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath) /* {{{ */
{
int path_length = strlen(path);
cwd_state old_state;
@@ -476,12 +489,15 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
int ret;
int use_cache;
int use_relative_path = 0;
#ifdef TSRM_WIN32
int is_unc;
#endif
TSRMLS_FETCH();
use_cache = ((use_realpath != CWD_EXPAND) && CWDG(realpath_cache_size_limit));
if (path_length == 0)
return (0);
return (1);
if (path_length >= MAXPATHLEN)
return (1);
@@ -518,7 +534,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
}
if (use_cache) {
t = CWDG(realpath_cache_ttl)?time(NULL):0;
t = CWDG(realpath_cache_ttl)?time(0):0;
if ((bucket = realpath_cache_find(path, path_length, t TSRMLS_CC)) != NULL) {
int len = bucket->realpath_len;
@@ -547,6 +563,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
}
goto no_realpath;
}
use_realpath = CWD_REALPATH;
CWD_STATE_COPY(&old_state, state);
state->cwd_length = strlen(resolved_path);
@@ -559,11 +576,15 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
char *ptr, *path_copy, *free_path;
char *tok;
int ptr_length;
#ifdef TSRM_WIN32
int is_unc;
#endif
no_realpath:
#ifdef TSRM_WIN32
if (memchr(path, '*', path_length) ||
memchr(path, '?', path_length)) {
return 1;
}
#endif
free_path = path_copy = tsrm_strndup(path, path_length);
CWD_STATE_COPY(&old_state, state);
@@ -691,6 +712,15 @@ no_realpath:
}
ptr = tsrm_strtok_r(NULL, TOKENIZER_STRING, &tok);
}
#if defined(TSRM_WIN32) || defined(NETWARE)
if (path[path_length-1] == '\\' || path[path_length-1] == '/') {
#else
if (path[path_length-1] == '/') {
#endif
state->cwd = (char*)realloc(state->cwd, state->cwd_length + 2);
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
state->cwd[state->cwd_length] = 0;
}
free(free_path);
@@ -708,7 +738,12 @@ no_realpath:
}
}
if (use_cache) {
/* Store existent file in realpath cache. */
#ifdef TSRM_WIN32
if (use_cache && !is_unc) {
#else
if (use_cache && (use_realpath == CWD_REALPATH)) {
#endif
realpath_cache_add(path, path_length, state->cwd, state->cwd_length, t TSRMLS_CC);
}
@@ -726,13 +761,15 @@ no_realpath:
#endif
return (ret);
}
/* }}} */
CWD_API int virtual_chdir(const char *path TSRMLS_DC)
CWD_API int virtual_chdir(const char *path TSRMLS_DC) /* {{{ */
{
return virtual_file_ex(&CWDG(cwd), path, php_is_dir_ok, CWD_REALPATH)?-1:0;
}
/* }}} */
CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC)
CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC) /* {{{ */
{
int length = strlen(path);
char *temp;
@@ -763,13 +800,29 @@ CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path
tsrm_free_alloca(temp);
return retval;
}
/* }}} */
CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC)
CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
char *retval;
char cwd[MAXPATHLEN];
CWD_STATE_COPY(&new_state, &CWDG(cwd));
/* realpath("") returns CWD */
if (!*path) {
new_state.cwd = (char*)malloc(1);
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
path = cwd;
}
} else if (!IS_ABSOLUTE_PATH(path, strlen(path))) {
CWD_STATE_COPY(&new_state, &CWDG(cwd));
} else {
new_state.cwd = (char*)malloc(1);
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
}
if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)==0) {
int len = new_state.cwd_length>MAXPATHLEN-1?MAXPATHLEN-1:new_state.cwd_length;
@@ -785,8 +838,9 @@ CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC)
return retval;
}
/* }}} */
CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path TSRMLS_DC)
CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int retval;
@@ -799,13 +853,15 @@ CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_f
return retval;
}
/* }}} */
CWD_API int virtual_filepath(const char *path, char **filepath TSRMLS_DC)
CWD_API int virtual_filepath(const char *path, char **filepath TSRMLS_DC) /* {{{ */
{
return virtual_filepath_ex(path, filepath, php_is_file_ok TSRMLS_CC);
}
/* }}} */
CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC)
CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
FILE *f;
@@ -825,8 +881,9 @@ CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return f;
}
/* }}} */
CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC)
CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int ret;
@@ -847,10 +904,10 @@ CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC)
return ret;
}
/* }}} */
#if HAVE_UTIME
CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC)
CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int ret;
@@ -866,9 +923,10 @@ CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return ret;
}
/* }}} */
#endif
CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC)
CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int ret;
@@ -884,9 +942,10 @@ CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return ret;
}
/* }}} */
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int link TSRMLS_DC)
CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int link TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int ret;
@@ -910,9 +969,10 @@ CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int li
CWD_STATE_FREE(&new_state);
return ret;
}
/* }}} */
#endif
CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...)
CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...) /* {{{ */
{
cwd_state new_state;
int f;
@@ -938,8 +998,9 @@ CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...)
CWD_STATE_FREE(&new_state);
return f;
}
/* }}} */
CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC)
CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int f;
@@ -955,22 +1016,23 @@ CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return f;
}
/* }}} */
CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC)
CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC) /* {{{ */
{
cwd_state old_state;
cwd_state new_state;
int retval;
CWD_STATE_COPY(&old_state, &CWDG(cwd));
if (virtual_file_ex(&old_state, oldname, NULL, CWD_REALPATH)) {
if (virtual_file_ex(&old_state, oldname, NULL, CWD_EXPAND)) {
CWD_STATE_FREE(&old_state);
return -1;
}
oldname = old_state.cwd;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, newname, NULL, CWD_FILEPATH)) {
if (virtual_file_ex(&new_state, newname, NULL, CWD_EXPAND)) {
CWD_STATE_FREE(&old_state);
CWD_STATE_FREE(&new_state);
return -1;
@@ -984,8 +1046,9 @@ CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC)
return retval;
}
/* }}} */
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC)
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int retval;
@@ -1001,15 +1064,16 @@ CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return retval;
}
/* }}} */
#if !defined(TSRM_WIN32)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) {
if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) {
CWD_STATE_FREE(&new_state);
return -1;
}
@@ -1019,9 +1083,10 @@ CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return retval;
}
/* }}} */
#endif
CWD_API int virtual_unlink(const char *path TSRMLS_DC)
CWD_API int virtual_unlink(const char *path TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int retval;
@@ -1037,8 +1102,9 @@ CWD_API int virtual_unlink(const char *path TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return retval;
}
/* }}} */
CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC)
CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int retval;
@@ -1057,8 +1123,9 @@ CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return retval;
}
/* }}} */
CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC)
CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int retval;
@@ -1074,12 +1141,13 @@ CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return retval;
}
/* }}} */
#ifdef TSRM_WIN32
DIR *opendir(const char *name);
#endif
CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC)
CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
DIR *retval;
@@ -1095,20 +1163,19 @@ CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return retval;
}
/* }}} */
#ifdef TSRM_WIN32
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC) /* {{{ */
{
return popen_ex(command, type, CWDG(cwd).cwd, NULL);
}
/* }}} */
#elif defined(NETWARE)
/* On NetWare, the trick of prepending "cd cwd; " doesn't work so we need to perform
a VCWD_CHDIR() and mutex it
*/
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC) /* {{{ */
{
char prev_cwd[MAXPATHLEN];
char *getcwd_result;
@@ -1133,10 +1200,9 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
return retval;
}
/* }}} */
#else /* Unix */
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC) /* {{{ */
{
int command_length;
int dir_length, extra = 0;
@@ -1193,15 +1259,23 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
free(command_line);
return retval;
}
/* }}} */
#endif
CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC)
CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
char cwd[MAXPATHLEN];
if (!IS_ABSOLUTE_PATH(path, strlen(path)) &&
/* realpath("") returns CWD */
if (!*path) {
new_state.cwd = (char*)malloc(1);
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
path = cwd;
}
} else if (!IS_ABSOLUTE_PATH(path, strlen(path)) &&
VCWD_GETCWD(cwd, MAXPATHLEN)) {
new_state.cwd = strdup(cwd);
new_state.cwd_length = strlen(cwd);
@@ -1226,7 +1300,7 @@ CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC)
return new_state.cwd;
}
}
/* }}} */
/*
* Local variables:
+28 -7
View File
@@ -1,13 +1,34 @@
The goal of the new memory manager (PHP 5.2 and later) is reducing memory allocation overhead and speedup memory management.
Zend Memory Manager
===================
The new manager's "configure" has no "--disable-zend-memory-manager" option, but it has "--enable-malloc-mm" instead. It is enabled by default in DEBUG build and disabled by default in RELEASE built. It allows select malloc/emalloc at runtime. So you can use internal and external memory debuggers without recompilation.
General:
--------
$ sapi/cli/php -r 'leak();'
The goal of the new memory manager (available since PHP 5.2) is to reduce memory
allocation overhead and speedup memory management.
$ USE_ZEND_ALLOC=0 valgrind --leak-check=full -r 'leak();'
The new manager's "configure" has no "--disable-zend-memory-manager" option,
but it has "--enable-malloc-mm" instead. It is enabled by default in DEBUG
build and disabled by default in RELEASE build. when enabled it allows selecting
between malloc and emalloc at runtime so you can use internal and external memory
debuggers without recompilation.
The patch allows tweaking memory manager with ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment variables. Default values are "malloc" and "256K". Dependent on target system you can also use "mmap_anon", "mmap_zero"
and "win32" storage managers.
Debugging:
----------
$ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php
Normal:
$ sapi/cli/php -r 'leak();'
Zend MM disabled:
$ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'
Tweaking:
---------
The Zend MM can be tweaked using ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment
variables. Default values are "malloc" and "256K". Dependent on target system you
can also use "mmap_anon", "mmap_zero" and "win32" storage managers.
$ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php ..etc.
+8 -4
View File
@@ -10,9 +10,11 @@ var_dump(get_resource_type($fp));
fclose($fp);
var_dump(get_resource_type($fp));
var_dump(get_loaded_extensions(true));
var_dump(gettype(get_loaded_extensions()));
var_dump(count(get_loaded_extensions()));
var_dump(gettype(get_loaded_extensions(true)));
var_dump(count(get_loaded_extensions(true)));
var_dump(get_loaded_extensions(true, true));
define("USER_CONSTANT", "test");
@@ -50,11 +52,13 @@ Warning: Supplied argument is not a valid resource handle in %s on line %d
bool(false)
string(6) "stream"
string(7) "Unknown"
Warning: Wrong parameter count for get_loaded_extensions() in %s on line %d
NULL
string(5) "array"
int(%d)
string(5) "array"
int(%d)
Warning: get_loaded_extensions() expects at most 1 parameter, 2 given in %s on line %d
NULL
Warning: Wrong parameter count for get_defined_constants() in %s on line %d
NULL
+1332
View File
File diff suppressed because it is too large. Load diff
+31
View File
@@ -0,0 +1,31 @@
--TEST--
func_get_arg() invalid usage
--FILE--
<?php
var_dump(func_get_arg(1,2,3));
var_dump(func_get_arg(1));
var_dump(func_get_arg());
function bar() {
var_dump(func_get_arg(1));
}
function foo() {
bar(func_get_arg(1));
}
foo(1,2);
echo "Done\n";
?>
--EXPECTF--
bool(false)
Warning: func_get_arg(): Called from the global scope - no function context in %s on line %d
bool(false)
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Done
+73
View File
@@ -0,0 +1,73 @@
--TEST--
adding arrays
--FILE--
<?php
$a = array(1,2,3);
$b = array("str", "here");
$c = $a + $b;
var_dump($c);
$a = array(1,2,3);
$b = array(1,2,4);
$c = $a + $b;
var_dump($c);
$a = array("a"=>"aaa",2,3);
$b = array(1,2,"a"=>"bbbbbb");
$c = $a + $b;
var_dump($c);
$a += $b;
var_dump($c);
$a += $a;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
array(3) {
["a"]=>
string(3) "aaa"
[0]=>
int(2)
[1]=>
int(3)
}
array(3) {
["a"]=>
string(3) "aaa"
[0]=>
int(2)
[1]=>
int(3)
}
array(3) {
["a"]=>
string(3) "aaa"
[0]=>
int(2)
[1]=>
int(3)
}
Done
+19
View File
@@ -0,0 +1,19 @@
--TEST--
adding objects to arrays
--FILE--
<?php
$a = array(1,2,3);
$o = new stdclass;
$o->prop = "value";
$c = $a + $o;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Notice: Object of class stdClass could not be converted to int in %s on line %d
Fatal error: Unsupported operand types in %s on line %d
+19
View File
@@ -0,0 +1,19 @@
--TEST--
adding arrays to objects
--FILE--
<?php
$a = array(1,2,3);
$o = new stdclass;
$o->prop = "value";
$c = $o + $a;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Notice: Object of class stdClass could not be converted to int in %s on line %d
Fatal error: Unsupported operand types in %s on line %d
+14
View File
@@ -0,0 +1,14 @@
--TEST--
adding numbers to arrays
--FILE--
<?php
$a = array(1,2,3);
$c = $a + 5;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Fatal error: Unsupported operand types in %s on line %d
+22
View File
@@ -0,0 +1,22 @@
--TEST--
adding integers to doubles
--INI--
precision=14
--FILE--
<?php
$i = 75636;
$d = 2834681123.123123;
$c = $i + $d;
var_dump($c);
$c = $d + $i;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
float(2834756759.1231)
float(2834756759.1231)
Done
+49
View File
@@ -0,0 +1,49 @@
--TEST--
adding numbers to strings
--INI--
precision=14
--FILE--
<?php
$i = 75636;
$s1 = "this is a string";
$s2 = "876222numeric";
$s3 = "48474874";
$s4 = "25.68";
$c = $i + $s1;
var_dump($c);
$c = $i + $s2;
var_dump($c);
$c = $i + $s3;
var_dump($c);
$c = $i + $s4;
var_dump($c);
$c = $s1 + $i;
var_dump($c);
$c = $s2 + $i;
var_dump($c);
$c = $s3 + $i;
var_dump($c);
$c = $s4 + $i;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
int(75636)
int(951858)
int(48550510)
float(75661.68)
int(75636)
int(951858)
int(48550510)
float(75661.68)
Done
+16
View File
@@ -0,0 +1,16 @@
--TEST--
adding strings to arrays
--FILE--
<?php
$a = array(1,2,3);
$s1 = "some string";
$c = $a + $s1;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Fatal error: Unsupported operand types in %s on line %d
+39
View File
@@ -0,0 +1,39 @@
--TEST--
bitwise AND and strings
--FILE--
<?php
$s = "123";
$s1 = "234";
var_dump($s & $s1);
$s = "test";
$s1 = "some";
var_dump($s & $s1);
$s = "test long";
$s1 = "some";
var_dump($s & $s1);
$s = "test";
$s1 = "some long";
var_dump($s & $s1);
$s = "test";
$s &= "some long";
var_dump($s);
echo "Done\n";
?>
--EXPECTF--
string(3) "020"
string(4) "pead"
string(4) "pead"
string(4) "pead"
string(4) "pead"
Done
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Tests that array manipulation code is correctly dealing with copy on write and splitting on reference
--FILE--
<?php
$a=array();
$b=1;
$c=&$b;
$a[]=$b;
$b=2;
var_dump ($a);
?>
--EXPECT--
array(1) {
[0]=>
int(1)
}
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Tests that array unshift code is correctly dealing with copy on write and splitting on reference
--FILE--
<?php
$a=array();
$b=1;
$c=&$b;
array_unshift ($a,$b);
$b=2;
var_dump ($a);
?>
--EXPECT--
array(1) {
[0]=>
int(1)
}
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
bug #22725 (A derived class can call a parent's protected method that calls a private method)
Bug #22725 (A derived class can call a parent's protected method that calls a private method)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE--
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #27304
Bug #27304 (Static functions don't function properly)
--FILE--
<?php
+2 -2
View File
@@ -49,12 +49,12 @@ array(1) {
}
Base::__construct
array(3) {
["Baz"]=>
int(4)
["Foo"]=>
int(1)
["Bar"]=>
int(2)
["Baz"]=>
int(3)
}
Child::__construct
array(3) {
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #29104 Function declaration in method doesn't work
Bug #29104 (Function declaration in method doesn't work)
--FILE--
<?php
class A
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #29210 Function: is_callable - no support for private and protected classes
Bug #29210 (Function is_callable does not support private and protected methods)
--FILE--
<?php
class test_class {
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #30519 Interface not existing says Class not found
Bug #30519 (Interface not existing says Class not found)
--FILE--
<?php
class test implements a {
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #30702 cannot initialize class variable from class constant
Bug #30702 (cannot initialize class variable from class constant)
--FILE--
<?php
class foo {
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #30791 magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded
Bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded)
--FILE--
<?php
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #30889 Conflict between __get/__set and ++ operator
Bug #30889 (Conflict between __get/__set and ++ operator)
--FILE--
<?php
class overloaded
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #32296 get_class_methods output has changed between 5.0.2 and 5.0.3
Bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
--FILE--
<?php
abstract class space{
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #32427 Interfaces are not allowed 'static' access modifier
Bug #32427 (Interfaces are not allowed 'static' access modifier)
--FILE--
<?php
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #32660 Assignment by reference causes crash when field access is overloaded (__get)
Bug #32660 (Assignment by reference causes crash when field access is overloaded (__get))
--FILE--
<?php
class A
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #32674 exception in iterator causes crash
Bug #32674 (exception in iterator causes crash)
--FILE--
<?php
class collection implements Iterator {
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #32833 Invalid opcode
Bug #32833 (Invalid opcode with $a[] .= '')
--FILE--
<?php
$test = array();
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #33257 array_splice() inconsistent when passed function instead of variable
Bug #33257 (array_splice() inconsistent when passed function instead of variable)
--INI--
error_reporting=4095
--FILE--
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #34712 zend.ze1_compatibility_mode = on segfault
Bug #34712 (zend.ze1_compatibility_mode = on segfault)
--INI--
zend.ze1_compatibility_mode=1
error_reporting=4095
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #35437 Segfault or Invalid Opcode 137/1/4
Bug #35437 (Segfault or Invalid Opcode 137/1/4)
--FILE--
<?php
function err2exception($errno, $errstr)
+1 -3
View File
@@ -6,8 +6,6 @@ error_reporting=4095
<?php
$a = clone 0;
$a[0]->b = 0;
echo "ok\n";
?>
--EXPECTF--
Warning: __clone method called on non-object in %sbug36071.php on line 2
ok
Fatal error: __clone method called on non-object in %sbug36071.php on line 2
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Bug #37715 (array pointers resetting on copy)
--FILE--
<?php
$a = array(
'a' => array(
'A', 'B', 'C', 'D',
),
'b' => array(
'AA', 'BB', 'CC', 'DD',
),
);
// Set the pointer of $a to 'b' and the pointer of 'b' to 'CC'
reset($a);
next($a);
next($a['b']);
next($a['b']);
next($a['b']);
var_dump(key($a['b']));
foreach($a as $k => $d)
{
}
// Alternatively $c = $a; and foreachloop removal will cause identical results.
var_dump(key($a['b']));
--EXPECT--
int(3)
int(3)
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #37811 define not using toString on objects
Bug #37811 (define not using toString on objects)
--FILE--
<?php
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #38220 Crash on some object operations
Bug #38220 (Crash on some object operations)
--FILE--
<?php
class drv {
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #39542 (Behaviour of require_once/include_once different to < 5.2.0)
--FILE--
<?php
$oldcwd = getcwd();
chdir(dirname(__FILE__));
if (substr(PHP_OS, 0, 3) == 'WIN') {
set_include_path(dirname(__FILE__).'/bug39542;.');
} else {
set_include_path(dirname(__FILE__).'/bug39542:.');
}
function __autoload($class) {
if (!require_once($class.'.php')) {
error_log('Error: Autoload class: '.$class.' not found!');
}
}
new bug39542();
chdir($oldcwd);
?>
--EXPECT--
ok
+7
View File
@@ -0,0 +1,7 @@
<?php
class bug39542 {
function bug39542() {
echo "ok\n";
}
}
?>
+3
View File
@@ -1,7 +1,10 @@
--TEST--
Bug #40236 (php -a function allocation eats memory)
--SKIPIF--
<?php
if (php_sapi_name() != "cli") die("skip CLI only");
if (extension_loaded("readline")) die("skip Test doesn't support readline");
?>
--FILE--
<?php
$php = getenv('TEST_PHP_EXECUTABLE');
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #40509 (key() function changed behaviour if global array is used within function)
--FILE--
<?php
function foo()
{
global $arr;
$c = $arr["v"];
foreach ($c as $v) {}
}
$arr["v"] = array("a");
var_dump(key($arr["v"]));
foo();
var_dump(key($arr["v"]));
foreach ($arr["v"] as $k => $v) {
var_dump($k);
}
var_dump(key($arr["v"]));
--EXPECT--
int(0)
int(0)
int(0)
NULL
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #40705 (Iterating within function moves original array pointer)
--FILE--
<?php
function doForeach($array)
{
foreach ($array as $k => $v) {
// do stuff
}
}
$foo = array('foo', 'bar', 'baz');
var_dump(key($foo));
doForeach($foo);
var_dump(key($foo));
foreach ($foo as $k => $v) {
var_dump($k);
}
var_dump(key($foo));
--EXPECT--
int(0)
int(0)
int(0)
int(1)
int(2)
NULL
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #40757 (get_object_vars() get nothing in child class)
--FILE--
<?php
class Base {
private $p1='sadf';
function getFields($obj){
return get_object_vars($obj);
}
}
class Child extends Base { }
$base=new Base();
print_r($base->getFields(new Base()));
$child=new Child();
print_r($child->getFields(new Base()));
?>
--EXPECT--
Array
(
[p1] => sadf
)
Array
(
[p1] => sadf
)
+8 -1
View File
@@ -1,7 +1,14 @@
--TEST--
Bug #40770 Apache child exits when PHP memory limit reached
Bug #40770 (Apache child exits when PHP memory limit reached)
--INI--
memory_limit=8M
--SKIPIF--
<?php
$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
if ($zend_mm_enabled === "0") {
die("skip Zend MM disabled");
}
?>
--FILE--
<?php
ini_set('display_errors',true);
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #40809 Poor perfomance of ".="
Bug #40809 (Poor perfomance of ".=")
--FILE--
<?php
error_reporting(E_ALL|E_STRICT);
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #41075(memleak when creating default object caused exception)
Bug #41075 (memleak when creating default object caused exception)
--FILE--
<?php
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Bug #41117 (Altering $this via argument)
--FILE--
<?php
class foo {
function __construct($this) {
echo $this."\n";
}
}
$obj = new foo("Hello world");
?>
--EXPECTF--
Fatal error: Cannot re-assign $this in %sbug41117_1.php on line 3
+46
View File
@@ -0,0 +1,46 @@
--TEST--
Bug #41209 (Segmentation fault with ArrayAccess, set_error_handler and undefined var)
--FILE--
<?php
class env
{
public function __construct()
{
set_error_handler(array(__CLASS__, 'errorHandler'));
}
public static function errorHandler($errno, $errstr, $errfile, $errline)
{
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
}
class cache implements ArrayAccess
{
private $container = array();
public function offsetGet($id) {}
public function offsetSet($id, $value) {}
public function offsetUnset($id) {}
public function offsetExists($id)
{
return isset($this->containers[(string) $id]);
}
}
$env = new env();
$cache = new cache();
var_dump(isset($cache[$id]));
echo "Done\n";
?>
--EXPECTF--
Fatal error: Uncaught exception 'ErrorException' with message 'Undefined variable: id' in %s:%d
Stack trace:
#0 %s(%d): env::errorHandler()
#1 {main}
thrown in %s on line %d
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Bug #41351 (Invalid opcode with foreach ($a[] as $b))
--FILE--
<?php
$a = array();
foreach($a[] as $b) {
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s on line %d
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 2
--FILE--
<?php
$a = array();
foreach($a[]['test'] as $b) {
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s on line %d
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 3
--FILE--
<?php
$a = array();
foreach($a['test'][] as $b) {
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s on line %d
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Bug #41372 Internal pointer of source array resets during array copying
--FILE--
<?php
$Foo = array('val1', 'val2', 'val3');
end($Foo);
echo key($Foo),"\n";
$MagicInternalPointerResetter = $Foo;
echo key($Foo),"\n";
?>
--EXPECT--
2
2
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #41401 (wrong precedence for unary minus)
--FILE--
<?php
echo 1/-2*5;
echo "\n";
echo 6/+2*-3;
--EXPECT--
-2.5
-9
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Bug #41421 (Uncaught exception from a stream wrapper segfaults)
--FILE--
<?php
class wrapper {
function stream_open() {
return true;
}
function stream_eof() {
throw new exception();
}
}
stream_wrapper_register("wrap", "wrapper");
$fp = fopen("wrap://...", "r");
feof($fp);
echo "Done\n";
?>
--EXPECTF--
Warning: feof(): wrapper::stream_eof is not implemented! Assuming EOF in %s on line %d
Fatal error: Uncaught exception 'Exception' in %s:%d
Stack trace:
#0 [internal function]: wrapper->stream_eof()
#1 %s(%d): feof(Resource id #6)
#2 {main}
thrown in %s on line %d
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #41633.1 (self:: doesn't work for constants)
--FILE--
<?php
class Foo {
const A = self::B;
const B = "ok";
}
echo Foo::A."\n";
?>
--EXPECT--
ok
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #41633.2 (Undefined class constants must not be substituted by strings)
--FILE--
<?php
class Foo {
const A = self::B;
}
echo Foo::A."\n";
?>
--EXPECTF--
Fatal error: Undefined class constant 'self::B' in %sbug41633_2.php on line 5
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #41633.3 (Crash instantiating classes with self-referencing constants)
--FILE--
<?php
class Foo {
const A = Foo::B;
const B = Foo::A;
}
echo Foo::A;
?>
--EXPECTF--
Fatal error: Cannot declare self-referencing constant 'Foo::B' in %sbug41633_3.php on line %d
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #41633.4 (self:: doesn't work for constants)
--FILE--
<?php
class Foo {
const A = self::B;
const B = "ok";
}
var_dump(defined("Foo::A"));
?>
--EXPECT--
bool(true)
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #41640 (get_class_vars produces error on class constants)
--FILE--
<?php
class foo {
const FOO = 1;
public $x = self::FOO;
}
var_dump(get_class_vars("foo"));
--EXPECT--
array(1) {
["x"]=>
int(1)
}
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #41813 (segmentation fault when using string offset as an object)
--FILE--
<?php
$foo = "50";
$foo[0]->bar = "xyz";
echo "Done\n";
?>
--EXPECTF--
Fatal error: Cannot use string offset as an array in %s on line %d
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #41919 (crash in string to array conversion)
--FILE--
<?php
$foo="50";
$foo[3]->bar[1] = "bang";
echo "ok\n";
?>
--EXPECTF--
Warning: Cannot use string offset as an array in %s/bug41919.php on line %d
ok
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #41929 (Foreach on object does not iterate over all visible properties)
--FILE--
<?php
class C {
private $priv = "ok";
function doLoop() {
echo $this->priv,"\n";
foreach ($this as $k=>$v) {
echo "$k: $v\n";
}
}
}
class D extends C {
}
$myD = new D;
$myD->doLoop();
?>
--EXPECT--
ok
priv: ok
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Bug #41961 (Ensure search for hidden private methods does not stray from class hierarchy)
--FILE--
<?php
X::test();
/** Class X is related to neither ParentClass nor ChildClass. */
class X {
public static function test() {
$myChild = new ChildClass;
$myChild->secret(); // bug - invokes X::secret() instead of ChildClass::secret()
}
private function secret() {
echo "Called private " . __METHOD__ . "() on an instance of: " . get_class($this) . "\n";
}
}
class ParentClass {
private function secret() { }
}
class ChildClass extends ParentClass {
public function secret() {
echo "Called public " . __METHOD__ . "() on an instance of: " . get_class($this) . "\n";
}
}
?>
--EXPECT--
Called public ChildClass::secret() on an instance of: ChildClass
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #42119 (array_push($arr,&$obj) doesn't work with zend.ze1_compatibility_mode On)
--INI--
allow_call_time_pass_reference=1
zend.ze1_compatibility_mode=1
--FILE--
<?php
class myclass {
var $item = 1;
}
$arr = array();
@$myobj = new myclass();
array_push($arr,&$myobj);
$myobj->item = 2;
echo $arr[0]->item,"\n";
?>
--EXPECT--
2
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #42211 (property_exists() fails to find protected properties from a parent class)
--FILE--
<?php
class A {
function foo() {
var_dump(property_exists('B', 'publicBar'));
var_dump(property_exists('B', 'protectedBar'));
var_dump(property_exists('B', 'privateBar'));
}
}
class B extends A {
static public $publicBar = "ok";
static protected $protectedBar = "ok";
static private $privateBar = "fail";
}
$a = new A();
$a->foo();
$b = new B();
$b->foo();
--EXPECT--
bool(true)
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #42767 (highlight_string() truncates trailing comments)
--FILE--
<?php
highlight_string('<?php /*some comment..');
?>
--EXPECT--
<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #FF8000">/*some&nbsp;comment..</span>
</span>
</code>
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #42772 (Storing $this in a static var fails while handling a cast to string)
--FILE--
<?php
class Foo {
static public $foo;
function __toString() {
self::$foo = $this;
return 'foo';
}
}
$foo = (string)new Foo();
var_dump(Foo::$foo);
?>
--EXPECT--
object(Foo)#1 (0) {
}
+9
View File
@@ -0,0 +1,9 @@
--TEST--
Bug #42817 (clone() on a non-object does not result in a fatal error)
--FILE--
<?php
$a = clone(null);
array_push($a->b, $c);
?>
--EXPECTF--
Fatal error: __clone method called on non-object in %sbug42817.php on line 2
+9
View File
@@ -0,0 +1,9 @@
--TEST--
Bug #42818 ($foo = clone(array()); leaks memory)
--FILE--
<?php
$foo = clone(array());
?>
--EXPECTF--
Fatal error: __clone method called on non-object in %sbug42818.php on line 2
Binary file not shown.
+53
View File
@@ -0,0 +1,53 @@
--TEST--
casting different variables to boolean
--FILE--
<?php
$r = fopen(__FILE__, "r");
class test {
function __toString() {
return "10";
}
}
$o = new test;
$vars = array(
"string",
"8754456",
"",
"\0",
9876545,
0.10,
array(),
array(1,2,3),
false,
true,
NULL,
$r,
$o
);
foreach ($vars as $var) {
$tmp = (bool)$var;
var_dump($tmp);
}
echo "Done\n";
?>
--EXPECTF--
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(true)
Done
+57
View File
@@ -0,0 +1,57 @@
--TEST--
casting different variables to double
--INI--
precision=14
--FILE--
<?php
$r = fopen(__FILE__, "r");
class test {
function __toString() {
return "10";
}
}
$o = new test;
$vars = array(
"string",
"8754456",
"",
"\0",
9876545,
0.10,
array(),
array(1,2,3),
false,
true,
NULL,
$r,
$o
);
foreach ($vars as $var) {
$tmp = (double)$var;
var_dump($tmp);
}
echo "Done\n";
?>
--EXPECTF--
float(0)
float(8754456)
float(0)
float(0)
float(9876545)
float(0.1)
float(0)
float(1)
float(0)
float(1)
float(0)
float(%d)
Notice: Object of class test could not be converted to double in %s on line %d
float(1)
Done
+55
View File
@@ -0,0 +1,55 @@
--TEST--
casting different variables to integer
--FILE--
<?php
$r = fopen(__FILE__, "r");
class test {
function __toString() {
return "10";
}
}
$o = new test;
$vars = array(
"string",
"8754456",
"",
"\0",
9876545,
0.10,
array(),
array(1,2,3),
false,
true,
NULL,
$r,
$o
);
foreach ($vars as $var) {
$tmp = (int)$var;
var_dump($tmp);
}
echo "Done\n";
?>
--EXPECTF--
int(0)
int(8754456)
int(0)
int(0)
int(9876545)
int(0)
int(0)
int(1)
int(0)
int(1)
int(0)
int(%d)
Notice: Object of class test could not be converted to int in %s on line %d
int(1)
Done
Binary file not shown.
Binary file not shown.
+22
View File
@@ -0,0 +1,22 @@
--TEST--
class constants basic tests
--FILE--
<?php
class test {
const val = "string";
const val2 = 1;
}
var_dump(test::val);
var_dump(test::val2);
var_dump(test::val3);
echo "Done\n";
?>
--EXPECTF--
string(6) "string"
int(1)
Fatal error: Undefined class constant 'val3' in %s on line %d
+31
View File
@@ -0,0 +1,31 @@
--TEST--
class constants as default function arguments
--FILE--
<?php
class test {
const val = 1;
}
function foo($v = test::val) {
var_dump($v);
}
function bar($b = NoSuchClass::val) {
var_dump($b);
}
foo();
foo(5);
bar(10);
bar();
echo "Done\n";
?>
--EXPECTF--
int(1)
int(5)
int(10)
Fatal error: Class 'NoSuchClass' not found in %s on line %d
+33
View File
@@ -0,0 +1,33 @@
--TEST--
class constants as default function arguments and dynamically loaded classes
--FILE--
<?php
$class_data = <<<DATA
<?php
class test {
const val = 1;
}
?>
DATA;
$filename = dirname(__FILE__)."/cc003.dat";
file_put_contents($filename, $class_data);
function foo($v = test::val) {
var_dump($v);
}
include $filename;
foo();
foo(5);
unlink($filename);
echo "Done\n";
?>
--EXPECTF--
int(1)
int(5)
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables for equality
--SKIPIF--
<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var == $a[$i]) ? " == " : " != ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#1 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#2 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#3 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-2147483648)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(11) "-2147483648"
string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" == string(0) ""
string(0) "" != int(1)
string(0) "" != float(2.5)
string(0) "" == int(0)
string(0) "" != string(6) "string"
string(0) "" != string(3) "123"
string(0) "" != string(3) "2.5"
string(0) "" == NULL
string(0) "" != bool(true)
string(0) "" == bool(false)
string(0) "" != object(stdClass)#1 (0) {}
string(0) "" != object(stdClass)#2 (0) {}
string(0) "" != object(test)#3 (0) {}
string(0) "" != array(0) {}
string(0) "" != int(-2147483648)
string(0) "" != string(11) "-2147483648"
int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) != string(0) ""
int(1) == int(1)
int(1) != float(2.5)
int(1) != int(0)
int(1) != string(6) "string"
int(1) != string(3) "123"
int(1) != string(3) "2.5"
int(1) != NULL
int(1) == bool(true)
int(1) != bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
== object(stdClass)#1 (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
== object(stdClass)#2 (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
== object(test)#3 (0) {}
int(1) != array(0) {}
int(1) != int(-2147483648)
int(1) != string(11) "-2147483648"
float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) != string(0) ""
float(2.5) != int(1)
float(2.5) == float(2.5)
float(2.5) != int(0)
float(2.5) != string(6) "string"
float(2.5) != string(3) "123"
float(2.5) == string(3) "2.5"
float(2.5) != NULL
float(2.5) == bool(true)
float(2.5) != bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= object(stdClass)#1 (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= object(stdClass)#2 (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
!= object(test)#3 (0) {}
float(2.5) != array(0) {}
float(2.5) != int(-2147483648)
float(2.5) != string(11) "-2147483648"
int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) == string(0) ""
int(0) != int(1)
int(0) != float(2.5)
int(0) == int(0)
int(0) == string(6) "string"
int(0) != string(3) "123"
int(0) != string(3) "2.5"
int(0) == NULL
int(0) != bool(true)
int(0) == bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#1 (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#2 (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
!= object(test)#3 (0) {}
int(0) != array(0) {}
int(0) != int(-2147483648)
int(0) != string(11) "-2147483648"
string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" != string(0) ""
string(6) "string" != int(1)
string(6) "string" != float(2.5)
string(6) "string" == int(0)
string(6) "string" == string(6) "string"
string(6) "string" != string(3) "123"
string(6) "string" != string(3) "2.5"
string(6) "string" != NULL
string(6) "string" == bool(true)
string(6) "string" != bool(false)
string(6) "string" != object(stdClass)#1 (0) {}
string(6) "string" != object(stdClass)#2 (0) {}
string(6) "string" != object(test)#3 (0) {}
string(6) "string" != array(0) {}
string(6) "string" != int(-2147483648)
string(6) "string" != string(11) "-2147483648"
string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" != string(0) ""
string(3) "123" != int(1)
string(3) "123" != float(2.5)
string(3) "123" != int(0)
string(3) "123" != string(6) "string"
string(3) "123" == string(3) "123"
string(3) "123" != string(3) "2.5"
string(3) "123" != NULL
string(3) "123" == bool(true)
string(3) "123" != bool(false)
string(3) "123" != object(stdClass)#1 (0) {}
string(3) "123" != object(stdClass)#2 (0) {}
string(3) "123" != object(test)#3 (0) {}
string(3) "123" != array(0) {}
string(3) "123" != int(-2147483648)
string(3) "123" != string(11) "-2147483648"
string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" != string(0) ""
string(3) "2.5" != int(1)
string(3) "2.5" == float(2.5)
string(3) "2.5" != int(0)
string(3) "2.5" != string(6) "string"
string(3) "2.5" != string(3) "123"
string(3) "2.5" == string(3) "2.5"
string(3) "2.5" != NULL
string(3) "2.5" == bool(true)
string(3) "2.5" != bool(false)
string(3) "2.5" != object(stdClass)#1 (0) {}
string(3) "2.5" != object(stdClass)#2 (0) {}
string(3) "2.5" != object(test)#3 (0) {}
string(3) "2.5" != array(0) {}
string(3) "2.5" != int(-2147483648)
string(3) "2.5" != string(11) "-2147483648"
NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL == string(0) ""
NULL != int(1)
NULL != float(2.5)
NULL == int(0)
NULL != string(6) "string"
NULL != string(3) "123"
NULL != string(3) "2.5"
NULL == NULL
NULL != bool(true)
NULL == bool(false)
NULL != object(stdClass)#1 (0) {}
NULL != object(stdClass)#2 (0) {}
NULL != object(test)#3 (0) {}
NULL == array(0) {}
NULL != int(-2147483648)
NULL != string(11) "-2147483648"
bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) != string(0) ""
bool(true) == int(1)
bool(true) == float(2.5)
bool(true) != int(0)
bool(true) == string(6) "string"
bool(true) == string(3) "123"
bool(true) == string(3) "2.5"
bool(true) != NULL
bool(true) == bool(true)
bool(true) != bool(false)
bool(true) == object(stdClass)#1 (0) {}
bool(true) == object(stdClass)#2 (0) {}
bool(true) == object(test)#3 (0) {}
bool(true) != array(0) {}
bool(true) == int(-2147483648)
bool(true) == string(11) "-2147483648"
bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) == string(0) ""
bool(false) != int(1)
bool(false) != float(2.5)
bool(false) == int(0)
bool(false) != string(6) "string"
bool(false) != string(3) "123"
bool(false) != string(3) "2.5"
bool(false) == NULL
bool(false) != bool(true)
bool(false) == bool(false)
bool(false) != object(stdClass)#1 (0) {}
bool(false) != object(stdClass)#2 (0) {}
bool(false) != object(test)#3 (0) {}
bool(false) == array(0) {}
bool(false) != int(-2147483648)
bool(false) != string(11) "-2147483648"
object(stdClass)#1 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#1 (0) {} != string(0) ""
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
== int(1)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= float(2.5)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(0)
object(stdClass)#1 (0) {} != string(6) "string"
object(stdClass)#1 (0) {} != string(3) "123"
object(stdClass)#1 (0) {} != string(3) "2.5"
object(stdClass)#1 (0) {} != NULL
object(stdClass)#1 (0) {} == bool(true)
object(stdClass)#1 (0) {} != bool(false)
object(stdClass)#1 (0) {} == object(stdClass)#1 (0) {}
object(stdClass)#1 (0) {} == object(stdClass)#2 (0) {}
object(stdClass)#1 (0) {} != object(test)#3 (0) {}
object(stdClass)#1 (0) {} != array(0) {}
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(-2147483648)
object(stdClass)#1 (0) {} != string(11) "-2147483648"
object(stdClass)#2 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#2 (0) {} != string(0) ""
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
== int(1)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= float(2.5)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(0)
object(stdClass)#2 (0) {} != string(6) "string"
object(stdClass)#2 (0) {} != string(3) "123"
object(stdClass)#2 (0) {} != string(3) "2.5"
object(stdClass)#2 (0) {} != NULL
object(stdClass)#2 (0) {} == bool(true)
object(stdClass)#2 (0) {} != bool(false)
object(stdClass)#2 (0) {} == object(stdClass)#1 (0) {}
object(stdClass)#2 (0) {} == object(stdClass)#2 (0) {}
object(stdClass)#2 (0) {} != object(test)#3 (0) {}
object(stdClass)#2 (0) {} != array(0) {}
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(-2147483648)
object(stdClass)#2 (0) {} != string(11) "-2147483648"
object(test)#3 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#3 (0) {} != string(0) ""
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
== int(1)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
!= float(2.5)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
!= int(0)
object(test)#3 (0) {} != string(6) "string"
object(test)#3 (0) {} != string(3) "123"
object(test)#3 (0) {} != string(3) "2.5"
object(test)#3 (0) {} != NULL
object(test)#3 (0) {} == bool(true)
object(test)#3 (0) {} != bool(false)
object(test)#3 (0) {} != object(stdClass)#1 (0) {}
object(test)#3 (0) {} != object(stdClass)#2 (0) {}
object(test)#3 (0) {} == object(test)#3 (0) {}
object(test)#3 (0) {} != array(0) {}
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
!= int(-2147483648)
object(test)#3 (0) {} != string(11) "-2147483648"
array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} != string(0) ""
array(0) {} != int(1)
array(0) {} != float(2.5)
array(0) {} != int(0)
array(0) {} != string(6) "string"
array(0) {} != string(3) "123"
array(0) {} != string(3) "2.5"
array(0) {} == NULL
array(0) {} != bool(true)
array(0) {} == bool(false)
array(0) {} != object(stdClass)#1 (0) {}
array(0) {} != object(stdClass)#2 (0) {}
array(0) {} != object(test)#3 (0) {}
array(0) {} == array(0) {}
array(0) {} != int(-2147483648)
array(0) {} != string(11) "-2147483648"
int(-2147483648) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) != string(0) ""
int(-2147483648) != int(1)
int(-2147483648) != float(2.5)
int(-2147483648) != int(0)
int(-2147483648) != string(6) "string"
int(-2147483648) != string(3) "123"
int(-2147483648) != string(3) "2.5"
int(-2147483648) != NULL
int(-2147483648) == bool(true)
int(-2147483648) != bool(false)
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#1 (0) {}
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#2 (0) {}
int(-2147483648)
Notice: Object of class test could not be converted to int in %s on line %d
!= object(test)#3 (0) {}
int(-2147483648) != array(0) {}
int(-2147483648) == int(-2147483648)
int(-2147483648) == string(11) "-2147483648"
string(11) "-2147483648" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(11) "-2147483648" != string(0) ""
string(11) "-2147483648" != int(1)
string(11) "-2147483648" != float(2.5)
string(11) "-2147483648" != int(0)
string(11) "-2147483648" != string(6) "string"
string(11) "-2147483648" != string(3) "123"
string(11) "-2147483648" != string(3) "2.5"
string(11) "-2147483648" != NULL
string(11) "-2147483648" == bool(true)
string(11) "-2147483648" != bool(false)
string(11) "-2147483648" != object(stdClass)#1 (0) {}
string(11) "-2147483648" != object(stdClass)#2 (0) {}
string(11) "-2147483648" != object(test)#3 (0) {}
string(11) "-2147483648" != array(0) {}
string(11) "-2147483648" == int(-2147483648)
string(11) "-2147483648" == string(11) "-2147483648"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables for equality
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var == $a[$i]) ? " == " : " != ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-9223372036854775808)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(20) "-9223372036854775808"
string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" == string(0) ""
string(0) "" != int(1)
string(0) "" != float(2.5)
string(0) "" == int(0)
string(0) "" != string(6) "string"
string(0) "" != string(3) "123"
string(0) "" != string(3) "2.5"
string(0) "" == NULL
string(0) "" != bool(true)
string(0) "" == bool(false)
string(0) "" != object(stdClass)#%d (0) {}
string(0) "" != object(stdClass)#%d (0) {}
string(0) "" != object(test)#%d (0) {}
string(0) "" != array(0) {}
string(0) "" != int(-9223372036854775808)
string(0) "" != string(20) "-9223372036854775808"
int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) != string(0) ""
int(1) == int(1)
int(1) != float(2.5)
int(1) != int(0)
int(1) != string(6) "string"
int(1) != string(3) "123"
int(1) != string(3) "2.5"
int(1) != NULL
int(1) == bool(true)
int(1) != bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
== object(stdClass)#%d (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
== object(stdClass)#%d (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
== object(test)#%d (0) {}
int(1) != array(0) {}
int(1) != int(-9223372036854775808)
int(1) != string(20) "-9223372036854775808"
float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) != string(0) ""
float(2.5) != int(1)
float(2.5) == float(2.5)
float(2.5) != int(0)
float(2.5) != string(6) "string"
float(2.5) != string(3) "123"
float(2.5) == string(3) "2.5"
float(2.5) != NULL
float(2.5) == bool(true)
float(2.5) != bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
!= object(test)#%d (0) {}
float(2.5) != array(0) {}
float(2.5) != int(-9223372036854775808)
float(2.5) != string(20) "-9223372036854775808"
int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) == string(0) ""
int(0) != int(1)
int(0) != float(2.5)
int(0) == int(0)
int(0) == string(6) "string"
int(0) != string(3) "123"
int(0) != string(3) "2.5"
int(0) == NULL
int(0) != bool(true)
int(0) == bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#%d (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#%d (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
!= object(test)#%d (0) {}
int(0) != array(0) {}
int(0) != int(-9223372036854775808)
int(0) != string(20) "-9223372036854775808"
string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" != string(0) ""
string(6) "string" != int(1)
string(6) "string" != float(2.5)
string(6) "string" == int(0)
string(6) "string" == string(6) "string"
string(6) "string" != string(3) "123"
string(6) "string" != string(3) "2.5"
string(6) "string" != NULL
string(6) "string" == bool(true)
string(6) "string" != bool(false)
string(6) "string" != object(stdClass)#%d (0) {}
string(6) "string" != object(stdClass)#%d (0) {}
string(6) "string" != object(test)#%d (0) {}
string(6) "string" != array(0) {}
string(6) "string" != int(-9223372036854775808)
string(6) "string" != string(20) "-9223372036854775808"
string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" != string(0) ""
string(3) "123" != int(1)
string(3) "123" != float(2.5)
string(3) "123" != int(0)
string(3) "123" != string(6) "string"
string(3) "123" == string(3) "123"
string(3) "123" != string(3) "2.5"
string(3) "123" != NULL
string(3) "123" == bool(true)
string(3) "123" != bool(false)
string(3) "123" != object(stdClass)#%d (0) {}
string(3) "123" != object(stdClass)#%d (0) {}
string(3) "123" != object(test)#%d (0) {}
string(3) "123" != array(0) {}
string(3) "123" != int(-9223372036854775808)
string(3) "123" != string(20) "-9223372036854775808"
string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" != string(0) ""
string(3) "2.5" != int(1)
string(3) "2.5" == float(2.5)
string(3) "2.5" != int(0)
string(3) "2.5" != string(6) "string"
string(3) "2.5" != string(3) "123"
string(3) "2.5" == string(3) "2.5"
string(3) "2.5" != NULL
string(3) "2.5" == bool(true)
string(3) "2.5" != bool(false)
string(3) "2.5" != object(stdClass)#%d (0) {}
string(3) "2.5" != object(stdClass)#%d (0) {}
string(3) "2.5" != object(test)#%d (0) {}
string(3) "2.5" != array(0) {}
string(3) "2.5" != int(-9223372036854775808)
string(3) "2.5" != string(20) "-9223372036854775808"
NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL == string(0) ""
NULL != int(1)
NULL != float(2.5)
NULL == int(0)
NULL != string(6) "string"
NULL != string(3) "123"
NULL != string(3) "2.5"
NULL == NULL
NULL != bool(true)
NULL == bool(false)
NULL != object(stdClass)#%d (0) {}
NULL != object(stdClass)#%d (0) {}
NULL != object(test)#%d (0) {}
NULL == array(0) {}
NULL != int(-9223372036854775808)
NULL != string(20) "-9223372036854775808"
bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) != string(0) ""
bool(true) == int(1)
bool(true) == float(2.5)
bool(true) != int(0)
bool(true) == string(6) "string"
bool(true) == string(3) "123"
bool(true) == string(3) "2.5"
bool(true) != NULL
bool(true) == bool(true)
bool(true) != bool(false)
bool(true) == object(stdClass)#%d (0) {}
bool(true) == object(stdClass)#%d (0) {}
bool(true) == object(test)#%d (0) {}
bool(true) != array(0) {}
bool(true) == int(-9223372036854775808)
bool(true) == string(20) "-9223372036854775808"
bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) == string(0) ""
bool(false) != int(1)
bool(false) != float(2.5)
bool(false) == int(0)
bool(false) != string(6) "string"
bool(false) != string(3) "123"
bool(false) != string(3) "2.5"
bool(false) == NULL
bool(false) != bool(true)
bool(false) == bool(false)
bool(false) != object(stdClass)#%d (0) {}
bool(false) != object(stdClass)#%d (0) {}
bool(false) != object(test)#%d (0) {}
bool(false) == array(0) {}
bool(false) != int(-9223372036854775808)
bool(false) != string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} != string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
== int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(0)
object(stdClass)#%d (0) {} != string(6) "string"
object(stdClass)#%d (0) {} != string(3) "123"
object(stdClass)#%d (0) {} != string(3) "2.5"
object(stdClass)#%d (0) {} != NULL
object(stdClass)#%d (0) {} == bool(true)
object(stdClass)#%d (0) {} != bool(false)
object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} != object(test)#%d (0) {}
object(stdClass)#%d (0) {} != array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(-9223372036854775808)
object(stdClass)#%d (0) {} != string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} != string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
== int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
!= float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(0)
object(stdClass)#%d (0) {} != string(6) "string"
object(stdClass)#%d (0) {} != string(3) "123"
object(stdClass)#%d (0) {} != string(3) "2.5"
object(stdClass)#%d (0) {} != NULL
object(stdClass)#%d (0) {} == bool(true)
object(stdClass)#%d (0) {} != bool(false)
object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} != object(test)#%d (0) {}
object(stdClass)#%d (0) {} != array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= int(-9223372036854775808)
object(stdClass)#%d (0) {} != string(20) "-9223372036854775808"
object(test)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#%d (0) {} != string(0) ""
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
== int(1)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
!= float(2.5)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
!= int(0)
object(test)#%d (0) {} != string(6) "string"
object(test)#%d (0) {} != string(3) "123"
object(test)#%d (0) {} != string(3) "2.5"
object(test)#%d (0) {} != NULL
object(test)#%d (0) {} == bool(true)
object(test)#%d (0) {} != bool(false)
object(test)#%d (0) {} != object(stdClass)#%d (0) {}
object(test)#%d (0) {} != object(stdClass)#%d (0) {}
object(test)#%d (0) {} == object(test)#%d (0) {}
object(test)#%d (0) {} != array(0) {}
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
!= int(-9223372036854775808)
object(test)#%d (0) {} != string(20) "-9223372036854775808"
array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} != string(0) ""
array(0) {} != int(1)
array(0) {} != float(2.5)
array(0) {} != int(0)
array(0) {} != string(6) "string"
array(0) {} != string(3) "123"
array(0) {} != string(3) "2.5"
array(0) {} == NULL
array(0) {} != bool(true)
array(0) {} == bool(false)
array(0) {} != object(stdClass)#%d (0) {}
array(0) {} != object(stdClass)#%d (0) {}
array(0) {} != object(test)#%d (0) {}
array(0) {} == array(0) {}
array(0) {} != int(-9223372036854775808)
array(0) {} != string(20) "-9223372036854775808"
int(-9223372036854775808) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) != string(0) ""
int(-9223372036854775808) != int(1)
int(-9223372036854775808) != float(2.5)
int(-9223372036854775808) != int(0)
int(-9223372036854775808) != string(6) "string"
int(-9223372036854775808) != string(3) "123"
int(-9223372036854775808) != string(3) "2.5"
int(-9223372036854775808) != NULL
int(-9223372036854775808) == bool(true)
int(-9223372036854775808) != bool(false)
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
!= object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class test could not be converted to int in %s on line %d
!= object(test)#%d (0) {}
int(-9223372036854775808) != array(0) {}
int(-9223372036854775808) == int(-9223372036854775808)
int(-9223372036854775808) == string(20) "-9223372036854775808"
string(20) "-9223372036854775808" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(20) "-9223372036854775808" != string(0) ""
string(20) "-9223372036854775808" != int(1)
string(20) "-9223372036854775808" != float(2.5)
string(20) "-9223372036854775808" != int(0)
string(20) "-9223372036854775808" != string(6) "string"
string(20) "-9223372036854775808" != string(3) "123"
string(20) "-9223372036854775808" != string(3) "2.5"
string(20) "-9223372036854775808" != NULL
string(20) "-9223372036854775808" == bool(true)
string(20) "-9223372036854775808" != bool(false)
string(20) "-9223372036854775808" != object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" != object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" != object(test)#%d (0) {}
string(20) "-9223372036854775808" != array(0) {}
string(20) "-9223372036854775808" == int(-9223372036854775808)
string(20) "-9223372036854775808" == string(20) "-9223372036854775808"
Done
+341
View File
@@ -0,0 +1,341 @@
--TEST--
comparing different variables for identity
--SKIPIF--
<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var === $a[$i]) ? " === " : " !== ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#1 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#2 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#3 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-2147483648)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(11) "-2147483648"
string(0) "" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" === string(0) ""
string(0) "" !== int(1)
string(0) "" !== float(2.5)
string(0) "" !== int(0)
string(0) "" !== string(6) "string"
string(0) "" !== string(3) "123"
string(0) "" !== string(3) "2.5"
string(0) "" !== NULL
string(0) "" !== bool(true)
string(0) "" !== bool(false)
string(0) "" !== object(stdClass)#1 (0) {}
string(0) "" !== object(stdClass)#2 (0) {}
string(0) "" !== object(test)#3 (0) {}
string(0) "" !== array(0) {}
string(0) "" !== int(-2147483648)
string(0) "" !== string(11) "-2147483648"
int(1) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) !== string(0) ""
int(1) === int(1)
int(1) !== float(2.5)
int(1) !== int(0)
int(1) !== string(6) "string"
int(1) !== string(3) "123"
int(1) !== string(3) "2.5"
int(1) !== NULL
int(1) !== bool(true)
int(1) !== bool(false)
int(1) !== object(stdClass)#1 (0) {}
int(1) !== object(stdClass)#2 (0) {}
int(1) !== object(test)#3 (0) {}
int(1) !== array(0) {}
int(1) !== int(-2147483648)
int(1) !== string(11) "-2147483648"
float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) !== string(0) ""
float(2.5) !== int(1)
float(2.5) === float(2.5)
float(2.5) !== int(0)
float(2.5) !== string(6) "string"
float(2.5) !== string(3) "123"
float(2.5) !== string(3) "2.5"
float(2.5) !== NULL
float(2.5) !== bool(true)
float(2.5) !== bool(false)
float(2.5) !== object(stdClass)#1 (0) {}
float(2.5) !== object(stdClass)#2 (0) {}
float(2.5) !== object(test)#3 (0) {}
float(2.5) !== array(0) {}
float(2.5) !== int(-2147483648)
float(2.5) !== string(11) "-2147483648"
int(0) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) !== string(0) ""
int(0) !== int(1)
int(0) !== float(2.5)
int(0) === int(0)
int(0) !== string(6) "string"
int(0) !== string(3) "123"
int(0) !== string(3) "2.5"
int(0) !== NULL
int(0) !== bool(true)
int(0) !== bool(false)
int(0) !== object(stdClass)#1 (0) {}
int(0) !== object(stdClass)#2 (0) {}
int(0) !== object(test)#3 (0) {}
int(0) !== array(0) {}
int(0) !== int(-2147483648)
int(0) !== string(11) "-2147483648"
string(6) "string" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" !== string(0) ""
string(6) "string" !== int(1)
string(6) "string" !== float(2.5)
string(6) "string" !== int(0)
string(6) "string" === string(6) "string"
string(6) "string" !== string(3) "123"
string(6) "string" !== string(3) "2.5"
string(6) "string" !== NULL
string(6) "string" !== bool(true)
string(6) "string" !== bool(false)
string(6) "string" !== object(stdClass)#1 (0) {}
string(6) "string" !== object(stdClass)#2 (0) {}
string(6) "string" !== object(test)#3 (0) {}
string(6) "string" !== array(0) {}
string(6) "string" !== int(-2147483648)
string(6) "string" !== string(11) "-2147483648"
string(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" !== string(0) ""
string(3) "123" !== int(1)
string(3) "123" !== float(2.5)
string(3) "123" !== int(0)
string(3) "123" !== string(6) "string"
string(3) "123" === string(3) "123"
string(3) "123" !== string(3) "2.5"
string(3) "123" !== NULL
string(3) "123" !== bool(true)
string(3) "123" !== bool(false)
string(3) "123" !== object(stdClass)#1 (0) {}
string(3) "123" !== object(stdClass)#2 (0) {}
string(3) "123" !== object(test)#3 (0) {}
string(3) "123" !== array(0) {}
string(3) "123" !== int(-2147483648)
string(3) "123" !== string(11) "-2147483648"
string(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" !== string(0) ""
string(3) "2.5" !== int(1)
string(3) "2.5" !== float(2.5)
string(3) "2.5" !== int(0)
string(3) "2.5" !== string(6) "string"
string(3) "2.5" !== string(3) "123"
string(3) "2.5" === string(3) "2.5"
string(3) "2.5" !== NULL
string(3) "2.5" !== bool(true)
string(3) "2.5" !== bool(false)
string(3) "2.5" !== object(stdClass)#1 (0) {}
string(3) "2.5" !== object(stdClass)#2 (0) {}
string(3) "2.5" !== object(test)#3 (0) {}
string(3) "2.5" !== array(0) {}
string(3) "2.5" !== int(-2147483648)
string(3) "2.5" !== string(11) "-2147483648"
NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL !== string(0) ""
NULL !== int(1)
NULL !== float(2.5)
NULL !== int(0)
NULL !== string(6) "string"
NULL !== string(3) "123"
NULL !== string(3) "2.5"
NULL === NULL
NULL !== bool(true)
NULL !== bool(false)
NULL !== object(stdClass)#1 (0) {}
NULL !== object(stdClass)#2 (0) {}
NULL !== object(test)#3 (0) {}
NULL !== array(0) {}
NULL !== int(-2147483648)
NULL !== string(11) "-2147483648"
bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) !== string(0) ""
bool(true) !== int(1)
bool(true) !== float(2.5)
bool(true) !== int(0)
bool(true) !== string(6) "string"
bool(true) !== string(3) "123"
bool(true) !== string(3) "2.5"
bool(true) !== NULL
bool(true) === bool(true)
bool(true) !== bool(false)
bool(true) !== object(stdClass)#1 (0) {}
bool(true) !== object(stdClass)#2 (0) {}
bool(true) !== object(test)#3 (0) {}
bool(true) !== array(0) {}
bool(true) !== int(-2147483648)
bool(true) !== string(11) "-2147483648"
bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) !== string(0) ""
bool(false) !== int(1)
bool(false) !== float(2.5)
bool(false) !== int(0)
bool(false) !== string(6) "string"
bool(false) !== string(3) "123"
bool(false) !== string(3) "2.5"
bool(false) !== NULL
bool(false) !== bool(true)
bool(false) === bool(false)
bool(false) !== object(stdClass)#1 (0) {}
bool(false) !== object(stdClass)#2 (0) {}
bool(false) !== object(test)#3 (0) {}
bool(false) !== array(0) {}
bool(false) !== int(-2147483648)
bool(false) !== string(11) "-2147483648"
object(stdClass)#1 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#1 (0) {} !== string(0) ""
object(stdClass)#1 (0) {} !== int(1)
object(stdClass)#1 (0) {} !== float(2.5)
object(stdClass)#1 (0) {} !== int(0)
object(stdClass)#1 (0) {} !== string(6) "string"
object(stdClass)#1 (0) {} !== string(3) "123"
object(stdClass)#1 (0) {} !== string(3) "2.5"
object(stdClass)#1 (0) {} !== NULL
object(stdClass)#1 (0) {} !== bool(true)
object(stdClass)#1 (0) {} !== bool(false)
object(stdClass)#1 (0) {} === object(stdClass)#1 (0) {}
object(stdClass)#1 (0) {} !== object(stdClass)#2 (0) {}
object(stdClass)#1 (0) {} !== object(test)#3 (0) {}
object(stdClass)#1 (0) {} !== array(0) {}
object(stdClass)#1 (0) {} !== int(-2147483648)
object(stdClass)#1 (0) {} !== string(11) "-2147483648"
object(stdClass)#2 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#2 (0) {} !== string(0) ""
object(stdClass)#2 (0) {} !== int(1)
object(stdClass)#2 (0) {} !== float(2.5)
object(stdClass)#2 (0) {} !== int(0)
object(stdClass)#2 (0) {} !== string(6) "string"
object(stdClass)#2 (0) {} !== string(3) "123"
object(stdClass)#2 (0) {} !== string(3) "2.5"
object(stdClass)#2 (0) {} !== NULL
object(stdClass)#2 (0) {} !== bool(true)
object(stdClass)#2 (0) {} !== bool(false)
object(stdClass)#2 (0) {} !== object(stdClass)#1 (0) {}
object(stdClass)#2 (0) {} === object(stdClass)#2 (0) {}
object(stdClass)#2 (0) {} !== object(test)#3 (0) {}
object(stdClass)#2 (0) {} !== array(0) {}
object(stdClass)#2 (0) {} !== int(-2147483648)
object(stdClass)#2 (0) {} !== string(11) "-2147483648"
object(test)#3 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#3 (0) {} !== string(0) ""
object(test)#3 (0) {} !== int(1)
object(test)#3 (0) {} !== float(2.5)
object(test)#3 (0) {} !== int(0)
object(test)#3 (0) {} !== string(6) "string"
object(test)#3 (0) {} !== string(3) "123"
object(test)#3 (0) {} !== string(3) "2.5"
object(test)#3 (0) {} !== NULL
object(test)#3 (0) {} !== bool(true)
object(test)#3 (0) {} !== bool(false)
object(test)#3 (0) {} !== object(stdClass)#1 (0) {}
object(test)#3 (0) {} !== object(stdClass)#2 (0) {}
object(test)#3 (0) {} === object(test)#3 (0) {}
object(test)#3 (0) {} !== array(0) {}
object(test)#3 (0) {} !== int(-2147483648)
object(test)#3 (0) {} !== string(11) "-2147483648"
array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} !== string(0) ""
array(0) {} !== int(1)
array(0) {} !== float(2.5)
array(0) {} !== int(0)
array(0) {} !== string(6) "string"
array(0) {} !== string(3) "123"
array(0) {} !== string(3) "2.5"
array(0) {} !== NULL
array(0) {} !== bool(true)
array(0) {} !== bool(false)
array(0) {} !== object(stdClass)#1 (0) {}
array(0) {} !== object(stdClass)#2 (0) {}
array(0) {} !== object(test)#3 (0) {}
array(0) {} === array(0) {}
array(0) {} !== int(-2147483648)
array(0) {} !== string(11) "-2147483648"
int(-2147483648) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) !== string(0) ""
int(-2147483648) !== int(1)
int(-2147483648) !== float(2.5)
int(-2147483648) !== int(0)
int(-2147483648) !== string(6) "string"
int(-2147483648) !== string(3) "123"
int(-2147483648) !== string(3) "2.5"
int(-2147483648) !== NULL
int(-2147483648) !== bool(true)
int(-2147483648) !== bool(false)
int(-2147483648) !== object(stdClass)#1 (0) {}
int(-2147483648) !== object(stdClass)#2 (0) {}
int(-2147483648) !== object(test)#3 (0) {}
int(-2147483648) !== array(0) {}
int(-2147483648) === int(-2147483648)
int(-2147483648) !== string(11) "-2147483648"
string(11) "-2147483648" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(11) "-2147483648" !== string(0) ""
string(11) "-2147483648" !== int(1)
string(11) "-2147483648" !== float(2.5)
string(11) "-2147483648" !== int(0)
string(11) "-2147483648" !== string(6) "string"
string(11) "-2147483648" !== string(3) "123"
string(11) "-2147483648" !== string(3) "2.5"
string(11) "-2147483648" !== NULL
string(11) "-2147483648" !== bool(true)
string(11) "-2147483648" !== bool(false)
string(11) "-2147483648" !== object(stdClass)#1 (0) {}
string(11) "-2147483648" !== object(stdClass)#2 (0) {}
string(11) "-2147483648" !== object(test)#3 (0) {}
string(11) "-2147483648" !== array(0) {}
string(11) "-2147483648" !== int(-2147483648)
string(11) "-2147483648" === string(11) "-2147483648"
Done
+341
View File
@@ -0,0 +1,341 @@
--TEST--
comparing different variables for identity
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var === $a[$i]) ? " === " : " !== ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-9223372036854775808)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(20) "-9223372036854775808"
string(0) "" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" === string(0) ""
string(0) "" !== int(1)
string(0) "" !== float(2.5)
string(0) "" !== int(0)
string(0) "" !== string(6) "string"
string(0) "" !== string(3) "123"
string(0) "" !== string(3) "2.5"
string(0) "" !== NULL
string(0) "" !== bool(true)
string(0) "" !== bool(false)
string(0) "" !== object(stdClass)#%d (0) {}
string(0) "" !== object(stdClass)#%d (0) {}
string(0) "" !== object(test)#%d (0) {}
string(0) "" !== array(0) {}
string(0) "" !== int(-9223372036854775808)
string(0) "" !== string(20) "-9223372036854775808"
int(1) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) !== string(0) ""
int(1) === int(1)
int(1) !== float(2.5)
int(1) !== int(0)
int(1) !== string(6) "string"
int(1) !== string(3) "123"
int(1) !== string(3) "2.5"
int(1) !== NULL
int(1) !== bool(true)
int(1) !== bool(false)
int(1) !== object(stdClass)#%d (0) {}
int(1) !== object(stdClass)#%d (0) {}
int(1) !== object(test)#%d (0) {}
int(1) !== array(0) {}
int(1) !== int(-9223372036854775808)
int(1) !== string(20) "-9223372036854775808"
float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) !== string(0) ""
float(2.5) !== int(1)
float(2.5) === float(2.5)
float(2.5) !== int(0)
float(2.5) !== string(6) "string"
float(2.5) !== string(3) "123"
float(2.5) !== string(3) "2.5"
float(2.5) !== NULL
float(2.5) !== bool(true)
float(2.5) !== bool(false)
float(2.5) !== object(stdClass)#%d (0) {}
float(2.5) !== object(stdClass)#%d (0) {}
float(2.5) !== object(test)#%d (0) {}
float(2.5) !== array(0) {}
float(2.5) !== int(-9223372036854775808)
float(2.5) !== string(20) "-9223372036854775808"
int(0) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) !== string(0) ""
int(0) !== int(1)
int(0) !== float(2.5)
int(0) === int(0)
int(0) !== string(6) "string"
int(0) !== string(3) "123"
int(0) !== string(3) "2.5"
int(0) !== NULL
int(0) !== bool(true)
int(0) !== bool(false)
int(0) !== object(stdClass)#%d (0) {}
int(0) !== object(stdClass)#%d (0) {}
int(0) !== object(test)#%d (0) {}
int(0) !== array(0) {}
int(0) !== int(-9223372036854775808)
int(0) !== string(20) "-9223372036854775808"
string(6) "string" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" !== string(0) ""
string(6) "string" !== int(1)
string(6) "string" !== float(2.5)
string(6) "string" !== int(0)
string(6) "string" === string(6) "string"
string(6) "string" !== string(3) "123"
string(6) "string" !== string(3) "2.5"
string(6) "string" !== NULL
string(6) "string" !== bool(true)
string(6) "string" !== bool(false)
string(6) "string" !== object(stdClass)#%d (0) {}
string(6) "string" !== object(stdClass)#%d (0) {}
string(6) "string" !== object(test)#%d (0) {}
string(6) "string" !== array(0) {}
string(6) "string" !== int(-9223372036854775808)
string(6) "string" !== string(20) "-9223372036854775808"
string(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" !== string(0) ""
string(3) "123" !== int(1)
string(3) "123" !== float(2.5)
string(3) "123" !== int(0)
string(3) "123" !== string(6) "string"
string(3) "123" === string(3) "123"
string(3) "123" !== string(3) "2.5"
string(3) "123" !== NULL
string(3) "123" !== bool(true)
string(3) "123" !== bool(false)
string(3) "123" !== object(stdClass)#%d (0) {}
string(3) "123" !== object(stdClass)#%d (0) {}
string(3) "123" !== object(test)#%d (0) {}
string(3) "123" !== array(0) {}
string(3) "123" !== int(-9223372036854775808)
string(3) "123" !== string(20) "-9223372036854775808"
string(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" !== string(0) ""
string(3) "2.5" !== int(1)
string(3) "2.5" !== float(2.5)
string(3) "2.5" !== int(0)
string(3) "2.5" !== string(6) "string"
string(3) "2.5" !== string(3) "123"
string(3) "2.5" === string(3) "2.5"
string(3) "2.5" !== NULL
string(3) "2.5" !== bool(true)
string(3) "2.5" !== bool(false)
string(3) "2.5" !== object(stdClass)#%d (0) {}
string(3) "2.5" !== object(stdClass)#%d (0) {}
string(3) "2.5" !== object(test)#%d (0) {}
string(3) "2.5" !== array(0) {}
string(3) "2.5" !== int(-9223372036854775808)
string(3) "2.5" !== string(20) "-9223372036854775808"
NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL !== string(0) ""
NULL !== int(1)
NULL !== float(2.5)
NULL !== int(0)
NULL !== string(6) "string"
NULL !== string(3) "123"
NULL !== string(3) "2.5"
NULL === NULL
NULL !== bool(true)
NULL !== bool(false)
NULL !== object(stdClass)#%d (0) {}
NULL !== object(stdClass)#%d (0) {}
NULL !== object(test)#%d (0) {}
NULL !== array(0) {}
NULL !== int(-9223372036854775808)
NULL !== string(20) "-9223372036854775808"
bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) !== string(0) ""
bool(true) !== int(1)
bool(true) !== float(2.5)
bool(true) !== int(0)
bool(true) !== string(6) "string"
bool(true) !== string(3) "123"
bool(true) !== string(3) "2.5"
bool(true) !== NULL
bool(true) === bool(true)
bool(true) !== bool(false)
bool(true) !== object(stdClass)#%d (0) {}
bool(true) !== object(stdClass)#%d (0) {}
bool(true) !== object(test)#%d (0) {}
bool(true) !== array(0) {}
bool(true) !== int(-9223372036854775808)
bool(true) !== string(20) "-9223372036854775808"
bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) !== string(0) ""
bool(false) !== int(1)
bool(false) !== float(2.5)
bool(false) !== int(0)
bool(false) !== string(6) "string"
bool(false) !== string(3) "123"
bool(false) !== string(3) "2.5"
bool(false) !== NULL
bool(false) !== bool(true)
bool(false) === bool(false)
bool(false) !== object(stdClass)#%d (0) {}
bool(false) !== object(stdClass)#%d (0) {}
bool(false) !== object(test)#%d (0) {}
bool(false) !== array(0) {}
bool(false) !== int(-9223372036854775808)
bool(false) !== string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} !== string(0) ""
object(stdClass)#%d (0) {} !== int(1)
object(stdClass)#%d (0) {} !== float(2.5)
object(stdClass)#%d (0) {} !== int(0)
object(stdClass)#%d (0) {} !== string(6) "string"
object(stdClass)#%d (0) {} !== string(3) "123"
object(stdClass)#%d (0) {} !== string(3) "2.5"
object(stdClass)#%d (0) {} !== NULL
object(stdClass)#%d (0) {} !== bool(true)
object(stdClass)#%d (0) {} !== bool(false)
object(stdClass)#%d (0) {} === object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} !== object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} !== object(test)#%d (0) {}
object(stdClass)#%d (0) {} !== array(0) {}
object(stdClass)#%d (0) {} !== int(-9223372036854775808)
object(stdClass)#%d (0) {} !== string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} !== string(0) ""
object(stdClass)#%d (0) {} !== int(1)
object(stdClass)#%d (0) {} !== float(2.5)
object(stdClass)#%d (0) {} !== int(0)
object(stdClass)#%d (0) {} !== string(6) "string"
object(stdClass)#%d (0) {} !== string(3) "123"
object(stdClass)#%d (0) {} !== string(3) "2.5"
object(stdClass)#%d (0) {} !== NULL
object(stdClass)#%d (0) {} !== bool(true)
object(stdClass)#%d (0) {} !== bool(false)
object(stdClass)#%d (0) {} !== object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} === object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} !== object(test)#%d (0) {}
object(stdClass)#%d (0) {} !== array(0) {}
object(stdClass)#%d (0) {} !== int(-9223372036854775808)
object(stdClass)#%d (0) {} !== string(20) "-9223372036854775808"
object(test)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#%d (0) {} !== string(0) ""
object(test)#%d (0) {} !== int(1)
object(test)#%d (0) {} !== float(2.5)
object(test)#%d (0) {} !== int(0)
object(test)#%d (0) {} !== string(6) "string"
object(test)#%d (0) {} !== string(3) "123"
object(test)#%d (0) {} !== string(3) "2.5"
object(test)#%d (0) {} !== NULL
object(test)#%d (0) {} !== bool(true)
object(test)#%d (0) {} !== bool(false)
object(test)#%d (0) {} !== object(stdClass)#%d (0) {}
object(test)#%d (0) {} !== object(stdClass)#%d (0) {}
object(test)#%d (0) {} === object(test)#%d (0) {}
object(test)#%d (0) {} !== array(0) {}
object(test)#%d (0) {} !== int(-9223372036854775808)
object(test)#%d (0) {} !== string(20) "-9223372036854775808"
array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} !== string(0) ""
array(0) {} !== int(1)
array(0) {} !== float(2.5)
array(0) {} !== int(0)
array(0) {} !== string(6) "string"
array(0) {} !== string(3) "123"
array(0) {} !== string(3) "2.5"
array(0) {} !== NULL
array(0) {} !== bool(true)
array(0) {} !== bool(false)
array(0) {} !== object(stdClass)#%d (0) {}
array(0) {} !== object(stdClass)#%d (0) {}
array(0) {} !== object(test)#%d (0) {}
array(0) {} === array(0) {}
array(0) {} !== int(-9223372036854775808)
array(0) {} !== string(20) "-9223372036854775808"
int(-9223372036854775808) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) !== string(0) ""
int(-9223372036854775808) !== int(1)
int(-9223372036854775808) !== float(2.5)
int(-9223372036854775808) !== int(0)
int(-9223372036854775808) !== string(6) "string"
int(-9223372036854775808) !== string(3) "123"
int(-9223372036854775808) !== string(3) "2.5"
int(-9223372036854775808) !== NULL
int(-9223372036854775808) !== bool(true)
int(-9223372036854775808) !== bool(false)
int(-9223372036854775808) !== object(stdClass)#%d (0) {}
int(-9223372036854775808) !== object(stdClass)#%d (0) {}
int(-9223372036854775808) !== object(test)#%d (0) {}
int(-9223372036854775808) !== array(0) {}
int(-9223372036854775808) === int(-9223372036854775808)
int(-9223372036854775808) !== string(20) "-9223372036854775808"
string(20) "-9223372036854775808" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(20) "-9223372036854775808" !== string(0) ""
string(20) "-9223372036854775808" !== int(1)
string(20) "-9223372036854775808" !== float(2.5)
string(20) "-9223372036854775808" !== int(0)
string(20) "-9223372036854775808" !== string(6) "string"
string(20) "-9223372036854775808" !== string(3) "123"
string(20) "-9223372036854775808" !== string(3) "2.5"
string(20) "-9223372036854775808" !== NULL
string(20) "-9223372036854775808" !== bool(true)
string(20) "-9223372036854775808" !== bool(false)
string(20) "-9223372036854775808" !== object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" !== object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" !== object(test)#%d (0) {}
string(20) "-9223372036854775808" !== array(0) {}
string(20) "-9223372036854775808" !== int(-9223372036854775808)
string(20) "-9223372036854775808" === string(20) "-9223372036854775808"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (greater than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var > $a[$i]) ? " > " : " <= ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648"
string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" <= string(0) ""
string(0) "" <= int(1)
string(0) "" <= float(2.5)
string(0) "" <= int(0)
string(0) "" <= string(6) "string"
string(0) "" <= string(3) "123"
string(0) "" <= string(3) "2.5"
string(0) "" <= NULL
string(0) "" <= bool(true)
string(0) "" <= bool(false)
string(0) "" <= object(stdClass)#1 (0) {}
string(0) "" <= object(stdClass)#2 (0) {}
string(0) "" <= object(test)#3 (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-2147483648)
string(0) "" <= string(11) "-2147483648"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
int(1) <= bool(true)
int(1) > bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#1 (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#2 (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#3 (0) {}
int(1) <= array(0) {}
int(1) > int(-2147483648)
int(1) > string(11) "-2147483648"
float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
float(2.5) <= bool(true)
float(2.5) > bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#1 (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#2 (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
> object(test)#3 (0) {}
float(2.5) <= array(0) {}
float(2.5) > int(-2147483648)
float(2.5) > string(11) "-2147483648"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
int(0) <= string(6) "string"
int(0) <= string(3) "123"
int(0) <= string(3) "2.5"
int(0) <= NULL
int(0) <= bool(true)
int(0) <= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#1 (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#2 (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#3 (0) {}
int(0) <= array(0) {}
int(0) > int(-2147483648)
int(0) > string(11) "-2147483648"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
string(6) "string" > NULL
string(6) "string" <= bool(true)
string(6) "string" > bool(false)
string(6) "string" <= object(stdClass)#1 (0) {}
string(6) "string" <= object(stdClass)#2 (0) {}
string(6) "string" <= object(test)#3 (0) {}
string(6) "string" <= array(0) {}
string(6) "string" > int(-2147483648)
string(6) "string" > string(11) "-2147483648"
string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" > string(0) ""
string(3) "123" > int(1)
string(3) "123" > float(2.5)
string(3) "123" > int(0)
string(3) "123" <= string(6) "string"
string(3) "123" <= string(3) "123"
string(3) "123" > string(3) "2.5"
string(3) "123" > NULL
string(3) "123" <= bool(true)
string(3) "123" > bool(false)
string(3) "123" <= object(stdClass)#1 (0) {}
string(3) "123" <= object(stdClass)#2 (0) {}
string(3) "123" <= object(test)#3 (0) {}
string(3) "123" <= array(0) {}
string(3) "123" > int(-2147483648)
string(3) "123" > string(11) "-2147483648"
string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" > string(0) ""
string(3) "2.5" > int(1)
string(3) "2.5" <= float(2.5)
string(3) "2.5" > int(0)
string(3) "2.5" <= string(6) "string"
string(3) "2.5" <= string(3) "123"
string(3) "2.5" <= string(3) "2.5"
string(3) "2.5" > NULL
string(3) "2.5" <= bool(true)
string(3) "2.5" > bool(false)
string(3) "2.5" <= object(stdClass)#1 (0) {}
string(3) "2.5" <= object(stdClass)#2 (0) {}
string(3) "2.5" <= object(test)#3 (0) {}
string(3) "2.5" <= array(0) {}
string(3) "2.5" > int(-2147483648)
string(3) "2.5" > string(11) "-2147483648"
NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL <= string(0) ""
NULL <= int(1)
NULL <= float(2.5)
NULL <= int(0)
NULL <= string(6) "string"
NULL <= string(3) "123"
NULL <= string(3) "2.5"
NULL <= NULL
NULL <= bool(true)
NULL <= bool(false)
NULL <= object(stdClass)#1 (0) {}
NULL <= object(stdClass)#2 (0) {}
NULL <= object(test)#3 (0) {}
NULL <= array(0) {}
NULL <= int(-2147483648)
NULL <= string(11) "-2147483648"
bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) > string(0) ""
bool(true) <= int(1)
bool(true) <= float(2.5)
bool(true) > int(0)
bool(true) <= string(6) "string"
bool(true) <= string(3) "123"
bool(true) <= string(3) "2.5"
bool(true) > NULL
bool(true) <= bool(true)
bool(true) > bool(false)
bool(true) <= object(stdClass)#1 (0) {}
bool(true) <= object(stdClass)#2 (0) {}
bool(true) <= object(test)#3 (0) {}
bool(true) > array(0) {}
bool(true) <= int(-2147483648)
bool(true) <= string(11) "-2147483648"
bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) <= string(0) ""
bool(false) <= int(1)
bool(false) <= float(2.5)
bool(false) <= int(0)
bool(false) <= string(6) "string"
bool(false) <= string(3) "123"
bool(false) <= string(3) "2.5"
bool(false) <= NULL
bool(false) <= bool(true)
bool(false) <= bool(false)
bool(false) <= object(stdClass)#1 (0) {}
bool(false) <= object(stdClass)#2 (0) {}
bool(false) <= object(test)#3 (0) {}
bool(false) <= array(0) {}
bool(false) <= int(-2147483648)
bool(false) <= string(11) "-2147483648"
object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#1 (0) {} > string(0) ""
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#1 (0) {} > string(6) "string"
object(stdClass)#1 (0) {} > string(3) "123"
object(stdClass)#1 (0) {} > string(3) "2.5"
object(stdClass)#1 (0) {} > NULL
object(stdClass)#1 (0) {} <= bool(true)
object(stdClass)#1 (0) {} > bool(false)
object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
object(stdClass)#1 (0) {} <= object(test)#3 (0) {}
object(stdClass)#1 (0) {} > array(0) {}
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-2147483648)
object(stdClass)#1 (0) {} > string(11) "-2147483648"
object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#2 (0) {} > string(0) ""
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#2 (0) {} > string(6) "string"
object(stdClass)#2 (0) {} > string(3) "123"
object(stdClass)#2 (0) {} > string(3) "2.5"
object(stdClass)#2 (0) {} > NULL
object(stdClass)#2 (0) {} <= bool(true)
object(stdClass)#2 (0) {} > bool(false)
object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
object(stdClass)#2 (0) {} <= object(test)#3 (0) {}
object(stdClass)#2 (0) {} > array(0) {}
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-2147483648)
object(stdClass)#2 (0) {} > string(11) "-2147483648"
object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#3 (0) {} > string(0) ""
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
<= int(1)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
<= float(2.5)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(0)
object(test)#3 (0) {} > string(6) "string"
object(test)#3 (0) {} > string(3) "123"
object(test)#3 (0) {} > string(3) "2.5"
object(test)#3 (0) {} > NULL
object(test)#3 (0) {} <= bool(true)
object(test)#3 (0) {} > bool(false)
object(test)#3 (0) {} <= object(stdClass)#1 (0) {}
object(test)#3 (0) {} <= object(stdClass)#2 (0) {}
object(test)#3 (0) {} <= object(test)#3 (0) {}
object(test)#3 (0) {} > array(0) {}
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(-2147483648)
object(test)#3 (0) {} > string(11) "-2147483648"
array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} > string(0) ""
array(0) {} > int(1)
array(0) {} > float(2.5)
array(0) {} > int(0)
array(0) {} > string(6) "string"
array(0) {} > string(3) "123"
array(0) {} > string(3) "2.5"
array(0) {} <= NULL
array(0) {} <= bool(true)
array(0) {} <= bool(false)
array(0) {} <= object(stdClass)#1 (0) {}
array(0) {} <= object(stdClass)#2 (0) {}
array(0) {} <= object(test)#3 (0) {}
array(0) {} <= array(0) {}
array(0) {} > int(-2147483648)
array(0) {} > string(11) "-2147483648"
int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) <= string(0) ""
int(-2147483648) <= int(1)
int(-2147483648) <= float(2.5)
int(-2147483648) <= int(0)
int(-2147483648) <= string(6) "string"
int(-2147483648) <= string(3) "123"
int(-2147483648) <= string(3) "2.5"
int(-2147483648) > NULL
int(-2147483648) <= bool(true)
int(-2147483648) > bool(false)
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#1 (0) {}
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#2 (0) {}
int(-2147483648)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#3 (0) {}
int(-2147483648) <= array(0) {}
int(-2147483648) <= int(-2147483648)
int(-2147483648) <= string(11) "-2147483648"
string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(11) "-2147483648" > string(0) ""
string(11) "-2147483648" <= int(1)
string(11) "-2147483648" <= float(2.5)
string(11) "-2147483648" <= int(0)
string(11) "-2147483648" <= string(6) "string"
string(11) "-2147483648" <= string(3) "123"
string(11) "-2147483648" <= string(3) "2.5"
string(11) "-2147483648" > NULL
string(11) "-2147483648" <= bool(true)
string(11) "-2147483648" > bool(false)
string(11) "-2147483648" <= object(stdClass)#1 (0) {}
string(11) "-2147483648" <= object(stdClass)#2 (0) {}
string(11) "-2147483648" <= object(test)#3 (0) {}
string(11) "-2147483648" <= array(0) {}
string(11) "-2147483648" <= int(-2147483648)
string(11) "-2147483648" <= string(11) "-2147483648"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (greater than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var > $a[$i]) ? " > " : " <= ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-9223372036854775808)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(20) "-9223372036854775808"
string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" <= string(0) ""
string(0) "" <= int(1)
string(0) "" <= float(2.5)
string(0) "" <= int(0)
string(0) "" <= string(6) "string"
string(0) "" <= string(3) "123"
string(0) "" <= string(3) "2.5"
string(0) "" <= NULL
string(0) "" <= bool(true)
string(0) "" <= bool(false)
string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(test)#%d (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-9223372036854775808)
string(0) "" <= string(20) "-9223372036854775808"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
int(1) <= bool(true)
int(1) > bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#%d (0) {}
int(1) <= array(0) {}
int(1) > int(-9223372036854775808)
int(1) > string(20) "-9223372036854775808"
float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
float(2.5) <= bool(true)
float(2.5) > bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
> object(test)#%d (0) {}
float(2.5) <= array(0) {}
float(2.5) > int(-9223372036854775808)
float(2.5) > string(20) "-9223372036854775808"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
int(0) <= string(6) "string"
int(0) <= string(3) "123"
int(0) <= string(3) "2.5"
int(0) <= NULL
int(0) <= bool(true)
int(0) <= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#%d (0) {}
int(0) <= array(0) {}
int(0) > int(-9223372036854775808)
int(0) > string(20) "-9223372036854775808"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
string(6) "string" > NULL
string(6) "string" <= bool(true)
string(6) "string" > bool(false)
string(6) "string" <= object(stdClass)#%d (0) {}
string(6) "string" <= object(stdClass)#%d (0) {}
string(6) "string" <= object(test)#%d (0) {}
string(6) "string" <= array(0) {}
string(6) "string" > int(-9223372036854775808)
string(6) "string" > string(20) "-9223372036854775808"
string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" > string(0) ""
string(3) "123" > int(1)
string(3) "123" > float(2.5)
string(3) "123" > int(0)
string(3) "123" <= string(6) "string"
string(3) "123" <= string(3) "123"
string(3) "123" > string(3) "2.5"
string(3) "123" > NULL
string(3) "123" <= bool(true)
string(3) "123" > bool(false)
string(3) "123" <= object(stdClass)#%d (0) {}
string(3) "123" <= object(stdClass)#%d (0) {}
string(3) "123" <= object(test)#%d (0) {}
string(3) "123" <= array(0) {}
string(3) "123" > int(-9223372036854775808)
string(3) "123" > string(20) "-9223372036854775808"
string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" > string(0) ""
string(3) "2.5" > int(1)
string(3) "2.5" <= float(2.5)
string(3) "2.5" > int(0)
string(3) "2.5" <= string(6) "string"
string(3) "2.5" <= string(3) "123"
string(3) "2.5" <= string(3) "2.5"
string(3) "2.5" > NULL
string(3) "2.5" <= bool(true)
string(3) "2.5" > bool(false)
string(3) "2.5" <= object(stdClass)#%d (0) {}
string(3) "2.5" <= object(stdClass)#%d (0) {}
string(3) "2.5" <= object(test)#%d (0) {}
string(3) "2.5" <= array(0) {}
string(3) "2.5" > int(-9223372036854775808)
string(3) "2.5" > string(20) "-9223372036854775808"
NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL <= string(0) ""
NULL <= int(1)
NULL <= float(2.5)
NULL <= int(0)
NULL <= string(6) "string"
NULL <= string(3) "123"
NULL <= string(3) "2.5"
NULL <= NULL
NULL <= bool(true)
NULL <= bool(false)
NULL <= object(stdClass)#%d (0) {}
NULL <= object(stdClass)#%d (0) {}
NULL <= object(test)#%d (0) {}
NULL <= array(0) {}
NULL <= int(-9223372036854775808)
NULL <= string(20) "-9223372036854775808"
bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) > string(0) ""
bool(true) <= int(1)
bool(true) <= float(2.5)
bool(true) > int(0)
bool(true) <= string(6) "string"
bool(true) <= string(3) "123"
bool(true) <= string(3) "2.5"
bool(true) > NULL
bool(true) <= bool(true)
bool(true) > bool(false)
bool(true) <= object(stdClass)#%d (0) {}
bool(true) <= object(stdClass)#%d (0) {}
bool(true) <= object(test)#%d (0) {}
bool(true) > array(0) {}
bool(true) <= int(-9223372036854775808)
bool(true) <= string(20) "-9223372036854775808"
bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) <= string(0) ""
bool(false) <= int(1)
bool(false) <= float(2.5)
bool(false) <= int(0)
bool(false) <= string(6) "string"
bool(false) <= string(3) "123"
bool(false) <= string(3) "2.5"
bool(false) <= NULL
bool(false) <= bool(true)
bool(false) <= bool(false)
bool(false) <= object(stdClass)#%d (0) {}
bool(false) <= object(stdClass)#%d (0) {}
bool(false) <= object(test)#%d (0) {}
bool(false) <= array(0) {}
bool(false) <= int(-9223372036854775808)
bool(false) <= string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} > string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#%d (0) {} > string(6) "string"
object(stdClass)#%d (0) {} > string(3) "123"
object(stdClass)#%d (0) {} > string(3) "2.5"
object(stdClass)#%d (0) {} > NULL
object(stdClass)#%d (0) {} <= bool(true)
object(stdClass)#%d (0) {} > bool(false)
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} <= object(test)#%d (0) {}
object(stdClass)#%d (0) {} > array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-9223372036854775808)
object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} > string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#%d (0) {} > string(6) "string"
object(stdClass)#%d (0) {} > string(3) "123"
object(stdClass)#%d (0) {} > string(3) "2.5"
object(stdClass)#%d (0) {} > NULL
object(stdClass)#%d (0) {} <= bool(true)
object(stdClass)#%d (0) {} > bool(false)
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} <= object(test)#%d (0) {}
object(stdClass)#%d (0) {} > array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-9223372036854775808)
object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
object(test)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#%d (0) {} > string(0) ""
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
<= int(1)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
<= float(2.5)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(0)
object(test)#%d (0) {} > string(6) "string"
object(test)#%d (0) {} > string(3) "123"
object(test)#%d (0) {} > string(3) "2.5"
object(test)#%d (0) {} > NULL
object(test)#%d (0) {} <= bool(true)
object(test)#%d (0) {} > bool(false)
object(test)#%d (0) {} <= object(stdClass)#%d (0) {}
object(test)#%d (0) {} <= object(stdClass)#%d (0) {}
object(test)#%d (0) {} <= object(test)#%d (0) {}
object(test)#%d (0) {} > array(0) {}
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(-9223372036854775808)
object(test)#%d (0) {} > string(20) "-9223372036854775808"
array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} > string(0) ""
array(0) {} > int(1)
array(0) {} > float(2.5)
array(0) {} > int(0)
array(0) {} > string(6) "string"
array(0) {} > string(3) "123"
array(0) {} > string(3) "2.5"
array(0) {} <= NULL
array(0) {} <= bool(true)
array(0) {} <= bool(false)
array(0) {} <= object(stdClass)#%d (0) {}
array(0) {} <= object(stdClass)#%d (0) {}
array(0) {} <= object(test)#%d (0) {}
array(0) {} <= array(0) {}
array(0) {} > int(-9223372036854775808)
array(0) {} > string(20) "-9223372036854775808"
int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) <= string(0) ""
int(-9223372036854775808) <= int(1)
int(-9223372036854775808) <= float(2.5)
int(-9223372036854775808) <= int(0)
int(-9223372036854775808) <= string(6) "string"
int(-9223372036854775808) <= string(3) "123"
int(-9223372036854775808) <= string(3) "2.5"
int(-9223372036854775808) > NULL
int(-9223372036854775808) <= bool(true)
int(-9223372036854775808) > bool(false)
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#%d (0) {}
int(-9223372036854775808) <= array(0) {}
int(-9223372036854775808) <= int(-9223372036854775808)
int(-9223372036854775808) <= string(20) "-9223372036854775808"
string(20) "-9223372036854775808" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(20) "-9223372036854775808" > string(0) ""
string(20) "-9223372036854775808" <= int(1)
string(20) "-9223372036854775808" <= float(2.5)
string(20) "-9223372036854775808" <= int(0)
string(20) "-9223372036854775808" <= string(6) "string"
string(20) "-9223372036854775808" <= string(3) "123"
string(20) "-9223372036854775808" <= string(3) "2.5"
string(20) "-9223372036854775808" > NULL
string(20) "-9223372036854775808" <= bool(true)
string(20) "-9223372036854775808" > bool(false)
string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" <= object(test)#%d (0) {}
string(20) "-9223372036854775808" <= array(0) {}
string(20) "-9223372036854775808" <= int(-9223372036854775808)
string(20) "-9223372036854775808" <= string(20) "-9223372036854775808"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (less than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var < $a[$i]) ? " < " : " >= ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648"
string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
string(0) "" >= NULL
string(0) "" < bool(true)
string(0) "" >= bool(false)
string(0) "" < object(stdClass)#1 (0) {}
string(0) "" < object(stdClass)#2 (0) {}
string(0) "" < object(test)#3 (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-2147483648)
string(0) "" < string(11) "-2147483648"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
int(1) >= bool(true)
int(1) >= bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#1 (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#2 (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
>= object(test)#3 (0) {}
int(1) < array(0) {}
int(1) >= int(-2147483648)
int(1) >= string(11) "-2147483648"
float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
float(2.5) >= bool(true)
float(2.5) >= bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#1 (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#2 (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
>= object(test)#3 (0) {}
float(2.5) < array(0) {}
float(2.5) >= int(-2147483648)
float(2.5) >= string(11) "-2147483648"
int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
int(0) < bool(true)
int(0) >= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#1 (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#2 (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#3 (0) {}
int(0) < array(0) {}
int(0) >= int(-2147483648)
int(0) >= string(11) "-2147483648"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
string(6) "string" >= string(3) "2.5"
string(6) "string" >= NULL
string(6) "string" >= bool(true)
string(6) "string" >= bool(false)
string(6) "string" < object(stdClass)#1 (0) {}
string(6) "string" < object(stdClass)#2 (0) {}
string(6) "string" < object(test)#3 (0) {}
string(6) "string" < array(0) {}
string(6) "string" >= int(-2147483648)
string(6) "string" >= string(11) "-2147483648"
string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" >= string(0) ""
string(3) "123" >= int(1)
string(3) "123" >= float(2.5)
string(3) "123" >= int(0)
string(3) "123" < string(6) "string"
string(3) "123" >= string(3) "123"
string(3) "123" >= string(3) "2.5"
string(3) "123" >= NULL
string(3) "123" >= bool(true)
string(3) "123" >= bool(false)
string(3) "123" < object(stdClass)#1 (0) {}
string(3) "123" < object(stdClass)#2 (0) {}
string(3) "123" < object(test)#3 (0) {}
string(3) "123" < array(0) {}
string(3) "123" >= int(-2147483648)
string(3) "123" >= string(11) "-2147483648"
string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" >= string(0) ""
string(3) "2.5" >= int(1)
string(3) "2.5" >= float(2.5)
string(3) "2.5" >= int(0)
string(3) "2.5" < string(6) "string"
string(3) "2.5" < string(3) "123"
string(3) "2.5" >= string(3) "2.5"
string(3) "2.5" >= NULL
string(3) "2.5" >= bool(true)
string(3) "2.5" >= bool(false)
string(3) "2.5" < object(stdClass)#1 (0) {}
string(3) "2.5" < object(stdClass)#2 (0) {}
string(3) "2.5" < object(test)#3 (0) {}
string(3) "2.5" < array(0) {}
string(3) "2.5" >= int(-2147483648)
string(3) "2.5" >= string(11) "-2147483648"
NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL >= string(0) ""
NULL < int(1)
NULL < float(2.5)
NULL >= int(0)
NULL < string(6) "string"
NULL < string(3) "123"
NULL < string(3) "2.5"
NULL >= NULL
NULL < bool(true)
NULL >= bool(false)
NULL < object(stdClass)#1 (0) {}
NULL < object(stdClass)#2 (0) {}
NULL < object(test)#3 (0) {}
NULL >= array(0) {}
NULL < int(-2147483648)
NULL < string(11) "-2147483648"
bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) >= string(0) ""
bool(true) >= int(1)
bool(true) >= float(2.5)
bool(true) >= int(0)
bool(true) >= string(6) "string"
bool(true) >= string(3) "123"
bool(true) >= string(3) "2.5"
bool(true) >= NULL
bool(true) >= bool(true)
bool(true) >= bool(false)
bool(true) >= object(stdClass)#1 (0) {}
bool(true) >= object(stdClass)#2 (0) {}
bool(true) >= object(test)#3 (0) {}
bool(true) >= array(0) {}
bool(true) >= int(-2147483648)
bool(true) >= string(11) "-2147483648"
bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) >= string(0) ""
bool(false) < int(1)
bool(false) < float(2.5)
bool(false) >= int(0)
bool(false) < string(6) "string"
bool(false) < string(3) "123"
bool(false) < string(3) "2.5"
bool(false) >= NULL
bool(false) < bool(true)
bool(false) >= bool(false)
bool(false) < object(stdClass)#1 (0) {}
bool(false) < object(stdClass)#2 (0) {}
bool(false) < object(test)#3 (0) {}
bool(false) >= array(0) {}
bool(false) < int(-2147483648)
bool(false) < string(11) "-2147483648"
object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#1 (0) {} >= string(0) ""
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#1 (0) {} >= string(6) "string"
object(stdClass)#1 (0) {} >= string(3) "123"
object(stdClass)#1 (0) {} >= string(3) "2.5"
object(stdClass)#1 (0) {} >= NULL
object(stdClass)#1 (0) {} >= bool(true)
object(stdClass)#1 (0) {} >= bool(false)
object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
object(stdClass)#1 (0) {} >= object(test)#3 (0) {}
object(stdClass)#1 (0) {} >= array(0) {}
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-2147483648)
object(stdClass)#1 (0) {} >= string(11) "-2147483648"
object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#2 (0) {} >= string(0) ""
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#2 (0) {} >= string(6) "string"
object(stdClass)#2 (0) {} >= string(3) "123"
object(stdClass)#2 (0) {} >= string(3) "2.5"
object(stdClass)#2 (0) {} >= NULL
object(stdClass)#2 (0) {} >= bool(true)
object(stdClass)#2 (0) {} >= bool(false)
object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
object(stdClass)#2 (0) {} >= object(test)#3 (0) {}
object(stdClass)#2 (0) {} >= array(0) {}
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-2147483648)
object(stdClass)#2 (0) {} >= string(11) "-2147483648"
object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#3 (0) {} >= string(0) ""
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(1)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
< float(2.5)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(0)
object(test)#3 (0) {} >= string(6) "string"
object(test)#3 (0) {} >= string(3) "123"
object(test)#3 (0) {} >= string(3) "2.5"
object(test)#3 (0) {} >= NULL
object(test)#3 (0) {} >= bool(true)
object(test)#3 (0) {} >= bool(false)
object(test)#3 (0) {} >= object(stdClass)#1 (0) {}
object(test)#3 (0) {} >= object(stdClass)#2 (0) {}
object(test)#3 (0) {} >= object(test)#3 (0) {}
object(test)#3 (0) {} >= array(0) {}
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(-2147483648)
object(test)#3 (0) {} >= string(11) "-2147483648"
array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} >= string(0) ""
array(0) {} >= int(1)
array(0) {} >= float(2.5)
array(0) {} >= int(0)
array(0) {} >= string(6) "string"
array(0) {} >= string(3) "123"
array(0) {} >= string(3) "2.5"
array(0) {} >= NULL
array(0) {} < bool(true)
array(0) {} >= bool(false)
array(0) {} < object(stdClass)#1 (0) {}
array(0) {} < object(stdClass)#2 (0) {}
array(0) {} < object(test)#3 (0) {}
array(0) {} >= array(0) {}
array(0) {} >= int(-2147483648)
array(0) {} >= string(11) "-2147483648"
int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) < string(0) ""
int(-2147483648) < int(1)
int(-2147483648) < float(2.5)
int(-2147483648) < int(0)
int(-2147483648) < string(6) "string"
int(-2147483648) < string(3) "123"
int(-2147483648) < string(3) "2.5"
int(-2147483648) >= NULL
int(-2147483648) >= bool(true)
int(-2147483648) >= bool(false)
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#1 (0) {}
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#2 (0) {}
int(-2147483648)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#3 (0) {}
int(-2147483648) < array(0) {}
int(-2147483648) >= int(-2147483648)
int(-2147483648) >= string(11) "-2147483648"
string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(11) "-2147483648" >= string(0) ""
string(11) "-2147483648" < int(1)
string(11) "-2147483648" < float(2.5)
string(11) "-2147483648" < int(0)
string(11) "-2147483648" < string(6) "string"
string(11) "-2147483648" < string(3) "123"
string(11) "-2147483648" < string(3) "2.5"
string(11) "-2147483648" >= NULL
string(11) "-2147483648" >= bool(true)
string(11) "-2147483648" >= bool(false)
string(11) "-2147483648" < object(stdClass)#1 (0) {}
string(11) "-2147483648" < object(stdClass)#2 (0) {}
string(11) "-2147483648" < object(test)#3 (0) {}
string(11) "-2147483648" < array(0) {}
string(11) "-2147483648" >= int(-2147483648)
string(11) "-2147483648" >= string(11) "-2147483648"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (less than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var < $a[$i]) ? " < " : " >= ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-9223372036854775808)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(20) "-9223372036854775808"
string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
string(0) "" >= NULL
string(0) "" < bool(true)
string(0) "" >= bool(false)
string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(test)#%d (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-9223372036854775808)
string(0) "" < string(20) "-9223372036854775808"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
int(1) >= bool(true)
int(1) >= bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
>= object(test)#%d (0) {}
int(1) < array(0) {}
int(1) >= int(-9223372036854775808)
int(1) >= string(20) "-9223372036854775808"
float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
float(2.5) >= bool(true)
float(2.5) >= bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
>= object(test)#%d (0) {}
float(2.5) < array(0) {}
float(2.5) >= int(-9223372036854775808)
float(2.5) >= string(20) "-9223372036854775808"
int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
int(0) < bool(true)
int(0) >= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#%d (0) {}
int(0) < array(0) {}
int(0) >= int(-9223372036854775808)
int(0) >= string(20) "-9223372036854775808"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
string(6) "string" >= string(3) "2.5"
string(6) "string" >= NULL
string(6) "string" >= bool(true)
string(6) "string" >= bool(false)
string(6) "string" < object(stdClass)#%d (0) {}
string(6) "string" < object(stdClass)#%d (0) {}
string(6) "string" < object(test)#%d (0) {}
string(6) "string" < array(0) {}
string(6) "string" >= int(-9223372036854775808)
string(6) "string" >= string(20) "-9223372036854775808"
string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" >= string(0) ""
string(3) "123" >= int(1)
string(3) "123" >= float(2.5)
string(3) "123" >= int(0)
string(3) "123" < string(6) "string"
string(3) "123" >= string(3) "123"
string(3) "123" >= string(3) "2.5"
string(3) "123" >= NULL
string(3) "123" >= bool(true)
string(3) "123" >= bool(false)
string(3) "123" < object(stdClass)#%d (0) {}
string(3) "123" < object(stdClass)#%d (0) {}
string(3) "123" < object(test)#%d (0) {}
string(3) "123" < array(0) {}
string(3) "123" >= int(-9223372036854775808)
string(3) "123" >= string(20) "-9223372036854775808"
string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" >= string(0) ""
string(3) "2.5" >= int(1)
string(3) "2.5" >= float(2.5)
string(3) "2.5" >= int(0)
string(3) "2.5" < string(6) "string"
string(3) "2.5" < string(3) "123"
string(3) "2.5" >= string(3) "2.5"
string(3) "2.5" >= NULL
string(3) "2.5" >= bool(true)
string(3) "2.5" >= bool(false)
string(3) "2.5" < object(stdClass)#%d (0) {}
string(3) "2.5" < object(stdClass)#%d (0) {}
string(3) "2.5" < object(test)#%d (0) {}
string(3) "2.5" < array(0) {}
string(3) "2.5" >= int(-9223372036854775808)
string(3) "2.5" >= string(20) "-9223372036854775808"
NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL >= string(0) ""
NULL < int(1)
NULL < float(2.5)
NULL >= int(0)
NULL < string(6) "string"
NULL < string(3) "123"
NULL < string(3) "2.5"
NULL >= NULL
NULL < bool(true)
NULL >= bool(false)
NULL < object(stdClass)#%d (0) {}
NULL < object(stdClass)#%d (0) {}
NULL < object(test)#%d (0) {}
NULL >= array(0) {}
NULL < int(-9223372036854775808)
NULL < string(20) "-9223372036854775808"
bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) >= string(0) ""
bool(true) >= int(1)
bool(true) >= float(2.5)
bool(true) >= int(0)
bool(true) >= string(6) "string"
bool(true) >= string(3) "123"
bool(true) >= string(3) "2.5"
bool(true) >= NULL
bool(true) >= bool(true)
bool(true) >= bool(false)
bool(true) >= object(stdClass)#%d (0) {}
bool(true) >= object(stdClass)#%d (0) {}
bool(true) >= object(test)#%d (0) {}
bool(true) >= array(0) {}
bool(true) >= int(-9223372036854775808)
bool(true) >= string(20) "-9223372036854775808"
bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) >= string(0) ""
bool(false) < int(1)
bool(false) < float(2.5)
bool(false) >= int(0)
bool(false) < string(6) "string"
bool(false) < string(3) "123"
bool(false) < string(3) "2.5"
bool(false) >= NULL
bool(false) < bool(true)
bool(false) >= bool(false)
bool(false) < object(stdClass)#%d (0) {}
bool(false) < object(stdClass)#%d (0) {}
bool(false) < object(test)#%d (0) {}
bool(false) >= array(0) {}
bool(false) < int(-9223372036854775808)
bool(false) < string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} >= string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#%d (0) {} >= string(6) "string"
object(stdClass)#%d (0) {} >= string(3) "123"
object(stdClass)#%d (0) {} >= string(3) "2.5"
object(stdClass)#%d (0) {} >= NULL
object(stdClass)#%d (0) {} >= bool(true)
object(stdClass)#%d (0) {} >= bool(false)
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} >= object(test)#%d (0) {}
object(stdClass)#%d (0) {} >= array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-9223372036854775808)
object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} >= string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#%d (0) {} >= string(6) "string"
object(stdClass)#%d (0) {} >= string(3) "123"
object(stdClass)#%d (0) {} >= string(3) "2.5"
object(stdClass)#%d (0) {} >= NULL
object(stdClass)#%d (0) {} >= bool(true)
object(stdClass)#%d (0) {} >= bool(false)
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} >= object(test)#%d (0) {}
object(stdClass)#%d (0) {} >= array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-9223372036854775808)
object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
object(test)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#%d (0) {} >= string(0) ""
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(1)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
< float(2.5)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(0)
object(test)#%d (0) {} >= string(6) "string"
object(test)#%d (0) {} >= string(3) "123"
object(test)#%d (0) {} >= string(3) "2.5"
object(test)#%d (0) {} >= NULL
object(test)#%d (0) {} >= bool(true)
object(test)#%d (0) {} >= bool(false)
object(test)#%d (0) {} >= object(stdClass)#%d (0) {}
object(test)#%d (0) {} >= object(stdClass)#%d (0) {}
object(test)#%d (0) {} >= object(test)#%d (0) {}
object(test)#%d (0) {} >= array(0) {}
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(-9223372036854775808)
object(test)#%d (0) {} >= string(20) "-9223372036854775808"
array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} >= string(0) ""
array(0) {} >= int(1)
array(0) {} >= float(2.5)
array(0) {} >= int(0)
array(0) {} >= string(6) "string"
array(0) {} >= string(3) "123"
array(0) {} >= string(3) "2.5"
array(0) {} >= NULL
array(0) {} < bool(true)
array(0) {} >= bool(false)
array(0) {} < object(stdClass)#%d (0) {}
array(0) {} < object(stdClass)#%d (0) {}
array(0) {} < object(test)#%d (0) {}
array(0) {} >= array(0) {}
array(0) {} >= int(-9223372036854775808)
array(0) {} >= string(20) "-9223372036854775808"
int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) < string(0) ""
int(-9223372036854775808) < int(1)
int(-9223372036854775808) < float(2.5)
int(-9223372036854775808) < int(0)
int(-9223372036854775808) < string(6) "string"
int(-9223372036854775808) < string(3) "123"
int(-9223372036854775808) < string(3) "2.5"
int(-9223372036854775808) >= NULL
int(-9223372036854775808) >= bool(true)
int(-9223372036854775808) >= bool(false)
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#%d (0) {}
int(-9223372036854775808) < array(0) {}
int(-9223372036854775808) >= int(-9223372036854775808)
int(-9223372036854775808) >= string(20) "-9223372036854775808"
string(20) "-9223372036854775808" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(20) "-9223372036854775808" >= string(0) ""
string(20) "-9223372036854775808" < int(1)
string(20) "-9223372036854775808" < float(2.5)
string(20) "-9223372036854775808" < int(0)
string(20) "-9223372036854775808" < string(6) "string"
string(20) "-9223372036854775808" < string(3) "123"
string(20) "-9223372036854775808" < string(3) "2.5"
string(20) "-9223372036854775808" >= NULL
string(20) "-9223372036854775808" >= bool(true)
string(20) "-9223372036854775808" >= bool(false)
string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" < object(test)#%d (0) {}
string(20) "-9223372036854775808" < array(0) {}
string(20) "-9223372036854775808" >= int(-9223372036854775808)
string(20) "-9223372036854775808" >= string(20) "-9223372036854775808"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (greater or equal than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var >= $a[$i]) ? " >= " : " < ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648"
string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
string(0) "" >= NULL
string(0) "" < bool(true)
string(0) "" >= bool(false)
string(0) "" < object(stdClass)#1 (0) {}
string(0) "" < object(stdClass)#2 (0) {}
string(0) "" < object(test)#3 (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-2147483648)
string(0) "" < string(11) "-2147483648"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
int(1) >= bool(true)
int(1) >= bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#1 (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#2 (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
>= object(test)#3 (0) {}
int(1) < array(0) {}
int(1) >= int(-2147483648)
int(1) >= string(11) "-2147483648"
float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
float(2.5) >= bool(true)
float(2.5) >= bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#1 (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#2 (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
>= object(test)#3 (0) {}
float(2.5) < array(0) {}
float(2.5) >= int(-2147483648)
float(2.5) >= string(11) "-2147483648"
int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
int(0) < bool(true)
int(0) >= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#1 (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#2 (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#3 (0) {}
int(0) < array(0) {}
int(0) >= int(-2147483648)
int(0) >= string(11) "-2147483648"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
string(6) "string" >= string(3) "2.5"
string(6) "string" >= NULL
string(6) "string" >= bool(true)
string(6) "string" >= bool(false)
string(6) "string" < object(stdClass)#1 (0) {}
string(6) "string" < object(stdClass)#2 (0) {}
string(6) "string" < object(test)#3 (0) {}
string(6) "string" < array(0) {}
string(6) "string" >= int(-2147483648)
string(6) "string" >= string(11) "-2147483648"
string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" >= string(0) ""
string(3) "123" >= int(1)
string(3) "123" >= float(2.5)
string(3) "123" >= int(0)
string(3) "123" < string(6) "string"
string(3) "123" >= string(3) "123"
string(3) "123" >= string(3) "2.5"
string(3) "123" >= NULL
string(3) "123" >= bool(true)
string(3) "123" >= bool(false)
string(3) "123" < object(stdClass)#1 (0) {}
string(3) "123" < object(stdClass)#2 (0) {}
string(3) "123" < object(test)#3 (0) {}
string(3) "123" < array(0) {}
string(3) "123" >= int(-2147483648)
string(3) "123" >= string(11) "-2147483648"
string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" >= string(0) ""
string(3) "2.5" >= int(1)
string(3) "2.5" >= float(2.5)
string(3) "2.5" >= int(0)
string(3) "2.5" < string(6) "string"
string(3) "2.5" < string(3) "123"
string(3) "2.5" >= string(3) "2.5"
string(3) "2.5" >= NULL
string(3) "2.5" >= bool(true)
string(3) "2.5" >= bool(false)
string(3) "2.5" < object(stdClass)#1 (0) {}
string(3) "2.5" < object(stdClass)#2 (0) {}
string(3) "2.5" < object(test)#3 (0) {}
string(3) "2.5" < array(0) {}
string(3) "2.5" >= int(-2147483648)
string(3) "2.5" >= string(11) "-2147483648"
NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL >= string(0) ""
NULL < int(1)
NULL < float(2.5)
NULL >= int(0)
NULL < string(6) "string"
NULL < string(3) "123"
NULL < string(3) "2.5"
NULL >= NULL
NULL < bool(true)
NULL >= bool(false)
NULL < object(stdClass)#1 (0) {}
NULL < object(stdClass)#2 (0) {}
NULL < object(test)#3 (0) {}
NULL >= array(0) {}
NULL < int(-2147483648)
NULL < string(11) "-2147483648"
bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) >= string(0) ""
bool(true) >= int(1)
bool(true) >= float(2.5)
bool(true) >= int(0)
bool(true) >= string(6) "string"
bool(true) >= string(3) "123"
bool(true) >= string(3) "2.5"
bool(true) >= NULL
bool(true) >= bool(true)
bool(true) >= bool(false)
bool(true) >= object(stdClass)#1 (0) {}
bool(true) >= object(stdClass)#2 (0) {}
bool(true) >= object(test)#3 (0) {}
bool(true) >= array(0) {}
bool(true) >= int(-2147483648)
bool(true) >= string(11) "-2147483648"
bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) >= string(0) ""
bool(false) < int(1)
bool(false) < float(2.5)
bool(false) >= int(0)
bool(false) < string(6) "string"
bool(false) < string(3) "123"
bool(false) < string(3) "2.5"
bool(false) >= NULL
bool(false) < bool(true)
bool(false) >= bool(false)
bool(false) < object(stdClass)#1 (0) {}
bool(false) < object(stdClass)#2 (0) {}
bool(false) < object(test)#3 (0) {}
bool(false) >= array(0) {}
bool(false) < int(-2147483648)
bool(false) < string(11) "-2147483648"
object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#1 (0) {} >= string(0) ""
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#1 (0) {} >= string(6) "string"
object(stdClass)#1 (0) {} >= string(3) "123"
object(stdClass)#1 (0) {} >= string(3) "2.5"
object(stdClass)#1 (0) {} >= NULL
object(stdClass)#1 (0) {} >= bool(true)
object(stdClass)#1 (0) {} >= bool(false)
object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
object(stdClass)#1 (0) {} < object(test)#3 (0) {}
object(stdClass)#1 (0) {} >= array(0) {}
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-2147483648)
object(stdClass)#1 (0) {} >= string(11) "-2147483648"
object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#2 (0) {} >= string(0) ""
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#2 (0) {} >= string(6) "string"
object(stdClass)#2 (0) {} >= string(3) "123"
object(stdClass)#2 (0) {} >= string(3) "2.5"
object(stdClass)#2 (0) {} >= NULL
object(stdClass)#2 (0) {} >= bool(true)
object(stdClass)#2 (0) {} >= bool(false)
object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
object(stdClass)#2 (0) {} < object(test)#3 (0) {}
object(stdClass)#2 (0) {} >= array(0) {}
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-2147483648)
object(stdClass)#2 (0) {} >= string(11) "-2147483648"
object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#3 (0) {} >= string(0) ""
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(1)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
< float(2.5)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(0)
object(test)#3 (0) {} >= string(6) "string"
object(test)#3 (0) {} >= string(3) "123"
object(test)#3 (0) {} >= string(3) "2.5"
object(test)#3 (0) {} >= NULL
object(test)#3 (0) {} >= bool(true)
object(test)#3 (0) {} >= bool(false)
object(test)#3 (0) {} < object(stdClass)#1 (0) {}
object(test)#3 (0) {} < object(stdClass)#2 (0) {}
object(test)#3 (0) {} >= object(test)#3 (0) {}
object(test)#3 (0) {} >= array(0) {}
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(-2147483648)
object(test)#3 (0) {} >= string(11) "-2147483648"
array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} >= string(0) ""
array(0) {} >= int(1)
array(0) {} >= float(2.5)
array(0) {} >= int(0)
array(0) {} >= string(6) "string"
array(0) {} >= string(3) "123"
array(0) {} >= string(3) "2.5"
array(0) {} >= NULL
array(0) {} < bool(true)
array(0) {} >= bool(false)
array(0) {} < object(stdClass)#1 (0) {}
array(0) {} < object(stdClass)#2 (0) {}
array(0) {} < object(test)#3 (0) {}
array(0) {} >= array(0) {}
array(0) {} >= int(-2147483648)
array(0) {} >= string(11) "-2147483648"
int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) < string(0) ""
int(-2147483648) < int(1)
int(-2147483648) < float(2.5)
int(-2147483648) < int(0)
int(-2147483648) < string(6) "string"
int(-2147483648) < string(3) "123"
int(-2147483648) < string(3) "2.5"
int(-2147483648) >= NULL
int(-2147483648) >= bool(true)
int(-2147483648) >= bool(false)
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#1 (0) {}
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#2 (0) {}
int(-2147483648)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#3 (0) {}
int(-2147483648) < array(0) {}
int(-2147483648) >= int(-2147483648)
int(-2147483648) >= string(11) "-2147483648"
string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(11) "-2147483648" >= string(0) ""
string(11) "-2147483648" < int(1)
string(11) "-2147483648" < float(2.5)
string(11) "-2147483648" < int(0)
string(11) "-2147483648" < string(6) "string"
string(11) "-2147483648" < string(3) "123"
string(11) "-2147483648" < string(3) "2.5"
string(11) "-2147483648" >= NULL
string(11) "-2147483648" >= bool(true)
string(11) "-2147483648" >= bool(false)
string(11) "-2147483648" < object(stdClass)#1 (0) {}
string(11) "-2147483648" < object(stdClass)#2 (0) {}
string(11) "-2147483648" < object(test)#3 (0) {}
string(11) "-2147483648" < array(0) {}
string(11) "-2147483648" >= int(-2147483648)
string(11) "-2147483648" >= string(11) "-2147483648"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (greater or equal than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var >= $a[$i]) ? " >= " : " < ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-9223372036854775808)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(20) "-9223372036854775808"
string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
string(0) "" >= NULL
string(0) "" < bool(true)
string(0) "" >= bool(false)
string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(test)#%d (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-9223372036854775808)
string(0) "" < string(20) "-9223372036854775808"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
int(1) >= bool(true)
int(1) >= bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
>= object(test)#%d (0) {}
int(1) < array(0) {}
int(1) >= int(-9223372036854775808)
int(1) >= string(20) "-9223372036854775808"
float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
float(2.5) >= bool(true)
float(2.5) >= bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
>= object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
>= object(test)#%d (0) {}
float(2.5) < array(0) {}
float(2.5) >= int(-9223372036854775808)
float(2.5) >= string(20) "-9223372036854775808"
int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
int(0) < bool(true)
int(0) >= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#%d (0) {}
int(0) < array(0) {}
int(0) >= int(-9223372036854775808)
int(0) >= string(20) "-9223372036854775808"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
string(6) "string" >= string(3) "2.5"
string(6) "string" >= NULL
string(6) "string" >= bool(true)
string(6) "string" >= bool(false)
string(6) "string" < object(stdClass)#%d (0) {}
string(6) "string" < object(stdClass)#%d (0) {}
string(6) "string" < object(test)#%d (0) {}
string(6) "string" < array(0) {}
string(6) "string" >= int(-9223372036854775808)
string(6) "string" >= string(20) "-9223372036854775808"
string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" >= string(0) ""
string(3) "123" >= int(1)
string(3) "123" >= float(2.5)
string(3) "123" >= int(0)
string(3) "123" < string(6) "string"
string(3) "123" >= string(3) "123"
string(3) "123" >= string(3) "2.5"
string(3) "123" >= NULL
string(3) "123" >= bool(true)
string(3) "123" >= bool(false)
string(3) "123" < object(stdClass)#%d (0) {}
string(3) "123" < object(stdClass)#%d (0) {}
string(3) "123" < object(test)#%d (0) {}
string(3) "123" < array(0) {}
string(3) "123" >= int(-9223372036854775808)
string(3) "123" >= string(20) "-9223372036854775808"
string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" >= string(0) ""
string(3) "2.5" >= int(1)
string(3) "2.5" >= float(2.5)
string(3) "2.5" >= int(0)
string(3) "2.5" < string(6) "string"
string(3) "2.5" < string(3) "123"
string(3) "2.5" >= string(3) "2.5"
string(3) "2.5" >= NULL
string(3) "2.5" >= bool(true)
string(3) "2.5" >= bool(false)
string(3) "2.5" < object(stdClass)#%d (0) {}
string(3) "2.5" < object(stdClass)#%d (0) {}
string(3) "2.5" < object(test)#%d (0) {}
string(3) "2.5" < array(0) {}
string(3) "2.5" >= int(-9223372036854775808)
string(3) "2.5" >= string(20) "-9223372036854775808"
NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL >= string(0) ""
NULL < int(1)
NULL < float(2.5)
NULL >= int(0)
NULL < string(6) "string"
NULL < string(3) "123"
NULL < string(3) "2.5"
NULL >= NULL
NULL < bool(true)
NULL >= bool(false)
NULL < object(stdClass)#%d (0) {}
NULL < object(stdClass)#%d (0) {}
NULL < object(test)#%d (0) {}
NULL >= array(0) {}
NULL < int(-9223372036854775808)
NULL < string(20) "-9223372036854775808"
bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) >= string(0) ""
bool(true) >= int(1)
bool(true) >= float(2.5)
bool(true) >= int(0)
bool(true) >= string(6) "string"
bool(true) >= string(3) "123"
bool(true) >= string(3) "2.5"
bool(true) >= NULL
bool(true) >= bool(true)
bool(true) >= bool(false)
bool(true) >= object(stdClass)#%d (0) {}
bool(true) >= object(stdClass)#%d (0) {}
bool(true) >= object(test)#%d (0) {}
bool(true) >= array(0) {}
bool(true) >= int(-9223372036854775808)
bool(true) >= string(20) "-9223372036854775808"
bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) >= string(0) ""
bool(false) < int(1)
bool(false) < float(2.5)
bool(false) >= int(0)
bool(false) < string(6) "string"
bool(false) < string(3) "123"
bool(false) < string(3) "2.5"
bool(false) >= NULL
bool(false) < bool(true)
bool(false) >= bool(false)
bool(false) < object(stdClass)#%d (0) {}
bool(false) < object(stdClass)#%d (0) {}
bool(false) < object(test)#%d (0) {}
bool(false) >= array(0) {}
bool(false) < int(-9223372036854775808)
bool(false) < string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} >= string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#%d (0) {} >= string(6) "string"
object(stdClass)#%d (0) {} >= string(3) "123"
object(stdClass)#%d (0) {} >= string(3) "2.5"
object(stdClass)#%d (0) {} >= NULL
object(stdClass)#%d (0) {} >= bool(true)
object(stdClass)#%d (0) {} >= bool(false)
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} < object(test)#%d (0) {}
object(stdClass)#%d (0) {} >= array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-9223372036854775808)
object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} >= string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
< float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(0)
object(stdClass)#%d (0) {} >= string(6) "string"
object(stdClass)#%d (0) {} >= string(3) "123"
object(stdClass)#%d (0) {} >= string(3) "2.5"
object(stdClass)#%d (0) {} >= NULL
object(stdClass)#%d (0) {} >= bool(true)
object(stdClass)#%d (0) {} >= bool(false)
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} < object(test)#%d (0) {}
object(stdClass)#%d (0) {} >= array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
>= int(-9223372036854775808)
object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
object(test)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#%d (0) {} >= string(0) ""
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(1)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
< float(2.5)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(0)
object(test)#%d (0) {} >= string(6) "string"
object(test)#%d (0) {} >= string(3) "123"
object(test)#%d (0) {} >= string(3) "2.5"
object(test)#%d (0) {} >= NULL
object(test)#%d (0) {} >= bool(true)
object(test)#%d (0) {} >= bool(false)
object(test)#%d (0) {} < object(stdClass)#%d (0) {}
object(test)#%d (0) {} < object(stdClass)#%d (0) {}
object(test)#%d (0) {} >= object(test)#%d (0) {}
object(test)#%d (0) {} >= array(0) {}
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
>= int(-9223372036854775808)
object(test)#%d (0) {} >= string(20) "-9223372036854775808"
array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} >= string(0) ""
array(0) {} >= int(1)
array(0) {} >= float(2.5)
array(0) {} >= int(0)
array(0) {} >= string(6) "string"
array(0) {} >= string(3) "123"
array(0) {} >= string(3) "2.5"
array(0) {} >= NULL
array(0) {} < bool(true)
array(0) {} >= bool(false)
array(0) {} < object(stdClass)#%d (0) {}
array(0) {} < object(stdClass)#%d (0) {}
array(0) {} < object(test)#%d (0) {}
array(0) {} >= array(0) {}
array(0) {} >= int(-9223372036854775808)
array(0) {} >= string(20) "-9223372036854775808"
int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) < string(0) ""
int(-9223372036854775808) < int(1)
int(-9223372036854775808) < float(2.5)
int(-9223372036854775808) < int(0)
int(-9223372036854775808) < string(6) "string"
int(-9223372036854775808) < string(3) "123"
int(-9223372036854775808) < string(3) "2.5"
int(-9223372036854775808) >= NULL
int(-9223372036854775808) >= bool(true)
int(-9223372036854775808) >= bool(false)
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
< object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class test could not be converted to int in %s on line %d
< object(test)#%d (0) {}
int(-9223372036854775808) < array(0) {}
int(-9223372036854775808) >= int(-9223372036854775808)
int(-9223372036854775808) >= string(20) "-9223372036854775808"
string(20) "-9223372036854775808" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(20) "-9223372036854775808" >= string(0) ""
string(20) "-9223372036854775808" < int(1)
string(20) "-9223372036854775808" < float(2.5)
string(20) "-9223372036854775808" < int(0)
string(20) "-9223372036854775808" < string(6) "string"
string(20) "-9223372036854775808" < string(3) "123"
string(20) "-9223372036854775808" < string(3) "2.5"
string(20) "-9223372036854775808" >= NULL
string(20) "-9223372036854775808" >= bool(true)
string(20) "-9223372036854775808" >= bool(false)
string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" < object(test)#%d (0) {}
string(20) "-9223372036854775808" < array(0) {}
string(20) "-9223372036854775808" >= int(-9223372036854775808)
string(20) "-9223372036854775808" >= string(20) "-9223372036854775808"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (smaller or equal than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var <= $a[$i]) ? " <= " : " > ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648"
string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" <= string(0) ""
string(0) "" <= int(1)
string(0) "" <= float(2.5)
string(0) "" <= int(0)
string(0) "" <= string(6) "string"
string(0) "" <= string(3) "123"
string(0) "" <= string(3) "2.5"
string(0) "" <= NULL
string(0) "" <= bool(true)
string(0) "" <= bool(false)
string(0) "" <= object(stdClass)#1 (0) {}
string(0) "" <= object(stdClass)#2 (0) {}
string(0) "" <= object(test)#3 (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-2147483648)
string(0) "" <= string(11) "-2147483648"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
int(1) <= bool(true)
int(1) > bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#1 (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#2 (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#3 (0) {}
int(1) <= array(0) {}
int(1) > int(-2147483648)
int(1) > string(11) "-2147483648"
float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
float(2.5) <= bool(true)
float(2.5) > bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#1 (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#2 (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
> object(test)#3 (0) {}
float(2.5) <= array(0) {}
float(2.5) > int(-2147483648)
float(2.5) > string(11) "-2147483648"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
int(0) <= string(6) "string"
int(0) <= string(3) "123"
int(0) <= string(3) "2.5"
int(0) <= NULL
int(0) <= bool(true)
int(0) <= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#1 (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#2 (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#3 (0) {}
int(0) <= array(0) {}
int(0) > int(-2147483648)
int(0) > string(11) "-2147483648"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
string(6) "string" > NULL
string(6) "string" <= bool(true)
string(6) "string" > bool(false)
string(6) "string" <= object(stdClass)#1 (0) {}
string(6) "string" <= object(stdClass)#2 (0) {}
string(6) "string" <= object(test)#3 (0) {}
string(6) "string" <= array(0) {}
string(6) "string" > int(-2147483648)
string(6) "string" > string(11) "-2147483648"
string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" > string(0) ""
string(3) "123" > int(1)
string(3) "123" > float(2.5)
string(3) "123" > int(0)
string(3) "123" <= string(6) "string"
string(3) "123" <= string(3) "123"
string(3) "123" > string(3) "2.5"
string(3) "123" > NULL
string(3) "123" <= bool(true)
string(3) "123" > bool(false)
string(3) "123" <= object(stdClass)#1 (0) {}
string(3) "123" <= object(stdClass)#2 (0) {}
string(3) "123" <= object(test)#3 (0) {}
string(3) "123" <= array(0) {}
string(3) "123" > int(-2147483648)
string(3) "123" > string(11) "-2147483648"
string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" > string(0) ""
string(3) "2.5" > int(1)
string(3) "2.5" <= float(2.5)
string(3) "2.5" > int(0)
string(3) "2.5" <= string(6) "string"
string(3) "2.5" <= string(3) "123"
string(3) "2.5" <= string(3) "2.5"
string(3) "2.5" > NULL
string(3) "2.5" <= bool(true)
string(3) "2.5" > bool(false)
string(3) "2.5" <= object(stdClass)#1 (0) {}
string(3) "2.5" <= object(stdClass)#2 (0) {}
string(3) "2.5" <= object(test)#3 (0) {}
string(3) "2.5" <= array(0) {}
string(3) "2.5" > int(-2147483648)
string(3) "2.5" > string(11) "-2147483648"
NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL <= string(0) ""
NULL <= int(1)
NULL <= float(2.5)
NULL <= int(0)
NULL <= string(6) "string"
NULL <= string(3) "123"
NULL <= string(3) "2.5"
NULL <= NULL
NULL <= bool(true)
NULL <= bool(false)
NULL <= object(stdClass)#1 (0) {}
NULL <= object(stdClass)#2 (0) {}
NULL <= object(test)#3 (0) {}
NULL <= array(0) {}
NULL <= int(-2147483648)
NULL <= string(11) "-2147483648"
bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) > string(0) ""
bool(true) <= int(1)
bool(true) <= float(2.5)
bool(true) > int(0)
bool(true) <= string(6) "string"
bool(true) <= string(3) "123"
bool(true) <= string(3) "2.5"
bool(true) > NULL
bool(true) <= bool(true)
bool(true) > bool(false)
bool(true) <= object(stdClass)#1 (0) {}
bool(true) <= object(stdClass)#2 (0) {}
bool(true) <= object(test)#3 (0) {}
bool(true) > array(0) {}
bool(true) <= int(-2147483648)
bool(true) <= string(11) "-2147483648"
bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) <= string(0) ""
bool(false) <= int(1)
bool(false) <= float(2.5)
bool(false) <= int(0)
bool(false) <= string(6) "string"
bool(false) <= string(3) "123"
bool(false) <= string(3) "2.5"
bool(false) <= NULL
bool(false) <= bool(true)
bool(false) <= bool(false)
bool(false) <= object(stdClass)#1 (0) {}
bool(false) <= object(stdClass)#2 (0) {}
bool(false) <= object(test)#3 (0) {}
bool(false) <= array(0) {}
bool(false) <= int(-2147483648)
bool(false) <= string(11) "-2147483648"
object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#1 (0) {} > string(0) ""
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#1 (0) {} > string(6) "string"
object(stdClass)#1 (0) {} > string(3) "123"
object(stdClass)#1 (0) {} > string(3) "2.5"
object(stdClass)#1 (0) {} > NULL
object(stdClass)#1 (0) {} <= bool(true)
object(stdClass)#1 (0) {} > bool(false)
object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
object(stdClass)#1 (0) {} > object(test)#3 (0) {}
object(stdClass)#1 (0) {} > array(0) {}
object(stdClass)#1 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-2147483648)
object(stdClass)#1 (0) {} > string(11) "-2147483648"
object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#2 (0) {} > string(0) ""
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#2 (0) {} > string(6) "string"
object(stdClass)#2 (0) {} > string(3) "123"
object(stdClass)#2 (0) {} > string(3) "2.5"
object(stdClass)#2 (0) {} > NULL
object(stdClass)#2 (0) {} <= bool(true)
object(stdClass)#2 (0) {} > bool(false)
object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
object(stdClass)#2 (0) {} > object(test)#3 (0) {}
object(stdClass)#2 (0) {} > array(0) {}
object(stdClass)#2 (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-2147483648)
object(stdClass)#2 (0) {} > string(11) "-2147483648"
object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#3 (0) {} > string(0) ""
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
<= int(1)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
<= float(2.5)
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(0)
object(test)#3 (0) {} > string(6) "string"
object(test)#3 (0) {} > string(3) "123"
object(test)#3 (0) {} > string(3) "2.5"
object(test)#3 (0) {} > NULL
object(test)#3 (0) {} <= bool(true)
object(test)#3 (0) {} > bool(false)
object(test)#3 (0) {} > object(stdClass)#1 (0) {}
object(test)#3 (0) {} > object(stdClass)#2 (0) {}
object(test)#3 (0) {} <= object(test)#3 (0) {}
object(test)#3 (0) {} > array(0) {}
object(test)#3 (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(-2147483648)
object(test)#3 (0) {} > string(11) "-2147483648"
array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} > string(0) ""
array(0) {} > int(1)
array(0) {} > float(2.5)
array(0) {} > int(0)
array(0) {} > string(6) "string"
array(0) {} > string(3) "123"
array(0) {} > string(3) "2.5"
array(0) {} <= NULL
array(0) {} <= bool(true)
array(0) {} <= bool(false)
array(0) {} <= object(stdClass)#1 (0) {}
array(0) {} <= object(stdClass)#2 (0) {}
array(0) {} <= object(test)#3 (0) {}
array(0) {} <= array(0) {}
array(0) {} > int(-2147483648)
array(0) {} > string(11) "-2147483648"
int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) <= string(0) ""
int(-2147483648) <= int(1)
int(-2147483648) <= float(2.5)
int(-2147483648) <= int(0)
int(-2147483648) <= string(6) "string"
int(-2147483648) <= string(3) "123"
int(-2147483648) <= string(3) "2.5"
int(-2147483648) > NULL
int(-2147483648) <= bool(true)
int(-2147483648) > bool(false)
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#1 (0) {}
int(-2147483648)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#2 (0) {}
int(-2147483648)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#3 (0) {}
int(-2147483648) <= array(0) {}
int(-2147483648) <= int(-2147483648)
int(-2147483648) <= string(11) "-2147483648"
string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(11) "-2147483648" > string(0) ""
string(11) "-2147483648" <= int(1)
string(11) "-2147483648" <= float(2.5)
string(11) "-2147483648" <= int(0)
string(11) "-2147483648" <= string(6) "string"
string(11) "-2147483648" <= string(3) "123"
string(11) "-2147483648" <= string(3) "2.5"
string(11) "-2147483648" > NULL
string(11) "-2147483648" <= bool(true)
string(11) "-2147483648" > bool(false)
string(11) "-2147483648" <= object(stdClass)#1 (0) {}
string(11) "-2147483648" <= object(stdClass)#2 (0) {}
string(11) "-2147483648" <= object(test)#3 (0) {}
string(11) "-2147483648" <= array(0) {}
string(11) "-2147483648" <= int(-2147483648)
string(11) "-2147483648" <= string(11) "-2147483648"
Done
+389
View File
@@ -0,0 +1,389 @@
--TEST--
comparing different variables (smaller or equal than)
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
--FILE--
<?php
class test {
}
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
new stdclass,
new test,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
$var_cnt = count($a);
function my_dump($var) {
ob_start();
var_dump($var);
$buf = ob_get_clean();
echo str_replace("\n", "", $buf);
}
foreach($a as $var) {
for ($i = 0; $i < $var_cnt; $i++) {
my_dump($var);
echo ($var <= $a[$i]) ? " <= " : " > ";
my_dump($a[$i]);
echo "\n";
}
}
echo "Done\n";
?>
--EXPECTF--
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#%d (0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-9223372036854775808)
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(20) "-9223372036854775808"
string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" <= string(0) ""
string(0) "" <= int(1)
string(0) "" <= float(2.5)
string(0) "" <= int(0)
string(0) "" <= string(6) "string"
string(0) "" <= string(3) "123"
string(0) "" <= string(3) "2.5"
string(0) "" <= NULL
string(0) "" <= bool(true)
string(0) "" <= bool(false)
string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(test)#%d (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-9223372036854775808)
string(0) "" <= string(20) "-9223372036854775808"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
int(1) <= bool(true)
int(1) > bool(false)
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(1)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#%d (0) {}
int(1) <= array(0) {}
int(1) > int(-9223372036854775808)
int(1) > string(20) "-9223372036854775808"
float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
float(2.5) <= bool(true)
float(2.5) > bool(false)
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class stdClass could not be converted to double in %s on line %d
> object(stdClass)#%d (0) {}
float(2.5)
Notice: Object of class test could not be converted to double in %s on line %d
> object(test)#%d (0) {}
float(2.5) <= array(0) {}
float(2.5) > int(-9223372036854775808)
float(2.5) > string(20) "-9223372036854775808"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
int(0) <= string(6) "string"
int(0) <= string(3) "123"
int(0) <= string(3) "2.5"
int(0) <= NULL
int(0) <= bool(true)
int(0) <= bool(false)
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(0)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(0)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#%d (0) {}
int(0) <= array(0) {}
int(0) > int(-9223372036854775808)
int(0) > string(20) "-9223372036854775808"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
string(6) "string" > NULL
string(6) "string" <= bool(true)
string(6) "string" > bool(false)
string(6) "string" <= object(stdClass)#%d (0) {}
string(6) "string" <= object(stdClass)#%d (0) {}
string(6) "string" <= object(test)#%d (0) {}
string(6) "string" <= array(0) {}
string(6) "string" > int(-9223372036854775808)
string(6) "string" > string(20) "-9223372036854775808"
string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "123" > string(0) ""
string(3) "123" > int(1)
string(3) "123" > float(2.5)
string(3) "123" > int(0)
string(3) "123" <= string(6) "string"
string(3) "123" <= string(3) "123"
string(3) "123" > string(3) "2.5"
string(3) "123" > NULL
string(3) "123" <= bool(true)
string(3) "123" > bool(false)
string(3) "123" <= object(stdClass)#%d (0) {}
string(3) "123" <= object(stdClass)#%d (0) {}
string(3) "123" <= object(test)#%d (0) {}
string(3) "123" <= array(0) {}
string(3) "123" > int(-9223372036854775808)
string(3) "123" > string(20) "-9223372036854775808"
string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(3) "2.5" > string(0) ""
string(3) "2.5" > int(1)
string(3) "2.5" <= float(2.5)
string(3) "2.5" > int(0)
string(3) "2.5" <= string(6) "string"
string(3) "2.5" <= string(3) "123"
string(3) "2.5" <= string(3) "2.5"
string(3) "2.5" > NULL
string(3) "2.5" <= bool(true)
string(3) "2.5" > bool(false)
string(3) "2.5" <= object(stdClass)#%d (0) {}
string(3) "2.5" <= object(stdClass)#%d (0) {}
string(3) "2.5" <= object(test)#%d (0) {}
string(3) "2.5" <= array(0) {}
string(3) "2.5" > int(-9223372036854775808)
string(3) "2.5" > string(20) "-9223372036854775808"
NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
NULL <= string(0) ""
NULL <= int(1)
NULL <= float(2.5)
NULL <= int(0)
NULL <= string(6) "string"
NULL <= string(3) "123"
NULL <= string(3) "2.5"
NULL <= NULL
NULL <= bool(true)
NULL <= bool(false)
NULL <= object(stdClass)#%d (0) {}
NULL <= object(stdClass)#%d (0) {}
NULL <= object(test)#%d (0) {}
NULL <= array(0) {}
NULL <= int(-9223372036854775808)
NULL <= string(20) "-9223372036854775808"
bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(true) > string(0) ""
bool(true) <= int(1)
bool(true) <= float(2.5)
bool(true) > int(0)
bool(true) <= string(6) "string"
bool(true) <= string(3) "123"
bool(true) <= string(3) "2.5"
bool(true) > NULL
bool(true) <= bool(true)
bool(true) > bool(false)
bool(true) <= object(stdClass)#%d (0) {}
bool(true) <= object(stdClass)#%d (0) {}
bool(true) <= object(test)#%d (0) {}
bool(true) > array(0) {}
bool(true) <= int(-9223372036854775808)
bool(true) <= string(20) "-9223372036854775808"
bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
bool(false) <= string(0) ""
bool(false) <= int(1)
bool(false) <= float(2.5)
bool(false) <= int(0)
bool(false) <= string(6) "string"
bool(false) <= string(3) "123"
bool(false) <= string(3) "2.5"
bool(false) <= NULL
bool(false) <= bool(true)
bool(false) <= bool(false)
bool(false) <= object(stdClass)#%d (0) {}
bool(false) <= object(stdClass)#%d (0) {}
bool(false) <= object(test)#%d (0) {}
bool(false) <= array(0) {}
bool(false) <= int(-9223372036854775808)
bool(false) <= string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} > string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#%d (0) {} > string(6) "string"
object(stdClass)#%d (0) {} > string(3) "123"
object(stdClass)#%d (0) {} > string(3) "2.5"
object(stdClass)#%d (0) {} > NULL
object(stdClass)#%d (0) {} <= bool(true)
object(stdClass)#%d (0) {} > bool(false)
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} > object(test)#%d (0) {}
object(stdClass)#%d (0) {} > array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-9223372036854775808)
object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(stdClass)#%d (0) {} > string(0) ""
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= int(1)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to double in %s on line %d
<= float(2.5)
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(0)
object(stdClass)#%d (0) {} > string(6) "string"
object(stdClass)#%d (0) {} > string(3) "123"
object(stdClass)#%d (0) {} > string(3) "2.5"
object(stdClass)#%d (0) {} > NULL
object(stdClass)#%d (0) {} <= bool(true)
object(stdClass)#%d (0) {} > bool(false)
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
object(stdClass)#%d (0) {} > object(test)#%d (0) {}
object(stdClass)#%d (0) {} > array(0) {}
object(stdClass)#%d (0) {}
Notice: Object of class stdClass could not be converted to int in %s on line %d
> int(-9223372036854775808)
object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
object(test)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
object(test)#%d (0) {} > string(0) ""
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
<= int(1)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to double in %s on line %d
<= float(2.5)
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(0)
object(test)#%d (0) {} > string(6) "string"
object(test)#%d (0) {} > string(3) "123"
object(test)#%d (0) {} > string(3) "2.5"
object(test)#%d (0) {} > NULL
object(test)#%d (0) {} <= bool(true)
object(test)#%d (0) {} > bool(false)
object(test)#%d (0) {} > object(stdClass)#%d (0) {}
object(test)#%d (0) {} > object(stdClass)#%d (0) {}
object(test)#%d (0) {} <= object(test)#%d (0) {}
object(test)#%d (0) {} > array(0) {}
object(test)#%d (0) {}
Notice: Object of class test could not be converted to int in %s on line %d
> int(-9223372036854775808)
object(test)#%d (0) {} > string(20) "-9223372036854775808"
array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
array(0) {} > string(0) ""
array(0) {} > int(1)
array(0) {} > float(2.5)
array(0) {} > int(0)
array(0) {} > string(6) "string"
array(0) {} > string(3) "123"
array(0) {} > string(3) "2.5"
array(0) {} <= NULL
array(0) {} <= bool(true)
array(0) {} <= bool(false)
array(0) {} <= object(stdClass)#%d (0) {}
array(0) {} <= object(stdClass)#%d (0) {}
array(0) {} <= object(test)#%d (0) {}
array(0) {} <= array(0) {}
array(0) {} > int(-9223372036854775808)
array(0) {} > string(20) "-9223372036854775808"
int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) <= string(0) ""
int(-9223372036854775808) <= int(1)
int(-9223372036854775808) <= float(2.5)
int(-9223372036854775808) <= int(0)
int(-9223372036854775808) <= string(6) "string"
int(-9223372036854775808) <= string(3) "123"
int(-9223372036854775808) <= string(3) "2.5"
int(-9223372036854775808) > NULL
int(-9223372036854775808) <= bool(true)
int(-9223372036854775808) > bool(false)
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class stdClass could not be converted to int in %s on line %d
<= object(stdClass)#%d (0) {}
int(-9223372036854775808)
Notice: Object of class test could not be converted to int in %s on line %d
<= object(test)#%d (0) {}
int(-9223372036854775808) <= array(0) {}
int(-9223372036854775808) <= int(-9223372036854775808)
int(-9223372036854775808) <= string(20) "-9223372036854775808"
string(20) "-9223372036854775808" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(20) "-9223372036854775808" > string(0) ""
string(20) "-9223372036854775808" <= int(1)
string(20) "-9223372036854775808" <= float(2.5)
string(20) "-9223372036854775808" <= int(0)
string(20) "-9223372036854775808" <= string(6) "string"
string(20) "-9223372036854775808" <= string(3) "123"
string(20) "-9223372036854775808" <= string(3) "2.5"
string(20) "-9223372036854775808" > NULL
string(20) "-9223372036854775808" <= bool(true)
string(20) "-9223372036854775808" > bool(false)
string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
string(20) "-9223372036854775808" <= object(test)#%d (0) {}
string(20) "-9223372036854775808" <= array(0) {}
string(20) "-9223372036854775808" <= int(-9223372036854775808)
string(20) "-9223372036854775808" <= string(20) "-9223372036854775808"
Done
+78
View File
@@ -0,0 +1,78 @@
--TEST--
concat difffent types
--INI--
precision=14
--FILE--
<?php
class test {
function __toString() {
return "this is test object";
}
}
$a = array(1,2,3);
$o = new test;
$s = "some string";
$i = 222;
$d = 2323.444;
var_dump($a.$o);
var_dump($a.$s);
var_dump($a.$i);
var_dump($a.$d);
var_dump($a.$a);
var_dump($o.$a);
var_dump($o.$s);
var_dump($o.$i);
var_dump($o.$d);
var_dump($o.$o);
var_dump($s.$o);
var_dump($s.$a);
var_dump($s.$i);
var_dump($s.$d);
var_dump($s.$s);
var_dump($i.$a);
var_dump($i.$o);
var_dump($i.$s);
var_dump($i.$d);
var_dump($i.$i);
var_dump($d.$a);
var_dump($d.$o);
var_dump($d.$s);
var_dump($d.$i);
var_dump($d.$d);
echo "Done\n";
?>
--EXPECTF--
string(24) "Arraythis is test object"
string(16) "Arraysome string"
string(8) "Array222"
string(13) "Array2323.444"
string(10) "ArrayArray"
string(24) "this is test objectArray"
string(30) "this is test objectsome string"
string(22) "this is test object222"
string(27) "this is test object2323.444"
string(38) "this is test objectthis is test object"
string(30) "some stringthis is test object"
string(16) "some stringArray"
string(14) "some string222"
string(19) "some string2323.444"
string(22) "some stringsome string"
string(8) "222Array"
string(22) "222this is test object"
string(14) "222some string"
string(11) "2222323.444"
string(6) "222222"
string(13) "2323.444Array"
string(27) "2323.444this is test object"
string(19) "2323.444some string"
string(11) "2323.444222"
string(16) "2323.4442323.444"
Done
+60
View File
@@ -0,0 +1,60 @@
--TEST--
decrementing different variables
--SKIPIF--
<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
--INI--
precision=14
--FILE--
<?php
$a = array(
array(1,2,3),
"",
1,
2.5,
0,
"string",
"123",
"2.5",
NULL,
true,
false,
new stdclass,
array(),
-PHP_INT_MAX-1,
(string)(-PHP_INT_MAX-1),
);
foreach ($a as $var) {
$var--;
var_dump($var);
}
echo "Done\n";
?>
--EXPECTF--
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
int(-1)
int(0)
float(1.5)
int(-1)
string(6) "string"
int(122)
float(1.5)
NULL
bool(true)
bool(false)
object(stdClass)#%d (0) {
}
array(0) {
}
float(-2147483649)
float(-2147483649)
Done
Loaded 100 of 2375 files, more files were not shown because too many files have changed in this diff. Show more