Compare commits

..
Author SHA1 Message Date
SVN Migration 94f598e602 This commit was manufactured by cvs2svn to create tag 'php_5_2_10RC2'. 2009-06-11 12:12:44 +00:00
Ilia Alshanetsky 344a9b2c7e RC2 not final 2009-06-11 12:12:43 +00:00
Ilia Alshanetsky 823224ef8d 5.2.10RC2 2009-06-11 12:10:43 +00:00
Antony Dovgal 6b1bd0d0dc MFH: fix bug #48518 (curl crashes when writing into invalid file handle) 2009-06-11 09:49:57 +00:00
Felipe Pena 838402a1bc - MFH: Fix the fix (Bug #46973 - IPv6 address filter rejects valid address) 2009-06-10 19:05:49 +00:00
Antony Dovgal d4d49f4f12 MFH: fix arginfo for curl_multi_info_read() 2009-06-10 11:10:19 +00:00
andy wharmby de3f385e5c Fix test - remove bogus variation 2009-06-09 20:18:28 +00:00
Pierre Joye 12ab20c4fe - fix NEWS 2009-06-09 14:04:28 +00:00
David Soria Parra c52581d95e Fix bug #47042 (cgi sapi is incorrectly removing the SCRIPT_FILENAME for non apache).
The fix was provided by Sriram Natarajan.
2009-06-09 13:29:39 +00:00
Ilia Alshanetsky 8d699be646 TZ update news 2009-06-09 12:16:31 +00:00
Scott MacVicar 2229ab084c BFN 2009-06-09 01:09:28 +00:00
Scott MacVicar f250ef7824 Add test 2009-06-09 01:04:35 +00:00
Scott MacVicar 813dd91af8 MFH #46019 - Memory leak when Mysqli::init() is called multiple times. 2009-06-09 01:00:47 +00:00
Scott MacVicar ebce70c20e BFN 2009-06-09 00:43:04 +00:00
Scott MacVicar 17dc898a72 MFH fix bug #44214: crash with preg_replace_callback and global variables 2009-06-08 21:52:08 +00:00
Pierre Joye a48b65d6f5 - typo 2009-06-08 21:17:12 +00:00
Derick Rethans 3c624f108e - Updated to version 2009.9 (2009i) 2009-06-08 13:53:45 +00:00
Ilia Alshanetsky 71b075062b Re-apply patch with fixed build 2009-06-08 13:34:45 +00:00
Antony Dovgal 8ab86d944a fix build, revert faulty patch 2009-06-08 13:09:30 +00:00
Robert Nicholson 14620596ab New tests for operators. These tests were auto generated to verify correctness for a number of significant values. The work was done by Dave Kelsey. 2009-06-08 12:02:57 +00:00
Jani Taskinen 135f4ebc10 fix news 2009-06-08 10:39:25 +00:00
Pierre Joye 18ecb768d0 - #48469 2009-06-08 08:39:25 +00:00
Ilia Alshanetsky 9066f91b01 BFN 2009-06-08 01:26:53 +00:00
Ilia Alshanetsky a747855425 MFB: Fixed bug #44827 (define() is missing error checks for class constants) 2009-06-08 01:26:47 +00:00
Patrick Allaert 0ab4f57c99 MFH: Removed credit 2009-06-07 21:27:42 +00:00
Robert Nicholson 9818b12488 New tests for foreach loops. These were written by another member of the Projectzero team. 2009-06-07 21:05:10 +00:00
Matt Wilmas dd4b27e943 MFH: Fixed bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value)
Also simplified related array_push() test
2009-06-07 19:28:33 +00:00
Patrick Allaert 6555a5a93e MFH: Fixed bug #48469 (ldap_get_entries() memory leaks on empty search results) 2009-06-07 13:14:30 +00:00
Rasmus Lerdorf 53a63b82d4 Make this happy on gcc2 2009-06-05 22:34:30 +00:00
Rasmus Lerdorf 077ff24ef9 We don't have these in gcc2 2009-06-05 22:24:53 +00:00
Arnaud Le Blanc c3e1afc2a3 better fix for #48409 , #48428 , #48228 2009-06-05 11:21:47 +00:00
Andrei Zmievski 6a05922020 Fix invalid test against addr6 result. 2009-06-04 18:17:28 +00:00
Jani Taskinen 3999ac15b4 MFH:- Fixed bug #48419 (non-portable STDIN fileno in cgi_main.c)
# This doesn't really fix it since it's some weird Windows thing but this
# does make this code slightly more portable :)
2009-06-04 11:53:38 +00:00
Felipe Pena 3b43d3002b - Fixed tests 2009-06-04 01:16:58 +00:00
Ilia Alshanetsky 3e79cbe9b1 MFB: Fixed bug #46386 (Digest authentication with SOAP module fails against
MSSQL SOAP services)
2009-06-03 12:41:46 +00:00
Zoe Slattery ba836422c6 Commiting testfest tests from tek 2009-06-03 12:31:05 +00:00
Kalle Sommer Nielsen 09ac5ebe7f Fixed #48448 (Compile failure under IRIX 6.5.30 building cast.c)
# Only in this branch, looks like a missing merge compared to PHP_5_3/HEAD
2009-06-03 08:59:19 +00:00
Jani Taskinen ff6862b7e1 bfn 2009-06-02 19:55:07 +00:00
Jani Taskinen f68866c487 MFH:- Fixed bug #48456 (CPPFLAGS not restored properly in phpize.m4) 2009-06-02 19:54:22 +00:00
Jani Taskinen bfebb9c6aa fix test 2009-06-02 08:03:35 +00:00
Arnaud Le Blanc 1493336708 MFH: New tests
# These tests were failing on different configurations, so adding them
# all to get more chances of seeing one failing in case of problem.
2009-06-01 16:10:47 +00:00
Arnaud Le Blanc 687f673bb9 MFH: better fix for #48409 , #48428 , #48228 2009-06-01 15:08:00 +00:00
Antony Dovgal 00a461a989 fix ZTS build 2009-06-01 14:03:24 +00:00
Ilia Alshanetsky 8e7fa70fd5 Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values). 2009-06-01 13:10:57 +00:00
Zoe Slattery d033f6904a Engine execution order tests 2009-06-01 13:01:27 +00:00
Zoe Slattery e69b4a743e Fixes to work on Windows as well as Linux 2009-06-01 12:58:14 +00:00
Jani Taskinen bfa336e891 fix news 2009-06-01 09:00:54 +00:00
Stanislav Malyshev ac345b5915 fix for #48247 2009-05-31 21:31:15 +00:00
Stanislav Malyshev dc4bfd4d80 fix for #48247 2009-05-31 20:43:57 +00:00
Andrei Zmievski 63b6c3bab3 MFB 2009-05-31 18:55:36 +00:00
Ilia Alshanetsky 355ffae8dc MFB: Fixed bug #48359 (Script hangs on snmprealwalk if OID is not
increasing)
2009-05-31 14:14:07 +00:00
Jani Taskinen e636ed5789 MFH: no dots in errors 2009-05-31 13:51:23 +00:00
Andrei Zmievski 426522f4e0 Expose encode/decode API. 2009-05-31 01:43:45 +00:00
Arnaud Le Blanc 06a48156f0 BFN 2009-05-30 16:42:50 +00:00
Arnaud Le Blanc 82655fb856 MFH: Take small blocks cache into account in memory_get_usage() 2009-05-30 16:42:24 +00:00
Arnaud Le Blanc 48fc6c5237 BFN 2009-05-30 16:36:01 +00:00
Arnaud Le Blanc 32a9ff9aef MFH: Fix aliasing issue (fixes #48409 , #48428 , #48228) 2009-05-30 16:35:26 +00:00
Zoe Slattery 0bae389aa4 better fix 2009-05-29 11:45:55 +00:00
Zoe Slattery 93ed844901 fixing to work with older levels of libcurl 2009-05-29 09:46:34 +00:00
Zoe Slattery e4a93c6d0a Engine execution order tests 2009-05-29 07:52:28 +00:00
Pierre Joye 1627157cdd - #42143, the constant NAN is reported as 0 on Windows 2009-05-29 07:29:20 +00:00
Scott MacVicar b702ce45ce Bug number was wrong. 2009-05-29 02:35:56 +00:00
Ilia Alshanetsky 47fcac267c Adjust news order 2009-05-29 01:31:58 +00:00
Scott MacVicar 6621987732 BFN 2009-05-29 00:05:56 +00:00
Scott MacVicar 4b5eda20ae MFH: Fix bug #48416 - Force a cache size for ereg to stop it getting out of control. Lazy LRU here. 2009-05-29 00:03:28 +00:00
Pierre Joye f5bf2d7ed7 - fix build with system gd 2009-05-28 14:06:06 +00:00
Pierre Joye 884c20439c - #48738 2009-05-28 14:04:19 +00:00
Pierre Joye 1a836712f0 - MFB: #48378, exif_read_data() segfaults on certain corrupted .jpeg files 2009-05-28 14:03:09 +00:00
Arnaud Le Blanc 7055f3bae5 MFH: New tests 2009-05-28 13:26:52 +00:00
Antony Dovgal a524e99076 fix test 2009-05-28 13:22:50 +00:00
Arnaud Le Blanc 721fe01e55 MFH: merged http ignore_errors context option
# [DOC] "since 5.2.10". See also bug #38802.
2009-05-28 13:20:22 +00:00
Arnaud Le Blanc 632c5a775f Fix "request_startup() for zlib module failed" when client does not
accepts compression and zlib.output_compression is On
2009-05-28 10:14:22 +00:00
Pierre Joye 99eede75b1 - mf53: fix build, stderr cannot be used as var or struct member 2009-05-27 22:38:53 +00:00
Robert Nicholson e29517872b Language Tests: returnByReference 2009-05-27 22:36:04 +00:00
Ilia Alshanetsky fea7c24372 Back to dev 2009-05-27 13:51:16 +00:00
Ilia Alshanetsky d6ddd48ed0 5.2.10RC1 2009-05-27 13:47:34 +00:00
Antony Dovgal 3197576f2c fix build 2009-05-27 09:57:13 +00:00
Jani Taskinen 91e968462f - Test for bug #48203 2009-05-26 17:19:35 +00:00
Jani Taskinen 572cd2000b MFH:- Fixed bug #48203 (Crash when CURLOPT_STDERR is set to regular file) 2009-05-26 15:50:44 +00:00
Ilia Alshanetsky d080807957 timezone update news 2009-05-26 14:38:34 +00:00
Derick Rethans a6fdd53b90 - Updated to version 2009.8 (2009h) 2009-05-26 14:27:08 +00:00
Arnaud Le Blanc fb69372707 MFH: Fix return value of pcntl_wexitstatus() (fixes #47566,
patch by james at jamesreno dot com)
2009-05-26 14:02:34 +00:00
Felipe Pena 886690219d - Removed XFAIL section 2009-05-26 13:51:04 +00:00
Felipe Pena d9722865f7 - Fixed compile warning 2009-05-26 12:37:52 +00:00
Jani Taskinen b90c2e7cb1 - Revert this, was not supposed to be merged yet 2009-05-26 10:15:08 +00:00
Jani Taskinen 0b6182b683 fix test 2009-05-26 10:13:01 +00:00
Pierre Joye f974d42e18 - add a note about the actual problen so we don't forget it 2009-05-26 08:09:37 +00:00
Jani Taskinen 7d8ff0b3fc - Added note about omitted break 2009-05-26 08:03:29 +00:00
Eric Stewart ddf40dc32d Add tests:
DOMComment::__construct() with constructor called twice.
DOMDocumentFragment::appendXML() with unbound fragment.
DOMDocumentFragment::appendXML() with unbalanced chunks.
DOMDocumentFragment::__construct() called twice.
DOMDocumentType: basic access to all properties.
DOMDocumentType::name with invalid state.
DOMDocumentType::entities with invalid state.
DOMDocumentType::notations with invalid state.
DOMDocumentType::publicId with invalid state.
DOMDocumentType::publicId with empty value.
DOMDocumentType::systemId with invalid state.
DOMDocumentType::systemId with empty value.
DOMDocumentType::internalSubset with invalid state.
2009-05-26 06:06:40 +00:00
Jani Taskinen 011ec5b1af MF53: - Fixed bug #45202 (zlib.output_compression can not be set with ini_set()
# This is fixed in HEAD already. :)
2009-05-26 05:57:40 +00:00
Jani Taskinen 6abaea16ef MFH:- Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped) 2009-05-26 04:47:05 +00:00
Jani Taskinen e3d54cd30e cs + ws 2009-05-26 04:45:21 +00:00
Kalle Sommer Nielsen 3e6435e3c4 MFH: Typo 2009-05-25 19:41:41 +00:00
Pierre Joye a42f47071f - #48202 2009-05-25 16:30:37 +00:00
Pierre Joye 88667674e2 - MFH: #48202, Out of memory error when passing non-existing filename, enable related tests (marked as XFAIL now) 2009-05-25 16:27:45 +00:00
Rasmus Lerdorf 13c65dd8f7 Argh! Please do not include entire GPL'ed packages in the PHP
distribution.  Removing test and entire phpMyAdmin distribution
in bug.tar.
2009-05-25 11:57:25 +00:00
Eric Stewart 802706c8a9 Add the following new tests:
DOMCharacterData::appendData() with no arguments.
DOMCharacterData::deleteData() with count exceeding string size.
DOMCharacterData::deleteData() with no arguments.
DOMCharacterData::deleteData() with offset exceeding string size.
DOMCharacterData::insertData() with no arguments.
DOMCharacterData::replaceData() with no arguments.
DOMComment::__construct() with more arguments than acceptable.
DOMDocumentFragment::__construct().
DOMDocumentFragment::__construct() with too many errors.
DOMDocumentFragment::appendXML() with no arguments.
DOMDocumentFragment::appendXML() with children with properties.
2009-05-25 05:58:47 +00:00
Ilia Alshanetsky 0008c005b9 Improve fix for bug #48313 2009-05-24 16:02:22 +00:00
Felipe Pena 4f89db675d - New tests (testfest BerlinUG) 2009-05-23 14:52:54 +00:00
Felipe Pena afbe0bfb19 - Fix error message 2009-05-23 14:31:15 +00:00
Eric Stewart 39d82c35c3 New test: DOMAttr read $name property.
New test: DOMAttr read $ownerElement with null parent.
New test: DOMAttr write non-string $value property
New test: DOMCDATASection __construct() with no arguments.
New test: DOMCharacterData - Invalid State Error when getting data out of content.
2009-05-23 01:43:48 +00:00
Eric Stewart 9f6c828f63 New test: DOMAttr __construct() with no arguments. 2009-05-23 01:34:05 +00:00
Felipe Pena f14ec051af - MFH: Fixed invalid date checking 2009-05-22 12:50:44 +00:00
Felipe Pena 0be28396ae - New test 2009-05-22 12:39:14 +00:00
Arnaud Le Blanc 72f551ca66 BFN 2009-05-22 11:23:21 +00:00
Arnaud Le Blanc 80f98df54e MFH: Use zend_get_property_info() in get_class_vars() (fixes #46812) 2009-05-22 11:23:11 +00:00
Arnaud Le Blanc 415b75e3f5 MFH: Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not
work with redeclared property)
(patch by Markus dot Lidel at shadowconnect dot com)
2009-05-21 16:05:11 +00:00
Arnaud Le Blanc ecf2cabcdd MFH: set second argument of gettimeofday() to NULL (fixes #48346,
patch by adriano at guiadohardware dot net)
2009-05-21 14:21:53 +00:00
Arnaud Le Blanc 011547bd36 MFH: Better fix for #45622 (patch by robinf at php do net) 2009-05-21 13:26:29 +00:00
Ilia Alshanetsky 0c3d8accbb MFB: Fixed bug #48207 (CURLOPT_(FILE|WRITEHEADER options do not error out
when working with a non-writable stream)
2009-05-21 12:53:24 +00:00
Ilia Alshanetsky 1bebeea29c Re-introduce the Matteo's patch and combine default & text handling since
they appear to be the same irregardless on notes inside sqlite3.h
2009-05-20 15:03:16 +00:00
Jani Taskinen 77816c4ed9 - Fix win32 build 2009-05-20 12:09:33 +00:00
Kalle Sommer Nielsen 020749e160 MFH: Fixed shared build 2009-05-20 10:19:28 +00:00
Arnaud Le Blanc bcfdedd53f MFH: Fix skipif 2009-05-20 10:08:42 +00:00
Antony Dovgal e0ca27fc23 sync with HEAD 2009-05-20 09:26:20 +00:00
Arnaud Le Blanc d3ec090688 MFH: set default value of "precision" ini setting,
many tests depend on this
2009-05-20 09:23:15 +00:00
Arnaud Le Blanc b43345ec0c MFH: Fix skipif 2009-05-20 09:13:39 +00:00
Arnaud Le Blanc 7728a703f6 MFH: Fixed bug #48326 (constant MSG_DONTWAIT not defined) 2009-05-20 09:06:31 +00:00
Jani Taskinen fbaed2ba81 ws 2009-05-19 19:38:00 +00:00
Ilia Alshanetsky a607ee15a8 MFB: The \0 removal is only needed prior to 3.4.0 2009-05-19 19:20:01 +00:00
Ilia Alshanetsky 1989085325 MFB: Revert faulty warning fix 2009-05-19 16:14:37 +00:00
Jani Taskinen bb33de84b0 - Revert bad compile warning fix which causes compile failures with older glibc 2009-05-19 15:37:38 +00:00
Jani Taskinen 3c984d6d4f MFH:- Fix test: since cURL 7.19.4 CURLINFO_CONTENT_LENGTH_* return -1 if the size is unknown 2009-05-19 14:05:49 +00:00
Jani Taskinen bdfcb7ca73 MFH: Sync with PHP_5_3 the WS/CS and some missing constant fixes 2009-05-19 13:50:32 +00:00
Jani Taskinen 61abd918e7 MFH: Unify macros 2009-05-19 11:12:33 +00:00
Kalle Sommer Nielsen 70ebbdea0a MFH: Fix --with-pdo-mssql build and add some warnings if header/libs are not found 2009-05-19 10:22:31 +00:00
Ilia Alshanetsky 558d25649d MFB: Fixed bug #48313 (fgetcsv() does not return null for empty rows) 2009-05-18 18:46:06 +00:00
Jani Taskinen 422a101fae MFH: Sync WS / CS changes where applicable 2009-05-18 17:23:42 +00:00
Hannes Magnusson 2b72a6df0a MFH: Print out WARNed 2009-05-18 14:08:56 +00:00
Pierre Joye d6e3b89d9b - WS 2009-05-18 09:11:31 +00:00
Felipe Pena 40cabb39c6 - New tests (testfest BerlinUG) 2009-05-17 18:08:27 +00:00
Felipe Pena fe6bbdca72 - New tests (testfet LondonUG) 2009-05-17 15:46:37 +00:00
Arnaud Le Blanc ea8bdf5d8f MFH: Fixed bug #48309 (stream_copy_to_stream() and fpasstru() do not
update stream position of plain files)
2009-05-17 14:59:24 +00:00
Felipe Pena 7323f24b58 - New tests (testfest DutchUG) 2009-05-16 23:56:23 +00:00
Arnaud Le Blanc bcfdf04cbf MFH: Fix warning when inner stream of a temp:// stream is closed before
the stream ifself
2009-05-16 20:28:02 +00:00
Arnaud Le Blanc 49fa689d5b MFH: Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source
is a socket)
2009-05-16 20:24:01 +00:00
Felipe Pena 8d7a9aa9a3 - New tests (testfest Quebec) 2009-05-16 18:27:19 +00:00
Felipe Pena 30ef00c15c - Added responder dir (synced) 2009-05-16 17:08:10 +00:00
Felipe Pena c299ac0bd4 - New tests (testfest ParisUG) 2009-05-16 16:38:17 +00:00
Felipe Pena 4324c10d24 - New tests (testfest DutchUG) 2009-05-16 15:14:25 +00:00
Felipe Pena 2a39c5e435 - New tests (testfest CataloniaUG) 2009-05-16 14:41:48 +00:00
Jani Taskinen 16d4cad828 - Reverted is such a strong word.. :) 2009-05-15 17:18:18 +00:00
Moriyoshi Koizumi 22ce11b711 - Not a news actually. 2009-05-15 17:06:35 +00:00
Moriyoshi Koizumi 9ebb304ed5 - MFH: Roll it back. 2009-05-15 17:03:43 +00:00
Christopher Jones 255d78111a MFH: New array_multisort() test (Simon Westcott) 2009-05-15 16:47:36 +00:00
Felipe Pena 56274f384a - Fix tests 2009-05-14 23:29:27 +00:00
Jani Taskinen 36b2ebf95f - Fix the harmless patch that caused harm :) 2009-05-14 21:23:03 +00:00
Jani Taskinen 4d82ed968e MFH 2009-05-14 21:00:37 +00:00
Moriyoshi Koizumi 3bb8d604c7 - MFH:Add a new test for the additional delimiter of the encoding conversion
filter
2009-05-14 19:07:41 +00:00
Moriyoshi Koizumi afc82c756c - MFH: Update the test as newer libc gets the bogus input through rather than
rejecting it.
2009-05-14 19:07:18 +00:00
Arnaud Le Blanc 996920a889 moved from 5.3 2009-05-14 19:04:14 +00:00
Jani Taskinen 71b329c703 MFH: Fixed module loading order and made request shutdown functions also to
be loaded in reverse like all other shutdowns are.
2009-05-14 18:34:27 +00:00
Felipe Pena 5f6b9cf5f6 - MFH: Improved fix for #42414 2009-05-14 17:25:51 +00:00
Arnaud Le Blanc 4710871ab8 MFB: Fixed bug #45622 (isset($arrayObject->p) misbehaves with
ArrayObject::ARRAY_AS_PROPS set)
2009-05-14 16:44:54 +00:00
Arnaud Le Blanc efdaf53cf5 MFB: Fixed bug #45614 (ArrayIterator::current(), ::key() can show 1st
private prop of wrapped object)
2009-05-14 16:43:38 +00:00
Arnaud Le Blanc 3008404116 moved from 5.3 2009-05-14 16:24:12 +00:00
Arnaud Le Blanc 0a9e3e3d86 MFB: Fixed #42663 (gzinflate() try to allocate all memory with truncated
data)
2009-05-14 16:17:47 +00:00
Arnaud Le Blanc f6f23616b0 MFB: fix skipifs 2009-05-14 16:17:10 +00:00
Arnaud Le Blanc f7e075e4b9 MFB: Fix test (use canonical name, fixes #45493) 2009-05-14 16:16:33 +00:00
Arnaud Le Blanc 947b9ce3f3 MFB: Fixed #45540 (stream_context_create creates bad http request) 2009-05-14 16:15:38 +00:00
Jani Taskinen 2cce527199 MFH: prevent freeing NULL 2009-05-14 13:49:50 +00:00
Jani Taskinen 33bcc088ca MFH:- Fixed bug #48256 (Crash due to double-linking of history.o) 2009-05-14 13:43:52 +00:00
Ilia Alshanetsky eaf1121b7e MFB: Fixed\ compiler\ warnings 2009-05-14 12:36:19 +00:00
Dmitry Stogov b2ce675b6a Fixed wrong return value 2009-05-14 08:21:38 +00:00
Felipe Pena 9c0cfe0d6c BFN 2009-05-14 01:31:50 +00:00
Felipe Pena 00a0efa5a2 - New tests 2009-05-14 01:29:37 +00:00
Matt Wilmas 938763c753 MFH: Fixed bug #45877 (Array key '2147483647' left as string) 2009-05-14 01:28:15 +00:00
Felipe Pena 913c81d4ad MFH:
- Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC driver)
  patch by: jhml at gmx dot net
2009-05-14 01:27:23 +00:00
Ilia Alshanetsky 82b940adf2 MFB: Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime). 2009-05-13 14:25:58 +00:00
Felipe Pena 040a647481 - MFH: Fixed bug #48240 (DBA Segmentation fault dba_nextkey) 2009-05-13 02:16:36 +00:00
Felipe Pena 20fd5b9932 - MFH: Fixed bug #48248 (SIGSEGV when access to private property via &__get) 2009-05-12 23:01:38 +00:00
Matteo Beccati 299a6a2baf Added proper credits for the last commit 2009-05-12 22:01:55 +00:00
Matteo Beccati 865194fa4d MFH
- Backported fix for #44301
- Fixed bug #48070
# The backport was required to also fix #48070
2009-05-12 21:57:42 +00:00
Ilia Alshanetsky fb7437d7f1 MFB: Fixed bug #47564 (unpacking unsigned long 32bit bit endian returns
wrong result)
2009-05-12 12:35:45 +00:00
Felipe Pena e40df88ad6 - MFH: Fix code && new test 2009-05-11 15:13:35 +00:00
Felipe Pena aa1be9514f - Added missing param checks 2009-05-11 14:15:07 +00:00
Ilia Alshanetsky 3222df99d9 MFB: Fixed bug #48204 (xmlwriter_open_uri() does not emit warnings on invalid
paths)
2009-05-11 12:35:00 +00:00
Pierre Joye 3e738e7a46 - MFH: define HAVE_PQPROTOCOLVERSION and HAVE_PG_LO_CREATE (Tim Starling) 2009-05-11 10:44:25 +00:00
Jani Taskinen a05ca2c6d3 - Fix paths 2009-05-11 05:01:48 +00:00
Felipe Pena 5626bcabf2 - Starting tests for this extension 2009-05-11 03:10:31 +00:00
Etienne Kneuss a7b3f59f7b Add test for #48224 2009-05-10 20:11:37 +00:00
Etienne Kneuss c94580895f Fix #48224 (Remove incorrect shuffle) 2009-05-10 16:45:01 +00:00
Felipe Pena 8a15edc308 - Simplify test (cweiske) 2009-05-10 15:48:53 +00:00
Felipe Pena 6fbed2a9f3 - MFH: Fixed bug #48221 (memory leak when passing invalid xslt parameter) 2009-05-10 15:15:47 +00:00
Ilia Alshanetsky a18c0be994 WS 2009-05-10 13:44:13 +00:00
Felipe Pena 7e62c98201 - MFH: Fixed memory leak (patch by Christian Weiske) 2009-05-10 01:07:01 +00:00
Etienne Kneuss 251d108d58 Add test for bug #47534 2009-05-09 20:58:34 +00:00
Scott MacVicar 2c3579fdd7 BFN 2009-05-09 20:42:56 +00:00
Jani Taskinen 84208a6740 MFH: Add support for Sun CC 2009-05-09 20:36:35 +00:00
Jani Taskinen c7bc9053e1 MFH: sync + - Fixed bug #47468 (enable cli|cgi-only extensions for embed sapi) 2009-05-09 20:28:03 +00:00
Scott MacVicar a2d837585e MFH Fix bug #48206 - Iterating over an invalid data structure leads to a segfault 2009-05-09 19:48:15 +00:00
Matt Wilmas 4ad3ac09c1 MFH: Better fix for bug #42767 (at source instead of workaround); also fixes unclosed comments in tokenizer
- Plus minor cleanup of unnecessary code, to match 5.3...
2009-05-08 17:50:58 +00:00
Arnaud Le Blanc 78ecc18710 MFB5.3 fix for bug #44034 (FILE_IGNORE_NEW_LINES in file() does not work as
expected when lines end in \r\n) (fixes #48175)
2009-05-08 09:49:27 +00:00
Jani Taskinen 48c50e616a - Bug 45392 was never fixed in PHP_5_2 2009-05-07 13:45:48 +00:00
Jani Taskinen 51735ad33f MFH 2009-05-06 19:03:23 +00:00
Ilia Alshanetsky 7f3ba73b3d MFB: Fixed bug #48156 (Added support for lcov v1.7) 2009-05-06 14:05:54 +00:00
Pierre Joye 0b6e00cd64 - fix conf 2009-05-05 13:49:05 +00:00
Pierre Joye 95b9e430f4 - MFH: fix build 2009-05-05 10:58:24 +00:00
Jani Taskinen 271b03b6f7 MFH: - Fixed Bug #45092 header HTTP context option not being used (--with-curlwrappers) 2009-05-05 00:33:03 +00:00
Jani Taskinen d3d84cc152 MFH: sync 2009-05-05 00:25:40 +00:00
Derick Rethans 4ece5a103e - MFH: Fixed warnings 2009-05-04 19:55:42 +00:00
Pierre Joye a07b780bc6 - fix build 2009-05-04 17:08:43 +00:00
Antony Dovgal e3685d6918 MFH: use correct function 2009-05-04 14:46:37 +00:00
Ilia Alshanetsky d48cc34211 Fixed a possible crash 2009-05-04 14:43:14 +00:00
Ilia Alshanetsky bb451fe8ac Fixed bad merge 2009-05-04 14:12:23 +00:00
Ilia Alshanetsky 34f39a1086 MFB: Fixed bug #48131 (Don't try to bind ipv4 addresses to ipv6 ips via
bindto)
2009-05-04 13:12:35 +00:00
Derick Rethans 0bc4075753 - MFH: Fixed bug #45191 (error_log ignores date.timezone php.ini val when
setting logging timestamps).
2009-05-03 19:09:23 +00:00
Derick Rethans 6d32ad3c1f - MFH: Fixed bug #48058 (Year formatter goes wrong with out-of-int range).
- MFH: Fixed bug #45822 (Near infinite-loops while parsing huge relative offsets).
2009-05-03 18:22:59 +00:00
Derick Rethans 0c040fc5d3 - MFH: Added test for (bogus) bug #48097. 2009-05-03 14:28:38 +00:00
Jani Taskinen ca6a024965 MFH:- Fixed bug #48132 (configure fails to test curl ssl support if --disable-rpath is set) 2009-05-02 19:55:14 +00:00
Jani Taskinen 3cea6c7bf4 - SPL can be disabled in PHP_5_2 2009-05-02 18:10:44 +00:00
Jani Taskinen b6b8b5ffc6 - SPL can be disabled in PHP_5_2 2009-05-02 18:02:09 +00:00
Ilia Alshanetsky a0ef3cc010 Fixed build, zend_parse_parameters_none() does not exist in 5.2 branch 2009-05-02 15:58:39 +00:00
Jani Taskinen 30bc1b72ef - Fix test 2009-05-02 03:17:51 +00:00
Kalle Sommer Nielsen 5b05a2da10 MFH: Update copyright year + line feeds 2009-05-02 01:54:25 +00:00
Kalle Sommer Nielsen c7c4b92b38 MFH: Fix proto + use zend_parse_parameters_none() 2009-05-02 01:38:36 +00:00
Jani Taskinen c9a717fcb8 MFH:- Fix compile warning in debug mode 2009-05-01 21:47:05 +00:00
Jani Taskinen 38450822ae - ws / cs (separated from another commit coming next) 2009-05-01 20:30:59 +00:00
Felipe Pena 4b90dd8f06 - MFH: Fixed bug #48038 (odbc_execute changes variables used to form params array) 2009-05-01 03:06:39 +00:00
Felipe Pena 4121be50e9 - MFH: Fixed bug #48120 (Implementing abstract class FilterIterator in regexiterator.inc) 2009-05-01 01:55:52 +00:00
Antony Dovgal c133062470 fix test (for real) 2009-04-30 20:35:37 +00:00
Pierre Joye 802cbbd49b - #47940, memory leaks in imap_body 2009-04-30 18:55:44 +00:00
Ilia Alshanetsky 5812e33052 Fixed typo 2009-04-30 17:43:25 +00:00
Pierre Joye 5759108ed0 - 45997 2009-04-30 15:26:54 +00:00
Pierre Joye 4d2e295344 - #45997, safe_mode bypass with exec/sytem/passthru (windows only) 2009-04-30 15:25:05 +00:00
Jani Taskinen 8d7ecdfdbb MFH: fix tests 2009-04-30 13:22:24 +00:00
Jani Taskinen b91afb10af - Fix test: It is still possible to enable/disable fastcgi in PHP_5_2 2009-04-30 13:02:43 +00:00
Jani Taskinen 0bdbd69561 - Added missing tests from this branch..*sigh* 2009-04-30 11:39:01 +00:00
Jani Taskinen 0445f9025b - Reflection can be disabled in PHP_5_2 2009-04-30 11:14:09 +00:00
Jani Taskinen 6712e8680c - Fix test + add missing test 2009-04-30 10:41:32 +00:00
Jani Taskinen eb0ae9417b - It is possible to disable reflection extension in PHP_5_2 2009-04-30 09:56:15 +00:00
Jani Taskinen 8294411819 - It is possible to disable reflection extension in PHP_5_2 2009-04-30 09:50:48 +00:00
Ilia Alshanetsky 51eb7b4aea Update tests to accomodate new parameter parsing API and make long2ip() use
it as well
2009-04-29 22:06:28 +00:00
Ilia Alshanetsky a4bc21cbe5 timezone db upgrade news 2009-04-29 21:56:12 +00:00
Derick Rethans 323769820f - Updated to version 2009.7 (2009g) 2009-04-29 11:12:13 +00:00
Zoe Slattery 38576823b1 Refixing to follow documented behaviour 2009-04-29 07:52:03 +00:00
Felipe Pena 7b62380d6b - Fix test 2009-04-28 23:46:39 +00:00
Ilia Alshanetsky 1e09a216e4 MFB: Fixed bug #47365 (ip2long() may allow some invalid values on certain
64bit systems)
2009-04-28 22:31:25 +00:00
Pierre Joye de44ff21e5 - mail_criteria entry and revert previous wrong one 2009-04-28 13:01:04 +00:00
Pierre Joye 323984a1ae - MFH: SEARCHPGM struct has to be freed 2009-04-28 12:43:10 +00:00
Antony Dovgal 1ae79dfe28 fix test 2009-04-28 09:04:17 +00:00
Antony Dovgal ba70e77b43 nuke unicode crap, fix test 2009-04-28 09:02:37 +00:00
Pierre Joye f2445c083a - space to tabs
- CS
2009-04-28 08:33:25 +00:00
Felipe Pena f096e27011 - BFN 2009-04-27 20:03:16 +00:00
Felipe Pena ff12af6133 - MFH: Fixed bug #47254 (Wrong Reflection for extends class) 2009-04-27 19:54:35 +00:00
Scott MacVicar 7fbf3433c7 MFH Fix bug #47695 - xmlrpc --with-iconv-dir mangles --with-iconv if they use different iconv versions. Could also just add a dependency on iconv to fix this. 2009-04-27 18:38:58 +00:00
Pierre Joye 9f8376ead3 - utf8_mime2text is present in 5.2's cclient 2009-04-27 08:23:29 +00:00
Pierre Joye 6c80425fb1 - MFH: add latest cclient versions 2009-04-27 00:01:15 +00:00
Sebastian Schürmann 82be89d366 - fixes to tests
- spl_classes only checks  for is_array(), the output in 5_3_0 and 5_2_0 is very different,
test will run this way in 5.2 and 5.3 w.o. problems
- call user method recognizes the different errormessage in 5_2_0 now
- the php_sap_name_variation001 check now goes for cgi instead of the cgi-fcgi output string
2009-04-26 23:54:12 +00:00
Jani Taskinen 9f729f9c6b MF53: Sync the session.c file structure and some bug fixes forgotten to merge. 2009-04-26 01:20:56 +00:00
Jani Taskinen ff9c528454 - Fix test cleanup 2009-04-26 01:20:03 +00:00
Jani Taskinen 7f97b581c2 - Missing skip section 2009-04-25 21:37:00 +00:00
Sebastian Schürmann 3f511f6ddb Initial import 2009-04-25 19:06:58 +00:00
Sebastian Schürmann dd7d7e2b6e Initial commit 2009-04-25 18:59:54 +00:00
Sebastian Schürmann cb22f59dbd Initial commit 2009-04-25 18:51:52 +00:00
Sebastian Schürmann 706152d40d Initial commit 2009-04-25 18:44:42 +00:00
Sebastian Schürmann 35d506b942 - Initial commit 2009-04-25 18:36:04 +00:00
Sebastian Schürmann 055622caf2 Initial commit 2009-04-25 18:29:23 +00:00
Jani Taskinen 22717a0c8c fix .cvsignore (Tony, it is not illegal to MFH to PHP_5_2..) 2009-04-25 18:26:49 +00:00
Jani Taskinen 7c7b7b4042 - In PHP_5_2 it is still possible to disable reflection. 2009-04-25 17:29:46 +00:00
Jani Taskinen 0608b239ab MFH: add .cvsignore file 2009-04-25 17:16:59 +00:00
Jani Taskinen f5748aab6c - Added missing entry 2009-04-25 17:15:38 +00:00
Jani Taskinen 631e6fc427 MFH: Sync 2009-04-25 17:12:11 +00:00
Jani Taskinen 030bfc24ab - Fix bad check (Hannes, please test stuff you commit..) 2009-04-25 16:54:50 +00:00
Pierre Joye 89f977c117 - ws 2009-04-25 16:36:02 +00:00
Pierre Joye 28e7780326 - #47940, pass body_len 2009-04-24 14:53:59 +00:00
Pierre Joye fab09bda92 - #47940 entry 2009-04-23 22:34:47 +00:00
Pierre Joye 8abacb0292 - MFH: #47940, leaks in imap_body() 2009-04-23 22:32:41 +00:00
Takeshi Abe 4b0df64a46 MFH: check non-null before any use. 2009-04-23 16:28:39 +00:00
andy wharmby ce125a6d46 Fix test 2009-04-21 08:53:26 +00:00
Jani Taskinen 97400732ad MFH:- Added path sanity check (autotools + libtool do not cope with whitespace..) 2009-04-20 15:03:57 +00:00
Mikko Koppanen 12e8c8ddc7 NEWS entry related to #47991 2009-04-20 10:03:21 +00:00
Mikko Koppanen d34a636598 MFH: Closes #47991 SSL streams fail if error stack contains items 2009-04-20 10:00:41 +00:00
Arnaud Le Blanc b6dc5c0574 MFH: Fix test 2009-04-19 22:02:06 +00:00
Arnaud Le Blanc 91e30c22d1 MFH: Better fix for #47997 2009-04-19 17:10:52 +00:00
Ilia Alshanetsky 8b083a9938 MFB: Fixed bug #47937 (system() calls sapi_flush() regardless of output
buffering)
2009-04-19 15:01:11 +00:00
Arnaud Le Blanc ce2c662791 MFB5.3: Fixed bug #47997 (stream_copy_to_stream returns 1 on empty streams) 2009-04-19 14:44:09 +00:00
Felipe Pena 1a9b6363f4 - MFH: Fix build 2009-04-18 18:56:58 +00:00
Ilia Alshanetsky 96ec5091f5 MFB: Fixed compiler warning 2009-04-16 22:14:52 +00:00
Pierre Joye 4aab8b21ac - fix zts build 2009-04-16 14:26:09 +00:00
Hannes Magnusson 9d028122b4 BFN 2009-04-16 13:53:24 +00:00
Hannes Magnusson c3fd834e3a MFH: Fixed bug#47981 (error handler not called regardless) 2009-04-16 13:52:23 +00:00
Pierre Joye c557abeb04 - improve file:// deactivation in curl_init and do not allow to enable it again manually 2009-04-16 13:51:55 +00:00
Hannes Magnusson 3fcaf01902 MFH: sync WS 2009-04-16 13:43:28 +00:00
Hannes Magnusson a61ac8cfe6 MFH: make it possible to run on 5.2.7 2009-04-16 13:41:50 +00:00
Pierre Joye 4ebb71d265 - disable file:// when safe_mode or open_basedir are enabled 2009-04-16 09:47:33 +00:00
Pierre Joye 716cc044ef - #47978, typo in ext/sockets/sockets.c 2009-04-16 05:32:38 +00:00
Moriyoshi Koizumi adefeac748 - MFH: Just a paranoiac test. This works perfectly. 2009-04-16 02:07:53 +00:00
Antony Dovgal f2e15c11c4 sync test with other branches 2009-04-15 20:57:26 +00:00
Antony Dovgal d60e754107 fix test 2009-04-15 20:54:59 +00:00
Ilia Alshanetsky 0a68541055 MFB: Fixed bug #47969 (ezmlm_hash() returns different values depend on OS) 2009-04-15 14:25:06 +00:00
Nuno Lopes 925c892dc9 MFH: fix bug #47662: support more than 127 named subpatterns 2009-04-14 20:31:32 +00:00
Nuno Lopes 66ec8d9632 upgrade to pcre 7.9 2009-04-14 20:29:09 +00:00
Antony Dovgal 5765def870 MFH: revert wrong fix for bug #47930 2009-04-14 14:18:49 +00:00
Stanislav Malyshev 077c6ea03b add fix #47930 2009-04-13 19:38:52 +00:00
Stanislav Malyshev 3e2513d8f3 fix #47930 2009-04-13 19:37:35 +00:00
Derick Rethans af99e4e438 - Updated to version 2009.6 (2009f) 2009-04-13 13:41:47 +00:00
Ilia Alshanetsky 6b719df163 MFB: Fixed bug #47946 (ImageConvolution overwrites background) 2009-04-12 14:44:34 +00:00
Rasmus Lerdorf 629eecbf7c Don't strip leading zeros on floating point numbers
And fix the test case
2009-04-09 16:04:15 +00:00
Ilia Alshanetsky 3ac8882dc1 Added test for php_sapi_name() 2009-04-09 13:28:22 +00:00
Hannes Magnusson a987ae115d Engelsk grammatikk 2009-04-09 10:20:39 +00:00
Hannes Magnusson 053c91d1ce MFH: Fixed bug#47427 (-s outputs, not displays) 2009-04-09 10:08:14 +00:00
Rasmus Lerdorf 9f9266cd88 Fixed bug #44929 - Better handling of leading zeros 2009-04-08 18:16:06 +00:00
Sebastian Bergmann 7aea024b69 MFH: Rename reflection*.phpt to Reflection*.phpt for consistency. 2009-04-08 16:09:30 +00:00
Felipe Pena db53404011 - Fixed bug #47801 (__call() accessed via parent:: operator is provided incorrect method name) 2009-04-08 00:28:06 +00:00
Felipe Pena 22c4a22379 - MFH: Fix ZTS build 2009-04-08 00:16:50 +00:00
Ilia Alshanetsky 944f02b46d Let's actually say what was updates ;-)
# Thanks Jani & Johannes
2009-04-07 17:06:53 +00:00
Arnaud Le Blanc 2b3e1ecece MFH: Fixed bug #47893 (CLI aborts on non blocking stdout) 2009-04-07 16:11:57 +00:00
Rob Richards ff4522e7dc BFN 2009-04-07 15:34:37 +00:00
Rob Richards 8728f276f9 MFH: fix bug #47849 (Non-deep import loses the namespace)
add test
2009-04-07 15:33:20 +00:00
Ilia Alshanetsky 4399a96a6b News 2009-04-07 14:08:39 +00:00
Kalle Sommer Nielsen 88c8ecb0a7 MFB53: Revert previous commit as it was causing alot more trouble than expected 2009-04-07 11:45:50 +00:00
Felipe Pena d52ad52511 - Fixed bug #47903 ("@" operator does not work with string offsets (PHP_5_2 only!))
(MFH: #39018)
2009-04-06 23:56:20 +00:00
Ilia Alshanetsky 792218240f Fixed test 2009-04-06 14:22:51 +00:00
Derick Rethans 8e5a9e931d - Updated to version 2009.5 (2009e) 2009-04-06 13:28:44 +00:00
Hannes Magnusson 7126bbbd9e MFH: Add test for bug#42596 2009-04-06 12:13:21 +00:00
Hannes Magnusson e3fb9c3e8f MFH: Fixed segfault on invalid session.save_path 2009-04-06 11:49:33 +00:00
Hannes Magnusson 9011deb604 MFH: Use an obscure name 2009-04-06 09:32:39 +00:00
Kalle Sommer Nielsen db1fa7fa80 MFB53: Kill warning about php_localtime_r not being defined 2009-04-06 09:17:47 +00:00
Dave Kelsey 51d28a7b17 bug 47886: fix test which failed during DST. Microsoft api working as designed, but unexpected. 2009-04-06 08:30:20 +00:00
Ilia Alshanetsky 3100dc31f0 Define _php_rfc822_len() only when needed 2009-04-05 14:10:49 +00:00
Felipe Pena d602767ec5 - Backported fix for #35386 (originally commited in 5.3+), reported recently as 5.2 bug #47845 2009-04-03 22:14:05 +00:00
Felipe Pena e5912d6486 - MFH: Fixed bug #47818 (Segfault due to bound callback param) 2009-04-02 15:55:02 +00:00
Matt Wilmas 77e3667550 MFH: Fixed tests, reverted changes from bug #47546 2009-04-02 09:42:32 +00:00
Matt Wilmas 8cad08f9a3 MFH: Fixed bug #47560 (explode()'s limit parameter odd behaviour) by reverting change for bug #47546 2009-04-01 17:07:46 +00:00
Felipe Pena 79dbf136b0 - MFH: Fixed bug #47852 (Compilation failure in zend_alloc.c) (Matteo) 2009-04-01 16:56:08 +00:00
Ilia Alshanetsky 72fed70e47 WS 2009-03-31 17:21:02 +00:00
Matt Wilmas 9c3e1e96b8 - MFH: Removed unused LONG_SIGN_MASK definition, and a stray \
- Changed sign flag to int (it's no longer being used in a calculation)
2009-03-31 11:22:19 +00:00
Dmitry Stogov 02f8fe6aa0 Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer) 2009-03-31 10:05:38 +00:00
Ilia Alshanetsky ff9bc5c5e1 Fixed bug #47831 (Compile warning for strnlen() in main/spprintf.c)
# Patch by rainer\ dot\ jung\ at\ kippdata\ dot\ de
2009-03-30 19:59:08 +00:00
Pierre Joye 0bde38f6d2 - #47828 2009-03-30 18:05:42 +00:00
Pierre Joye 252f09fbe6 - better test case, it crashes on more architecture 2009-03-30 18:05:17 +00:00
andy wharmby 65e12bbf74 Fix date tests which started failing after change to BST 2009-03-30 12:35:30 +00:00
Scott MacVicar 4904830ca5 MFH Add test for bug #47828 2009-03-30 09:18:21 +00:00
Scott MacVicar 10d64bd4a9 MFH Fix test, -2147483648 is a valid unsigned int where -2147483649 isn't. 2009-03-30 00:41:39 +00:00
Scott MacVicar 966e1e6833 BFN 2009-03-29 23:35:58 +00:00
Scott MacVicar 6e617627f6 MFH Fix bug #47828 - Converting to UTF-8 can sometimes fail, check error codes and avoid segfault. 2009-03-29 23:33:01 +00:00
Ilia Alshanetsky 947df429ca Fixed compiler warning 2009-03-29 17:04:05 +00:00
Felipe Pena 9118a6ba7d - Add test 2009-03-27 16:53:03 +00:00
Felipe Pena 65d1a3a441 MFH: - Fixed bug #47769 (Strange extends PDO) 2009-03-27 16:50:38 +00:00
Christian Seiler bf8ac5f70c MFB: Fixed memory leak in ob_get_clean/ob_get_flush. 2009-03-26 00:00:18 +00:00
Ilia Alshanetsky 255422ab1e MFB: Fixed bug #47772 (FILTER_VALIDATE_EMAIL allows foo@bar. addresses) 2009-03-25 18:53:04 +00:00
Dmitry Stogov 5dda7e709c Fixed double efree() 2009-03-24 16:36:20 +00:00
Derick Rethans c95f7e8bb7 - Updated to version 2009.4 (2009d) 2009-03-23 21:40:11 +00:00
Derick Rethans 3fdd12683f - Updated to version 2009.3 (2009c) 2009-03-22 11:50:20 +00:00
Steph Fox 4219951e86 BFN 2009-03-20 22:14:45 +00:00
Steph Fox d92e82edc2 MFH: Fixed bug #38805 ( PDO Truncates Text from SQL Server Text Data Type Field)
- Bring behaviour into line with ext/mssql
  - Several memleaks plugged
2009-03-20 22:14:17 +00:00
Uwe Schindler 2b43578d54 Fix a sigsegv on server shutdown, add missing sapi_shutdown(). 2009-03-20 15:54:36 +00:00
Zoe Slattery ea9f303dd2 clarification of wwwhether 'make test' needs the PHP xecutable to be set 2009-03-20 15:44:14 +00:00
Zoe Slattery bdfafa3dd4 added skipif for root 2009-03-20 08:57:30 +00:00
Kalle Sommer Nielsen a2ad68d054 Fix typo 2009-03-20 08:39:42 +00:00
Ilia Alshanetsky aa89f171fa Fixed bug #47721 (Aligment issues in mbstring and sysvshm extension) 2009-03-19 23:10:44 +00:00
Matt Wilmas 85c513c1fc MFH: Handle overflow when decoding large numbers and avoid 2 conversions 2009-03-19 19:27:14 +00:00
Arnaud Le Blanc d72e47f4af MFH: Better fix for #44607. Fixes #47487 (php_stream_fill_read_buffer()
performance degraded after fix of bug 44607).
2009-03-19 17:56:01 +00:00
andy wharmby 1ed6d9109e New tests for various date extension functions. Tested on Windows, Linux and linux 64 2009-03-18 23:34:57 +00:00
Moriyoshi Koizumi d2e781ff7e - MFH: Synching .dsp file (I am not sure whether I really should do this) 2009-03-18 17:34:43 +00:00
Moriyoshi Koizumi bbd2a36b74 - MFH: staticise private symbols 2009-03-18 16:53:46 +00:00
Dmitry Stogov 9e48089f65 Fixed bug #47704 (PHP crashes on some "bad" operations with string offsets) 2009-03-18 13:11:32 +00:00
andy wharmby 007685a39d New tests for date extension DateTime methods Tested on Windows, Linux and linux 64 2009-03-18 11:32:53 +00:00
andy wharmby baa0e628be New tests for date extension DateTimeZone methods Tested on Windows, Linux and linux 64 2009-03-18 11:13:00 +00:00
Pierre Joye c4e040a468 - #43073, TrueType bounding box is wrong for angle<>0 2009-03-18 08:15:27 +00:00
Felipe Pena 9d8330a389 - MFH: Year++ 2009-03-17 23:10:13 +00:00
Matt Wilmas c06fb2f274 MFH: Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with different bit numbers) 2009-03-17 22:04:57 +00:00
Christopher Jones 9d638e65c7 Fix INI blocks 2009-03-17 03:08:16 +00:00
Scott MacVicar a2374d6a81 BFN 2009-03-17 02:03:58 +00:00
Scott MacVicar 17530bbccd MFH Fix bug #47644 - Valid integers are truncated with json_decode() 2009-03-17 02:02:45 +00:00
Zoe Slattery b3542a6ec4 test for /ext/tidy from stefan priebsch 2009-03-16 20:38:51 +00:00
Felipe Pena 7e9fd69bd8 - MFH: Fixed bug #47616 (curl keeps crashing) 2009-03-16 15:09:51 +00:00
Mikko Koppanen 7edf0f9e96 Updated news file 2009-03-16 12:03:57 +00:00
Mikko Koppanen 109dc1e6f6 Closes bug #47667 2009-03-16 10:22:13 +00:00
Ilia Alshanetsky 9075bfd1d9 MFB53: Fix for get_defined_constants() 2009-03-16 00:39:09 +00:00
Moriyoshi Koizumi b48436eb77 - MFH: Fix a bug that mbstring.internal_encoding doesn't take effect within
the request encoding converter.
2009-03-15 20:44:17 +00:00
Takeshi Abe 7dcb90d877 MFH: Fixed bug #45799 (imagepng() crashes on empty image) 2009-03-14 17:48:42 +00:00
Stanislav Malyshev 0d161c7bfb record new curl options 2009-03-13 19:46:09 +00:00
Stanislav Malyshev 00f576cc97 add new CURL options 2009-03-13 19:43:49 +00:00
Rob Richards e6d3c85e89 fix build for VC9 2009-03-13 14:39:08 +00:00
Rob Richards 4103f0bfbd BFN 2009-03-13 13:45:07 +00:00
Rob Richards e5a211bafc fix bug #47430 (Errors after writing to nodeValue parameter of an absent previousSibling)
add test
2009-03-13 13:41:42 +00:00
Ilia Alshanetsky 32027f5944 MFB: Fixed bug #47639 (pg_copy_from() WARNING: nonstandard use of \\ in a string
literal)
2009-03-12 22:54:15 +00:00
Zoe Slattery d189d478e3 refixing %r in run-tests.php (thanks iain lewis for the fix) 2009-03-12 20:45:43 +00:00
Andrei Zmievski baa869110b MFH 2009-03-12 16:13:39 +00:00
Ilia Alshanetsky b4c07450d2 MFB: Fixed bug #47598 (FILTER_VALIDATE_EMAIL is locale aware) 2009-03-08 18:22:26 +00:00
Kalle Sommer Nielsen ba65b35b7f MFH: Fix tests 2009-03-08 06:20:12 +00:00
Kalle Sommer Nielsen 4d8283a3ad MFH: Fixed bug #47546 (Default value for limit parameter in explode is 0, not -1) 2009-03-03 11:50:32 +00:00
Zoe Slattery f1092fb663 Added %r section 2009-03-03 10:54:16 +00:00
Moriyoshi Koizumi 023a3caf05 - MFH: Fix typo. 2009-03-02 04:44:35 +00:00
Ilia Alshanetsky 536ed996a0 MFB: Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6
addresses in the filter extension)
2009-03-01 17:36:09 +00:00
Ilia Alshanetsky ae31c3c66a MFB: Fixed 2 memory corruptions in zip extension idenfied by
oo_properties.phpt test
2009-03-01 17:35:25 +00:00
Uwe Schindler 2b2874eafd Fix Bug 47495: Keep header in internal list after add, so headers_list() works correctly. Other SAPIs have the same problem, but PHP 5.3 fixes this more elegant. 2009-02-25 19:52:06 +00:00
Ilia Alshanetsky 2d1f1b1b68 Back to dev 2009-02-25 15:34:33 +00:00
Ilia Alshanetsky e95f0a0058 5.2.9 2009-02-25 14:56:50 +00:00
Moriyoshi Koizumi 7db52b84b7 - Revert the patch then. 2009-02-24 15:09:43 +00:00
Moriyoshi Koizumi c5903bd6ab - MFH: strictly check UTF-8 and UTF-32 validity 2009-02-24 13:22:47 +00:00
Kalle Sommer Nielsen 6788dcf3bc Fixed #37209 (mssql_execute with non fatal errors) 2009-02-23 21:21:23 +00:00
Felipe Pena da3fad6285 - Fix test 2009-02-20 13:30:04 +00:00
Jani Taskinen ba9cdc0ad1 - spl is not forced on everyone in 5.2 branch. 2009-02-20 13:16:21 +00:00
Ilia Alshanetsky b764a1a782 Back to dev 2009-02-19 18:33:37 +00:00
Ilia Alshanetsky 98d0c1fade .2.9RC3 2009-02-19 18:31:25 +00:00
Dmitry Stogov 80e1950121 Fixed bug #47049 (SoapClient::__soapCall causes a segmentation fault) 2009-02-18 13:25:32 +00:00
Zoe Slattery eb829c6bbc fix test 2009-02-17 20:26:11 +00:00
Ilia Alshanetsky e808403250 FN 2009-02-17 17:09:24 +00:00
Ilia Alshanetsky 013c7f1f92 Fixed bug #45327 (memory leak if offsetGet throws exception)
# Patch by Greg
2009-02-17 17:09:05 +00:00
Zoe Slattery cc96a72170 Increased the sleep() from 1 to 5 to prevent intermittent failures 2009-02-17 15:21:10 +00:00
Matt Wilmas df22f1e09a MFH: Overflow comment 2009-02-17 15:15:36 +00:00
Matt Wilmas 56fcbaa848 Entry for bug #47422 2009-02-17 14:28:15 +00:00
Matt Wilmas 0d4da18bdd MFH: Fixed bug #47422 (modulus operator returns incorrect results on 64 bit linux) 2009-02-17 14:16:36 +00:00
Johannes Schlüter 7d8db13f39 MFH: Fix #45940 MySQLI OO does not populate connect_error property on failed connect 2009-02-17 10:40:18 +00:00
Felipe Pena ccd4958088 - Missing "DROP TABLE" 2009-02-16 19:49:03 +00:00
Zoe Slattery a44816ed09 exit -1 and exit -2 don't work for all sh. changed to exit 1 2009-02-16 13:18:40 +00:00
Moriyoshi Koizumi 63a6a6ee56 - MFH 2009-02-16 02:11:02 +00:00
Moriyoshi Koizumi f456fffe04 - MFH: Fix bug #47399 mb_check_encoding() return true for some illegal SJIS
characrters.
2009-02-16 01:58:16 +00:00
Felipe Pena d87c493722 - Fix tests 2009-02-15 16:50:33 +00:00
Felipe Pena 69084a71a6 - Supressing error message for SKIPIF check works as expected 2009-02-15 16:03:49 +00:00
Ilia Alshanetsky c243cd8610 reverted fix 2009-02-15 14:31:55 +00:00
Ilia Alshanetsky 9ca087df12 Revert patch for bug #46701 as it introduces a BC break 2009-02-15 14:31:17 +00:00
Moriyoshi Koizumi 488cd17ff5 - MFH: these should have been in the previous commit. 2009-02-15 07:18:43 +00:00
Moriyoshi Koizumi ef65c8ca60 - BFN 2009-02-15 07:12:15 +00:00
Moriyoshi Koizumi c2724d08fb - MFH: Refix bug #43840.
- MFH: Fix bug #43841.
- MFH: Remove redundant trailing dots from the error messages.
- MFH: Fix tests.
2009-02-15 07:11:23 +00:00
Rasmus Lerdorf af6d9528ce 2.4.1 is safe to use. Perhaps we should just drop the 3rd part from
the check there?  Might be unsafe if they break 2.4.2 though
2009-02-14 21:04:07 +00:00
Zoe Slattery 59596a527c splitting array_chunk into smaller tests 2009-02-14 10:34:22 +00:00
Moriyoshi Koizumi fb8c6db95a - MFH: prevent unwanted overflow 2009-02-14 08:16:21 +00:00
Moriyoshi Koizumi 1557e35034 - MFH: Fix Bug #45923 (mb_st[r]ripos() offset not handled correctly) 2009-02-14 07:35:01 +00:00
Moriyoshi Koizumi 17eb9361e1 - MFH: these should be E_WARNING for consistency with strpos() 2009-02-14 07:00:24 +00:00
Andrei Zmievski c2d0db2a3a Revert bogus fix for #47370. 2009-02-13 22:26:46 +00:00
Kalle Sommer Nielsen 87a91cb7b6 MFH: Revert previous change 2009-02-13 16:55:18 +00:00
Ilia Alshanetsky 2dc6d844ef Back to dev 2009-02-12 20:32:17 +00:00
Ilia Alshanetsky 46a6126e34 5.2.9RC2 2009-02-12 20:29:36 +00:00
Moriyoshi Koizumi afeef64609 * Update for bug #47370. 2009-02-12 18:32:14 +00:00
Moriyoshi Koizumi d719c020e6 * MFH: Fix bug #47370 (BC breakage of array_unique()) 2009-02-12 18:30:31 +00:00
Kalle Sommer Nielsen d9e457bbad MFH: Fixed wrong usage of error_reporting directive 2009-02-12 14:37:27 +00:00
Scott MacVicar 921ea6a428 MFH Fix bug #45989 - json_decode() doesn't return NULL on certain invalid strings 2009-02-12 00:36:23 +00:00
Scott MacVicar 519e4c1158 MFH Fix bug #46944 - UTF-8 characters outside the BMP aren't encoded correctly.
Forgot to merge this back in January
2009-02-12 00:15:46 +00:00
Felipe Pena 2a9bb86383 MFH: Fixed test bug #47311 (PDO::PARAM_LOB columns need to be bound before execute() on PgSQL) 2009-02-11 10:44:48 +00:00
Antony Dovgal a19fb50fd6 add test 2009-02-11 10:02:28 +00:00
Antony Dovgal 120b469bb4 MFH: fix bug #47353 (crash when creating a lot of objects in object destructor) 2009-02-11 09:58:58 +00:00
Antony Dovgal 49cf106aa4 MFH: fix check for zend_extension type 2009-02-11 09:11:35 +00:00
Scott MacVicar 5ee54f12af MFH Fix debug builds for OSX, PHP_DEBUG is set to 1 at the top 2009-02-11 00:08:44 +00:00
Ilia Alshanetsky c752e95c36 MFB: Adjust condition 2009-02-10 16:14:27 +00:00
Ilia Alshanetsky 3b4540f926 Fixed typo 2009-02-10 14:21:10 +00:00
Ilia Alshanetsky 0cb1a19851 Added path truncation E_NOTICE to let people now when path resolving caused
the file path to be truncated.
2009-02-10 14:18:29 +00:00
Felipe Pena 54f742e30d - MFH: Fix tests 2009-02-09 16:59:47 +00:00
Ilia Alshanetsky 6d3be89192 MFB: Initialize optional var 2009-02-09 15:34:32 +00:00
Felipe Pena 8d06c2cf2a - MFH: Fix test 2009-02-09 12:56:09 +00:00
Felipe Pena 99afacffcd - MFH: Fix mem. leak 2009-02-09 12:07:35 +00:00
Felipe Pena 09f6582694 - MFH: Fixed test 2009-02-09 11:58:02 +00:00
Greg Beaver 300f28b58e MFB fix Bug #46026 (this is a refinement of the previous fix) 2009-02-09 03:44:59 +00:00
Ilia Alshanetsky fcc80dcb86 MFB52: Fixed bug #44874 (dead pfsockopen'ed sockets aren't reaped when the
remote end restarts)

# Patch by Richard dot Krehbiel at gmail dot com
2009-02-08 16:54:43 +00:00
Antony Dovgal 0136b5cec6 fix typo 2009-02-06 10:42:54 +00:00
Felipe Pena 79f0466eff - Improve test 2009-02-06 10:40:42 +00:00
Felipe Pena ac2a97209b - MFH: Fixed bug #47322 (sscanf %d does't work) 2009-02-06 10:22:34 +00:00
Moriyoshi Koizumi c940701612 - MFH: Fix bug #45239 (encoding detector hangs with mbstring.strict_detection
enabled).
2009-02-06 08:49:05 +00:00
Ilia Alshanetsky f492ccfec6 Back to dev 2009-02-05 20:56:12 +00:00
Ilia Alshanetsky c77343ea9e 5.2.9RC1 2009-02-05 20:53:45 +00:00
Pierre Joye 34f117411e - zip fix entry 2009-02-05 19:53:43 +00:00
Pierre Joye 74f431ed45 - Fixed a crash on extract in zip when files or directories entry names contain
a relative path. (affects only 5.2 as it is a limitation in 5.2's virtual_file_ex)
2009-02-05 19:53:22 +00:00
Felipe Pena 4cf377704b - MFH: Fixed bug #47297 (pdo_033.phpt fails on PgSQL)
Patch by matteo at beccati dot com
2009-02-04 16:41:18 +00:00
Ilia Alshanetsky c4a9c79e28 Syn spprintf fix with that of 5.3 and above 2009-02-04 15:03:12 +00:00
Ilia Alshanetsky 7f2d38d966 Return empty string when recv() does not fetch any data 2009-02-03 19:22:40 +00:00
Ilia Alshanetsky 6131780061 MFB: Fixed bug #47282 (FILTER_VALIDATE_EMAIL is marking valid email
addresses as invalid)
2009-02-02 23:51:58 +00:00
Felipe Pena 1ad22f19e2 - MFH: Fixed bug #47269 (Typo: SoapSlient instead of SoapClient) 2009-02-02 10:00:32 +00:00
Moriyoshi Koizumi 90d7d1004c - MFH: Fix bug #46843 (CP936 euro symbol is not converted properly) 2009-02-02 04:54:11 +00:00
David Soria Parra f148e5a64f MFH: Fix a typo 2009-02-01 21:52:32 +00:00
Ilia Alshanetsky e721d542ee Fixed a possible invalid read when string is not null terminated 2009-02-01 19:42:48 +00:00
andy wharmby 9acebf6f4a New set_magic_quotes() tests. Tested on Windows, Linux and linux 64 2009-02-01 19:29:34 +00:00
andy wharmby cccb875ecd New php_uname() tests. Tested on Windows, Linux and linux 64 2009-02-01 19:17:50 +00:00
andy wharmby a43447aad6 New get_defined_vars(), get_included_files(), get_magic_quotes() and getmypid() tests. Tested on Winows, Linux and Linux 64 2009-02-01 18:55:28 +00:00
andy wharmby 008ca451c1 New escapeshellarg() tests. Tested on Windows, Linux and Linux 64 2009-02-01 18:39:52 +00:00
andy wharmby b43e2722ab New floatval() tests. Tested on Windows, Linux and Linux 64 2009-02-01 18:32:42 +00:00
Felipe Pena a7e664e216 - MFH: Fixed bug #47255 (Typo in php.ini files) 2009-01-31 19:26:02 +00:00
Kalle Sommer Nielsen 783b7b5cac MFH: Fix arginfo for imagefilter() 2009-01-31 15:28:34 +00:00
Felipe Pena 23b814a8b7 - MFH: Fix test 2009-01-30 14:50:38 +00:00
Ilia Alshanetsky adfdb7a77f MFB: Improved validation checks inside str_pad() 2009-01-30 00:17:05 +00:00
Scott MacVicar d84d3e47f3 Fix bug #47245 - Double free in mb_detect_encoding() 2009-01-29 22:58:52 +00:00
Johannes Schlüter ca779b84f9 - Add .cvsignore 2009-01-28 22:35:50 +00:00
Antony Dovgal 23db743e46 fix test 2009-01-28 12:59:08 +00:00
Felipe Pena 0e3465a61f MFH:
- Fix compile warning
- Fixed test
2009-01-27 15:02:43 +00:00
Felipe Pena 13ac985397 - Fixed parameter format 2009-01-27 14:44:07 +00:00
Felipe Pena 855e9fb998 - Removed wrong '/' in parameter format 2009-01-27 14:40:13 +00:00
Felipe Pena 42b58608e5 - Fixed tests 2009-01-27 14:32:59 +00:00
andy wharmby 7f4cdc8719 Split-ip var_export.phpt and add new error tests. Tested on Windows, Linux and Linux 64 bit 2009-01-26 22:27:05 +00:00
David Soria Parra f60f40afaa Fix indention 2009-01-26 21:27:41 +00:00
Rob Richards 3ba6c9f870 BFN 2009-01-26 19:12:10 +00:00
Rob Richards 566babac58 MFH: fix bug #47220 (segfault in dom_document_parser in recovery mode) 2009-01-26 19:11:19 +00:00
Ilia Alshanetsky 3959313932 MFB: Fixed bug #47217 (content-type is not set properly for file uploads) 2009-01-26 15:25:25 +00:00
Dmitry Stogov a012002652 Fixed bug #46419 (Elements of associative arrays with NULL value are lost) 2009-01-26 11:09:14 +00:00
Antony Dovgal 78c4bc3086 MFH use example.com 2009-01-25 23:28:18 +00:00
andy wharmby a12e0a69b8 Split is_callable test. Test on Windows, Linux and Linux 64 bit 2009-01-25 22:16:28 +00:00
Ilia Alshanetsky 38969d726b MFB: Improved fix for bug #47174 & added a test 2009-01-25 18:27:39 +00:00
David Soria Parra 49b4865adb MFH: Fix compiler warning. munmap expects a void pointer. 2009-01-25 14:04:09 +00:00
David Soria Parra 8b52d17a9b MFB: Fix WS 2009-01-25 13:42:39 +00:00
David Soria Parra 8d362208e1 MFH: Fix WS 2009-01-25 13:41:01 +00:00
Zoe Slattery 29980934c0 Added INI sections 2009-01-25 11:08:21 +00:00
Sebastian Bergmann 612a5d30db MFH: Patch by David Soria Parra <dsp@php.net>. 2009-01-25 11:07:56 +00:00
Antony Dovgal 09ec05ee72 fix test 2009-01-24 22:03:06 +00:00
Antony Dovgal 59305cdc08 add missing .cvsignore 2009-01-24 13:01:06 +00:00
andy wharmby c9745da78e New get_extension_funcs() and getrusage() tests. Tested on Windows, Linux and Linux 64 bit 2009-01-24 12:47:31 +00:00
andy wharmby 8ce15a6cc3 Make test more robust; avoid hangs if fsockopen() fails. Tested on Windows, Linux and Linux 64 bit 2009-01-23 23:49:31 +00:00
andy wharmby 39c67fe48d New gzuncompress() test.Tested on WIndows, Linux and Linux 64 bit 2009-01-23 23:31:48 +00:00
andy wharmby 7861cec3ef Fix tests. Add missing SKIPIF. Tested on Windows, Linux and Linux 64 2009-01-23 20:23:25 +00:00
Dave Kelsey 58ed732623 deleted invalid test. 2009-01-23 18:56:57 +00:00
Dave Kelsey 22f64f09f2 added some mail tests. Tested on windows, linux and linux 64bit 2009-01-23 17:12:19 +00:00
Dave Kelsey 71376a9789 various network tests. tested on windows, linux, linux 64 bit 2009-01-23 15:34:27 +00:00
Zoe Slattery b0ef277d3a IMPA fetchheader tests 2009-01-23 15:32:48 +00:00
andy wharmby 3f2bc9daa6 Fix names of new image files. 2009-01-23 11:18:31 +00:00
andy wharmby 3371e54109 New image tests. Tested on WIndows, Linux and Linux 64 bit 2009-01-22 22:59:51 +00:00
Pierre Joye 5f21f1e7c8 - call the right script 2009-01-22 22:07:21 +00:00
Dave Kelsey e815e613ac fstat tests. tested on windows, linux and linux 64 bit 2009-01-22 20:49:50 +00:00
andy wharmby 21aa7d168a New date tests for getdate() and gmstrftime(). Tested on WIndows, Linux and Linux 64 bit 2009-01-22 18:47:34 +00:00
Dave Kelsey d34a68db52 final collection of zlib tests. tested on linux, windows and linux 64 bit 2009-01-22 14:15:01 +00:00
andy wharmby 18e73c14a2 New basic time()and microtime() tests. Tested on Windows, Linux and Linux 64 bit 2009-01-22 14:11:12 +00:00
andy wharmby 3cdae46259 Fix test after #46732 fix. Tested on WIndows, Linux and Linux 64 bit 2009-01-22 13:50:33 +00:00
andy wharmby a7653d9485 New image tests. Tested on Windows, LInux and Linux 64 bit 2009-01-22 13:27:22 +00:00
Dave Kelsey 81af2ad666 fixed subtle bugs regarding attempting to chdir, plus cleanup issues. improved tempnam test, removed hardcoded line number. tested on windows, linux and linux 64bit. 2009-01-22 07:57:09 +00:00
andy wharmby 0d6a4b2d12 Fix test 2009-01-22 00:23:05 +00:00
Jani Taskinen b60437a4ad MFH: fix typo 2009-01-21 19:23:03 +00:00
Ilia Alshanetsky 3a78a01817 MFB: Fixed bug #47174 (base64_decode() interprets pad char in mid string as
terminator)
2009-01-21 15:45:29 +00:00
Derick Rethans aa6595916b - Updated to version 2009.1 (2009a) 2009-01-21 15:25:24 +00:00
Dave Kelsey 3fc347d251 new tests for zlib extension, tested on windows, linux and linux64 2009-01-21 15:24:16 +00:00
Antony Dovgal 7631655051 fix tests 2009-01-21 12:49:39 +00:00
andy wharmby a16133c719 New gzuncompress() test. php6 tets fails currentlly due to #47179. Tested on Windows, Linux and Linux 64 bit 2009-01-21 12:28:35 +00:00
andy wharmby e6bca5b8a5 New gzencode() test. php6 tets fails currentlly due to #47178. Tested on Windows, Linux and Linux 64 bit 2009-01-21 11:39:14 +00:00
Sanjay Mantoor 677debbd11 New testcases for strftime function 2009-01-21 10:52:34 +00:00
Dave Kelsey 5cebc6e703 Some basic tests for mime_magic. Tested on windows only 2009-01-21 10:46:38 +00:00
Dmitry Stogov 85489ac01a Fixed bug #47165 (Possible memory corruption when passing return value by reference) 2009-01-21 10:15:49 +00:00
andy wharmby 21e8496b72 New gzinflate() error test. Tested on WIndows, Linux and Linux 64 bit 2009-01-20 23:37:50 +00:00
andy wharmby 7d1ff9b203 Fix SKIPIF logic 2009-01-20 23:19:48 +00:00
andy wharmby 574a268345 New stripcslashes() tests. Tested on Window, Linux and Linux 64 bit 2009-01-20 22:54:41 +00:00
Ilia Alshanetsky 32ecd29b07 MFB: Added an E_NOTICE when precision value is truncated 2009-01-20 18:03:19 +00:00
Felipe Pena 91ec3a8141 - MFH: Fixed bug #47152 (gzseek/fseek using SEEK_END produces strange results) 2009-01-20 15:43:06 +00:00
andy wharmby 17bf5aa167 New vfprintf() tests. Tested on Window, Linux and Linux 64 bit 2009-01-20 14:19:43 +00:00
Felipe Pena 3404865719 - MFH: Added missing "return;" 2009-01-20 00:47:03 +00:00
Ilia Alshanetsky a0d1b54bf1 Fixed bug #47131 (SOAP Extension ignores "user_agent" ini setting). 2009-01-19 21:57:46 +00:00
David Soria Parra 72eeac2581 MFH: Fix #47149. Remove check for script_filename = path_translated, as this the actual value that we get from apache. 2009-01-19 18:17:59 +00:00
andy wharmby a55dc942cd New substr_replace() and unpack() error tests. Tested on Windows, Linux and Linux 64 bit. 2009-01-19 17:13:16 +00:00
andy wharmby c72618c48c New vprintf() tests. Tested on Windows, Linux and Linux 64 bit. 2009-01-19 16:03:35 +00:00
andy wharmby e9148ca0e3 New strval() tests. Tested on Windows, Linux and Linux 64 bit. 2009-01-19 15:54:43 +00:00
andy wharmby 64c8147b91 New tests for str_pad(), str_shuffle(), stristr() and strlen(). Tested on WIndows, Linux and Linux 64 bit 2009-01-19 15:46:31 +00:00
Antony Dovgal 910107f3f4 MFH: fix memleaks in sscanf() 2009-01-19 14:41:52 +00:00
Dave Kelsey ae37ab1364 new tests for zlib extension, tested on windows, linux and linux64 2009-01-19 14:03:18 +00:00
Felipe Pena 9c1837e8da - MFH: Fixed bug #47048 (Segfault with new pg_meta_data) 2009-01-18 23:51:15 +00:00
andy wharmby 8d1e2fdfda Port similar_text test to 5.2. Tested on Windows, Linux and Linux 64 bit 2009-01-18 23:11:06 +00:00
andy wharmby 4db72b092f New nl_langinfo(), number_format() and ord() tests. Tested on Windows. Linux and Linux 64 bit 2009-01-18 22:50:58 +00:00
andy wharmby 921ed1e76e New hebrev() and hebrevc() tests. Tested on Windows. Linux and Linux 64 bit 2009-01-18 21:59:33 +00:00
andy wharmby 942cea640f New sha1f() tests. Tested on Windows. Linux and Linux 64 bit 2009-01-18 19:37:41 +00:00
andy wharmby 9331f6554a New sscanf() tests. Tested on Windows. Linux and Linux 64 bit 2009-01-18 14:40:21 +00:00
andy wharmby 4b9d2da517 New explode() tests. Tested on Windows. Linux and Linux 64 bit 2009-01-18 14:34:52 +00:00
Felipe Pena 3ed65d36f9 - New tests 2009-01-18 13:28:58 +00:00
Felipe Pena ffccfdd9ec - Fixed test 2009-01-18 13:28:03 +00:00
andy wharmby 157f45242a New money_format() tests. Tested on Windows, Linux and Linux 64 bit 2009-01-17 22:52:41 +00:00
Felipe Pena d9a51ce483 - New test 2009-01-17 17:34:45 +00:00
Felipe Pena a92f5edb70 - BFN #46282 2009-01-17 17:24:59 +00:00
Felipe Pena 30dbcfe1c8 - Fixed bug #46282 (Corrupt DBF When Using DATE)
Patch by: arne at bukkie dot nl
2009-01-17 17:21:49 +00:00
andy wharmby e0c2374a93 New trim() tests. Tested on Windows, Linux and Linux 64 bit 2009-01-17 16:41:32 +00:00
andy wharmby 91eb3c5a54 New ltrim() tests. Tested on Windows, Linux and Linux 64 bit 2009-01-17 15:48:24 +00:00
andy wharmby 89af9ac202 New string tests. Tested on Windows, Linux and Linux 64 bit 2009-01-16 22:46:31 +00:00
andy wharmby 85261c8268 New string function tests. Tested on Windows, Linux and Linux 64 bit. 2009-01-16 12:53:40 +00:00
Jani Taskinen c542cf02a1 MFH:- Fixed bug #47104 (Linking shared extensions fails with icc) 2009-01-15 14:38:19 +00:00
Dmitry Stogov 8b93b4e373 Fixed possible crash because of argument stack reallocation 2009-01-15 14:23:42 +00:00
andy wharmby b26e125eda New test for strripos() string function. All tests checked on Windows, Linux and Linux 64 bit. 2009-01-15 13:40:22 +00:00
Dmitry Stogov 84d76e82bb Fixed bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object) 2009-01-15 08:48:41 +00:00
Antony Dovgal 53e5f104e4 fix typo 2009-01-14 16:32:02 +00:00
andy wharmby a3409dc80d Fix date_suninfo_tests; add missing date_default_timezone_set() to ensure they PASS when run in any timezone. Tested on WIndows, Linux and Linux 64bit. 2009-01-14 16:28:54 +00:00
andy wharmby 638ced7d36 Fixed base64_decode variation tests and new base64_encode test. Tested on Windows, Linux and Linux64 bit 2009-01-14 14:39:20 +00:00
Jani Taskinen e649bf4aa6 Fix order 2009-01-14 10:51:35 +00:00
andy wharmby 9a86c92895 Fix new date tests. Tested on Windows, Linux and Linux 64 bit 2009-01-13 23:10:52 +00:00
Andrei Zmievski ddccfe7a12 *** empty log message *** 2009-01-13 19:25:20 +00:00
Andrei Zmievski d305bc31aa Fix bug #44336 in PHP 5.2 as well. 2009-01-13 19:23:31 +00:00
andy wharmby b405a2c230 Fix test. Tested on Windows, Linux and Linux 64 bit 2009-01-13 18:51:50 +00:00
andy wharmby 92926978a2 New date extension tests. Tested on Windows, Linux and Linux 64 bit 2009-01-13 13:38:34 +00:00
Antony Dovgal 07fb812d50 fix test 2009-01-13 12:01:00 +00:00
andy wharmby 056c0c4324 New zlib extension tests. Tested on Windows, Linux and Linux 64 bit 2009-01-13 10:08:48 +00:00
andy wharmby 984f01c1ed New math tests. Tested on Windows, Linux and Linux 64 bit 2009-01-12 17:56:45 +00:00
andy wharmby e2e013662d Fix Windows tests after #47037 2009-01-12 15:59:20 +00:00
andy wharmby 1ea392bb55 New math tests. Tested on Windows, Linux and Linux 64 bit 2009-01-12 14:31:07 +00:00
Scott MacVicar b3e3d679c5 MFH The previous error was masked by a missing entry, sync them back up. 2009-01-12 14:30:21 +00:00
Scott MacVicar 7f512a75b7 MFH This entry doesn't exist upstream any more, it also caused all error messages to be one off. 2009-01-12 13:42:15 +00:00
Rob Richards b09626373f BFN 2009-01-11 12:03:43 +00:00
Rob Richards 5db40d5a2f MFH: fix bug #45996 (libxml2 2.7 causes breakage with character data in xml_parse()) 2009-01-11 12:01:55 +00:00
Felipe Pena 646a8aabba - MFH Fix SEGV if get_method() returns a non bound function 2009-01-10 20:30:48 +00:00
Felipe Pena a0f2b8ff27 - Removed entry (not solved yet) 2009-01-10 17:39:28 +00:00
Felipe Pena 4b06c31923 - MFH: Fixed test (patch by Timm Friebe [thekid@php]) 2009-01-10 17:07:33 +00:00
Antony Dovgal 3c001f3279 cleanup garbage 2009-01-09 23:17:01 +00:00
Antony Dovgal fa4b164375 fix test: don't create tmp files in "." and clean up when done 2009-01-09 23:11:52 +00:00
David Soria Parra aa3fc14911 MFH: Fixed bug #47042 (PHP cgi sapi is removing SCRIPT_FILENAME for non apache). 2009-01-09 22:14:20 +00:00
Jani Taskinen 20eee2e5e4 fix news 2009-01-09 07:17:57 +00:00
Sanjay Mantoor c5d0d152a9 New testcases for localtime function 2009-01-09 05:08:44 +00:00
Felipe Pena ab029cf81a - Fixed tests 2009-01-09 02:35:37 +00:00
Antony Dovgal 7bad8ec1ca fix tests 2009-01-08 22:03:40 +00:00
Andrei Zmievski 7ac1f7eee7 Handle __call() on protected/private method access for callbacks too. 2009-01-08 21:39:06 +00:00
andy wharmby c957a3ae9c New PHPT tests for math functions (batch 1 of 3). Tested on Windows, Linux and Linux 64 bit. 2009-01-08 21:21:17 +00:00
Felipe Pena a6f3a6b470 - MFH: Fixed tests 2009-01-08 20:03:32 +00:00
Felipe Pena e28ad0cd28 MFH:
- Fixed bug #47037 (No error when using fopen with emty string)
Patch by Cristian Rodriguez R.
2009-01-08 19:21:25 +00:00
Arnaud Le Blanc d6296c9f33 MFH: XFAIL test 2009-01-08 18:58:46 +00:00
Arnaud Le Blanc b27f9a96e7 MFH:
Fix memleak when a user filter appends a bucket and returns != PSFS_PASS_ON
Improved tests
2009-01-08 18:40:56 +00:00
Felipe Pena 3af972a44b - BFN #47035 2009-01-08 17:28:08 +00:00
Felipe Pena 6c3a5e8d05 - MFH: Fixed bug #47035 (dns_get_record returns a garbage byte at the end of a TXT record) 2009-01-08 17:20:21 +00:00
Arnaud Le Blanc b512bab367 MFH: Fixed error conditions handling in stream_filter_append() 2009-01-08 17:03:42 +00:00
andy wharmby 74469110b3 Fix bogus file tests - addresses 2 failures in PHP GCOV reports. Tested on Windows, Linux and Linux 64 bit 2009-01-08 10:41:07 +00:00
Andrei Zmievski 518f9a3586 MFB 2009-01-08 00:39:15 +00:00
Antony Dovgal 0d08b726b2 MFH: fix test 2009-01-07 21:23:18 +00:00
Felipe Pena a49254c325 MFH:
- Added check for EWOULDBLOCK
- Using EWOULDBLOCK instead of EAGAIN by portability issues
(Related to #46917)
2009-01-07 20:41:47 +00:00
Felipe Pena 80589d3bf6 - Fixed test 2009-01-07 20:33:06 +00:00
Felipe Pena 6324a1f35c - Revert in this branch (attention++, thanks Hannes :D) 2009-01-07 17:38:13 +00:00
Felipe Pena bbced47e80 - BFN #47029 2009-01-07 17:26:20 +00:00
Felipe Pena ddb4a69a98 - Fixed bug #47029 (quoted_printable_decode() produces duplicate warning)
Patch by Andy wharmby
2009-01-07 17:24:20 +00:00
andy wharmby bf29902c14 New pcre extension tests. Tested on Windows, Linux and Linux 64-bit 2009-01-07 14:49:56 +00:00
Derick Rethans 3c15c00891 - MFH: Fixed bug #47027 (var_export doesn't show numeric indices on ArrayObject). 2009-01-07 14:36:49 +00:00
andy wharmby 3247a9c40b New hash extension tests. Tested on Windows, Linux and Linux 64-bit 2009-01-07 14:33:00 +00:00
Uwe Schindler f732dfba27 MFH: the #ifdef was never working. If Sun extends its NSAPI to support subrequests, much of this code must be rewritten. Because of that it is better to have a clean start. This commit does not change behaviour. 2009-01-06 13:46:49 +00:00
Felipe Pena 7c1d04ece1 - BFN #46701 2009-01-06 01:33:16 +00:00
Felipe Pena cde0b736c5 MFH:
- Fixed bug #46701 (Creating associative array with long values in the key fails on 32bit linux)
Patch by Shire
2009-01-06 01:29:22 +00:00
Felipe Pena 3be9fae529 - BFN 2009-01-05 22:27:31 +00:00
Felipe Pena df71cbc0d5 - Fixed bug #46760 (SoapClient doRequest fails when proxy is used) [only in this branch] 2009-01-05 22:16:58 +00:00
Antony Dovgal 962243af08 create temporary db in the current dir and cleanup on completion 2009-01-05 16:01:45 +00:00
Antony Dovgal 217b40b1aa MFH: Fix build where __USE_GNU is used instead of _GNU_SOURCE to define utsname.domainname
(c) felipe, Sun Jun 22 21:45:42 2008 UTC
2009-01-04 15:08:34 +00:00
Felipe Pena 67bbebf598 - BFN 2009-01-03 17:02:55 +00:00
Kalle Sommer Nielsen b47ae1bdb7 MFH:
* Redirect the "1 file(s) copied" message to nul
* Check if configure script was copied, and output an error if it wasn't
2009-01-03 03:27:47 +00:00
Felipe Pena 38d47b02df - MFH: Windows part 2009-01-03 00:06:59 +00:00
Felipe Pena e812a31c9b - MFH: Errr, rule nº 1: be portable :) 2009-01-02 21:43:07 +00:00
Felipe Pena 11c47b663f - MFH: Working with unintialized errno (#46917, noticed by Jost Boekemeier) 2009-01-02 21:29:04 +00:00
Scott MacVicar 1f4754a0bf Duplicate INI sections 2009-01-02 12:13:10 +00:00
Andi Gutmans 3fc970cc4f - MF PHP_5_3 2009-01-02 05:00:35 +00:00
Pierre Joye ed32a8a6e2 - news entry for #46985 and zip property read 2009-01-02 00:17:44 +00:00
Pierre Joye ab61e0138e - MFH: fix filename property read 2009-01-02 00:12:29 +00:00
Pierre Joye 597f0acfaa - restore overwrite feature (regression introduced in 5.2.8) 2009-01-01 19:32:45 +00:00
Pierre Joye 704599d3a9 - restore fix for binary mode on win (regression introduced in 5.2.8) 2009-01-01 19:32:24 +00:00
Zoe Slattery 71539c429e removing xfail sections as test passes 2008-12-31 20:17:41 +00:00
Zoe Slattery 3f41dea857 new test from Nat Mcugh 2008-12-31 20:07:47 +00:00
Zoe Slattery 575e56649c Fixed bug #46845 Test expected to fail, but pass, don't cause error 2008-12-31 17:37:21 +00:00
Felipe Pena c6dca00fbb - BFN 2008-12-31 15:42:43 +00:00
Felipe Pena 154d823ad0 - MFH: Fixed bug #46973 (IPv6 address filter rejects valid address) 2008-12-31 15:39:48 +00:00
Sebastian Bergmann ef49b9a8de MFH: Bump copyright year, 3 of 3. 2008-12-31 11:17:49 +00:00
Sebastian Bergmann 83a893a5d6 MFH: Bump copyright year, 2 of 3. 2008-12-31 11:16:23 +00:00
Sebastian Bergmann b9259ff9d1 MFH: Bump copyright year, 1 of 3. 2008-12-31 11:16:12 +00:00
Ant Phillips 73ef7ed458 Revert to the previous version for these tests as they were overwritten by mistake (checked on Windows but not on Linux... so the six skipped tests may not work correctly... but they should be ok and I'll watch the test results). 2008-12-31 10:36:10 +00:00
Ant Phillips 8fd7172306 Revert to the previous version for these tests as they were overwritten by mistake (checked on Windows but not on Linux... so the six skipped tests may not work correctly... but they should be ok and I'll watch the test results). 2008-12-31 10:18:20 +00:00
Ilia Alshanetsky 132ad2d26c Fixed bug #46964 (Fixed pdo_mysql build with older version of MySQL). 2008-12-30 19:10:59 +00:00
Ant Phillips 8bddde3f80 Revert to the previous version for these tests as they were overwritten by mistake (checked on Windows but not on Linux... so the six skipped tests may not work correctly... but they should be ok and I'll watch the test results). 2008-12-30 17:11:57 +00:00
Ant Phillips aa90a2d3e0 Revert to the previous version for these tests as they were overwritten by mistake (checked on Windows but not on Linux... so the six skipped tests may not work correctly... but they should be ok and I'll watch the test results). 2008-12-30 17:06:50 +00:00
Zoe Slattery 0f1d65592b re-adding skipifs 2008-12-30 15:36:45 +00:00
Zoe Slattery f8bcc8c15f removed commented out SKIPIF 2008-12-30 13:06:25 +00:00
Scott MacVicar 3813ffa6f9 BFN 2008-12-29 15:44:49 +00:00
Scott MacVicar 9c332b4b9e Fix bug #46959 - Can't disable PCRE in 5.2.x, too much was backported from 5.3. 2008-12-29 15:27:11 +00:00
Jani Taskinen 52252ef91d - Fix news 2008-12-29 10:02:22 +00:00
Brian Shire 29401ca5a9 MFH: fix explode behavior to respect negative limit when string is empty. 2008-12-27 05:20:27 +00:00
Arnaud Le Blanc e27731f3db MFH: Fixed bug #46873 (extract($foo) crashes if $foo['foo'] exists) 2008-12-27 03:07:46 +00:00
Felipe Pena 0540f6ddb1 - Errr, that is 32bit. and cosmetic 2008-12-25 13:40:59 +00:00
Felipe Pena dd44c11b55 - Fix tests for different platforms 2008-12-25 13:30:38 +00:00
Felipe Pena bedf300691 - Fix test 2008-12-25 13:21:35 +00:00
Felipe Pena 43c88da822 - Fixed tests (because we get different error message on different SO) 2008-12-25 12:15:51 +00:00
Felipe Pena 99e6a560dc - Fixed BC in array_unique (HASH_OF stuff), warning and CS in another part 2008-12-25 11:05:19 +00:00
Felipe Pena 89e6d5bd22 - MFH: Fixed memory leak in imap_rfc822_parse_adrlist 2008-12-24 13:31:40 +00:00
Felipe Pena e7057c6825 - New test 2008-12-24 11:51:29 +00:00
Felipe Pena 584ced66d5 BFN 2008-12-24 11:32:45 +00:00
Felipe Pena a1a4c02290 - Fixed bug #46918 (imap_rfc822_parse_adrlist host part not filled in correctly) [only in this branch] 2008-12-24 11:24:38 +00:00
Sanjay Mantoor a2de42599b New testcases for idate function 2008-12-23 09:13:28 +00:00
Sanjay Mantoor 8867ffc100 New testcases for gmmktime function 2008-12-23 07:47:00 +00:00
Scott MacVicar 99614941d7 MFH: Invalid string causes segfault within json_decode() 2008-12-19 02:13:41 +00:00
Scott MacVicar b5ca904be2 Add name of reported to security issues because we apparently need to let everyone know. 2008-12-18 21:05:55 +00:00
Derick Rethans 9fbc798d63 - Added a test case for bug #46268. (Bug itself is not present in 5.2). 2008-12-18 20:30:06 +00:00
Ilia Alshanetsky 444aba4d5f MFB: Fixed bug #46887 (Invalid calls to php_error_docref()) 2008-12-18 20:08:00 +00:00
Pierre Joye abda35380f - MFH: export php_scandir and php_alphasort 2008-12-18 17:41:59 +00:00
Arnaud Le Blanc 3572d5f2b0 MFH: Fixed test 2008-12-18 16:05:14 +00:00
Robin Fernandes dae1582b66 Additional output buffering tests. 2008-12-18 15:20:46 +00:00
Derick Rethans e3388ff043 - MFH: Fixed bug #46889: Memory leak in strtotime(). 2008-12-18 14:57:04 +00:00
Stanislav Malyshev e179d4e86b bug #46005 -> 5.2 2008-12-18 14:29:38 +00:00
Stanislav Malyshev d3dce9e02e MFH fix #46005 2008-12-18 14:28:35 +00:00
Ilia Alshanetsky eaa3298b4a MFB: remove fprintf usage 2008-12-17 21:45:31 +00:00
Zoe Slattery a54f690ae0 README for ext/imap tests 2008-12-17 15:36:44 +00:00
Zoe Slattery e780773ee6 Miscellaneous tests for ext/imap 2008-12-17 15:09:21 +00:00
Jani Taskinen 3c1bcc2c8c MFH:- Fixed bug #45161 (Reusing a curl handle leaks memory) 2008-12-17 14:20:30 +00:00
Jani Taskinen 1cd04d8739 MFH: bug tests 2008-12-17 14:05:52 +00:00
Zoe Slattery 3fff948321 New FTP test from Nathaniel McHugh 2008-12-17 12:35:53 +00:00
Ilia Alshanetsky 435cf74f45 MFH: removed unused var 2008-12-17 00:30:48 +00:00
Zoe Slattery 9919125435 bug #46837 fix 2008-12-16 21:35:42 +00:00
Zoe Slattery 2b5cd5b7fe bug #46884 fix 2008-12-16 21:11:49 +00:00
Steve Seear 071a3c3c7a call_user_func_array() tests 2008-12-15 14:12:16 +00:00
Zoe Slattery b0994638ee fixed test 2008-12-15 13:19:23 +00:00
Steve Seear 5591b9fabb Add find_tested script to 5_2 branch (for use by gcov.php.net) 2008-12-15 11:29:18 +00:00
Sanjay Mantoor d0eaa59d0f New testcases for gmdate function 2008-12-15 10:36:53 +00:00
Sanjay Mantoor 29c885c8bd New testcases for gettimeofday function 2008-12-15 08:23:58 +00:00
Scott MacVicar c9e793df5e Add CVE 2008-12-13 13:37:58 +00:00
Andrei Zmievski 844799cfd5 MFH 2008-12-13 00:38:29 +00:00
Rob Richards d6b537e8ca fix entry 2008-12-12 04:21:01 +00:00
Rob Richards dba2bf64dd BFN 2008-12-12 04:18:12 +00:00
Rob Richards f9020054d2 MFH: fix bug #46699: (xml_parse crash when parser is namespace aware)
fix a couple warnings
add test
2008-12-12 04:17:26 +00:00
Pierre Joye 22955ad4bf - fix build (all platforms) 2008-12-11 15:30:18 +00:00
Pierre Joye b2483079bb - MFH: fix build (was never used like that before recent commit to session) > local include use quotes not <> 2008-12-11 13:12:54 +00:00
Stefan Esser f2d5b34f26 Added test for magic_quotes_gpc 2008-12-11 13:06:29 +00:00
Ant Phillips 99e65a945e MCrypt tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows and Linux but not Linux 64 bit or 5.3). 2008-12-11 10:20:37 +00:00
Lars Strojny d5b6ae48f7 MFB: Fixing strict warning 2008-12-11 02:38:44 +00:00
Scott MacVicar b2863d6ecc BFN 2008-12-11 01:23:40 +00:00
Scott MacVicar 08e90b069f MFH Fix bug #35975 - Session cookie expires date format isn't the most compatible. Sync to that of setcookie(). 2008-12-11 01:21:42 +00:00
Pierre Joye 422eb1b8f6 - ws 2008-12-11 00:12:20 +00:00
Ilia Alshanetsky 8424c90476 MFB: Fixed bug #46798 (Crash in mssql extension when retrieving a NULL value
inside a binary or image column type)
2008-12-10 20:54:47 +00:00
Scott MacVicar c0defbdc81 BFN 2008-12-10 13:40:20 +00:00
Scott MacVicar ec469a9f6a MFH Fix segfault and potential security issue in imagerotate(). 2008-12-10 13:33:10 +00:00
Ant Phillips 0397dd836b Tests for bug #43841 and #45923 2008-12-10 10:35:40 +00:00
Arnaud Le Blanc 74a872c001 MFH: fixed test 2008-12-09 22:54:16 +00:00
Nuno Lopes 6499ce4847 update PCRE symbol list (sync with php 5.3). this should fix bug #46800 2008-12-09 22:00:19 +00:00
Jani Taskinen 0cc37e4a06 MFH 2008-12-09 16:05:57 +00:00
Jani Taskinen 84f868ded7 MFH: fix tests 2008-12-09 15:44:47 +00:00
Jani Taskinen 8808ffa0ff MFH 2008-12-09 15:21:33 +00:00
Zoe Slattery 7d2735fbef fix resource id 2008-12-09 13:40:25 +00:00
Jani Taskinen 6414245da6 MFH 2008-12-09 10:54:04 +00:00
Pierre Joye e3b599807c - not used anymore 2008-12-09 09:21:59 +00:00
Scott MacVicar 864632a1b1 MFB 5.3 Add test for the recent magic_quotes_gpc regression. 2008-12-09 01:48:32 +00:00
Pierre Joye 6bbb6b7df7 - MFH:
- buildconf accepts arguments (pecl dir for ex.)
 - copy configure.bat
2008-12-08 22:42:51 +00:00
Pierre Joye 743e7d8cb7 - MFH: add configure script 2008-12-08 22:40:30 +00:00
Nuno Lopes 3f3da95a4c remove unused file to avoid confusion 2008-12-08 20:18:14 +00:00
Zoe Slattery bb46ef5a6e tests for imap_fetch_overview 2008-12-08 19:14:03 +00:00
Jani Taskinen bb46aa5f97 - Sync with HEAD 2008-12-08 12:35:54 +00:00
Scott MacVicar b364219ade Fix bug #46748, segfault when SSL has more than one error message. 2008-12-08 02:33:46 +00:00
Antony Dovgal de78386d8f fix .cvsignore 2008-12-07 19:33:15 +00:00
Ilia Alshanetsky 1fa754ffd3 Back to dev 2008-12-07 19:28:01 +00:00
Ilia Alshanetsky 3cb41ad94d 5.2.8 2008-12-07 19:23:26 +00:00
Ilia Alshanetsky 34455b8ab8 5.2.8 2008-12-07 19:18:20 +00:00
Ilia Alshanetsky ff209bb97c Move active branch to 5.2.9 2008-12-07 19:08:35 +00:00
Matt Wilmas af5cb849ee MFH: Fixed bug #46782 (fastcgi.c parse error) 2008-12-07 10:55:47 +00:00
Scott MacVicar ab165076a9 Back out bugfix for #42718 as this broke magic_quotes_gpc 2008-12-06 17:16:36 +00:00
Zoe Slattery 488d12c2e5 More changes to allow the same tests to be used with PHP5 and PHP6 2008-12-06 12:02:24 +00:00
Robin Fernandes 27c06db0bd Add some class related tests, fix hard-coded object ID in serialize_001.phpt. 2008-12-05 22:12:06 +00:00
Rob Richards 3bfe758475 MFH: fix arginfo - these also accept SimpleXMLElement 2008-12-05 18:36:16 +00:00
Zoe Slattery dee98d2d9e FTP test from Nathaniel McHugh 2008-12-05 16:27:01 +00:00
Ant Phillips 19c4363c8a Remove duff comment produced by the test generator tool 2008-12-05 14:17:58 +00:00
Zoe Slattery 7c375c4879 bug #46731 fix 2008-12-05 11:59:01 +00:00
Zoe Slattery 51e0152170 Update to use norsh flag 2008-12-05 11:02:55 +00:00
Sanjay Mantoor 59338d84b7 New testcases for date_sunset function 2008-12-05 06:12:11 +00:00
Sanjay Mantoor 8f00f19419 New testcases for date_sunrise function 2008-12-05 05:35:39 +00:00
Mikko Koppanen df7ba6eb86 Fixed #46739 2008-12-04 13:17:28 +00:00
Mikko Koppanen d6593aa472 Fixes bug #46739 2008-12-04 13:13:41 +00:00
Antony Dovgal 3fbb9f50c5 fix test 2008-12-03 21:29:19 +00:00
Felipe Pena 5be5df48c9 - Fixed strange typos 2008-12-03 20:45:25 +00:00
Ant Phillips b337c7ad95 XML tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-12-03 19:09:22 +00:00
Felipe Pena 1000e22750 - Coverage++ 2008-12-03 16:27:50 +00:00
Ilia Alshanetsky 4efe92fa7c Back to dev 2008-12-03 15:57:52 +00:00
Ilia Alshanetsky b822f24748 PHP 5.2.7 2008-12-03 15:54:03 +00:00
Robin Fernandes 1ff15e8260 Add support for %u|b% and %unicode_string_optional% to facilitate writing tests compatible with both 5_2 and HEAD. 2008-12-03 14:27:43 +00:00
Ant Phillips 0ff050f076 MBString tests: checked on PHP 5.2.6 (Windows, Linux and Linux 64 bit). 2008-12-03 13:04:38 +00:00
Felipe Pena 2689a74cee - BFN 2008-12-03 10:15:13 +00:00
Ant Phillips b11ad90dfc Delete duff commit files 2008-12-03 09:25:42 +00:00
Felipe Pena bc7d3a9484 - Fixed tests 2008-12-02 23:06:52 +00:00
Felipe Pena 03eb1fd623 MFH:
- Fixed memory leaks
- Added new tests (Coverage++)
2008-12-02 21:02:44 +00:00
Derick Rethans 24a764e086 - MFH: Fixed bug #46732 (mktime.year description is wrong). 2008-12-02 18:01:58 +00:00
Matt Wilmas 7c53e81273 MFH: Changed logic for LONG_MIN 2008-12-02 14:50:37 +00:00
Ant Phillips 173069cead Array tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-12-02 13:37:21 +00:00
Ilia Alshanetsky 0902cc8651 Fixed typo 2008-12-01 20:57:11 +00:00
Iain Lewis 1b3ea47dbc Adding tests for array_multisort 2008-12-01 14:25:24 +00:00
Felipe Pena fb11097b06 - MFH: Fixed memory leak 2008-12-01 12:28:27 +00:00
Ant Phillips 0722818374 Exif tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-12-01 12:23:33 +00:00
Ant Phillips 72e8a2ec60 DOM tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-12-01 11:29:35 +00:00
Uwe Schindler e073d72618 remove unneeded includes (not needed since NSAPI 3.0, wich is very old). This is needed for cleanup of the windows build. 2008-12-01 10:11:57 +00:00
Pierre Joye 21f74ba99e - c/p fix, correct description 2008-12-01 00:03:03 +00:00
Pierre Joye 279c926f8b - Enable fix fo #42862 (IMAP toolkit crash: rfc822.c legacy routine buffer overflow) on windows (we use the latest imap) 2008-11-30 23:58:17 +00:00
Pierre Joye 26eeef7599 - fix line ending 2008-11-30 23:56:36 +00:00
Pierre Joye 07fde460a3 - fix line ending 2008-11-30 22:35:39 +00:00
Pierre Joye d70eefbaa0 - #44900 2008-11-30 21:41:57 +00:00
Pierre Joye 3d1a87fb88 - #44900, OpenSSL extension fails to link with OpenSSL 0.9.6 (5.2 only, 5.3+ requires a decent version) 2008-11-30 21:39:57 +00:00
Hannes Magnusson df9603aae0 MFH: Fix proto 2008-11-30 00:12:45 +00:00
Uwe Schindler 4560601437 MFH: support stat cache of webserver (like apache does) 2008-11-29 23:44:44 +00:00
Uwe Schindler 77972bc68a MFH: Some nsapi.h specific ifdefs unified & corrected (same like last commit, only cleanup) 2008-11-29 19:59:27 +00:00
Uwe Schindler 877cdf6862 MFH: remove one stat call and replace by cached one
(release-manager: the same like with last commit)
2008-11-29 19:38:04 +00:00
Uwe Schindler 75b081d0d1 Hallo release manager: This patch is not release critical (affects only NSAPI, but I want it to be fixed in the last version of PHP 5.2). If you do not want to have it in, revert it, a new RC is definitely not needed because of this (and I am sure nobody who tests RCs is using NSAPI :)!
MFH: Implement flushing in NSAPI, fix some problems with output buffering if the response was not started (no headers sent) before doing something in ub_write() or flush() - Writing or flushing output will fail in NSAPI, if headers were not sent before.
2008-11-29 14:51:45 +00:00
Stanislav Malyshev f9a2648d61 report fix 2008-11-29 00:49:58 +00:00
Stanislav Malyshev 8a0fc77582 properly initialize BG(page_uid) and BG(page_gid) 2008-11-28 23:27:46 +00:00
Stanislav Malyshev 7a67e94f17 init SG(server_context) before processing configs 2008-11-28 23:22:39 +00:00
Matt Wilmas 2826401afe MFH: Updated description to match docs 2008-11-28 19:07:09 +00:00
Zoe Slattery b51bb4132f Committing include files required for tests. Tests and bug reports to follow. 2008-11-28 17:41:03 +00:00
Dmitry Stogov 281fb1f2ed Fixed bug #46366 (bad cwd with / as pathinfo) 2008-11-28 11:56:50 +00:00
Ant Phillips fbdf0ba4e5 Language tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-11-28 10:40:37 +00:00
Stanislav Malyshev 311e37c4b1 report fix 2008-11-27 23:51:45 +00:00
Ilia Alshanetsky e0beb2850f Back to dev 2008-11-27 21:28:37 +00:00
Ilia Alshanetsky c66894df94 5.2.7RC5 2008-11-27 21:21:42 +00:00
Ilia Alshanetsky 460b6552cd Updated NEWS file with CVE #s 2008-11-27 17:29:20 +00:00
Ilia Alshanetsky e12dba474e MFB: Fixed bug #46696 (cURL fails in upload files with specified
content-type)
2008-11-27 17:01:29 +00:00
Ant Phillips 39de96fa50 Directory tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-11-27 14:51:16 +00:00
Dmitry Stogov ac0fc54ec4 Fixed bug #44882 (SOAP extension object decoding bug) 2008-11-27 14:49:46 +00:00
Ant Phillips 7446484181 Latest and greatest versions of these session tests - checked on 5.2.X snap on Windows, Linux and Linux 64 bit. 2008-11-27 14:30:58 +00:00
Ant Phillips bc80465549 Latest and greatest versions of these session tests - checked on 5.2.X snap on Windows, Linux and Linux 64 bit. 2008-11-27 13:51:07 +00:00
Dmitry Stogov 84ce97f43d Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter) 2008-11-27 11:25:22 +00:00
Arnaud Le Blanc 9ed3965300 MFH: Fixed bug #46673 (stream_lock call with wrong paramater) 2008-11-26 04:20:41 +00:00
Arnaud Le Blanc fbde968865 MFH: Missed file from commit for #44181 & #44182 2008-11-26 04:08:30 +00:00
Arnaud Le Blanc 5673f9f2c1 MFH: Fixed bug #42473 (ob_start php://output and headers) 2008-11-26 01:21:10 +00:00
Arnaud Le Blanc 22f994ad4e MFH: Fixed bugs #44181 & #44182 (extract() and references)
(robin_fernandes at uk dot ibm dot com)
2008-11-26 01:00:36 +00:00
Ant Phillips 701c5a64a4 File system tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). There seems to be an issue with trailing slashes on 5.2.7 RC1 which may cause some tests to fail... 2008-11-25 11:33:41 +00:00
Arnaud Le Blanc 3e82b3d3ae MFH: Fixed endless loop in cli when ignore_user_abort is on 2008-11-25 03:53:00 +00:00
Stanislav Malyshev 40607b254a fix php_value application order for Apache 2008-11-24 22:18:25 +00:00
Ilia Alshanetsky 0d56cd2dfc MFB: Fixed bug #46626 (mb_convert_case does not handle apostrophe correctly) 2008-11-24 21:23:45 +00:00
Arnaud Le Blanc 90f9f11fbe MFH 2008-11-24 19:17:56 +00:00
David Soria Parra 6686c41e3d MFH: Revert fix for 43782, as it caused problems. 2008-11-24 15:37:33 +00:00
Jani Taskinen d9204dbce2 - Keep the style ;) 2008-11-24 12:49:00 +00:00
Arnaud Le Blanc d6b86e9d4d MFH: Fixed bug #46649 (Setting array element with that same array produces
inconsistent results)
2008-11-23 20:36:32 +00:00
Ilia Alshanetsky d2bb47958f BFN: Fixed bug #46643 (Upgraded PCRElib to 7.8) 2008-11-23 18:31:05 +00:00
Ilia Alshanetsky d8b835620c MFB: Fixed bug #46643 (Upgraded PCRElib to 7.8) 2008-11-23 18:30:38 +00:00
Felipe Pena 3d8b5526af - BFN 2008-11-22 11:24:15 +00:00
Felipe Pena c22036851a - Missing SKIPIF :( 2008-11-21 22:56:20 +00:00
Felipe Pena 958fcd4c65 - Fixed tests 2008-11-21 22:50:22 +00:00
Felipe Pena 572b3f83a3 - MFH: Fixed memory leak in readline_callback_handler_remove() 2008-11-21 22:48:27 +00:00
Felipe Pena f358f96deb - New tests 2008-11-21 21:44:32 +00:00
Felipe Pena d5e2d221cd - Fix test 2008-11-21 21:03:47 +00:00
Felipe Pena bec4b5a45e - New tests 2008-11-21 21:01:23 +00:00
Ilia Alshanetsky 42066c72d1 Back to dev 2008-11-21 00:12:18 +00:00
Ilia Alshanetsky 574d2c8987 5.2.7RC4 2008-11-21 00:08:49 +00:00
Felipe Pena c9f76fb96f - BFN 2008-11-20 22:29:49 +00:00
Felipe Pena 22851007ca - MFH: Fixed memory leaks in readline_completion_function() 2008-11-20 22:26:32 +00:00
Iain Lewis 2b251dc603 Adding some tests for array_product 2008-11-20 15:49:09 +00:00
Mark Karpeles dddacf337a - ext/wddx: fixed test 003 which depended on arch (32bits vs 64bits) 2008-11-20 15:12:28 +00:00
Felipe Pena f4cc20d972 - MFH: Added ZEND_FETCH_RESOURCE_NO_RETURN 2008-11-20 14:51:30 +00:00
Mark Karpeles c139ff0ae1 - MFH: ext/wddx: classes providing __sleep() are stored without properties (fixed) 2008-11-20 14:35:22 +00:00
Ilia Alshanetsky d65d363741 Proper bug id 2008-11-19 23:53:18 +00:00
Pierre Joye 6f24d39212 - #46497 2008-11-19 17:02:33 +00:00
Pierre Joye fa0e88725c - #46497, wddx_serialize treats input as ISO-8859-1 (Mark Karpeles) 2008-11-19 17:01:17 +00:00
Felipe Pena 50e05895c0 - Fixed test 2008-11-19 17:00:13 +00:00
Ant Phillips dfd31ff703 Reflection tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-11-18 15:36:32 +00:00
Pierre Joye 0d3534ac1d - #41033 2008-11-18 02:15:54 +00:00
Pierre Joye 0f50210635 - fix title 2008-11-18 02:03:19 +00:00
Pierre Joye a46b6655a4 - MFH: #41033, enable signing with DSA keys 2008-11-18 02:02:19 +00:00
Ilia Alshanetsky bb592b40ab More detailed bug fix description 2008-11-17 23:40:54 +00:00
Ant Phillips 29023692ce Commit tests for ext/reflection 2008-11-17 11:20:19 +00:00
Pierre Joye bb80704332 - skip if pcntl is missing 2008-11-16 23:19:33 +00:00
Pierre Joye f38c96e85f - MFH: manage references of stream context properly (Tony)
- add tests for bug #46127
2008-11-16 23:12:38 +00:00
Ilia Alshanetsky aea970fbc2 MFB: Fixed memory leak inside readline_callback_handler_install() function 2008-11-16 18:01:25 +00:00
Felipe Pena 8c6eedb868 - MFH: Better fix 2008-11-13 23:23:11 +00:00
Stanislav Malyshev 682f0c5343 add error_log change 2008-11-13 19:23:51 +00:00
Stanislav Malyshev d3376cb591 Add option to send error_log directly to SAPI 2008-11-13 19:22:01 +00:00
Hannes Magnusson 8c5fafcdb9 MFH: Document the xmlrpc_errors option 2008-11-13 19:06:59 +00:00
Ilia Alshanetsky 88dbe358e0 MFB: Fixed a bug inside dba_replace() that could cause file truncation with
invalid keys
2008-11-13 18:22:23 +00:00
Felipe Pena 83308cedf9 - Reverted last change, only in this branch 2008-11-13 14:53:55 +00:00
Felipe Pena 614d00ca89 - MFH: Fixed invalid reads 2008-11-13 13:09:47 +00:00
Felipe Pena 9bb9f270fa - MFH: Fixed a macro redefinition on BSD for different purpose 2008-11-12 23:38:15 +00:00
Felipe Pena 1bedb57dd4 - MFH: Removed unused variables 2008-11-12 17:50:37 +00:00
Felipe Pena c18fd01775 - Fix test 2008-11-12 17:29:50 +00:00
Pierre Joye 7e2f15eb3a - update NEWS for #14962 2008-11-12 12:01:29 +00:00
Pierre Joye 36b9272e3c - MFH:
- #14962, makes extractTo 2nd argument really optional
 - replace ZEND_ENGINE_2_1 by PHP_ZIP_USE_OO
 - sync tests
2008-11-12 11:59:26 +00:00
Felipe Pena cac8a72989 - Fixes and new tests 2008-11-11 18:42:00 +00:00
Felipe Pena d7a80059bb - New test 2008-11-11 16:16:20 +00:00
Felipe Pena a3de4d224a - BFN #46543 2008-11-11 13:32:55 +00:00
Felipe Pena ea70058067 MFH:
- Added ZEND_FETCH_RESOURCE2_NO_RETURN() (a version of ZEND_FETCH_RESOURCE2 but without the ZEND_VERIFY_RESOURCE() which contains RETURN_FALSE)
- Fixed bug #46543 (ibase_trans() memory leaks when using wrong parameters)
2008-11-11 13:29:50 +00:00
Arnaud Le Blanc c7411c2c96 MFH: Fixed stream_get_contents() when using $maxlength and socket is not
closed. indeyets@php.net on #46049.
2008-11-11 01:56:33 +00:00
Arnaud Le Blanc 3c01491e89 MFH: Fixed bug #44818 (php://memory writeable when opened read only) 2008-11-11 00:45:36 +00:00
Felipe Pena edd46ec6f7 - Make expected result compatible with recent Firebird version 2008-11-10 22:35:02 +00:00
Felipe Pena 13c8beed63 - New tests 2008-11-10 18:04:41 +00:00
Derick Rethans ffef452b62 - MFH: Make it work with bison 2.4. 2008-11-10 12:06:10 +00:00
Kalle Sommer Nielsen 63130eadc0 Fix NEWS 2008-11-09 11:39:27 +00:00
Timm Friebe b0419a1ef1 - Added note on bugfix for #30312
- Added entry on CS_ROW_FAIL patch fix
2008-11-09 10:33:53 +00:00
Rasmus Lerdorf 058a282133 Potential fix for bug #46525 2008-11-08 22:45:29 +00:00
Felipe Pena ab5e85b27d - MFH: Added connection checking on SKIPIF 2008-11-08 15:39:32 +00:00
Timm Friebe 6d6138d9d9 - MFB: Initial release 2008-11-08 14:28:26 +00:00
Timm Friebe 839b81668c - Adjusted tests to reality
# We select 123456789.12345679, we should have this returned and not
# something 123456789.123457 (rounded)
2008-11-08 14:24:55 +00:00
Timm Friebe ea1453a741 - MFB: Made this test independent of date format 2008-11-08 14:24:38 +00:00
Timm Friebe 00772abea5 - MFB: Fixed problems with segmentation faults when using unbuffered queries
# Double-freeing results caused these
2008-11-08 14:15:08 +00:00
Timm Friebe b42da54e51 - MFB: Changed while loop in php_sybase_fetch_result_row() to also read rows with
retcode == CS_ROW_FAIL.
# Reported by Detlef Neumerkel and Frank Irnich of Sybase
2008-11-08 12:06:08 +00:00
Timm Friebe ef15af78dd - MFB: Made this test independent of field types in master..sysprocesses
# char on ASE 11, varchar on ASE 15
2008-11-08 12:01:10 +00:00
Timm Friebe c5b45f2281 - Changed source to read host, user and password from environment
# E.g. nmake test TESTS=ext/sybase_ct PHP_SYBASE_HOST=db PHP_SYBASE_USER=sa PHP_SYBASE_PASS=***
2008-11-08 11:59:57 +00:00
Scott MacVicar df7f836d31 MFH: Support versions of valgrind from SVN. The version is shown as 3.4.0.SVN
Save the bunnies
2008-11-08 02:05:03 +00:00
Felipe Pena 9d052f239f MFH:
- Fixed bug #46521 (Curl ZTS OpenSSL, error in config.m4 fragment)
  Noticed by: jd at cpanel dot net
2008-11-07 21:18:45 +00:00
Ilia Alshanetsky 482d6ad927 Back to dev 2008-11-06 21:53:48 +00:00
Ilia Alshanetsky f2445bd57a 5.2.7RC3 2008-11-06 21:50:36 +00:00
Felipe Pena a054d74c4a BFN #45166 2008-11-06 01:36:40 +00:00
Felipe Pena 779adcc113 MFH:
- Fixed wrong check
- Improved test
2008-11-05 23:42:05 +00:00
Felipe Pena 347fa0eb1b - Fixed bug #45166 (substr() overflow changes) (now synced with other branches) 2008-11-05 18:55:02 +00:00
Hannes Magnusson ac10dfa0ce Fixed bug#46445 (run-tests2.php is missing or README.TESTING2 is unneeded) 2008-11-05 17:16:07 +00:00
Kalle Sommer Nielsen def82c26f2 MFH: New tests for syslog 2008-11-05 09:59:46 +00:00
Arnaud Le Blanc 9ecba09de6 BFN 2008-11-04 21:07:44 +00:00
Arnaud Le Blanc be8c7c0988 MFH: Open STDIN and php://stdin streams with the relevant
wrapper when the file descriptor is a socket (inetd, etc)
Fixes bug #43731
2008-11-04 21:05:55 +00:00
Arnaud Le Blanc 695b43a535 MFH: initialize memory 2008-11-04 20:41:37 +00:00
Arnaud Le Blanc 1ba7b093a6 MFH: Fixed stream_get_line() to behave as documented on non-blocking
streams
2008-11-04 17:07:20 +00:00
Arnaud Le Blanc 930a8feb66 MFH: Avoids fclose() from complaining that stream_socket_pair() streams
have not been closed
2008-11-04 16:48:07 +00:00
Arnaud Le Blanc c6aca784f9 MFH: Fixed bug #46024 (stream_select() doesn't return the correct number) 2008-11-04 00:43:06 +00:00
Felipe Pena 7c76add7fe - MFH: Improved fix 2008-11-03 23:45:17 +00:00
Arnaud Le Blanc 736f29a9a9 cleanup 2008-11-03 23:34:36 +00:00
Arnaud Le Blanc c644ba688b MFH: Fixed bug #44607 (stream_get_line unable to correctly identify the
"ending" in the stream content)
2008-11-03 23:29:50 +00:00
Arnaud Le Blanc 07fe6986cc Fixed bug #46379 (Infinite loop when parsing '#' in one line file)
# PHP_5_2 only
2008-11-03 23:26:24 +00:00
Felipe Pena 8290469bd6 - New test 2008-11-03 21:49:49 +00:00
Felipe Pena fc53f0b6ea MFH:
- Fixed endless loop in PDOStatement::debugDumpParams()
  patch by: Jonah H. Harris <jonah.harris at gmail dot com>
2008-11-03 20:55:01 +00:00
Elizabeth Marie Smith 3591f8b356 MFH 2008-11-03 19:28:23 +00:00
Arnaud Le Blanc 5e5e4293c3 MFH: Fixed bug #45303 (Opening php:// wrapper in append mode results
in a warning)
2008-11-03 16:59:18 +00:00
Arnaud Le Blanc 2d36d06f35 credit 2008-11-03 16:08:07 +00:00
Arnaud Le Blanc 77f82b1401 MFH: Fixed bug #43353 (wrong detection of 'data' wrapper causes notice) 2008-11-03 15:48:05 +00:00
Felipe Pena 378bd3060e - MFH: Fixed bug #44327 (PDORow::queryString property & numeric offsets / Crash) 2008-11-03 15:41:35 +00:00
Felipe Pena f4d34bb28e - MFH: Fixed bug #42855 (dns_get_record() doesn't return all text from TXT record)
patch by: a dot u dot savchuk at gmail dot com
2008-11-03 11:39:34 +00:00
Arnaud Le Blanc 2f29a1240e MFH: Fixed bug #42718 (FILTER_UNSAFE_RAW not applied when configured as
default filter)
2008-11-02 22:04:40 +00:00
Jani Taskinen ea8aea176a - Ignore crap 2008-11-02 14:48:52 +00:00
Jani Taskinen 29b9bddb0c MF53: added missing constants 2008-11-02 14:12:15 +00:00
Jani Taskinen f848fb0fa1 MFH: fixed the macros 2008-11-01 23:09:51 +00:00
Jani Taskinen 1d608d09f2 - Fix skip conditions 2008-11-01 22:48:52 +00:00
Jani Taskinen 07c3dbdc8c MF53: Sync with HEAD and PHP_5_3 2008-11-01 22:42:38 +00:00
Jani Taskinen 7fc67ed4a9 [DOC] MF53: Forward compatibility 2008-11-01 22:39:14 +00:00
Jani Taskinen 98e3ad366a - Fix for real: Actually one of these "let's not commit to other branches"
fixes some people like to do..
2008-11-01 22:12:11 +00:00
Jani Taskinen f7ced2b8af - Fix tests 2008-11-01 22:06:23 +00:00
Felipe Pena 416679fae5 - Fixed test (#46438) 2008-10-31 22:43:32 +00:00
Felipe Pena 192e130e52 - Fixed test 2008-10-31 12:55:10 +00:00
Felipe Pena cc6e678224 - MFB: Fixed memory leak when using offset out of range. (php_stream_copy_to_mem returns 0, but the empty string is alloced) 2008-10-30 15:56:23 +00:00
Felipe Pena 94e5be1bdc MFH:
- Fix the fix
- Improved test
2008-10-30 14:36:34 +00:00
Lars Strojny 930fad7381 MFH: #44938 2008-10-30 14:23:03 +00:00
Jani Taskinen 3e32e77243 - had nothing else to do :) 2008-10-30 11:04:10 +00:00
Felipe Pena 756ab17389 - MFH: Fixed bug #46426 (3rd parameter offset of stream_get_contents not works for "0") 2008-10-30 10:11:52 +00:00
Dmitry Stogov 4c3bc2ab43 Fixed contributors 2008-10-30 08:56:38 +00:00
Dmitry Stogov e173d61581 Fixed ability to use "internal" heaps in extensions. 2008-10-30 08:55:09 +00:00
Antony Dovgal 250fec018a fix test 2008-10-30 08:45:21 +00:00
Rob Richards dcba47f8dc BFN 2008-10-29 21:23:45 +00:00
Rob Richards a27ca9810a MFH: fix bug #46406 (Unregistering nodeclass throws E_FATAL) 2008-10-29 21:22:34 +00:00
Ilia Alshanetsky b0ab190e62 MFB: Fixed bug #44938 (gettext functions crash with overly long domain). 2008-10-29 20:41:43 +00:00
Ilia Alshanetsky 3f9d6e9d7c MFB: Fixed bug #42294 (Unified solution for round() based on C99 round). 2008-10-29 20:17:33 +00:00
Felipe Pena acecc06940 - BFN #46064 2008-10-29 13:36:47 +00:00
Felipe Pena a04ec69406 - MFH: Fixed bug #46064 (Exception when creating ReflectionProperty object on dynamicly created property) 2008-10-29 13:34:08 +00:00
Ilia Alshanetsky 3b7b54ac68 NEWS 2008-10-28 21:23:12 +00:00
Derick Rethans 7922a83ac0 - Updated to version 2008.9 (2008i) 2008-10-28 08:17:47 +00:00
Arnaud Le Blanc 617a8855b8 MFH: Fix compile error 2008-10-27 14:59:14 +00:00
Andrey Hristov dc710ce12f MFH: Fix an issue with mysql.default_port not being used 2008-10-27 14:36:02 +00:00
Felipe Pena 77bce434a0 - Fixed test 2008-10-26 23:00:53 +00:00
Kalle Sommer Nielsen e486197f1e MFB: Fixed #44748 (php.ini comments on magic_quotes_gpc promote bad practices) 2008-10-26 15:39:44 +00:00
Ilia Alshanetsky a5e30d595f MFB: Fixed compiler warning 2008-10-26 14:35:59 +00:00
Felipe Pena d1eb03eec7 - MFH: Fixed bug #46388 (stream_notification_callback inside of object destroys object variables) 2008-10-26 13:48:16 +00:00
Derick Rethans 21490362dd - MFH: Fixed weekdays adding/subtracting algorithm.
- MFH: Fixed some ambiguities in the date parser.
- MFH: Fixed bug #45529 (new DateTimeZone() and date_create()->getTimezone()
  behave different).
- MFH: Fixed bug #43452 (strings containing a weekday, or a number plus weekday
  behaved incorrect of the current day-of-week was the same as the one in the
  phrase).
- MFH: Fixed a bug with the YYYY-MM format not resetting the day correctly.
- MFH: Fixed a bug in the DateTime->modify() methods, it would not use the
  advanced relative time strings.
- MFH: Fixed a segfault - simply a forgotten return;
2008-10-26 11:27:32 +00:00
Felipe Pena 93d952884d - BFN #46389 2008-10-26 02:24:23 +00:00
Felipe Pena e18c762764 - MFH: Fixed bug #46389 (NetWare needs small patch for _timezone) (patch by guenter at php.net) 2008-10-26 02:02:05 +00:00
Felipe Pena 48d1b3a51a - MFH: Fixed bug #46382 (Mismatching allocation and deallocation in stresstest.cpp) (dvice_null at yahoo dot com) 2008-10-24 23:17:04 +00:00
Antony Dovgal 334e8973db fix test 2008-10-24 20:15:34 +00:00
Antony Dovgal d3bf8e3016 BFN 2008-10-24 13:56:27 +00:00
Antony Dovgal 340bd30aa6 fix bug #46381 (wrong $this passed to internal methods causes segfault) 2008-10-24 13:55:37 +00:00
Felipe Pena 9fca0051a6 - MFH: Fixed bug #46082 (stream_set_blocking() can cause a crash in some circumstances) 2008-10-24 10:46:05 +00:00
Felipe Pena 44c184862b - MFH: Removed unnecessary check for array (#46273, noticed by serovov at gmail dot com) 2008-10-24 10:28:56 +00:00
Ilia Alshanetsky 51466116c0 Back to dev 2008-10-23 22:38:19 +00:00
Ilia Alshanetsky 705f67c884 5.2.7RC2 2008-10-23 22:36:05 +00:00
Arnaud Le Blanc 6928982fb3 BFN 2008-10-23 20:23:38 +00:00
Arnaud Le Blanc 8b969f44d7 MFH: Fixed bug #46360 (TCP_NODELAY constant for socket_{get,set}_option)
[DOC] Added TCP_NODELAY constant to sockets extension, to be used with
socket_set_option() to disable TCP's Nagle algorithm. Avail in PHP>=5.2.7.
2008-10-23 20:21:30 +00:00
Felipe Pena a29aef485a - BFN #43925 2008-10-23 18:57:07 +00:00
Felipe Pena 8d88e230fc - MFH: Fixed bug #43925 (Incorrect argument counter in prepared statements with pgsql) 2008-10-23 18:56:05 +00:00
Jani Taskinen baccc9b2e9 - It is past, not command. Reorder. 2008-10-23 17:55:57 +00:00
Pierre Joye c49953a8f6 - entries for zip changes 2008-10-23 16:22:01 +00:00
Pierre Joye 08a1795767 - remove unused files 2008-10-23 16:16:56 +00:00
Pierre Joye 4fc1246d11 - add missing files 2008-10-23 16:15:54 +00:00
Pierre Joye 047bda3cb8 - MFH
- Update ziplib
 - flatten path and make them relative before extraction
 - remove unnecessary export
2008-10-23 16:13:51 +00:00
Ilia Alshanetsky 8d916b2ec6 MFB: revert define() fix for now 2008-10-22 23:29:28 +00:00
Arnaud Le Blanc bb9e8e6924 MFH: Fixed FCGI_GET_VALUES requests (fixes #45522) 2008-10-21 16:43:59 +00:00
Zoe Slattery f432258b02 Committing test for till 2008-10-21 09:37:41 +00:00
Ilia Alshanetsky 1b0d1d6bcb MFB:Fixed bug #46343 (IPv6 address filter accepts invalid address) 2008-10-20 23:23:45 +00:00
Rob Richards c9e4d5b668 BFN 2008-10-20 19:30:56 +00:00
Rob Richards 8767f16ff3 MFH: fix bug #46323 (compilation of simplexml for NetWare breaks) 2008-10-20 19:29:40 +00:00
Arnaud Le Blanc f31c8fb4aa MFB PHP_5_3: Fixed #46313 (Magic quotes broke $_FILES) 2008-10-20 18:45:24 +00:00
Rob Richards 68a04f616b BFN 2008-10-20 12:46:57 +00:00
Rob Richards 6a2fe2ad1a MFH: fix bug #46335 (DOMText::splitText doesn't handle multibyte characters)
add test
2008-10-20 12:46:23 +00:00
Ilia Alshanetsky 0e91f80a4d MFB: Fixed bug #46341 (Added missing validation checks into define() for
class constants)
2008-10-19 18:16:43 +00:00
Johannes Schlüter 0e306ec3bc Add %S and %A to EXPECTF, they work like %s and %a but match empty strings, too 2008-10-19 18:07:04 +00:00
Etienne Kneuss c31e0c803e MFB: Fix #46317 (Iterator class not properly checked) 2008-10-19 18:00:42 +00:00
Antony Dovgal 8d7590996d revert the patch, it's not needed in this branch 2008-10-18 09:33:21 +00:00
Antony Dovgal 4768b28fb1 MFH: fix memleak 2008-10-17 22:10:27 +00:00
Zoe Slattery a82df14bef missed one! 2008-10-17 15:00:54 +00:00
Zoe Slattery 7d46d0480e Replacing explicit object ID with %d 2008-10-17 14:57:03 +00:00
Zoe Slattery 867546efca Committing for Robin Fernandes 2008-10-17 14:26:46 +00:00
Dmitry Stogov 739c75b050 Fixed bug #46308 (Invalid write when changing property from inside getter) 2008-10-17 10:25:56 +00:00
Ilia Alshanetsky 0621602408 MFB: Fixed bug #46319 (PHP sets default Content-Type header for HTTP 304
response code, in cgi sapi)
2008-10-17 01:32:59 +00:00
Moriyoshi Koizumi f87643038f * MFH remainder 2008-10-16 17:38:42 +00:00
Dmitry Stogov e0f657a729 Fixed bug #42862 (IMAP toolkit crash: rfc822.c legacy routine buffer overflow) 2008-10-16 16:20:53 +00:00
Dmitry Stogov 9973dfd839 ws 2008-10-16 15:49:18 +00:00
Dmitry Stogov 35f7c44a7d Fixed bug #43723 (SOAP not sent properly from client for <choice>) 2008-10-16 15:36:46 +00:00
Moriyoshi Koizumi d896ea0b9a - MFH & BFN 2008-10-16 01:02:39 +00:00
Felipe Pena 0f6f3c4771 MFH:
- Fixed:
  . Memory leak in pg_delete() when using PGSQL_DML_STRING.
  . Bug #24679 (pg_insert problem!)
  . Bug #35996 (pg_meta_data should take the schema into account)
  . Bug #40808 (pg_insert problem)
  . Bug #42078 (pg_meta_data mix tables metadata from different schemas)
- Improved:
  . Error messages
- Added:
  . Tests
2008-10-16 00:45:21 +00:00
Felipe Pena 2976c867a1 - Fixed possible efree(NULL) 2008-10-15 13:34:45 +00:00
Ilia Alshanetsky 208d8e75f1 MFB: Fixed bug #46271 (local_cert option is not resolved to full path) 2008-10-14 23:40:25 +00:00
Felipe Pena eff30bdfcb - MFH: Fixed bug #46292 (PDO::setFetchMode() shouldn't requires the 2nd arg when using FETCH_CLASSTYPE) 2008-10-14 17:43:20 +00:00
Felipe Pena 4045a51376 - BFN #37100 2008-10-13 13:47:24 +00:00
Felipe Pena 043c66806a MFH:
- Fixed bug #37100 (data is returned truncated with BINARY CURSOR)
  Patch by Tony
2008-10-13 13:46:25 +00:00
Derick Rethans 78253b53e3 - Updated to version 2008.8 (2008h) 2008-10-13 11:45:48 +00:00
Ilia Alshanetsky 09b63f25d8 WS 2008-10-12 19:00:58 +00:00
Felipe Pena 338d7dbca0 - MFB: Fixed compiler warnings 2008-10-12 15:01:40 +00:00
Felipe Pena 736efdcfc1 - MFB: Removed unnecessary strcmp call (thanks Tony) 2008-10-12 13:46:51 +00:00
Felipe Pena 7429cd2181 - New tests 2008-10-12 13:25:35 +00:00
Felipe Pena 5adf804213 - MFB: Complete the fix for #46274, and tests 2008-10-12 13:03:31 +00:00
Felipe Pena 9c16e1d9d2 - BFN: #46274, #46249 2008-10-11 19:20:41 +00:00
Greg Beaver fcec48fcc2 fix Bug #46026: bz2.decompress/zlib.inflate filter tries to decompress after end of stream 2008-10-11 19:12:11 +00:00
Felipe Pena 5feb5e5a89 MFH:
- Fixed bug #46249 (pdo_pgsql always fill in NULL for empty BLOB)
- Fixed bug #46274 (pdo_pgsql - Segfault when using PDO::ATTR_STRINGIFY_FETCHES and blob)
2008-10-11 19:05:30 +00:00
Pierre Joye 8e87cdf7ac - MFH: add nts postfix to the dist filenames 2008-10-10 23:38:15 +00:00
Felipe Pena 661569eba6 - Fixed test 2008-10-10 22:10:11 +00:00
Felipe Pena c073b42ba2 - Added skipif 2008-10-10 19:53:38 +00:00
Felipe Pena 64fcd3b4e1 - New test 2008-10-10 19:50:04 +00:00
Felipe Pena 6843a38b2c - MFH: Static'fication 2008-10-10 19:35:49 +00:00
Felipe Pena 7b952b33c6 - BFN #46139 2008-10-10 16:49:26 +00:00
Felipe Pena 177c1f128b MFH:
- Fixed bug #46139 (PDOStatement->setFetchMode() forgets FETCH_PROPS_LATE)
  Initial patch by: chsc at peytz dot dk
2008-10-10 16:48:13 +00:00
Dmitry Stogov a1a1249753 Fixed bug #46246 (difference between call_user_func(array($this, $method)) and $this->$method()) 2008-10-10 15:53:31 +00:00
Antony Dovgal 27fbfa3d08 backport convenience macro 2008-10-10 14:47:17 +00:00
Felipe Pena 16021cb6e3 - BFN: #44251, #41125 2008-10-10 12:15:43 +00:00
Felipe Pena f6221397ac MFH:
- Fixed bug #44251 (Question mark and an escaped singel quote lead to an exception)
- Fixed bug #41125 (PDO mysql + quote() + prepare() can result in seg fault)
  Patch by: tsteiner at nerdclub dot net
2008-10-10 12:11:36 +00:00
Ilia Alshanetsky d4523d6678 Back to dev 2008-10-09 23:16:41 +00:00
Ilia Alshanetsky 3e92d040f6 5.2.7RC1 2008-10-09 23:12:20 +00:00
Felipe Pena b66673da7d - MFH: Fixed bug pecl#9641 (Unable to add driver specific methods to PDOStatement) (patch by Christopher Jones) 2008-10-09 13:01:40 +00:00
Felipe Pena 4237bea6fe - MFH: Fixed bug #45575 (Segfault with invalid non-string as event handler callback)
patch by Christian seiler
2008-10-07 18:23:05 +00:00
Felipe Pena afc82532cc - MFH: Fixed bug #46247 (ibase_set_event_handler() is allowing to pass callback without event) 2008-10-07 15:31:48 +00:00
Ilia Alshanetsky bef0a451e3 MFB:
Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding())
 Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on
  multiple calls).
 Fixed bug #46206 (pg_query_params/pg_execute convert passed values to
  strings).
2008-10-07 14:35:04 +00:00
Felipe Pena 73042afe10 - MFH: Fixed code ("Division by zero" anymore) 2008-10-07 12:53:08 +00:00
Felipe Pena 2f2a0d8259 - MFH: Fixed compiler warning 2008-10-06 15:14:17 +00:00
Felipe Pena 8b603dfa07 - BFN #45373 2008-10-06 15:11:43 +00:00
Felipe Pena 32f7c6a42d - MFH: Fixed bug #45373 (php crash on query with errors in params) 2008-10-06 14:37:13 +00:00
Derick Rethans 5bade4dcab - Updated to version 2008.7 (2008g) 2008-10-06 14:27:51 +00:00
Etienne Kneuss af17616e0e MFH: bug #46115 (Fixes nothing in 5.2, but sync code) 2008-10-06 13:45:42 +00:00
Etienne Kneuss 47d935664a Fix #46222 (Allow indirect modifications of Arrays inside ArrayObject + fix EG(uninitialized_zval_ptr) overwrite) 2008-10-05 14:49:25 +00:00
Arnaud Le Blanc 487e14d89c MFH: Fixed #46164 (stream_filter_remove() closes the stream) 2008-10-05 01:40:38 +00:00
Felipe Pena e5a7ea3293 MFH:
- Fixed bug #44991 (Compile Failure With freetds0.82)
  patch by:
  - jklowden at freetds dot org (ext/mssql)
  - matthias at dsx dot at (ext/pdo_dblib)
2008-10-04 13:19:22 +00:00
Felipe Pena 5e95dc593a - Fixed compiler warning 2008-10-04 13:11:36 +00:00
Jani Taskinen 619b8bb5ea reorder 2008-10-03 14:52:52 +00:00
Mikko Koppanen 4273a9b4dc Adds signal handling around popen/pclose in mail.c.
Related information on bugs #8992 and #14032
Original patch by D. Parthey
2008-10-03 13:59:33 +00:00
Felipe Pena df9dc12b1e - MFH: Fixed bug #46215 (json_encode mutates its parameter and has some class-specific state) 2008-10-02 03:41:24 +00:00
Antony Dovgal 3a4b2c8437 remove BOM 2008-10-01 12:37:15 +00:00
Kalle Sommer Nielsen 9cd9d67790 Fix bugs order 2008-10-01 11:09:02 +00:00
Scott MacVicar 33addf0ac5 MFH: Fix bug #46209 - Remove license condition that is no longer required. 2008-10-01 11:04:27 +00:00
Dmitry Stogov f289abf4d7 Fixed bug #43045 (SOAP encoding violation on "INF" for type double/float) 2008-10-01 08:42:26 +00:00
Rob Richards 9370d047ef BFN 2008-09-28 12:02:59 +00:00
Rob Richards 87ddfb9fbd MFH: fix bug #46191 (BC break: DOMDocument saveXML() doesn't accept null) 2008-09-28 12:01:21 +00:00
Antony Dovgal 763eda2f57 fix test 2008-09-24 13:13:26 +00:00
Felipe Pena eff8a93ded - MFH: Fixed bug #46157 (PDOStatement::fetchObject prototype error) 2008-09-23 23:10:01 +00:00
Rob Richards 842b350891 MFH: fix hints causing phpdoc crash 2008-09-22 15:10:24 +00:00
Felipe Pena d7064d84cb - BFN #46088 2008-09-22 13:17:58 +00:00
Felipe Pena c1b5abf605 - MFH: Fixed bug #46088 (RegexIterator::accept - segfault) 2008-09-22 13:15:16 +00:00
Greg Beaver e6f7b32deb fix Bug #46147: after stream seek, appending stream filter reads incorrect data 2008-09-22 01:25:44 +00:00
Arnaud Le Blanc fe49acfcb9 MFH: Fixed #46059 (Compile failure under IRIX 6.5.30 building posix.c) 2008-09-20 22:12:59 +00:00
Antony Dovgal 10b69e0f0f fix test 2008-09-18 13:26:05 +00:00
Antony Dovgal 31458c1a0d fix typo 2008-09-18 13:23:00 +00:00
Antony Dovgal 64125d247f fix test 2008-09-18 08:39:23 +00:00
Johannes Schlüter 0f6e281034 MFH Fix #44424 (Extending PDO/MySQL class with a __call() function doesn't work) 2008-09-16 23:37:35 +00:00
Antony Dovgal 03f74b711e MFH 2008-09-16 14:36:39 +00:00
Derick Rethans 8f037b3fe4 - Updated to version 2008.6 (2008f) 2008-09-15 18:03:10 +00:00
Dmitry Stogov 11900b10a3 Fixed bug #43053 (Regression: some numbers shown in scientific notation). (int-e at gmx dot de)
some 64bit test files may need to be fixed
2008-09-15 11:47:03 +00:00
Ilia Alshanetsky 929a21247c MFB: Fixed bug #45580 (levenshtein() crashes with invalid argument) 2008-09-14 05:15:15 +00:00
Moriyoshi Koizumi 772cf98e95 - MFH: Reenable ini_set("mbstring.internal_encoding", VALUE) to work on runtime.
(noticed by Antony. Thanks!)
2008-09-13 19:53:53 +00:00
Moriyoshi Koizumi 6a4057d932 - MFH: Properly initialize/finalize the library. This plugs the leaks caused by
onig_new().
2008-09-13 02:34:23 +00:00
Moriyoshi Koizumi a86756745c - MFH: WS 2008-09-13 00:24:12 +00:00
Moriyoshi Koizumi 0caab530d5 - MFH: Add missing =DIR 2008-09-13 00:14:49 +00:00
Moriyoshi Koizumi 1d7f071044 - Remove unexposed functions. 2008-09-12 23:56:06 +00:00
Moriyoshi Koizumi 2dd8e6ec27 - MFH: Use memcmp() for binary safety. 2008-09-12 23:37:21 +00:00
Felipe Pena 071deec12a - MFH: Fixed unexpected zval changes 2008-09-12 01:16:55 +00:00
Arnaud Le Blanc 114982b068 MFH: Fixed #46053 (SplFileObject::seek - Endless loop) 2008-09-11 15:32:15 +00:00
Arnaud Le Blanc 9b04ebc3c8 MFH: Fixed #46051 (SplFileInfo::openFile - memory overlap) 2008-09-11 15:24:12 +00:00
Rob Richards 914437fd97 BFN 2008-09-11 14:24:28 +00:00
Rob Richards 7d5fe7701b MFH: fix bug #46047 (SimpleXML converts empty nodes into object with nested array)
add test
2008-09-11 14:23:33 +00:00
Rob Richards 88bce658af MFH: fix bug #45901 (wddx_serialize_value crash with SimpleXMLElement object)
add test
2008-09-11 14:18:27 +00:00
Rob Richards 6a2daa2673 BFN 2008-09-10 16:29:42 +00:00
Rob Richards 01d4ee611e MFH: fix bug #46003 (isset on nonexisting node return unexpected results)
add test
2008-09-10 16:29:18 +00:00
Rob Richards 972a2192f4 BFN 2008-09-10 15:41:04 +00:00
Rob Richards 77494520a4 MFH: fix bug #46029 (Segfault in DOMText when using with Reflection) 2008-09-10 15:40:34 +00:00
Felipe Pena 56ed148d64 - MFB: Fixed mem. leak 2008-09-10 13:48:14 +00:00
Felipe Pena 098c1b5397 - Union #45226 + #18916 2008-09-10 13:26:38 +00:00
Rob Richards c5ff10fdc9 BFN
fix order
2008-09-10 11:22:40 +00:00
Rob Richards 6dc4be7100 MFH: fix bug #45553 (Using XPath for attributes with a namespace does not work)
add test
2008-09-10 11:21:48 +00:00
Arnaud Le Blanc 667a563da0 MFH: Fix test 2008-09-10 11:12:38 +00:00
Felipe Pena e4c744789d BFN #45226, #18916 2008-09-10 00:20:49 +00:00
Felipe Pena da2f2ab130 MFH:
- Merged fix from SF project (Import Jeff Lawsons patches for XML datetime bug fixes)
  Fixed bugs:
  #45226 (xmlrpc_set_type() segfaults with valid ISO8601 date string)
  #18916 (xmlrpc_set_type() "not working")
2008-09-10 00:09:04 +00:00
Arnaud Le Blanc fe30db5faf MFH: Fixed bug #46031 (Segfault in AppendIterator::next) 2008-09-09 19:44:25 +00:00
Antony Dovgal b1b7471f73 add missing file 2008-09-08 10:24:38 +00:00
Felipe Pena d4979adb80 BFN #46010 2008-09-07 23:10:07 +00:00
Felipe Pena b886771f69 - MFH: Fixed bug #46010 (warnings incorrectly generated for iv in ecb mode) 2008-09-07 23:00:31 +00:00
Johannes Schlüter 7b668c6a7d - MFH: The exact error message might differ (it's "Not owner" on Solaris) 2008-09-07 22:35:15 +00:00
Arnaud Le Blanc 21482dd1e6 MFH: More accurate max_file_size / upload_max_filesize (fixes #45124) 2008-09-07 14:18:11 +00:00
Arnaud Le Blanc 3062692e49 MFH: Fixed #43540 (rfc1867 handler newlength problem) 2008-09-06 17:19:15 +00:00
Alexey Zakhlestin 2450cf4c0f MFB: Fixed bug #45405 (snmp extension memory leak) 2008-09-06 08:18:38 +00:00
Dmitry Stogov f45b732abf Fixed bug #45860 (header() function fails to correctly replace all Status lines) 2008-09-02 13:22:00 +00:00
Dmitry Stogov bc053b7628 Fixed Bug #43958 (class name added into the error message) 2008-09-02 09:45:36 +00:00
Jani Taskinen 42eaadd128 - Fixed bug entries 2008-09-02 08:58:00 +00:00
Patrick van Kleef 331c423dbe MFH: - Added odbc.default_cursortype to control the ODBC cursormodel
(bug #43668)
2008-09-01 15:48:09 +00:00
Patrick van Kleef e624492e40 MFH: - Fixed code to use ODBC 3.52 datatypes for 64bit systems (bug #43666) 2008-09-01 15:36:56 +00:00
Dmitry Stogov 70063c1195 Fixed bug #42318 (problem with nm on AIX, not finding object files) 2008-09-01 13:15:15 +00:00
Jani Taskinen 69378b449c [DOC]- Fixed bug #45956 (parse_ini_file() does not return false with syntax errors in parsed file)
[DOC] note: change will be in since 5.2.7
2008-08-31 00:21:19 +00:00
Rasmus Lerdorf 6e1fad3505 Fix the assert 2008-08-30 18:28:01 +00:00
Rasmus Lerdorf a1ee496a50 Fix for bugs 13961, 39927 and 45947 2008-08-30 16:50:24 +00:00
David Soria Parra 8555d34ba5 MFH: Fixed bug #43782 (feof() does not detect timeout on socket) 2008-08-27 07:48:37 +00:00
Jani Taskinen 77e07a631a MFH 2008-08-26 23:26:27 +00:00
Jani Taskinen e83e18b8f8 MFH: sendmail mess cleared (PHP_PROG_SENDMAIL was not used at all, see also bug #42946) 2008-08-26 23:19:22 +00:00
Dmitry Stogov 9a4918af76 Fixed destruction of dl() loaded extensions 2008-08-22 15:31:38 +00:00
Antony Dovgal 72daf80c47 MFH: fix zend_register_functions() not displaying duplicate functions (reported by Gopal) 2008-08-22 14:52:47 +00:00
Felipe Pena 500d715ed3 - New tests 2008-08-22 13:40:54 +00:00
Sebastian Bergmann 20cc5b498f Fix ZTS build. 2008-08-22 08:17:02 +00:00
Felipe Pena ebdf8d3637 MFH:
- Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and 'private' variables)
- Added some tests
2008-08-22 01:06:55 +00:00
Stanislav Malyshev 55612e2b06 report merged fix 2008-08-21 18:11:49 +00:00
Stanislav Malyshev 279f79570d merge fix for #43941 2008-08-21 18:10:48 +00:00
Dmitry Stogov a1672ca3e2 Fixed bug #45751 (Using auto_prepend_file crashes (out of scope stack address use)). (basant dot kukreja at sun dot com) 2008-08-21 13:42:36 +00:00
Dmitry Stogov d0c05b2643 Adder error code into error message 2008-08-21 11:27:42 +00:00
Rasmus Lerdorf b94207ccb8 Fix OSX build problem in this branch as well 2008-08-20 20:04:52 +00:00
Jani Taskinen 3a6cac2e6c MFH: - Fixed bug #44925 (preg_grep() modifies input array). (Nuno) 2008-08-20 01:21:47 +00:00
Jani Taskinen 244b57f272 MFH: test for bug #42737 2008-08-20 01:11:06 +00:00
Jani Taskinen 81d5bba936 MFH: Fix for bug #42737 (and #45850) 2008-08-20 00:52:13 +00:00
Felipe Pena 5b9e18dd61 - New test 2008-08-18 17:52:35 +00:00
Antony Dovgal 79b6a241ab MFH: fix bug #45028 (CRC32 output endianness is different between crc32() and hash()) 2008-08-18 14:33:00 +00:00
Jani Taskinen 1fd9b3f536 MFH: fix include 2008-08-18 10:50:10 +00:00
Antony Dovgal 2781ddf65e reverted because of test failures 2008-08-18 07:47:04 +00:00
Arnaud Le Blanc 42a2c5308e MFH: Fix tests (closes #45841) 2008-08-18 04:46:05 +00:00
Arnaud Le Blanc 6f44413558 MFH: Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). 2008-08-18 04:09:38 +00:00
Moriyoshi Koizumi 6d8afbca87 - MFH: beware of signedness 2008-08-18 03:26:40 +00:00
Dmitry Stogov 16e6e2f04a Fixed double call to MSHUTDOWN in case of php-cgi -m 2008-08-15 07:30:31 +00:00
Felipe Pena 345ae37686 - Fixed tests (synced with 5_3 and HEAD) 2008-08-15 02:26:56 +00:00
Jani Taskinen 0e8700167a MFH: fix skipifs 2008-08-14 23:46:55 +00:00
Jani Taskinen 2712eb9b31 MFH 2008-08-14 23:45:22 +00:00
Jani Taskinen c901678ab1 MFH: fix tests 2008-08-14 23:42:01 +00:00
Jani Taskinen cb2b9fcf8b MFH 2008-08-14 22:51:50 +00:00
Jani Taskinen 26d7d2519d MFH:fix test 2008-08-14 21:56:13 +00:00
Jani Taskinen 1cd7ce6cf8 MFH: fix tests, add missing test 2008-08-14 20:57:13 +00:00
Jani Taskinen 8b0cd10768 do not leave crap behind 2008-08-14 20:55:31 +00:00
Jani Taskinen 84c5066dec MFH: fix tests 2008-08-14 20:53:31 +00:00
Jani Taskinen 7489a81e38 - Nuke annoying errors already silenced elsewhere too 2008-08-14 20:53:00 +00:00
Felipe Pena f26f786362 - New test 2008-08-14 19:17:13 +00:00
Felipe Pena 9915046344 - MFH: move declaration on top and fix build error 2008-08-14 16:34:30 +00:00
Jani Taskinen 85b00d1dd4 typoh 2008-08-13 19:43:48 +00:00
Antony Dovgal 02f8e3770d MFH: fix compile warnings (patch by Phil Oleson) 2008-08-13 08:09:55 +00:00
Dmitry Stogov fbb885cd6c Fixed bug #45805 (Crach on throwing exception from error handler) 2008-08-13 07:19:43 +00:00
Jani Taskinen 26f13b4b70 MFH: [DOC]- Added methods to change/disable --with-config-file-scan-dir=PATH at
MFH: [DOC]  startup:
MFH: [DOC]
MFH: [DOC]  To disable: Override default php.ini by using both -c and -n with
MFH: [DOC]              CGI/CLI or set "PHP_INI_SCAN_DIR" environment variable
MFH: [DOC]              to an empty string.
MFH: [DOC]
MFH: [DOC]  To change: Simply set "PHP_INI_SCAN_DIR" environment variable to point
MFH: [DOC]             to another path.
MFH: - Fixed bug #42604 ("make test" fails with  --with-config-file-scan-dir=/some/path)
MFH: - Implemented FR #45114 (Option to change --with-config-file-scan-dir)
2008-08-13 01:01:29 +00:00
Christian Seiler e08c90c68d - News: http://news.php.net/php.cvs/52239 2008-08-12 21:03:35 +00:00
Arnaud Le Blanc 43709499f9 MFH: clear stat cache in chroot() 2008-08-11 23:16:41 +00:00
Arnaud Le Blanc 6057b04dd0 news 2008-08-11 22:40:02 +00:00
Arnaud Le Blanc a1311b8bc2 MFH: Fixed #45181 (chdir() should clear relative entries in stat cache) 2008-08-11 22:39:42 +00:00
Christian Seiler b9ab70c0d2 - Fixed segmentation fault (test added) 2008-08-11 22:08:58 +00:00
Arnaud Le Blanc b28b6977bf MFH: Missing files in previous commit (Check the relevant path for open_basedir
in symlink())
2008-08-11 15:33:14 +00:00
Arnaud Le Blanc cf273715fb MFH: Check the relevant path for open_basedir in symlink() 2008-08-11 15:31:01 +00:00
Felipe Pena e249e02481 - BFN: #45765 2008-08-11 00:52:41 +00:00
Felipe Pena e0e1648359 - MFH: Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause an error) 2008-08-11 00:50:03 +00:00
Arnaud Le Blanc 02fc0f0255 MFH: Fixed bug #45581 (htmlspecialchars() double encoding &#x hex items) 2008-08-10 13:26:25 +00:00
Arnaud Le Blanc 969e64ad33 MFH:
Do not expand $target in symlink(). This made it impossible to symlink to a
symlink. This also caused the target to be wrongly expanded relatively to
the CWD when target was not an absolute path.
2008-08-10 11:55:26 +00:00
Felipe Pena 8df7dc9693 - Fixed test (LF) 2008-08-10 00:44:55 +00:00
Antony Dovgal 476aa6b90d disable the test on AIX 2008-08-09 22:35:34 +00:00
Antony Dovgal 1dd367b62d MFH: do not fail & segfault if malloc(0) returns NULL, that's expected 2008-08-09 22:01:35 +00:00
Arnaud Le Blanc 23cea0a4df *** empty log message *** 2008-08-08 09:34:08 +00:00
Antony Dovgal 5dd6078c14 not experimental anymore 2008-08-07 13:11:28 +00:00
Antony Dovgal ec9c01b2b2 remove EXPERIMENTAL flag 2008-08-07 13:07:33 +00:00
Antony Dovgal 78acd746d4 fix test
NaN != NaN
2008-08-07 08:52:11 +00:00
Kalle Sommer Nielsen 718da04673 Backport #45406 (session.serialize_handler declared by shared extension fails) to PHP_5_2 2008-08-06 21:33:13 +00:00
Kalle Sommer Nielsen b6c6759799 Backport fix for #45406 - Patch by oleg dot grenrus at dynamoid dot com 2008-08-06 21:28:38 +00:00
Jani Taskinen d9535fbf69 useless entry 2008-08-05 21:48:18 +00:00
Stanislav Malyshev dda8d74cb5 ok, clarify :) 2008-08-05 21:40:48 +00:00
Stanislav Malyshev 1ce390f2c2 add bugfix 2008-08-05 21:24:42 +00:00
Stanislav Malyshev adf6be4bfb fix memnstr bug, by Laurent Gaffie 2008-08-05 20:11:17 +00:00
Jani Taskinen ddcb5042f5 MFH:- Add test for bug #45712 2008-08-05 12:37:09 +00:00
Jani Taskinen c078127291 MFH:- Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter) 2008-08-04 21:16:22 +00:00
Moriyoshi Koizumi fecf5bc681 - MFH: Added .libs to .cvsignore 2008-08-04 21:11:19 +00:00
Moriyoshi Koizumi 108d9dd8e7 - MFH: More fixes for bug #45691 2008-08-04 21:06:50 +00:00
Jani Taskinen 09eebe78d8 MFH: proper version check 2008-08-04 20:54:20 +00:00
Jani Taskinen 59b98545e8 MFH 2008-08-03 12:11:13 +00:00
Jani Taskinen 843d6eecc3 MFH: no c++ comments in c files 2008-08-03 11:59:00 +00:00
Moriyoshi Koizumi cf4e80bd50 - MFH:Forgot to take account of the case when mbstring.language is processed
afterwards.
2008-08-03 00:04:30 +00:00
Moriyoshi Koizumi 2184c092d4 - MFH: Fixed bug #45691 (Some per-dir or runtime settings may leak into other requests). 2008-08-02 20:49:48 +00:00
Arnaud Le Blanc 70143b88a2 MFH: Avoid leaks when zlib streams can not be closed properly. 2008-08-02 02:36:59 +00:00
Moriyoshi Koizumi 840e508dc6 - MFH: Fixed bug #43993 (mb_substr_count() behaves differently to substr_count() with overlapping needles) 2008-08-01 22:58:20 +00:00
Moriyoshi Koizumi c530921598 - Move finalization code to the proper place 2008-08-01 22:53:20 +00:00
Moriyoshi Koizumi 22a0734469 - MFH: Fixed bug #44617 (wrong HTML entity output when substitute_character=entity). 2008-07-31 17:39:14 +00:00
Jani Taskinen ecc135ae21 MFH:- fix test 2008-07-31 11:50:54 +00:00
Rasmus Lerdorf 17d4ecdbb1 Fix test to test higher nesting level 2008-07-31 11:49:55 +00:00
Rasmus Lerdorf 7305654b69 Fix for bug #45030 2008-07-31 09:22:17 +00:00
Jani Taskinen 51a01a9a6d typo 2008-07-31 00:51:06 +00:00
Jani Taskinen 874a609723 MFH:- Fixed bug #45568 (ISAPI does not property clear auth_digest in header). 2008-07-31 00:49:16 +00:00
Jani Taskinen 461e12bb47 MFH:- Applied the missing parts to phpize.m4 for zend extension builds 2008-07-31 00:45:46 +00:00
Jani Taskinen d235cfb948 MFH: sync build stuff 2008-07-30 23:57:14 +00:00
Jani Taskinen fbca704073 MFH: sync 2008-07-30 23:27:26 +00:00
Rasmus Lerdorf a948a2605d We can afford a larger stack here and other json parsers out there
go deeper than 128.
2008-07-30 13:55:27 +00:00
Antony Dovgal 9ce5ea020f MFH: fix copy/paste error (patch by Mikko) 2008-07-29 10:42:59 +00:00
Antony Dovgal 635ce992a6 this shouldn't have been backported 2008-07-29 08:33:52 +00:00
Derick Rethans 7d8a27b3d1 - Updated to version 2008.5 (2008e) 2008-07-28 19:32:08 +00:00
David Soria Parra 4331f57597 - Fixed the fix for not requiring C++ always 2008-07-27 20:42:56 +00:00
Jani Taskinen e36ce120ae MFH:- Fixed the fix for not requiring C++ always 2008-07-27 15:05:48 +00:00
Jani Taskinen 68fb7a1252 MFH: Partial sync 2008-07-27 15:01:41 +00:00
Dmitry Stogov d3aa5682b1 Fix for bug #43487 (Wrong conversion of float to string) 2008-07-27 11:28:53 +00:00
Jani Taskinen 96fe692335 MFH: Fixed a minor problem in not enabling c++/g++ when not needed. 2008-07-25 12:36:59 +00:00
Felipe Pena 9c51f3c841 - MFB: Removed unused variable. 2008-07-24 16:01:59 +00:00
Dmitry Stogov d2f478af6a Fixed bug #45178 (memory corruption on assignment result of "new" by reference) 2008-07-24 11:47:14 +00:00
Dmitry Stogov ec1e964f5c Fixed test 2008-07-24 11:23:57 +00:00
Jani Taskinen 2b667e86f2 MFH: Fix test (bug #44985) 2008-07-23 14:15:37 +00:00
Jani Taskinen 4fafb9bddc MFH: some fixes to allow certain tests to pass regardless of system php.ini settins 2008-07-23 13:43:05 +00:00
Felipe Pena 99487f9ce3 - Change credits for #44246 2008-07-23 12:05:21 +00:00
Antony Dovgal 990de890fa MFH: invert the logics - FLAG_FCLOSE -> FLAG_NO_FCLOSE 2008-07-23 11:25:50 +00:00
Jani Taskinen 41e64a728c MFH: missing test 2008-07-23 10:30:41 +00:00
Antony Dovgal 8673660619 fix test 2008-07-23 10:26:55 +00:00
Antony Dovgal c7b3bc0d99 fix test 2008-07-23 09:29:32 +00:00
Antony Dovgal b54305bc7d MFH: add PHP_STREAM_FLAG_FCLOSE to zip streams 2008-07-23 09:09:20 +00:00
Antony Dovgal cffe7a2d3c MFH: add PHP_STREAM_FLAG_FCLOSE, bz2 streams can be closed with fclose() 2008-07-23 08:56:37 +00:00
Felipe Pena 20de4ba98f - BFN: #44246 2008-07-22 14:12:54 +00:00
Felipe Pena 4ca3f3b99a - MFH: Fixed bug #44246 (closedir() accepts a file resource opened by fopen()) 2008-07-22 14:11:25 +00:00
Jani Taskinen fbc897f4bb Tidy language and order 2008-07-21 20:02:34 +00:00
Felipe Pena 16fb63384c - MFB: Fixed securities issue detailed in CVE-2008-2665 and CVE-2008-2666.
(patch by Christian Hoffmann)
2008-07-21 19:34:45 +00:00
Dmitry Stogov 69bbae848e Added check for small ZEMD_MM_SEG_SIZE 2008-07-21 17:06:55 +00:00
Felipe Pena 71a5d27676 - BFN: #45556, #45555 2008-07-18 17:41:59 +00:00
Felipe Pena e6087a0548 - New test 2008-07-18 17:35:18 +00:00
Felipe Pena 157856f0d0 - Fixed bug #45556 (Return value from callback isn't freed) 2008-07-18 17:34:07 +00:00
Felipe Pena f3549c2276 - Fixed bug #45555 (Segfault with invalid non-string as register_introspection_callback)
(patch by chris_se at gmx dot ne)
2008-07-18 15:52:38 +00:00
Felipe Pena 721be7f87c - MFB: Fix ws 2008-07-18 14:56:58 +00:00
Derick Rethans 8a1172fe8f - Updated to version 2008.4.1 (2008d) 2008-07-18 13:46:15 +00:00
Pierre Joye 9df7af2326 - MFB: fix crash when some crafted font are given 2008-07-17 22:58:23 +00:00
Jani Taskinen e1fdf15fee -nuke weird char 2008-07-16 16:30:04 +00:00
Jani Taskinen 00fb7be378 MFH:- Prevent errors in CVS builds when bison is not there (for Sean :) 2008-07-16 16:23:59 +00:00
Jani Taskinen 273b3b8ac0 - Regenerated using more recent re2c 2008-07-16 14:26:30 +00:00
Jani Taskinen 65c908dcfe MFH:- Fixed bug #44127 (UNIX abstract namespace socket connect does not work) 2008-07-16 14:10:50 +00:00
Moriyoshi Koizumi 5b603fb1b7 * MFH: indentation fix only. 2008-07-15 18:07:42 +00:00
Jani Taskinen 2975bbb347 MFH: Fixed potentially confusing error message on failure when no errors are logged 2008-07-15 16:10:32 +00:00
Scott MacVicar 56f7e28f5d MFH: Fix bug when < is used within attribute. 2008-07-15 14:58:58 +00:00
Dmitry Stogov f4617349f8 Fixed bug #45151 (Crash with URI/file..php (filename contains 2 dots)) 2008-07-15 13:38:29 +00:00
Jani Taskinen 8fc55787d5 Fix news 2008-07-15 13:16:25 +00:00
Dmitry Stogov 51619fa391 Fixed bug #45423 (fastcgi parent process doesn't invoke php_module_shutdown before shutdown) (basant dot kukreja at sun dot com) 2008-07-15 13:10:07 +00:00
Felipe Pena 0bccc60ec2 - Reverted fix for #44197 (unsuitable for minor versions) 2008-07-15 11:20:06 +00:00
Jani Taskinen 9f0c8398d6 MFH: fix test 2008-07-15 01:57:37 +00:00
Jani Taskinen 02c937c251 MFH:- Fix tests (do NOT assume things in php.ini always to be same...or sane) 2008-07-15 01:00:17 +00:00
Rui Hirokawa 9609669572 MFPHP5_3 2008-07-13 01:36:15 +00:00
Felipe Pena b56b2d3013 BFN: #45220 2008-07-12 21:14:57 +00:00
Felipe Pena 0a0f24f8bf - Fixed bug #45220 (curl_read callback returns -1 when needs to return size_t (unsigned)) 2008-07-12 21:11:56 +00:00
Felipe Pena a256d977ff BFN: #45485 2008-07-12 01:44:04 +00:00
Felipe Pena 198a9af479 - BFN: #45449, #45486 2008-07-11 18:31:56 +00:00
Felipe Pena 6074163f74 - Fixed bug #45449 (filesize() regression using ftp wrapper) (patch by crrodriguez at suse dot de) 2008-07-11 18:28:25 +00:00
Felipe Pena 9a58cb0b3c - Fixed bug #45486 (mb_send_mail(); header 'Content-Type: text/plain; charset=' parsing incorrect) 2008-07-11 13:48:11 +00:00
Jani Taskinen 596f8bf885 MFH: silence warning 2008-07-11 13:12:18 +00:00
Felipe Pena fc2cf6e19f - Fixed bug #45485 (strip_tags and <?XML tag) 2008-07-11 12:16:06 +00:00
Felipe Pena b2f1de8924 - BFN: #45460 2008-07-11 11:18:58 +00:00
Felipe Pena a8c4bc3257 - Fixed the string sizes in imap_headerinfo 2008-07-11 11:09:05 +00:00
Felipe Pena 26da69af35 - Fixed bug #45460 (imap patch for fromlength fix in imap_headerinfo doesn't accept lengths of 1024) 2008-07-10 17:44:09 +00:00
Derick Rethans 72c5f9c02d - MFH: Memory issues
- MFH: // style comments
2008-07-08 18:02:32 +00:00
Scott MacVicar 6732d3f170 This change was backed out of 5.2 and is now in 5.3+ 2008-07-08 10:31:34 +00:00
Derick Rethans 5a70cfb8d7 - Updated to version 2008.4 (2008d) 2008-07-07 14:36:26 +00:00
Etienne Kneuss 1cd238a5df Avoid a leak on return_value 2008-07-07 00:02:22 +00:00
Dmitry Stogov 9132607dc7 Fixed bug #45352 (Segmentation fault because of tick function on second request) 2008-06-25 12:18:22 +00:00
Uwe Schindler c1bb953c71 MFH: Response to: [PHP-DEV] cleaning up the functions - any volunteers? :) 2008-06-22 18:10:33 +00:00
Christopher Jones 79301a3677 MFH:
Fix bug #45266 (Fix build with BDB 4)
Fix bug #45267 (Revert invalid assumption about BDB 4 locking; let DBA handle locking)
Fix bug #45268 (Fix error callback prototype)
2008-06-19 22:41:33 +00:00
Dmitry Stogov 764f6144d3 Fixed bug #45312 (Segmentation fault on second request for array functions). 2008-06-19 12:09:22 +00:00
Dmitry Stogov c55fc5cfa4 Fixed SOAP binding selection 2008-06-18 07:23:42 +00:00
Philip Olson cf6ae88c42 MFH: updated website team info 2008-06-18 05:21:08 +00:00
Felipe Pena c4bc06b480 - MF5.3: Improved warning message to call-time pass-by-reference when used with internal function
(http://news.php.net/php.internals/38252)
2008-06-15 18:31:10 +00:00
Rob Richards 4c65f7b0a2 BFN
fix ordering
2008-06-14 11:25:52 +00:00
Rob Richards b3a2fffb83 MFH: fixed bug #45251 (double free or corruption with setAttributeNode())
add test
2008-06-14 11:24:00 +00:00
Rui Hirokawa d2f21677d5 MFH 2008-06-13 14:49:19 +00:00
Steve Seear a640702789 Filesystem tests. 2008-06-11 12:38:16 +00:00
Dmitry Stogov 6cd3a97ce2 closeder/readdir/rewinddir must work only with directories 2008-06-11 09:02:09 +00:00
Dmitry Stogov 32b6c60dea Fixed memory leaks 2008-06-11 07:46:43 +00:00
Dmitry Stogov d3d8886e3e Fixed test (5.2 doesn't contain GC) 2008-06-11 07:46:28 +00:00
Philip Olson 4b898c5e57 MFH: fixed imap_listscan() proto 2008-06-11 02:32:22 +00:00
Antony Dovgal 26e2d61588 fix typo 2008-06-10 08:14:59 +00:00
Rasmus Lerdorf a583cad157 Merge from 5.3 branch - no point in echoeing the raw values here 2008-06-09 14:03:44 +00:00
Scott MacVicar c4fa4d5361 Backout fix for spaces in both the program name and argument name, this will be fixed in PHP 5.3+ only 2008-06-06 23:05:37 +00:00
Christopher Jones 50db74684d Update 2008-06-06 01:00:20 +00:00
Christopher Jones 8c9e028a76 (Bugs 41348, 41563, 42456, 42939) Appease the masses and fix
compilation with Oracle 8.1.  This gives cleaner support for older
releases now that PHP 5.3 is firmly Oracle 9.2+ only.  No plans to
MTH.
2008-06-06 00:59:44 +00:00
Christopher Jones 44e82f5789 Sync for PECL OCI8 1.2.5 release 2008-06-05 23:26:01 +00:00
Felipe Pena fba1e9d0c5 - Fixed bug #45139 (ReflectionProperty returns incorrect declaring class) 2008-06-01 03:08:59 +00:00
Matt Wilmas b3abcd8a34 MFH: Only check args once in php_array_diff_key/intersect_key, not on each iteration. This also makes sure ALL args are checked (pre-5.2.5 behavior) 2008-05-30 10:55:44 +00:00
Matt Wilmas 76a95184ef MFH: Fixed overflow crash (at least on Windows) in div_function with LONG_MIN / -1 2008-05-29 11:45:28 +00:00
Scott MacVicar 8063c11142 MFH: Fix a bug when command is quoted and parameters are quoted during call to exec, the result is that cmd.exe /c strips the first and last quote. 2008-05-29 11:41:50 +00:00
Matt Wilmas 70c5d7fcb5 Fixed tests on Windows 2008-05-29 07:33:03 +00:00
Ant Phillips 6e79f8f999 DOM tests from TestFest 2008-05-27 12:44:52 +00:00
Derick Rethans 8df7662306 - Updated to version 2008.3 (2008c) 2008-05-27 12:20:02 +00:00
Ilia Alshanetsky c29dac2f32 When dumping entire document to file via asXml() don't lose the encoding 2008-05-23 15:46:54 +00:00
Antony Dovgal fa6c5d5429 MFH 2008-05-21 12:31:31 +00:00
Dmitry Stogov e9b91783c2 proper fix 2008-05-20 07:41:23 +00:00
Ilia Alshanetsky 92512da2b0 MFB: Fixed bug #45004 (pg_insert() does not accept 4 digit timezone format) 2008-05-19 15:18:39 +00:00
Dmitry Stogov a806380376 Fixed win32 related realpath cache bug 2008-05-19 10:49:13 +00:00
Felipe Pena a0e34ecfee - Reverted the accidental previous commit 2008-05-18 22:32:33 +00:00
Felipe Pena 0f3bde23fd - MFB: Making compatible with 64bit platform 2008-05-18 21:50:58 +00:00
Ilia Alshanetsky 9d3385ff08 MFB: Added missing INI handler 2008-05-18 14:36:59 +00:00
David Soria Parra bb1840dcf9 Wrong file 2008-05-18 14:27:52 +00:00
David Soria Parra e3fbf25a02 MFH: Tests from Munich PHP Testfest 2008 2008-05-17 23:31:31 +00:00
Ilia Alshanetsky 4b7d16ec33 BFn 2008-05-14 23:53:54 +00:00
Antony Dovgal c7d2788311 fixed more titles 2008-05-14 13:10:30 +00:00
Antony Dovgal d01d7450a7 fix test titles 2008-05-14 13:07:17 +00:00
Felipe Pena 908b6e7808 - MFH: Add check for avoid segfault when trying instantiate PDORow manually 2008-05-14 12:34:10 +00:00
Christopher Jones 20eb83c3fe MFH: PECL #13523 (x86_64 build) 2008-05-13 16:06:55 +00:00
Christopher Jones d89a570ad0 MFH: new test 2008-05-13 00:17:59 +00:00
Antony Dovgal cafbf45c13 MFH 2008-05-12 15:31:20 +00:00
Felipe Pena 670ed18df4 - Fixed test 2008-05-12 11:24:07 +00:00
Antony Dovgal 86cf005ca2 MFH: revert patch that causes invalid reads/crashes on Linux 2008-05-12 08:47:29 +00:00
Matt Wilmas 1d30a554a4 MFH: Fixed test after fixing bug #44830 2008-05-12 05:09:28 +00:00
Matt Wilmas e4f6cab2c3 MFH: Fixed error message typo 2008-05-11 11:47:01 +00:00
Sebastian Bergmann 3bf703845f MFH: Add tests for ReflectionFunction::getExtension*(). 2008-05-11 04:57:27 +00:00
Sebastian Bergmann 032d0355e7 MFH: dos2unix *.phpt 2008-05-11 04:53:26 +00:00
Matt Wilmas e8d5d67ff2 MFH: Restore end check for "escape" strings 2008-05-10 09:18:27 +00:00
Matt Wilmas fcef7403cf MFH 2008-05-09 14:41:31 +00:00
Felipe Pena daf04269f5 - New tests 2008-05-09 14:17:42 +00:00
Scott MacVicar f73f5c1aa5 MFH: Fix compile error if _GNU_SOURCE is defined 2008-05-09 12:59:41 +00:00
Matt Wilmas 6c7ae8825d MFH: Test for loss of backslash at end of heredoc; For bug #44830 (Very minor issue with backslash in heredoc) 2008-05-09 11:06:45 +00:00
Matt Wilmas 4d478c9b67 MFH: Fix loss of backslash at end of heredoc; For bug #44830 (Very minor issue with backslash in heredoc) 2008-05-09 10:29:01 +00:00
Ant Phillips c6822cd936 Collect all the open_basedir security tests into one place 2008-05-09 08:36:41 +00:00
Ant Phillips f6b00dcf5b open_basedir tests for error_log 2008-05-09 08:33:55 +00:00
Dmitry Stogov c36ea5eb07 Fixed test 2008-05-08 09:15:49 +00:00
Antony Dovgal 9af8ebe9c7 fix test 2008-05-08 07:09:17 +00:00
Hannes Magnusson 88d4da5097 BFN 2008-05-07 20:03:26 +00:00
Hannes Magnusson 58be64ce2b MFH: Fixed bug #44712 (stream_context_set_params segfaults on invalid
arguments).
2008-05-07 20:02:42 +00:00
Hannes Magnusson fa6ab4ca82 MFH: Fixed bug #44716 (Progress notifications incorrect) 2008-05-07 20:01:56 +00:00
Christopher Jones fc4cfc3c83 MFH: new tests and test cleanup 2008-05-07 15:29:27 +00:00
Antony Dovgal fbbbd2b334 fix test title 2008-05-07 15:23:11 +00:00
Antony Dovgal 845e9001b3 reorder 2008-05-07 15:08:42 +00:00
David Coallier e5f281acf1 - Added NEWS item for fixation of bug 44811 2008-05-07 15:03:17 +00:00
David Coallier 3a37e3f5eb - Fixed Bug #44811: Improved error message when creating a new
SoapClient has invalid data.
2008-05-07 14:57:56 +00:00
David Coallier 8a346e1257 - Test for bug #44811 (Improve error message when new SoapClient has invalid data) 2008-05-07 14:56:37 +00:00
Ilia Alshanetsky fe5e6c081e MFB: Fixed bug #44836 (putenv() crashes, avoid direct reference of environ
in POSIX systems).
2008-05-06 18:03:52 +00:00
Ilia Alshanetsky 3ffd3e8b8c MFB: Specify the necessary precision 2008-05-05 23:05:06 +00:00
Ilia Alshanetsky 8fde9d7701 MFB: Fixed bug #44798 (Memory leak assigning value to attribute). 2008-05-05 23:00:13 +00:00
Andrey Hristov 05b2a03297 Fix build with libmysql 6.0.x 2008-05-05 12:30:38 +00:00
Etienne Kneuss c54c42dcf3 MFH: Fix protos 2008-05-04 21:19:18 +00:00
Rob Richards 029a4c8213 BFN 2008-05-04 15:26:25 +00:00
Rob Richards f5bf8c94f7 MFH: fix bug #44891 Memory leak using registerPHPFunctions and XSLT Variable 2008-05-04 15:15:01 +00:00
Zoe Slattery 8e23d68942 Committing corrected test from Eric Stewart 2008-05-03 20:34:16 +00:00
Etienne Kneuss b6e7b8e09a MFB: Fix #44838 (static class reference restricting overwriting) 2008-05-03 16:00:40 +00:00
Derick Rethans 0685a79356 - Fixed an issue in date() where a : was printed for the O modifier after a P
modifier was used.
2008-05-02 21:36:00 +00:00
Ant Phillips 6bec04b0a3 open_basedir tests for directory functions 2008-05-01 12:36:45 +00:00
Ant Phillips 18da1a2ff4 open_basedir tests for directory functions 2008-05-01 11:46:20 +00:00
Ilia Alshanetsky ba307b2aff Back to dev 2008-04-30 18:33:33 +00:00
Ilia Alshanetsky 6a7f02001d 5.2.6 2008-04-30 18:27:56 +00:00
Ant Phillips ab211d72a3 Fix session test failures as reported by Antony Dovgal.
These were caused by the tests assuming default values for some session
configuration settings, in particular session.save_path and session.name.
The tests now explicitly set these settings in the --INI-- section.
2008-04-30 15:20:16 +00:00
Ant Phillips 3946b4727b Break up complicated rename tests into some smaller more consumable chunks 2008-04-30 13:53:49 +00:00
Ant Phillips 3a30d703c0 Fix session test failures as reported by Antony Dovgal.
These were caused by the tests assuming default values for some session
configuration settings, in particular session.save_path and session.name.
The tests now explicitly set these settings in the --INI-- section.
2008-04-30 09:27:59 +00:00
Scott MacVicar ad86c485cd MFH Fixed bug #44720 (Prevent infinite recursion within session_register) 2008-04-29 14:42:38 +00:00
Ant Phillips 597adbfef1 More session tests to improve code coverage for untested extension code 2008-04-29 09:24:17 +00:00
Ant Phillips 2d2ad8e8d3 More session tests to improve code coverage for untested extension code 2008-04-29 08:57:12 +00:00
Jani Taskinen f2c9167ebb MFH 2008-04-28 12:30:33 +00:00
Ant Phillips 0ccb772f10 Extra open_basedir tests 2008-04-24 16:40:53 +00:00
Ant Phillips 138a1160ab Allow for chmod() to fail on symbolic links 2008-04-24 13:58:29 +00:00
Ant Phillips e9da49eaf5 open_basedir tests for file system functions (v5.2, 5.3 and 6.0 branches) 2008-04-23 14:10:23 +00:00
Ant Phillips 64de2d2d45 New set of session extension tests for PHP 5.2 branch.
These hopefully test a reasonable set of basic, error and variations for
the twenty or so session functions. Note however that they do not
test all the session configuration settings, nor do they test anything
with register_globals enabled.
2008-04-22 16:04:00 +00:00
Ant Phillips 1f4fa0ba1f These tests were backported from the PHP 6.0 branch, which in turn were ported from this branch and then updated to remove any dependencies on register_globals. With register_globals removed they are useful tests to run against the 5.X branches. 2008-04-22 15:58:34 +00:00
Robin Fernandes 1d943ee85e Fix some ereg tests for 64bit platforms. 2008-04-22 15:31:56 +00:00
Felipe Pena 5c605854b8 - Fixed tests 2008-04-20 01:55:05 +00:00
Felipe Pena 11d09ac646 - Better error message 2008-04-20 01:43:18 +00:00
Antony Dovgal 269aac9ee9 fix test 2008-04-18 08:22:01 +00:00
Ilia Alshanetsky 7204e7ba5a BFN 2008-04-18 01:00:56 +00:00
Antony Dovgal 59dde7cbeb make Matt happy =) 2008-04-17 11:48:53 +00:00
Felipe Pena 11a13337ff - Fix typo 2008-04-17 11:04:49 +00:00
Derick Rethans 8649483a69 - Fixed bug #44703 (htmlspecialchars() does not detect bad character set
argument).
2008-04-16 17:21:46 +00:00
Antony Dovgal d9b443095f change %d to %ld and silence the warning 2008-04-16 08:54:44 +00:00
Felipe Pena 9db0be61ad Fixed bug #44703 (htmlspecialchars() does not detect bad character set argument) (patch by Andy Wharmby) 2008-04-11 19:01:25 +00:00
Robin Fernandes 29c12bd254 Fix test parse_url_variation_002.phpt for 64bit platforms. 2008-04-11 14:35:04 +00:00
Antony Dovgal ef1f2c1b7b fix tests 2008-04-11 11:06:18 +00:00
Antony Dovgal 1e20b1ed7d MFH: fix 2 segfaults in ZTS mode 2008-04-11 11:00:24 +00:00
Steve Seear 9d700f942f POSIX extension error tests 2008-04-11 09:32:32 +00:00
Steve Seear 35ca4a5cb4 POSIX extension variation tests 2008-04-11 09:27:42 +00:00
Robin Fernandes fdb9b9d8c8 Adding some tests for ereg and url functions. 2008-04-11 08:57:11 +00:00
Ilia Alshanetsky a1f0e80436 Back to dev 2008-04-10 22:31:09 +00:00
Ilia Alshanetsky 1e29c1716d 5.2.6RC5 2008-04-10 22:24:05 +00:00
Christopher Jones 7788b67557 Bump OCI8 version to 1.2.5 (This change is for 5.2 branch only) 2008-04-10 21:53:46 +00:00
Nuno Lopes 5baa766b21 MFB53 2008-04-10 19:16:00 +00:00
Nuno Lopes 60d622bdb0 MFB5.3: fix SKIPIF 2008-04-10 19:09:49 +00:00
Philip Olson 63ca897356 MFH: Updated the documentation credits 2008-04-10 05:32:26 +00:00
Scott MacVicar b584600e1d Fix heredoc handling. (Patch by Matt Wilmas) 2008-04-09 21:40:13 +00:00
Felipe Pena 52127174e2 Fixed bug #44678 (spliti error message includes wrong function name) 2008-04-09 13:47:35 +00:00
Dmitry Stogov a548d2f19b Fixed bug #44673 (With CGI argv/argc starts from arguments, not from script) 2008-04-09 09:16:40 +00:00
Ilia Alshanetsky edf54b5468 MFB: Bug #44650 escaepshellscmd() does not check arg count (port from 5.3) 2008-04-08 17:17:07 +00:00
Joe Orton 8611785073 MFH: Fixed bug #32979 (OpenSSL stream->fd casts broken in 64-bit build)
(stotty at tvnet dot hu)
MFH: Fix another case of a broken stream->fd cast in 64-bit builds.
2008-04-08 14:11:49 +00:00
Jani Taskinen 8f6f281866 MFH: Fixed test on systems where order is not guaranteed 2008-04-08 10:35:36 +00:00
Jani Taskinen a9f2587716 MFH: - Fixed bug #44667 (proc_open() does not handle pipes with the mode "wb" correctly) 2008-04-08 08:45:52 +00:00
Jani Taskinen 5f7df8099a MF53: Fix tests 2008-04-08 08:45:04 +00:00
Ilia Alshanetsky b615180021 MFB: various bug fixes 2008-04-08 00:03:34 +00:00
Antony Dovgal 7a4f2f9a00 fix test 2008-04-07 12:14:46 +00:00
Antony Dovgal 339414deea initialize variable 2008-04-07 10:44:03 +00:00
Marcus Boerger 98f4d8c5f6 - MFH add new tests 2008-04-06 17:53:35 +00:00
Felipe Pena e8795126ea Fixed bug #44591 (imagegif's filename parameter) 2008-04-04 17:39:52 +00:00
Derick Rethans d80a51181a - Fixed typo. 2008-04-04 07:26:41 +00:00
Ilia Alshanetsky cb9be83c31 Back to dev 2008-04-04 00:16:53 +00:00
Ilia Alshanetsky 62c865e21f 5.2.6RC4 2008-04-04 00:12:22 +00:00
Felipe Pena 1054bfbb0b - Fixed tests 2008-04-03 22:01:59 +00:00
Dmitry Stogov 889ba3c824 fixed name 2008-04-03 14:44:19 +00:00
Dmitry Stogov 1dd17ad54a - Fixed possible stack buffer overflow in FastCGI SAPI. (Andrey Nigmatulin)
- Fixed sending of uninitialized paddings which may contain some information.
  (Andrey Nigmatulin)
2008-04-03 10:24:44 +00:00
Ilia Alshanetsky 357cadb362 MFB: imap bug fixes 2008-04-02 16:31:51 +00:00
Antony Dovgal 8f16e0b75c MFH 2008-04-02 14:56:43 +00:00
Derick Rethans b0b7f4eed1 - MFH: Fixed a bug in formatting timestamps when DST is active in the default
timezone.
2008-03-31 09:12:15 +00:00
Felipe Pena 3e663ebfef Fixed bug #44564 (escapeshellarg removes UTF-8 multi-byte characters) 2008-03-30 12:17:39 +00:00
Felipe Pena fd6f77d569 Fixed bug #44557 (Crash in imap_setacl when supplied integer as username) (patch by Thomas Jarosch) 2008-03-28 16:43:49 +00:00
Ilia Alshanetsky dd040e75c3 Back to dev 2008-03-27 22:53:49 +00:00
Ilia Alshanetsky 1de0c2f27c 5.2.6RC3 2008-03-27 22:44:02 +00:00
Andrey Hristov 64af7df7d0 Recreate 2008-03-27 14:48:00 +00:00
Jani Taskinen 40655e4104 MF53:- Fix test (readdir() does not sort the results..) 2008-03-27 10:45:06 +00:00
Steve Seear 8cc6227b45 Adding tests for gethostbyaddr() and gethostbynamel() 2008-03-26 18:18:07 +00:00
Marcus Boerger 13a67db7f5 MFH:
- Fix memory leak found by Osman
- Merge strlen to sizof change from CLI
2008-03-26 13:21:57 +00:00
Antony Dovgal b103a34cda MFH: check if return value of write() is -1 and abort upload, setting the correct error status 2008-03-26 12:59:42 +00:00
Dmitry Stogov c6aef571dd Fixed test (removed leaks becaue of cyrcular references) 2008-03-25 07:01:22 +00:00
Antony Dovgal 00779cc424 MFH: disabled mmap() when copying files to memory 2008-03-24 16:28:56 +00:00
Derick Rethans 94cfbb5448 - Updated to version 2008.2 (2008b) 2008-03-24 13:01:10 +00:00
Dmitry Stogov 193801fbda Fixed tests (file order is undefined, so we need to sort() them) 2008-03-24 09:00:18 +00:00
Marcus Boerger 7e071024d3 - MFH Add .cvsignore 2008-03-23 16:53:57 +00:00
Marcus Boerger 03c3cfbde3 - MFH Add tests 2008-03-23 13:39:27 +00:00
Marcus Boerger 978886a3a8 - Make multibyte a tad bit less crappy 2008-03-22 18:53:08 +00:00
Antony Dovgal 708cbe15d1 add missing .cvsignore 2008-03-21 08:30:02 +00:00
Antony Dovgal 28331f99e2 fix ZTS build 2008-03-21 08:28:36 +00:00
Ilia Alshanetsky 8c4653fbb6 MFB: Refine fix for multibyte char hanling inside command names and args 2008-03-20 23:25:42 +00:00
Rob Richards 5a94926037 BFN
re-order
2008-03-20 16:49:41 +00:00
Rob Richards 4a4711eb36 MFH: fix bug #44478 (Inconsistent behaviour when assigning new nodes)
add test
2008-03-20 16:48:45 +00:00
Antony Dovgal 3baf31907a MFH 2008-03-20 12:14:15 +00:00
Antony Dovgal 83a3d76e37 fix tests 2008-03-20 11:34:50 +00:00
David Soria Parra bb4e8b10e3 MFH: Fix bug #44487 (call_user_method_array issues a warning when throwing an exception). 2008-03-20 00:55:26 +00:00
Steve Seear bc8c649878 Adding language tests. 2008-03-19 18:06:26 +00:00
Steve Seear 9e8d58e54b Added some class tests; Replaced some hardcoded instance ids with %d. 2008-03-19 17:56:12 +00:00
Steve Seear c441dafbf4 Adding tokenizer test 2008-03-19 17:43:52 +00:00
Steve Seear 6744f65d51 Adding streams tests 2008-03-19 17:38:25 +00:00
Steve Seear 946190d453 Adding filesystem tests 2008-03-19 17:23:29 +00:00
Antony Dovgal 236b0c1bde fix test 2008-03-19 12:36:17 +00:00
Dmitry Stogov 9b8fdcf63f Fixed test 2008-03-19 09:17:21 +00:00
Felipe Pena b781627d85 Fixed bug #43614 (incorrect processing of numerical string keys of array in arbitrary serialized data) 2008-03-19 03:00:40 +00:00
Ilia Alshanetsky 34f0981808 MFB: Bug #44445 (email validator does not handle domains starting/ending
with a -)
2008-03-18 23:32:42 +00:00
Robin Fernandes dc2a59a970 Adding more tests for serialize() and unserialize(). 2008-03-18 15:11:12 +00:00
Felipe Pena d202354263 Fix build 2008-03-18 00:25:24 +00:00
Stanislav Malyshev 7be2f35865 report printf fix 2008-03-17 23:09:06 +00:00
Ilia Alshanetsky 233c3ade12 MFB: Properly address incomplete multibyte chars inside escapeshellcmd() 2008-03-17 23:02:26 +00:00
Stanislav Malyshev 5273e2163b fix integer overflow in length calculation 2008-03-17 23:00:41 +00:00
Josie Messa 9a859a31ab - new tests for ctype functions 2008-03-17 09:50:42 +00:00
Derick Rethans d1e3634d13 - Updated to version 2008.1 (2008a) 2008-03-16 07:22:10 +00:00
Felipe Pena 681859cdc4 BFN: #41828, #44440 2008-03-15 10:46:48 +00:00
Felipe Pena 27f2d54784 Fixed bug #44440 (st_blocks undefined under BeOS) 2008-03-15 10:28:53 +00:00
Felipe Pena 655610a5bb Add SKIPIF (32bit platform only) 2008-03-14 23:13:07 +00:00
Ilia Alshanetsky 62b1449e47 Fixed bug #43677 (Inconsistent behaviour of include_path set with
php_value).
2008-03-13 15:56:21 +00:00
Felipe Pena a8fc46afa7 Fix valgrind version validation (accepting "valgrind-3.2.1-Debian") 2008-03-13 13:51:40 +00:00
Felipe Pena 3958a09990 Sync with fix for #44394 2008-03-12 19:33:46 +00:00
Felipe Pena 69663666c1 Fixed bug #42177 (Warning "array_merge_recursive(): recursion detected" comes again...) 2008-03-12 19:13:00 +00:00
Christopher Jones 0befe23833 MFH: New test for existing behavior 2008-03-12 17:52:48 +00:00
Ilia Alshanetsky 0f1e56bc3a MFB: Fixed bug #44388 (Crash inside exif_read_data() on invalid images) 2008-03-12 17:33:14 +00:00
Etienne Kneuss f2c14fd8b0 Fix bug #41828 (Fix crash on wrong instantiation) 2008-03-12 13:24:24 +00:00
Felipe Pena a000cbd955 Fixed bug #44394 (Last two bytes missing from output) 2008-03-12 11:27:42 +00:00
Antony Dovgal 40f85eb585 MFH: fix segfault - error_string may be NULL, in this case we have to follow the old behavior 2008-03-11 10:27:23 +00:00
Josie Messa c857ec6c98 - Replace with previous commit 2008-03-11 10:15:18 +00:00
Josie Messa 02be1a8d19 - Fix test 2008-03-11 10:01:31 +00:00
Josie Messa 052670121b - Modified tests 2008-03-11 09:55:26 +00:00
Josie Messa 2a93e109e1 - Added extra whitespace around error messages in expected output 2008-03-11 09:45:30 +00:00
Andrey Hristov 031e443b44 char **error_string was passed but not used. This causes problems in cases
of getaddrinfo() failure, because the upper layers don't get the error.
initialize a variable because we were reading initialized in case of error.
2008-03-10 20:09:22 +00:00
Josie Messa 977f7b6716 - New tests for getcwd() function 2008-03-10 15:21:17 +00:00
Josie Messa 63c1185096 - Modified expected output to allow tests to work on all platforms 2008-03-10 15:07:20 +00:00
Felipe Pena d4888d7410 Fixed compilation warnings 2008-03-10 14:54:47 +00:00
Josie Messa 14a393d6a2 - New tests for scandir() function 2008-03-10 14:09:05 +00:00
Felipe Pena d39fbb1548 Fix typo (#44381) 2008-03-09 16:06:33 +00:00
David Coallier ff962d9de1 - MFH . Libxml version < 2.6.21 it fails. Patch from scoates 2008-03-08 19:14:38 +00:00
Zoe Slattery 4ec1845b52 Countable requires SPL 2008-03-08 17:13:06 +00:00
Andrey Hristov ecf84f8b6b Fix introduced in 5.0.46, not in 5.0.42 2008-03-08 14:59:37 +00:00
Felipe Pena 1c9c9daa78 BFN: #44373 2008-03-08 14:10:34 +00:00
Felipe Pena e1cf7f0ca6 Fixed bug #44373 (PDO_OCI extension compile failed) 2008-03-08 14:01:49 +00:00
Nuno Lopes 2e161037fa MFB53 skipif patch as asked by gentoo guys 2008-03-08 12:12:22 +00:00
Pierre Joye 6d3101b8f4 - #44355, compilation breaks due illegal const usage (Guenter Knauf)
I suppose it must break on other platform, it is not used anywhere else
  but here, and it was introduced after 5.2.5 (why no news)
2008-03-07 18:41:02 +00:00
Josie Messa 1b07a0988b - Tests awaiting fix of bug #44246 2008-03-07 16:19:40 +00:00
Josie Messa 46db94819f - New tests for rewinddir() function 2008-03-07 16:08:59 +00:00
Josie Messa f9f818959a - New tests for closedir() function 2008-03-07 15:58:39 +00:00
Scott MacVicar 216e57bf23 Typo, bundled version is really 3.3.7 2008-03-07 10:38:33 +00:00
Antony Dovgal 77f40d6d5b fix build 2008-03-07 08:56:45 +00:00
Stanislav Malyshev 0d6cdac9ff improve seed calculation
# better solution would be to port mt's multi-value seed procedure
2008-03-07 03:34:47 +00:00
Ilia Alshanetsky 3e51cc7a8c Back to dev 2008-03-07 00:36:12 +00:00
Ilia Alshanetsky d4689143e1 5.2.6RC2 2008-03-07 00:27:39 +00:00
Antony Dovgal ba9ad966c3 MFH: fix segfault when trying to clone uncloneable object 2008-03-06 17:28:47 +00:00
Robin Fernandes 1af0116cf0 Add new tests for class/object functions and features. 2008-03-06 10:56:07 +00:00
Ilia Alshanetsky abc6363462 MFB: Revert patch for bug #44325 2008-03-05 23:53:23 +00:00
Pierre Joye 77fee69a7e - #40013, php_uname() does not return nodename on Netware (Guenter Knauf) 2008-03-05 21:09:29 +00:00
Pierre Joye 38b94446a4 - #42505, new sendmail default path breaks on Novell (Guenter Knauf) 2008-03-05 20:58:08 +00:00
Jani Taskinen 2a4a4fbcaf MF53: Fix tests 2008-03-05 15:37:53 +00:00
Jani Taskinen 90f420baa5 - fix test (MF53) 2008-03-05 15:12:27 +00:00
Antony Dovgal 6eee168067 add missing .cvsignore 2008-03-05 12:13:00 +00:00
Jani Taskinen 26116d7285 - Fix tests 2008-03-05 12:10:38 +00:00
Antony Dovgal eb81041b0a MFH: apply better fix 2008-03-05 12:10:18 +00:00
Antony Dovgal 1a65748249 cosmetic fixes 2008-03-05 10:46:46 +00:00
Antony Dovgal 31683f4bfa MFH: fix memory corruption due to double destruction of default dir handle 2008-03-05 09:29:37 +00:00
Felipe Pena b47aea1094 Fixed bug #44333 (SEGFAULT when using mysql_pconnect() with client_flags) 2008-03-04 22:25:35 +00:00
Ilia Alshanetsky c36af9e2b5 MFB: Fixed bug #44325 (mssql_bind not correctly bind empty strings as
parameter value)
2008-03-04 19:39:08 +00:00
Josie Messa 6d48ddaf8f - new tests for readdir() function 2008-03-04 17:06:47 +00:00
Zoe Slattery 77a1339755 re-fixing to skip on 64 bit 2008-03-04 13:25:30 +00:00
Dmitry Stogov f4068e65ba Fixed SIGSEGV because of acess to uninitialized data 2008-03-04 12:23:10 +00:00
Dmitry Stogov 0d7d139700 Fixed wrong result of cascading assignment to string offset 2008-03-04 11:49:31 +00:00
Dmitry Stogov 43a9fd4c4a Fixed wrong result of cascading assignment to string offset
Fixed memory corruption on cascading assignment of IS_TMP_VAR into string offset
Fixed opcode caches shared memory corruption on cascading assignment of IS_CONST into string offset
2008-03-04 11:48:53 +00:00
Dmitry Stogov 7089db25e0 Fixed shared memory corruption of opcode caches 2008-03-04 11:46:09 +00:00
Antony Dovgal f3213ecacd MFH 2008-03-04 11:16:39 +00:00
Josie Messa 94565fb450 - new tests for opendir() function 2008-03-04 10:39:32 +00:00
Ilia Alshanetsky 0418676cc6 MFB: Fixed bug #44166 (Parameter handling flaw in
PDO::getAvailableDrivers())
2008-03-03 21:14:33 +00:00
Ilia Alshanetsky 5d66c33385 MFB: Fixed bug #44166 (Parameter handling flaw in
PDO::getAvailableDrivers())
2008-03-03 21:14:19 +00:00
Ilia Alshanetsky c4d4183f96 MFB: Fixed bug #44306 (Better detection of MIPS processors on Windows) 2008-03-02 15:36:09 +00:00
Ilia Alshanetsky 73550dd6b5 Set proper RC version (Thanks Hannes) 2008-02-28 15:36:07 +00:00
Ilia Alshanetsky 0dd068331a Back to dev 2008-02-28 00:35:26 +00:00
Ilia Alshanetsky 743bb87a57 5.2.6RC1 2008-02-28 00:30:35 +00:00
Ilia Alshanetsky 9c3f699ed8 Fixed security issue detailed in CVE-2008-0599 2008-02-28 00:29:29 +00:00
Antony Dovgal 0c0fb4be83 MFH 2008-02-27 09:35:10 +00:00
Felipe Pena 5db9cbbc40 MFB: Fixed bug #43559 (array_merge_recursive() doesn't behave as expected with duplicate NULL values) 2008-02-27 02:04:09 +00:00
Felipe Pena 45e379b49d Improved fix for #44242 2008-02-27 01:10:56 +00:00
Ilia Alshanetsky 45c443576e MFB: Fixed bug #44233 (MSG_PEEK undefined under BeOS R5) 2008-02-27 00:32:39 +00:00
Josie Messa 7c28ec2e54 - New tests for chdir() function 2008-02-26 09:31:16 +00:00
Christopher Jones 8b43d4de96 Fix test noise 2008-02-26 01:06:37 +00:00
Ilia Alshanetsky 86647d648f MFB: Better fix for bug #44189 2008-02-26 00:14:04 +00:00
Christopher Jones 8bdaeafc23 Add recent OCI8 bug fixes 2008-02-26 00:04:18 +00:00
Christopher Jones 2ce86f5e5a OCI8: fix bug #44008 (OCI-Lob->close) & bug #44206 (ref cursor leak) 2008-02-25 23:52:10 +00:00
Felipe Pena 9b730870a1 Fixed bug #44242 (metaphone(CMXFXM) crashes PHP) 2008-02-25 22:40:45 +00:00
Derick Rethans a58f8d2a9b - MFH: Fixed tests on 64bit platform. 2008-02-25 22:34:11 +00:00
Derick Rethans 08e237cc6d - MFH: Fixed a problem with parsing timezones as part of a format.
#- It doesn't actually fix anything, but atleast it's consistent with HEAD.
2008-02-25 18:28:18 +00:00
Steve Seear d4e61a3042 Replace hardcoded resource ids with %d in fgetc() tests. 2008-02-25 10:28:43 +00:00
Felipe Pena 7af1de82e3 New test 2008-02-24 18:49:40 +00:00
Felipe Pena f75a2de1c1 Fixed segfault in filter extension when using callbacks. (reported & patched by Arnar Mar Sig) 2008-02-24 18:34:30 +00:00
Ilia Alshanetsky c2805b88e5 MFB: Fixed bug #44200 (A crash in PDO when no bound targets exists and yet
bound parameters are present)
2008-02-24 16:09:05 +00:00
Derick Rethans 8241ee2226 - MFH: Fixed bug #44216 (strftime segfaults on large negative value). 2008-02-22 17:49:30 +00:00
Derick Rethans dfd8f3f735 - MFH: Fixed bug #44209: strtotime doesn't support 64 bit timestamps. 2008-02-22 09:48:18 +00:00
Josie Messa 6dc4795a66 - New tests for reset() function 2008-02-22 09:18:25 +00:00
Dmitry Stogov 6c7fe8df9f Fixed test 2008-02-22 08:16:32 +00:00
Felipe Pena fcffdf2285 Fix test 2008-02-22 02:45:37 +00:00
Josie Messa d8794230ed - New tests for end() and next() function 2008-02-21 16:38:12 +00:00
Dmitry Stogov 7eb1befffe Fixed bug #43483 (get_class_methods() does not list all visible methods) 2008-02-21 15:14:13 +00:00
Josie Messa ffa42113ff - New tests for key() function 2008-02-21 14:34:02 +00:00
Felipe Pena 3ed933811b Fix test 2008-02-21 14:22:04 +00:00
Dmitry Stogov 28306e3439 Fixed bug #44141 (private parent constructor callable through static function) 2008-02-21 13:55:22 +00:00
Ilia Alshanetsky 744d8992b3 MFB: Fixed bug #44189 (PDO setAttribute() does not properly validate values
for native numeric options)
2008-02-21 13:37:52 +00:00
Felipe Pena 4421fc2204 Cosmetics change 2008-02-21 13:32:03 +00:00
Antony Dovgal 00315b1d42 MF53 2008-02-21 11:53:51 +00:00
Dmitry Stogov 7c40e93b69 Fixed test 2008-02-21 08:17:00 +00:00
Felipe Pena 48952c1b1d Fix typo 2008-02-21 02:39:43 +00:00
Felipe Pena e0379278af Fixed Bug #44197 (socket array keys lost on socket_select) 2008-02-21 02:34:50 +00:00
Felipe Pena 50bdcc203b Fixed Bug #44191 (preg_grep messes up array index) 2008-02-20 22:08:18 +00:00
Felipe Pena 2778d2ad59 New test 2008-02-20 21:56:45 +00:00
Ilia Alshanetsky de270b4d6e MFB: Fixed bug #44152 (Possible crash with syslog logging on ZTS builds). 2008-02-20 15:28:37 +00:00
Josie Messa 18dc5aaed6 - New tests for current() function 2008-02-20 14:19:44 +00:00
Dmitry Stogov 39c4c3971d Fixed bug #44184 (Double free of loop-variable on exception) 2008-02-20 12:04:50 +00:00
Ilia Alshanetsky 766b688c8e MFB: Fixed bug #44171 (Invalid FETCH_COLUMN index does not raise an error) 2008-02-20 03:12:16 +00:00
Josie Messa 5c394578de - New tests for each() function 2008-02-19 17:00:58 +00:00
Dmitry Stogov 981603b55c Reverted wrong commit (debug code) 2008-02-19 16:44:43 +00:00
Dmitry Stogov 12e8e280c7 Fixed memory leaks 2008-02-19 16:39:02 +00:00
Dmitry Stogov 59f4a9381f Fixed test 2008-02-19 16:33:17 +00:00
Felipe Pena 5ccd0528fe New test 2008-02-19 14:53:44 +00:00
Felipe Pena d0fea14428 Fixed Bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)) 2008-02-19 12:09:47 +00:00
Dmitry Stogov ee82eac68a Fixed memory leak 2008-02-19 12:00:36 +00:00
Josie Messa ae105adfd9 - New tests for natcasesort() function 2008-02-19 10:51:44 +00:00
Sebastian Bergmann 87784c32b3 MFH: Fugbix typo. 2008-02-19 06:52:58 +00:00
Dmitry Stogov 8187dbfa4d Made code opcode-cache friendly. (It is disallowed to change code during execution) 2008-02-18 14:30:25 +00:00
Rui Hirokawa f17936083a fixed some failures on test scripts caused by bug fix. 2008-02-18 14:28:13 +00:00
Ilia Alshanetsky 304923d187 MFB:Fixed a possible crash 2008-02-18 13:29:00 +00:00
Dmitry Stogov 4a3df17f43 Removed redundant refcount manipulations 2008-02-18 12:11:34 +00:00
Dmitry Stogov 63fbdfb3e1 Fixed test 2008-02-18 09:02:16 +00:00
Ilia Alshanetsky f506f6254a Mbstring bug fixing news 2008-02-17 17:20:40 +00:00
Rui Hirokawa 65ef397b3c MF PHP5_3 (fixed #43841) 2008-02-17 02:06:56 +00:00
Rui Hirokawa 419b7283d3 MF PHP5_3 (fixed #43994) 2008-02-17 02:04:12 +00:00
Rui Hirokawa e2fa604b0a MF PHP5_3 (fixed #43998) 2008-02-17 02:01:41 +00:00
Rui Hirokawa bd98b8a3e0 MF PHP5_3 (fixed #43840) 2008-02-17 01:59:03 +00:00
Rui Hirokawa ba670d01b5 MF PHP5_3 2008-02-16 08:32:57 +00:00
Rui Hirokawa ee71417ef0 MF PHP5_3 2008-02-16 08:25:11 +00:00
Christopher Jones 7ac84b8607 Test existing LOB error messages 2008-02-16 03:01:17 +00:00
Christopher Jones 6c0abfe077 Bug #44113 (New collection creation can fail with OCI-22303) 2008-02-15 23:05:19 +00:00
Josie Messa 9da1ec78c0 - New tests for rsort() function 2008-02-15 16:05:28 +00:00
Antony Dovgal e3189410c4 MFH: recursion protection in count() 2008-02-15 09:33:26 +00:00
Dmitry Stogov f29c6b45a8 MFH: Fixed bug #43128 (Very long class name causes segfault) 2008-02-15 07:44:46 +00:00
Dmitry Stogov 5ef434d175 Fixed bug #43507 (SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status) 2008-02-15 06:50:39 +00:00
Dmitry Stogov 0be31f3f3c Fixed test 2008-02-15 06:38:37 +00:00
Josie Messa 5ae0fb0628 - New tests for count() function 2008-02-14 16:49:17 +00:00
Josie Messa 5ce503459d - removing .project file 2008-02-14 16:20:19 +00:00
Josie Messa 87e2a75f70 - New variation test for array_values() 2008-02-14 16:15:16 +00:00
Dmitry Stogov af3aecb688 Fixed bug #44069 (Huge memory usage with concatenation using . instead of .=) 2008-02-14 14:47:25 +00:00
Josie Messa 592f5f384e - New tests for array_values() function 2008-02-14 14:21:48 +00:00
Felipe Pena a69ea8773d Fixed Bug #42838 (Wrong results in array_diff_uassoc) 2008-02-14 14:02:02 +00:00
Felipe Pena cf2c1c59aa New test 2008-02-14 13:49:55 +00:00
Josie Messa f56d34a230 - New tests for array_slice() function 2008-02-14 11:15:54 +00:00
Dmitry Stogov 8448591096 Fixed memory leak 2008-02-14 08:46:08 +00:00
Josie Messa 079c7f0cd6 - New tests for array_shift() function 2008-02-13 16:41:27 +00:00
Josie Messa b289acb3af - New tests for array_push() function 2008-02-13 16:10:43 +00:00
Josie Messa 2554f5ca00 - committing tests for array_merge() function 2008-02-13 14:20:22 +00:00
Josie Messa 064bbbb04e - committing tests for array_key_exists() function 2008-02-13 13:15:11 +00:00
Marcus Boerger 697b79f6a3 - MFH Make this behave like in <= 5.2.5 and test for it 2008-02-13 12:23:26 +00:00
Greg Beaver 26f6c26c8c MFH: fix potential memleak due to destruction of filterparams zval 2008-02-12 23:29:18 +00:00
Johannes Schlüter 201a2ec1f0 - MFH: Make clear what's going on and avoid overwriting parameters 2008-02-12 20:43:50 +00:00
Hannes Magnusson 8fbb789d04 Fix test 2008-02-12 20:06:10 +00:00
Josie Messa fa7ab79523 - committing array_change_key_case variation tests 2008-02-12 17:43:54 +00:00
Felipe Pena d1f536595e MFB: array_slice() - Fixed behavior when NULL is given in third parameter (BC) 2008-02-12 12:47:30 +00:00
Felipe Pena 13e939679b MFB: Fixed Bug #44094 (SEGFAULT when using mysql_connect()) 2008-02-12 10:24:35 +00:00
Zoe Slattery a628bc8856 Fixing 44092 2008-02-12 07:27:49 +00:00
Ilia Alshanetsky 2e6320425b MFB: Fixed test on 64bit machines 2008-02-11 16:23:12 +00:00
Johannes Schlüter eaa1662a75 MFH: The exact message differs on different systems 2008-02-11 00:03:30 +00:00
Johannes Schlüter c04ac43efa - Fix typo (see #44095) 2008-02-11 00:01:29 +00:00
Jani Taskinen 839abfabcc MFH 2008-02-06 19:14:07 +00:00
Jani Taskinen c717b41784 MFH:- Fixed bug in handling arrays which caused the original array being modified too. 2008-02-06 19:07:36 +00:00
Marcus Boerger 745fe9004f - BFN 2008-02-06 11:10:07 +00:00
Marcus Boerger dd570d65ce - WS 2008-02-06 11:09:48 +00:00
Zoe Slattery 44b091a30d Tests for assorted Maths functions 2008-02-06 09:51:19 +00:00
Ilia Alshanetsky 5b0fbbefe1 MFB: Fixed bug #44046 (crash inside array_slice() function with an invalid
by-ref offset).
2008-02-05 16:01:21 +00:00
Robert Nicholson 95121ed073 - fix arsort_variation3.phpt which was missing its EXPECT section 2008-02-05 11:18:00 +00:00
Marcus Boerger f26c177b2d - Damnit you flags (wrong commit) 2008-02-04 21:49:44 +00:00
Marcus Boerger 9a90cfc99c - MFH Really last flag change (got confused with code) 2008-02-04 21:37:55 +00:00
Ilia Alshanetsky 2c92d82a02 Revert fix for bug #43981, not yet ready for 5.2 2008-02-04 21:31:52 +00:00
Marcus Boerger 80907e4a91 - MFH Flag handling and documentation 2008-02-04 20:43:50 +00:00
Sebastian Bergmann 0d516bf7ec Add NEWS entry for ext/dom arginfo changes. 2008-02-04 19:43:34 +00:00
Sebastian Bergmann cc0b2dd120 MFH: Add missing Reflection API metadata for DOM classes. 2008-02-04 15:23:11 +00:00
Robert Nicholson 622504d7a3 - added some new tests for arsort 2008-02-04 00:04:26 +00:00
Ilia Alshanetsky e002e2ec1c MFB: Fixed bug #44028 (crash inside stream_socket_enable_crypto() when
enabling encryption without crypto type)
2008-02-03 16:15:30 +00:00
Derick Rethans 3bcef3b39d - Fixed invalid read errors as found by GCOV. 2008-02-03 14:22:55 +00:00
Antony Dovgal 20b39a9806 fix test, add 64bit version 2008-02-02 23:44:39 +00:00
Derick Rethans d7ae91bea7 - MFH: Make timezone_open() work again. 2008-02-02 17:26:23 +00:00
Zoe Slattery cc0b147a2f A few new tests for math functions - Note the "constants" test will fail on Windows - Bug 42143. 2008-02-01 17:27:43 +00:00
Robert Nicholson 801ce5ee03 - a few more gd tests (committed on behalf of andy wharmby) 2008-02-01 16:33:37 +00:00
Josie Messa bb5f5da561 - Committing new tests for MBString extension.
More details can be found here: http://news.php.net/php.qa/62382
2008-02-01 15:27:57 +00:00
Rob Richards 390b033755 BFN 2008-01-31 22:00:22 +00:00
Rob Richards 1dc8e72874 MFH: fix bug #42369 (Implicit conversion to string leaks memory)
add test
2008-01-31 21:59:41 +00:00
Antony Dovgal caf57b0532 BFN 2008-01-31 20:23:33 +00:00
Christopher Jones dece018a41 Fixed bug #42841 (REF CURSOR and oci_new_cursor PHP crash) 2008-01-31 00:26:44 +00:00
Ilia Alshanetsky 6f1c2f04a0 MFB: Fixed bug #43981 (gmp_div_r() does not preserve the sign of 1st
argument)
2008-01-30 18:27:03 +00:00
Zoe Slattery 51f63718cf Removing superfluous --INI-- section 2008-01-30 17:44:54 +00:00
Rob Richards 82a3271eda BFN 2008-01-30 15:30:44 +00:00
Rob Richards 005ece078a MFH: fix bug #41562 (SimpleXML memory issue) 2008-01-30 15:29:51 +00:00
Robin Fernandes 5912128780 Adding tests for class features, including __autoload(), property inheritance rules and class constants. 2008-01-30 14:24:47 +00:00
Rasmus Lerdorf 529092df9b Copy-paste typo 2008-01-30 08:50:02 +00:00
Sebastian Bergmann 410fb2b6d4 MFH: Fix arginfo. 2008-01-30 06:48:20 +00:00
Rasmus Lerdorf b8af6b08db This one depends on the precision setting 2008-01-30 05:37:23 +00:00
Rasmus Lerdorf 7b624a37bc Fixed bug #43957 (utf8_decode() bogus conversion of partial multibyte UTF8 char) 2008-01-29 23:21:20 +00:00
Sebastian Bergmann 088d2d98b8 MFH: Fix arginfo and prototype. 2008-01-29 21:21:28 +00:00
Nuno Lopes 8cb33d2c04 upgrade to pcre 7.6 2008-01-29 20:25:47 +00:00
Dmitry Stogov 7c51430b37 Fixed bug #43968 (Extending internal class causes a crash)
The fix is a workaround for GCC optizer bug.
2008-01-29 20:01:14 +00:00
Sebastian Bergmann fef277ab76 MFH: Add Reflection API metadata for DOMXPath. 2008-01-29 15:55:29 +00:00
Sebastian Bergmann 0c685dc3c0 MFH: Add Reflection API metadata for DOMNode. 2008-01-29 15:23:25 +00:00
Dmitry Stogov f8d7d6fc90 Fixed bug #43491 (Under certain conditions, file_exists() never returns) 2008-01-29 14:23:19 +00:00
Antony Dovgal 1a4c15d5e1 MFH: fix #43927 (koi8r is missing from html_entity_decode())
patch by andy at demos dot su
2008-01-29 13:39:03 +00:00
Dmitry Stogov e4782cddf4 Fixed bug #43505 (Assign by reference bug) 2008-01-29 10:44:53 +00:00
Dmitry Stogov c9fd5b3010 Fixed test 2008-01-29 10:43:42 +00:00
Antony Dovgal c86f396edf BFN 2008-01-29 09:30:08 +00:00
Sebastian Bergmann 984b2c84a5 MFH: Add Reflection API metadata for XSLTProcessor. 2008-01-29 07:51:46 +00:00
Antony Dovgal 65d0aca95c MFH: fix type and bug #43646 2008-01-29 00:08:08 +00:00
Scott MacVicar 20809972dc MFH: Fixed bug #43954 (Memory leak when sending the same HTTP status code more than once.) 2008-01-28 16:12:55 +00:00
Hannes Magnusson 1e0125e9a4 Remove bogus test (should be in HEAD) 2008-01-27 18:20:27 +00:00
Marcus Boerger f2e8119bf5 - Add second parameter to SplObjectStorage::attach()
- Add SplObjectStorage::setInfo()
- Add SplObjectStorage::getInfo()
2008-01-27 18:04:56 +00:00
Rob Richards 86ae2781fb MFH: add missing export 2008-01-27 16:33:22 +00:00
Derick Rethans da11bc2b32 - MFH Bugfixes:
- Fixed bug #43808 (date_create never fails (even when it should)).
	- Fixed bug #43527 (DateTime created from a timestamp reports environment
	  timezone).
	- Fixed bug #43003 (Invalid timezone reported for DateTime objects
	  constructed using a timestamp).
	- Fixed bug #42190 (Constructing DateTime with TimeZone Indicator
	  invalidates DateTimeZone).
	- Fixed bug #41599 (setTime() fails after modify() is used).
2008-01-26 16:26:47 +00:00
Robert Nicholson 905f0d086b - Add a basic test for array_shuffle() 2008-01-25 00:30:52 +00:00
Robert Nicholson db0c290db4 - add some basic tests for array diff and intersection functions 2008-01-25 00:16:14 +00:00
Antony Dovgal ab8436fc87 MFH 2008-01-24 23:11:15 +00:00
Robert Nicholson 6b7d50ead4 - New tests for compact() 2008-01-24 14:52:38 +00:00
Rob Richards e660e038a4 MFH: fix zts build 2008-01-24 14:10:21 +00:00
Dmitry Stogov bab919b91b Fixed error message 2008-01-24 08:51:04 +00:00
Ilia Alshanetsky cfcb262dfb MFB:Fixed bug #43912 (Interbase column names are truncated to 31 characters) 2008-01-23 01:22:57 +00:00
Antony Dovgal 5331163715 add new test 2008-01-22 15:43:09 +00:00
Hannes Magnusson 66d39db51e MFH: Fixed bug #43875 (Two error messages returned for $new and $flag argument in mysql_connect()) 2008-01-20 14:13:11 +00:00
Christopher Jones a4c915c855 MFH: Add ifdef 2008-01-18 16:03:35 +00:00
Antony Dovgal 45353a5c39 fix test 2008-01-18 12:41:24 +00:00
Antony Dovgal f66f94b4b0 fix test 2008-01-18 12:12:19 +00:00
Antony Dovgal ff7be14077 BFN 2008-01-18 07:10:21 +00:00
Pierre Joye c1fa811b5c - reflect the correct version 2008-01-18 00:51:38 +00:00
Greg Beaver 736e23a4c5 MF5.3: install headers, use correct zip version 2008-01-18 00:31:23 +00:00
Greg Beaver 42b320bca1 MFH: add errors when missing dependencies (Steph) 2008-01-17 21:17:29 +00:00
Ilia Alshanetsky 23994f9150 MFB: Fixed bug #42779 (Incorrect forcing from HTTP/1.0 request to HTTP/1.1
response)
2008-01-16 15:50:37 +00:00
Antony Dovgal b42398f850 MFH: fix #43863 (str_word_count() breaks on cyrillic "ya" in locale cp1251)
patch by phprus at gmail dot com
2008-01-16 08:35:59 +00:00
Dmitry Stogov bb084caec1 Fixed wrong type cast 2008-01-16 06:14:45 +00:00
Christopher Jones 65bec2edc8 MFH: fix #41941 (oci8 extension not lib64 savvy) 2008-01-16 00:42:02 +00:00
Christopher Jones ea2d2d6bb6 MFH: Testcase for #43492 (nested cursors) 2008-01-15 20:54:22 +00:00
Christopher Jones f4a29d5432 fix #43497 (OCI8 XML/getClobVal aka temporary LOBs leak UGA memory) 2008-01-15 20:42:13 +00:00
Rob Richards 844d6ee35b MFH: fix memleak in sign and verify functions 2008-01-15 15:13:37 +00:00
Brian Shire 751b0807b1 MFH: Fix bug #42850 array_walk_recursive() leaves references, refix bug #34982 2008-01-14 22:10:09 +00:00
Ilia Alshanetsky a2581f81d1 MFB: Missing patch bit from the FETCH_GROUP fix 2008-01-14 18:41:41 +00:00
Nuno Lopes 0f9729404f MFH: fix bug #42945, as asked by Ilia 2008-01-14 09:46:55 +00:00
Nuno Lopes 255a7b9cf0 upgrade PCRE to version 7.5 (as asked by Ilia 2008-01-14 09:39:41 +00:00
Greg Beaver c98f8dc302 merge in cgi fixes from PHP_5_3 2008-01-14 04:34:17 +00:00
Greg Beaver b24c96616a add missing alias .h files 2008-01-14 03:58:03 +00:00
Greg Beaver 1d3604c1b1 MFH: export libzip symbols 2008-01-14 03:19:41 +00:00
Greg Beaver 1d28516b79 MFH: far better fix for bug #40189 2008-01-12 22:04:03 +00:00
Greg Beaver ee16647cfd MFH: fix faulty fix for Bug #40189, and provide real fix for the bug 2008-01-12 21:35:44 +00:00
Greg Beaver 5d96f54cf9 revert last commit, was to wrong branch 2008-01-12 03:46:47 +00:00
Greg Beaver 9ce5990880 MFH: export symbols for use by other extensions like phar 2008-01-12 03:43:06 +00:00
Rob Richards 0d1fe9c73b MFH: starting with 2.6.30, standard libxml2 build can be used 2008-01-11 13:37:24 +00:00
Ilia Alshanetsky aa51dce93a MFB: Fixed a bug with PDO::FETCH_COLUMN|PDO::FETCH_GROUP mode when a column
# by which to group by data is specified.
2008-01-11 01:47:55 +00:00
Brian Shire 0c855571c3 - MFH fix truncation of large values on 64-bit systems in http_build_query 2008-01-10 20:32:41 +00:00
Antony Dovgal c2f8930033 correct number of symbols 2008-01-10 08:45:39 +00:00
Antony Dovgal 2fe13db7ac fix test 2008-01-10 08:45:06 +00:00
Dmitry Stogov d5bd104d9d Fixed broken soap.wsdl_cache_enabled 2008-01-09 16:45:30 +00:00
Greg Beaver 8a1cd11e0b apply proper fix of bug #43793 to zlib.deflate (window+16 = gzip) 2008-01-09 08:12:26 +00:00
Dmitry Stogov b58a5db130 Fixed bug #43703 (Signature compatibility check broken) 2008-01-09 07:57:23 +00:00
Greg Beaver a603c8d71b apply same fix of bug #43793 to zlib.deflate 2008-01-09 07:03:41 +00:00
Greg Beaver ad7f030c6d fix Bug #43793: zlib filter is unable to auto-detect gzip/zlib file headers 2008-01-09 06:45:15 +00:00
Pierre Joye 3dd5e7854c - #43790, fix crash when no family name has been found 2008-01-09 01:50:59 +00:00
Ilia Alshanetsky c73247fe2c MFB: Fixed bug #43498 (file_exists() on a proftpd server got SIZE not
allowed in ASCII mode).
2008-01-08 19:10:16 +00:00
Ilia Alshanetsky 0b25a9fb8c Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz. 2008-01-06 17:12:29 +00:00
Greg Beaver 4490673e0e remove potential preg warnings if --EXPECTHEADERS-- is combined with --EXPECTF-- or --EXPECTRE-- 2008-01-05 21:39:47 +00:00
Greg Beaver 32f4ff69b5 implement --FILE_EXTERNAL-- section for using an external file as --FILE--, use CGI for --EXPECTHEADERS--, fix --POST_RAW-- 2008-01-05 21:05:14 +00:00
Raghubansh Kumar d380d052af New testcases for array_diff() function 2008-01-04 14:04:26 +00:00
Raghubansh Kumar 5fe2521143 New testcases for array_diff_assoc() function 2008-01-04 14:03:57 +00:00
Ulf Wendel 8e0bb2d72c MFH: Fix for bug #43036 2008-01-04 09:19:49 +00:00
Ilia Alshanetsky 0c882b2645 MFB: Skip test for PostgreSQL driver since error is too dissimilar to other
drivers
2008-01-03 16:47:08 +00:00
Raghubansh Kumar b054ae8716 this testcase has been split into many smaller testcases and committed. 2008-01-03 09:50:05 +00:00
Raghubansh Kumar 5a6c4393cb new smaller testcases for array_map() function 2008-01-03 09:48:42 +00:00
Steve Seear 425646f98b Adding PHPT tests for the ReflectionMethod class. 2008-01-03 09:06:08 +00:00
Ilia Alshanetsky 02967f7040 MFB: Fixed bug #43647 (Make FindFile use PATH_SEPARATOR instead of ";") 2008-01-02 19:20:15 +00:00
Ilia Alshanetsky 660fac9dc0 MFB: Update copyright 2008-01-01 18:30:41 +00:00
Hartmut Holzgraefe 3e34e202d5 MFH: Fix for bug #42548 "PROCEDURE xxx can't return a result set" 2008-01-01 16:51:09 +00:00
Derick Rethans aaeded2ac7 - Updated to version 2007.11 2008-01-01 15:32:28 +00:00
Hannes Magnusson 30ff9a85cf MFH: Fix test 2008-01-01 14:36:08 +00:00
Sebastian Bergmann 58fea2b990 MFB: Leftover: Bump copyright year. 2008-01-01 06:15:48 +00:00
Sebastian Bergmann dfa693b392 Leftover: Bump copyright year. 2007-12-31 07:25:08 +00:00
Sebastian Bergmann d9f3a1305f MFH: Bump copyright year, 2 of 2. 2007-12-31 07:20:42 +00:00
Sebastian Bergmann e78105b103 MFH: Bump copyright year, 1 of 2. 2007-12-31 07:17:40 +00:00
David Soria Parra e81a660bae - Fixed bug #43663 (Extending PDO class with a __call() function doesn't work). 2007-12-30 17:59:31 +00:00
Jani Taskinen 3b2ca90699 MFH:- This makes no sense with non-ipv6 builds. (and fixes lot of issues with misconfigured servers) 2007-12-29 18:46:37 +00:00
Hannes Magnusson 5a5f3e6dff Fix test when additional ini files are used (patch by <confins_de_l_univers at yahoo dot fr>) 2007-12-29 11:38:06 +00:00
Antony Dovgal 6db1f40e32 correct fix for bug #43522 2007-12-29 10:52:51 +00:00
Hannes Magnusson dbbd4bf1b8 MFH: Update the class method documentation links 2007-12-29 02:22:23 +00:00
Dmitry Stogov df9e324f35 Fixed test related to bug #38469 2007-12-28 13:38:30 +00:00
Dmitry Stogov 2705adc4b9 Fixed bug #38469 (Unexpected creation of cycle). 2007-12-28 13:38:20 +00:00
Hannes Magnusson 97c1cc8925 BFN 2007-12-27 02:12:48 +00:00
Hannes Magnusson 7c9ab52ca4 MFB5.3: Fixed bug#43105 (PHP seems to fail to close open files.) 2007-12-27 02:10:26 +00:00
Hannes Magnusson 6bcf63c567 MFH: Fix typo (TAKAGI Masahiro) 2007-12-26 21:03:12 +00:00
Raghubansh Kumar 8774eb1ae9 fix test : do not run when run as root 2007-12-25 16:16:32 +00:00
Dmitry Stogov 24957a15e0 Fixed %f regex 2007-12-25 12:06:22 +00:00
Raghubansh Kumar cb165e184d new testcases for dir() function 2007-12-24 05:21:08 +00:00
Raghubansh Kumar 63ff78e2f3 fix tests 2007-12-24 04:26:41 +00:00
Raghubansh Kumar 77245e4907 Changing the regex for %f so the it will match e-, e+ and e. 2007-12-24 04:24:20 +00:00
Johannes Schlüter bb52c198ce -Fix name (arg, new keyboard is coming...) 2007-12-21 21:18:01 +00:00
Johannes Schlüter 0bc875c9ca -Fix name 2007-12-21 21:17:31 +00:00
Johannes Schlüter 42add0f2e1 - MFH: Fix #43450 (Memory leak on some functions with implicit object
__toString() call) (Davic C.)
2007-12-21 20:58:11 +00:00
Dmitry Stogov ab6121f686 Fixed test 2007-12-21 09:44:13 +00:00
Raghubansh Kumar 59ddc3b287 fix tests 2007-12-20 17:28:36 +00:00
Dmitry Stogov 6789574da2 x86_64 assembler optimization (Brain Shire) 2007-12-20 13:22:22 +00:00
Robert Nicholson 6194af1343 New test - Indexing - various special cases 2007-12-20 11:41:40 +00:00
Robert Nicholson 847f462905 new tests for array_map usage variations - string keys and references 2007-12-20 11:18:55 +00:00
Ilia Alshanetsky c21ef044a7 MFB: Fixed bug #43635 (mysql extension ingores INI settings on NULL values
passed to mysql_connect())
2007-12-20 00:31:49 +00:00
Raghubansh Kumar a81fccc47d fix test 2007-12-19 10:40:18 +00:00
Derick Rethans dc30b0035d - MFH: Fixed var_export() for array keys
- MFH: Fixed broken explode() test
2007-12-19 08:45:16 +00:00
Steve Seear fd81f61e0d Adding PHPT tests for the ReflectionProperty class. 2007-12-18 17:20:05 +00:00
Ilia Alshanetsky a68454f659 MFB: Fixed bug #43620 (Workaround for a bug inside libcurl 7.16.2 that can
result in a crash)
2007-12-18 13:47:37 +00:00
Jani Taskinen b9fabc8ae6 MFH:- Fix indent of macros 2007-12-17 08:52:30 +00:00
Johannes Schlüter bbfe422bd1 - MFH: Fix #43611 SplObjectStorage is available since 5.1.2 2007-12-16 22:19:58 +00:00
Hannes Magnusson 327109fab1 MFB5.3: Fix test 2007-12-16 19:18:44 +00:00
Ilia Alshanetsky 1643c14e5f MFB: Fixed bug #43589 (a possible infinite loop in bz2_filter.c) 2007-12-16 17:22:31 +00:00
Ilia Alshanetsky 6dc859da75 MFB: Fixed bug #43606 (define missing depencies of the exif extension) 2007-12-16 17:14:54 +00:00
Hannes Magnusson 25a7740600 Fix protos 2007-12-15 12:52:11 +00:00
Raghubansh Kumar ee8d2395e1 New testcases for token_get_all() function 2007-12-14 16:23:12 +00:00
Antony Dovgal eb324c4cce MFH 2007-12-13 22:30:28 +00:00
Douglas Goldstein 45dba3ecc7 add tests for ldap_dn2ufn() 2007-12-13 17:59:52 +00:00
Douglas Goldstein 2013cd57cd expand ldap_explode_dn() tests. 2007-12-13 17:46:46 +00:00
Dmitry Stogov 853adf67f9 Fixed test 2007-12-13 07:57:24 +00:00
Ilia Alshanetsky c35249d45e MFB Fixed bug #43580 (removed bogus declaration of a non-existent php_is_url()
function)
2007-12-13 00:33:26 +00:00
Antony Dovgal 0e70b8fea0 MFH: add valgrind 3.3.0 support 2007-12-12 20:21:57 +00:00
Douglas Goldstein 8f8e19dc7b add skipif case if the ldap extension is not loaded 2007-12-11 17:35:11 +00:00
Douglas Goldstein 57dbd0837a put ldap_explode_dn.phpt in proper directory 2007-12-11 17:33:51 +00:00
Douglas Goldstein becf94003a Adding initial tests for LDAP module. Adding tests for ldap_explode_dn() function 2007-12-11 17:20:58 +00:00
Jani Taskinen 0644aff586 MFH:- Revert previous patch, it was correct to do this, error is logged if logging is enabled 2007-12-11 12:26:16 +00:00
Jani Taskinen 882bd652df MFH: fix error displaying 2007-12-11 11:29:37 +00:00
Raghubansh Kumar b1c09efa90 New testcases for array_walk() function 2007-12-11 10:50:17 +00:00
Raghubansh Kumar 1ed9911cfa New testcases for array_merge_recursive() function 2007-12-11 09:09:12 +00:00
Christopher Jones e2c7f9c485 Fix #42496. Cursor leak fetching LOBs 2007-12-11 06:07:13 +00:00
Ilia Alshanetsky 8a9ad0081d MFB: Fixed bug #43522 (stream_get_line() eats additional characters) 2007-12-10 14:18:02 +00:00
Derick Rethans 63dcbb73f0 - MFH: Fixed Bug #42272 (var_export() incorrectly escapes char(0)). 2007-12-09 16:55:46 +00:00
Ilia Alshanetsky 2caccf3136 Fixed bug #43533 (escapeshellarg('') returns null).
# Backport of code from 5.3
2007-12-09 16:37:02 +00:00
Raghubansh Kumar e31fd8027f new testcases for array_unique() function 2007-12-09 14:44:18 +00:00
Marcus Boerger f012dee00c -MFH: db 4.6 detection 2007-12-06 14:17:43 +00:00
Ilia Alshanetsky f6829cf90f MFB: Fixed bug #43495 (array_merge_recursive() crashes with recursive
arrays)
2007-12-05 20:04:13 +00:00
Ilia Alshanetsky e3ec29a3f1 MFB: fixed test 2007-12-04 13:05:24 +00:00
Ilia Alshanetsky bb9384cb8a MFB: Fixed bug #43493 (pdo_pgsql does not send username on connect when
password is not available)
2007-12-04 13:05:03 +00:00
Antony Dovgal 33885b64a4 MFH 2007-12-04 08:56:14 +00:00
Antony Dovgal fe8771ec81 fix typos
use the earliest bug report in the description
2007-12-03 16:33:37 +00:00
Dmitry Stogov aeae1ce48a bug numbers 2007-12-03 16:20:55 +00:00
Dmitry Stogov 0c2edc588d Fixed crash because of uninitialized SG(sapi_headers).mimetype 2007-12-03 16:04:26 +00:00
Derick Rethans 3f9a50c5bf - Updated to version 2007.10 2007-12-03 15:16:40 +00:00
Dmitry Stogov b68b2e029c Fixed weired behavior in CGI parameter parsing 2007-12-03 15:08:01 +00:00
Ilia Alshanetsky 32463e7af9 Fixed bug #43482 (array_pad() does not warn on very small pad numbers). 2007-12-03 14:11:09 +00:00
Raghubansh Kumar f0570bce0b fix tests : better float values 2007-12-03 13:04:45 +00:00
Raghubansh Kumar 0bf84145b2 fix tests: better float values 2007-12-03 11:59:55 +00:00
Raghubansh Kumar e12bef98c6 New testcases for array_pad() function 2007-12-03 11:53:04 +00:00
Raghubansh Kumar d47d025881 New testcases for array_chunk() function 2007-12-03 03:55:55 +00:00
Ilia Alshanetsky e2ed7b551f MFB: Fixed bug #43457 (Prepared statement with incorrect parms doens't
throw exception with pdo_pgsql driver)
2007-12-02 21:00:06 +00:00
Ilia Alshanetsky 83156cf04d Fixed a typo 2007-11-30 00:12:18 +00:00
Ilia Alshanetsky 056197037d MFB: Fixed tests 2007-11-28 14:50:24 +00:00
Rob Richards ff8e1a32f9 BFN 2007-11-28 10:47:36 +00:00
Rob Richards d5afff5286 MFH: Fix bug #43364 (recursive xincludes don't remove internal nodes properly)
add test
2007-11-28 10:45:16 +00:00
Raghubansh Kumar 1a8b3e0923 Marked with defect 2007-11-28 03:42:43 +00:00
Ilia Alshanetsky b1407d3709 MFB: Fixed bug #43373 (pcntl_fork() should not raise E_ERROR on error) 2007-11-27 17:14:27 +00:00
Raghubansh Kumar ea4f3ac8a3 New testcases for array_combine() function 2007-11-27 15:18:11 +00:00
Raghubansh Kumar 9de95af3db New testcases for array_sum() function 2007-11-27 15:00:55 +00:00
Antony Dovgal d3aff8310c fix test 2007-11-27 11:14:17 +00:00
Antony Dovgal 14902c89cc fix test 2007-11-27 06:44:32 +00:00
Ilia Alshanetsky 8330f31750 MFB: Revert addition of - char support for bound param names 2007-11-26 21:10:41 +00:00
Jani Taskinen a109ecaacf MFH:- Fixed bug #43365 (Several enums have trailing commas) 2007-11-26 10:59:18 +00:00
Ilia Alshanetsky 947cebee3c MFB: Fixed bug #43386 (array_globals not reset to 0 properly on init) 2007-11-25 15:56:47 +00:00
Robert Nicholson dc75c7c2a1 Fix incorrect use of assignment in where equality was intended - class tests. 2007-11-23 15:41:05 +00:00
Ilia Alshanetsky 3acbcf448f MFB: Fixed bug #43377 (PHP crashes with invalid argument for DateTimeZone) 2007-11-23 00:16:48 +00:00
Robert Nicholson 202e7f5b28 Add some more pcre tests 2007-11-21 18:21:19 +00:00
Jani Taskinen 14d5ba8aec MFH:- Fixed bug #43035: ignore_repeated_errors=On causes lot of tests to fail 2007-11-21 08:20:45 +00:00
Ilia Alshanetsky fdc2dab50b MFB: Adjusted fix for bug #42978 2007-11-20 23:12:30 +00:00
Ilia Alshanetsky a4bc590ec1 MFB: Fixed bug #42978 (mismatch between number of bound params and values
causes a crash in pdo_pgsql)
2007-11-20 14:23:47 +00:00
Antony Dovgal c39a2f7143 fix test 2007-11-19 11:12:36 +00:00
Dmitry Stogov 06a116cd53 Fixed tests 2007-11-19 08:01:56 +00:00
Derick Rethans 62fb0402db - MFH: Initialize the reserved resource bits so that they can be reliably used. 2007-11-18 21:30:30 +00:00
Ilia Alshanetsky 99a1f9e0b2 MFB: Fixed bug #42261 (Incorrect lengths for date and boolean data types) 2007-11-18 14:20:17 +00:00
Sara Golemon d92f11b9d6 MFH(r-1.192) Remove extraneous space in error/notice messages (felipe) 2007-11-17 21:52:06 +00:00
Raghubansh Kumar b99048d5c7 New testcases for sizeof() function 2007-11-16 17:55:55 +00:00
Raghubansh Kumar 9b85655327 fix tests: removed values that generate diff. output on Linux64 2007-11-16 17:04:19 +00:00
Jani Taskinen 369a97713c MFH: - Fixed bug #43092 (curl_copy_handle() crashes with > 32 chars long URL) 2007-11-16 14:19:35 +00:00
Jani Taskinen aaa295fa35 MFH:- Fixed bug #43301 (mb_ereg*_replace() crashes when replacement string is
invalid PHP expression and 'e' option is used)
2007-11-16 12:28:34 +00:00
Antony Dovgal 332e1b8482 MFH: fix test 2007-11-15 22:14:29 +00:00
Ilia Alshanetsky 81676a4b6e MFB: Fixed bug #43276 (Incomplete fix for bug #42739, mkdir() under
safe_mode).
2007-11-15 18:58:43 +00:00
Hannes Magnusson 177ed895d3 MFH test 2007-11-15 13:14:19 +00:00
Ilia Alshanetsky dbdbfe37f2 MFB: Don't show file names being examined 2007-11-14 23:45:39 +00:00
Elizabeth Marie Smith b9580cd54e MFB 2007-11-14 19:48:57 +00:00
Raghubansh Kumar b298641605 New testcases for uasort() function 2007-11-14 17:17:51 +00:00
Raghubansh Kumar bfe5708953 fix test for linux64 - choosing smaller float values 2007-11-14 16:30:09 +00:00
Hannes Magnusson d3fd30265a MFB5.3: Fixed bug#43293 (Multiple segfaults in getopt()) 2007-11-14 15:19:29 +00:00
Hannes Magnusson 1dd3064045 Fix test 2007-11-14 13:07:07 +00:00
Ilia Alshanetsky 916ad03b84 MFB: Fixed bug #43279 (pg_send_query_params() converts all elements in
'params' to strings)
2007-11-13 20:08:04 +00:00
Dmitry Stogov 5c6a2679c8 Fixed bug #42692 (Procedure 'int1' not present with doc/lit SoapServer) 2007-11-13 15:10:05 +00:00
Antony Dovgal 3258e0cef2 fix typo 2007-11-13 10:31:34 +00:00
Dmitry Stogov 6c7761c807 Fixed Bug #43248 (backward compatibility break in realpath()) 2007-11-13 09:46:39 +00:00
Zoe Slattery 332c87b12a MFH: Changing the regex for %f so the it will match E-, E+ and E. 2007-11-12 21:16:27 +00:00
Rob Richards fe13ae813d BFN 2007-11-12 19:00:04 +00:00
Rob Richards 376d5f828d MFH: fix bug #43221 (SimpleXML adding default namespace in addAttribute)
add test
2007-11-12 18:59:26 +00:00
Ilia Alshanetsky 5d09ce66a3 Fixed bug #43182 (file_put_contents() LOCK_EX does not work properly on
file
2007-11-12 18:47:46 +00:00
Antony Dovgal 144419b3a1 MFH: fix error message (reported by Felipe Nascimento) 2007-11-12 16:56:39 +00:00
Raghubansh Kumar 7a39cd0117 New testcases for ksort() function 2007-11-12 15:55:10 +00:00
Raghubansh Kumar 09e35a5107 New testcases for krsort() function 2007-11-12 15:54:35 +00:00
Antony Dovgal 7a369dc593 MFH: fix #42736 (xmlrpc_server_call_method() crashes) 2007-11-12 11:24:13 +00:00
Dmitry Stogov 2ea3105939 Fixed bug #42937 (__call() method not invoked when methods are called on parent from child class). 2007-11-12 09:11:49 +00:00
Ilia Alshanetsky 9ed8465d1b MFB: Fixed parse error described in bug #43228 2007-11-11 13:38:28 +00:00
Johannes Schlüter 6ff45cf55e - Use #if instead of #ifdef there (by Mikko Koppanen) 2007-11-10 19:52:08 +00:00
Raghubansh Kumar ad732b6140 fix tests 2007-11-09 12:00:57 +00:00
Dmitry Stogov 1ea2e504e3 Fixed bug #43216 (stream_is_local() returns false on "file://") 2007-11-09 09:37:42 +00:00
Dmitry Stogov 84c1ac4385 Fixed bug #43201 (Crash on using unitialized vals and __get/__set) 2007-11-09 09:28:18 +00:00
Dmitry Stogov 85a2d87bae Fixed bug #43175 (__destruct() throwing an exception with __call() causes segfault) 2007-11-09 09:16:45 +00:00
Raghubansh Kumar a91fe5ca49 fix test: better float values 2007-11-09 08:57:18 +00:00
Raghubansh Kumar 6ca1fdbc25 fix tests: better float values 2007-11-09 07:09:52 +00:00
Ilia Alshanetsky 9623aa59eb Fixed win32 build 2007-11-09 03:51:12 +00:00
Ilia Alshanetsky 0125436439 Back to dev 2007-11-08 13:53:14 +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
9544 changed files with 381622 additions and 913757 deletions

No files matched your search

+2 -24
View File
@@ -2,38 +2,16 @@ define ____executor_globals
if basic_functions_module.zts
set $tsrm_ls = ts_resource_ex(0, 0)
set $eg = ((zend_executor_globals) (*((void ***) $tsrm_ls))[executor_globals_id-1])
set $cg = ((zend_compiler_globals) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
else
set $eg = executor_globals
set $cg = compiler_globals
end
end
document ____executor_globals
portable way of accessing executor_globals, set $eg
this also sets compiler_globals to $cg
ZTS detection is automatically based on ext/standard module struct
end
define print_cvs
____executor_globals
set $p = $eg.current_execute_data.CVs
set $c = $eg.current_execute_data.op_array.last_var
set $v = $eg.current_execute_data.op_array.vars
set $i = 0
printf "Compiled variables count: %d\n", $c
while $i < $c
printf "%d = %s\n", $i, $v[$i].name
if $p[$i] != 0
printzv *$p[$i]
else
printf "*uninitialized*\n"
end
set $i = $i + 1
end
end
define dump_bt
set $t = $arg0
while $t
@@ -68,8 +46,8 @@ define ____printzv_contents
set $zvalue = $arg0
set $type = $zvalue->type
printf "(refcount=%d", $zvalue->refcount__gc
if $zvalue->is_ref__gc
printf "(refcount=%d", $zvalue->refcount
if $zvalue->is_ref
printf ",is_ref"
end
printf ") "
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>php-5.2</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
+90 -90
View File
@@ -1,6 +1,6 @@
========================
PHP Coding Standards
========================
PHP Coding Standards
====================
This file lists several standards that any programmer, adding or changing
code in PHP, should follow. Since this file was added at a very late
@@ -9,38 +9,37 @@ follow it, but it's going in that general direction. Since we are now
well into the version 4 releases, many sections have been recoded to use
these rules.
Code Implementation
-------------------
0. Document your code in source files and the manual. [tm]
[0] Document your code in source files and the manual. [tm]
1. Functions that are given pointers to resources should not free them
[1] Functions that are given pointers to resources should not free them
For instance, ``function int mail(char *to, char *from)`` should NOT free
For instance, function int mail(char *to, char *from) should NOT free
to and/or from.
Exceptions:
- The function's designated behavior is freeing that resource. E.g. efree()
- The function is given a boolean argument, that controls whether or not
the function may free its arguments (if true - the function must free its
arguments, if false - it must not)
- Low-level parser routines, that are tightly integrated with the token
cache and the bison code for minimum memory copying overhead.
2. Functions that are tightly integrated with other functions within the
- The function's designated behavior is freeing that resource. E.g. efree()
- The function is given a boolean argument, that controls whether or not
the function may free its arguments (if true - the function must free its
arguments, if false - it must not)
- Low-level parser routines, that are tightly integrated with the token
cache and the bison code for minimum memory copying overhead.
[2] Functions that are tightly integrated with other functions within the
same module, and rely on each other non-trivial behavior, should be
documented as such and declared 'static'. They should be avoided if
possible.
3. Use definitions and macros whenever possible, so that constants have
[3] Use definitions and macros whenever possible, so that constants have
meaningful names and can be easily manipulated. The only exceptions
to this rule are 0 and 1, when used as false and true (respectively).
Any other use of a numeric constant to specify different behavior
or actions should be done through a #define.
4. When writing functions that deal with strings, be sure to remember
[4] When writing functions that deal with strings, be sure to remember
that PHP holds the length property of each string, and that it
shouldn't be calculated with strlen(). Write your functions in a such
a way so that they'll take advantage of the length property, both
@@ -49,47 +48,47 @@ Exceptions:
doing so, should return that new length, so it doesn't have to be
recalculated with strlen() (e.g. php_addslashes())
5. NEVER USE strncat(). If you're absolutely sure you know what you're doing,
[5] NEVER USE strncat(). If you're absolutely sure you know what you're doing,
check its man page again, and only then, consider using it, and even then,
try avoiding it.
6. Use ``PHP_*`` macros in the PHP source, and ``ZEND_*`` macros in the Zend
part of the source. Although the ``PHP_*`` macro's are mostly aliased to the
``ZEND_*`` macros it gives a better understanding on what kind of macro
you're calling.
[6] Use PHP_* macros in the PHP source, and ZEND_* macros in the Zend
part of the source. Although the PHP_* macro's are mostly aliased to the
ZEND_* macros it gives a better understanding on what kind of macro you're
calling.
7. When commenting out code using a #if statement, do NOT use 0 only. Instead
use "<svn username here>_0". For example, #if FOO_0, where FOO is your
svn user foo. This allows easier tracking of why code was commented out,
especially in bundled libraries.
[7] When commenting out code using a #if statement, do NOT use 0 only. Instead
use "<cvs username here>_0". For example, #if FOO_0, where FOO is your
cvs user foo. This allows easier tracking of why code was commented out,
especially in bundled libraries.
8. Do not define functions that are not available. For instance, if a
library is missing a function, do not define the PHP version of the
function, and do not raise a run-time error about the function not
existing. End users should use function_exists() to test for the
existence of a function
[8] Do not define functions that are not available. For instance, if a
library is missing a function, do not define the PHP version of the
function, and do not raise a run-time error about the function not
existing. End users should use function_exists() to test for the
existence of a function
9. Prefer emalloc(), efree(), estrdup(), etc. to their standard C library
counterparts. These functions implement an internal "safety-net"
mechanism that ensures the deallocation of any unfreed memory at the
end of a request. They also provide useful allocation and overflow
information while running in debug mode.
[9] Prefer emalloc(), efree(), estrdup(), etc. to their standard C library
counterparts. These functions implement an internal "safety-net"
mechanism that ensures the deallocation of any unfreed memory at the
end of a request. They also provide useful allocation and overflow
information while running in debug mode.
In almost all cases, memory returned to the engine must be allocated
using emalloc().
In almost all cases, memory returned to the engine must be allocated
using emalloc().
The use of malloc() should be limited to cases where a third-party
library may need to control or free the memory, or when the memory in
question needs to survive between multiple requests.
The use of malloc() should be limited to cases where a third-party
library may need to control or free the memory, or when the memory in
question needs to survive between multiple requests.
Naming Conventions
------------------
1. Function names for user-level functions should be enclosed with in
[1] Function names for user-level functions should be enclosed with in
the PHP_FUNCTION() macro. They should be in lowercase, with words
underscore delimited, with care taken to minimize the letter count.
Abbreviations should not be used when they greatly decrease the
readability of the function name itself::
readability of the function name itself.
Good:
'mcrypt_enc_self_test'
@@ -99,18 +98,18 @@ Naming Conventions
'mcrypt_module_get_algo_supported_key_sizes'
(could be 'mcrypt_mod_get_algo_sup_key_sizes'?)
'get_html_translation_table'
(could be 'html_get_trans_table'?)
(could be 'html_get_trans_table'?)
Bad:
'hw_GetObjectByQueryCollObj'
'pg_setclientencoding'
'jf_n_s_i'
2. If they are part of a "parent set" of functions, that parent should
[2] If they are part of a "parent set" of functions, that parent should
be included in the user function name, and should be clearly related
to the parent program or function family. This should be in the form
of ``parent_*``::
of parent_*.
A family of 'foo' functions, for example:
Good:
'foo_select_bar'
@@ -122,22 +121,22 @@ Naming Conventions
'fooinsertbaz'
'delete_foo_baz'
3. Function names used by user functions should be prefixed
with ``_php_``, and followed by a word or an underscore-delimited list of
[3] Function names used by user functions should be prefixed
with "_php_", and followed by a word or an underscore-delimited list of
words, in lowercase letters, that describes the function. If applicable,
they should be declared 'static'.
4. Variable names must be meaningful. One letter variable names must be
[4] Variable names must be meaningful. One letter variable names must be
avoided, except for places where the variable has no real meaning or
a trivial meaning (e.g. for (i=0; i<100; i++) ...).
5. Variable names should be in lowercase. Use underscores to separate
[5] Variable names should be in lowercase. Use underscores to separate
between words.
6. Method names follow the 'studlyCaps' (also referred to as 'bumpy case'
[6] Method names follow the 'studlyCaps' (also referred to as 'bumpy case'
or 'camel caps') naming convention, with care taken to minimize the
letter count. The initial letter of the name is lowercase, and each
letter that starts a new 'word' is capitalized::
letter that starts a new 'word' is capitalized.
Good:
'connect()'
@@ -149,11 +148,11 @@ Naming Conventions
'buildsomewidget'
'getI()'
7. Classes should be given descriptive names. Avoid using abbreviations where
possible. Each word in the class name should start with a capital letter,
without underscore delimiters (CampelCaps starting with a capital letter).
The class name should be prefixed with the name of the 'parent set' (e.g.
the name of the extension)::
[7] Classes should be given descriptive names. Avoid using abbreviations where
possible. Each word in the class name should start with a capital letter,
without underscore delimiters (CampelCaps starting with a capital letter).
The class name should be prefixed with the name of the 'parent set' (e.g.
the name of the extension).
Good:
'Curl'
@@ -166,7 +165,7 @@ Naming Conventions
Syntax and indentation
----------------------
1. Never use C++ style comments (i.e. // comment). Always use C-style
[1] Never use C++ style comments (i.e. // comment). Always use C-style
comments instead. PHP is written in C, and is aimed at compiling
under any ANSI-C compliant compiler. Even though many compilers
accept C++-style comments in C code, you have to ensure that your
@@ -175,20 +174,17 @@ Syntax and indentation
because the Win32 port is MS-Visual C++ specific, and this compiler
is known to accept C++-style comments in C code.
2. Use K&R-style. Of course, we can't and don't want to
[2] Use K&R-style. Of course, we can't and don't want to
force anybody to use a style he or she is not used to, but,
at the very least, when you write code that goes into the core
of PHP or one of its standard modules, please maintain the K&R
style. This applies to just about everything, starting with
indentation and comment styles and up to function declaration
syntax. Also see Indentstyle_.
syntax.
.. _Indentstyle: http://www.catb.org/~esr/jargon/html/I/indent-style.html
3. Be generous with whitespace and braces. Keep one empty line between the
variable declaration section and the statements in a block, as well as
between logical statement groups in a block. Maintain at least one empty
line between two functions, preferably two. Always prefer::
(see also http://www.catb.org/~esr/jargon/html/I/indent-style.html)
[3] Be generous with whitespace and braces. Always prefer:
if (foo) {
bar;
@@ -198,18 +194,23 @@ Syntax and indentation
if(foo)bar;
4. When indenting, use the tab character. A tab is expected to represent
Keep one empty line between the variable declaration section and
the statements in a block, as well as between logical statement
groups in a block. Maintain at least one empty line between
two functions, preferably two.
[4] When indenting, use the tab character. A tab is expected to represent
four spaces. It is important to maintain consistency in indenture so
that definitions, comments, and control structures line up correctly.
5. Preprocessor statements (#if and such) MUST start at column one. To
[5] Preprocessor statements (#if and such) MUST start at column one. To
indent preprocessor directives you should put the # at the beginning
of a line, followed by any number of whitespace.
Testing
-------
1. Extensions should be well tested using *.phpt tests. Read about that
[1] Extensions should be well tested using *.phpt tests. Read about that
in README.TESTING.
Documentation and Folding Hooks
@@ -218,20 +219,20 @@ Documentation and Folding Hooks
In order to make sure that the online documentation stays in line with
the code, each user-level function should have its user-level function
prototype before it along with a brief one-line description of what the
function does. It would look like this::
function does. It would look like this:
/* {{{ proto int abs(int number)
Returns the absolute value of the number */
PHP_FUNCTION(abs)
{
...
}
/* }}} */
/* {{{ proto int abs(int number)
Returns the absolute value of the number */
PHP_FUNCTION(abs)
{
...
}
/* }}} */
The {{{ symbols are the default folding symbols for the folding mode in
Emacs and vim (set fdm=marker). Folding is very useful when dealing with
large files because you can scroll through the file quickly and just unfold
the function you wish to work on. The }}} at the end of each function marks
Emacs and vim (set fdm=marker). Folding is very useful when dealing with
large files because you can scroll through the file quickly and just unfold
the function you wish to work on. The }}} at the end of each function marks
the end of the fold, and should be on a separate line.
The "proto" keyword there is just a helper for the doc/genfuncsummary script
@@ -239,10 +240,10 @@ which generates a full function summary. Having this keyword in front of the
function prototypes allows us to put folds elsewhere in the code without
messing up the function summary.
Optional arguments are written like this::
Optional arguments are written like this:
/* {{{ proto object imap_header(int stream_id, int msg_no [, int from_length [, int subject_length [, string default_host]]])
Returns a header object with the defined parameters */
/* {{{ proto object imap_header(int stream_id, int msg_no [, int from_length [, int subject_length [, string default_host]]])
Returns a header object with the defined parameters */
And yes, please keep the prototype on a single line, even if that line
is massive.
@@ -255,11 +256,10 @@ 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
information::
Any authoring information (known bugs, future directions of the module).
Ongoing status notes which may not be appropriate for SVN comments.
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.
Aliases & Legacy Documentation
-----------------------------------
+14191
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+45 -73
View File
@@ -73,22 +73,10 @@ PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: fpm
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>, Jerome Loyet <fat@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3.3
-------------------------------------------------------------------------------
EXTENSION: isapi
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: litespeed
PRIMARY MAINTAINER: George Wang <gwang@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: milter
MAINTENANCE: Unknown
STATUS: Unknown
@@ -130,16 +118,29 @@ STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: dba
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>,Christopher Jones <sixd@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: DBM abstraction for db2, db3, db4, dbm, ndbm, gdbm, ini
-------------------------------------------------------------------------------
EXTENSION: dbase
MAINTENANCE: Orphaned
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: fbsql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu>, Jouni Ahto <jouni.ahto@exdec.fi>
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: msql
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mssql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Maintained
@@ -147,22 +148,16 @@ STATUS: Working
COMMENT: Tested on phpts and isapi versions
-------------------------------------------------------------------------------
EXTENSION: mysql
PRIMARY MAINTAINER: Zak Greant <zak@mysql.com>, Georg Richter <georg@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Zak Greant <zak@mysql.com>, Georg Richter <georg@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mysqli
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: mysqlnd
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Christopher Jones <sixd@php.net>, Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
@@ -175,7 +170,7 @@ STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: pdo
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
@@ -187,13 +182,13 @@ STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_firebird
PRIMARY MAINTAINER: Lars Westermann <lwe@php.net>
MAINTENANCE: Maintained
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_mysql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Johannes Schlüter <johannes@php.net>, Andrey Hristov <andrey@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
@@ -211,13 +206,13 @@ STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_pgsql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_sqlite
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
@@ -229,22 +224,18 @@ STATUS: Working
COMMENT: Use PostgreSQL 7.0.x or later. PostgreSQL 6.5.3 or less have fatal bug.
-------------------------------------------------------------------------------
EXTENSION: sqlite
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Wez Furlong <wez@php.net>, Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Wez Furlong <wez@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0 (Since 4.3.2 in PECL)
COMMENT: Integrates SQLite 2 embeddable SQL database engine.
COMMENT: Integrates SQLite embeddable SQL database engine.
-------------------------------------------------------------------------------
EXTENSION: sqlite3
PRIMARY MAINTAINER: Scott MacVicar <scottmac@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
COMMENT: Integrates SQLite 3 embeddable SQL database engine.
EXTENSION: sybase
MAINTENANCE: Unknown
STATUS: Not Working
-------------------------------------------------------------------------------
EXTENSION: sybase_ct
PRIMARY MAINTAINER: Timm Friebe <thekid@thekid.de>
MAINTENANCE: Maintained
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
@@ -275,12 +266,7 @@ MAINTENANCE: Orphaned
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>, Rob Richards <rrichards@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: libxml
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -295,7 +281,7 @@ MAINTENANCE: Orphaned
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xmlwriter
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -311,7 +297,7 @@ SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: bcmath
MAINTENANCE: Andi Gutmans <andi@zend.com>
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: bz2
@@ -353,12 +339,6 @@ MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
-------------------------------------------------------------------------------
EXTENSION: fileinfo
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: filter
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>, Pierre-Alain Joye <pajoye@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
@@ -390,14 +370,8 @@ PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: intl
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: imap
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>, Ilia Alshanetsky <iliaa@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -408,7 +382,7 @@ STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -423,7 +397,7 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mhash
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>, Scott MacVicar <scottmac@php.net>
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
@@ -431,13 +405,18 @@ EXTENSION: mime_magic
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Deprecated
STATUS: Experimental
COMMENT: Use the fileinfo extension instead
COMMENT: Use PECL's fileinfo extension instead
-------------------------------------------------------------------------------
EXTENSION: ming
PRIMARY MAINTAINER: Frank M. Kromann
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: ncurses
PRIMARY MAINTAINER Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>, Hartmut Holzgraefe <hholzgra@php.net>, Georg Richter <georg@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>, Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
@@ -445,8 +424,7 @@ STATUS: Working
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: pcntl
PRIMARY MAINTAINER: Arnaud Le Blanc <lbarnaud@php.net>
MAINTENANCE: Maintained
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pcre
@@ -454,12 +432,6 @@ PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>, Nuno Lopes <nlopess@php.n
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phar
PRIMARY MAINTAINER: Greg Beaver <cellog@php.net>, Marcus Börger <helly@php.net>, Steph Fox <sfox@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
@@ -473,7 +445,7 @@ SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: readline
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
@@ -497,8 +469,8 @@ STATUS: Working
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: snmp
PRIMARY MAINTAINER: Boris Lytochkin <lytboris@php.net>, Rasmus Lerdorf <rasmus@php.net>, Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sockets
@@ -508,7 +480,7 @@ STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: spl
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Etienne Kneuss <colder@php.net>
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0.0
+1302 -1317
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2010 The PHP Group. All rights reserved.
Copyright (c) 1999 - 2006 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
+2 -2
View File
@@ -7,7 +7,7 @@ $(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
$(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
@(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/zend_language_scanner.l)
@$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
$(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c
$(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
@@ -18,6 +18,6 @@ $(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
@$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
$(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt Zend/zend_ini_scanner_defs.h -oZend/zend_ini_scanner.c Zend/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: $(srcdir)/zend_language_parser.h
+18 -6
View File
@@ -5,7 +5,24 @@
lcov: lcov-html
lcov-test: lcov-clean-data test
lcov-test: all
@echo "Running test suite"
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
NO_INTERACTION=1 \
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/; \
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
NO_INTERACTION=1 \
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); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
php_lcov.info: lcov-test
@echo "Generating data for $@"
@@ -44,9 +61,6 @@ php_lcov.info: lcov-test
test -f "$$x.bb" && cp $$x.bb lcov_data/$$y.bb ; \
test -f "$$x.bbg" && cp $$x.bbg lcov_data/$$y.bbg ; \
done
for dir in ext/bcmath/libbcmath ext/fileinfo/libmagic ext/gd/libgd ext/mbstring/libmbfl ext/mbstring/oniguruma ext/pcre/pcrelib ext/pdo_sqlite/libsqlite ext/sqlite/libsqlite ext/sqlite3/libsqlite ext/xmlrpc/libxmlrpc ext/zip/lib; do \
test -d lcov_data/$$dir && rm -rf lcov_data/$$dir ; \
done
@echo
@echo "Generating $@"
@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@
@@ -60,5 +74,3 @@ lcov-clean:
rm -rf lcov_data/
rm -rf lcov_html/
lcov-clean-data:
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
+19 -19
View File
@@ -13,8 +13,6 @@ all: $(all_targets)
build-modules: $(PHP_MODULES) $(PHP_ZEND_EX)
build-binaries: $(PHP_BINARIES)
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 $@ $(phptempdir)/$@ >/dev/null 2>&1
@@ -37,8 +35,6 @@ install-sapi: $(OVERALL_TARGET)
fi
@$(INSTALL_IT)
install-binaries: build-binaries $(install_binary_targets)
install-modules: build-modules
@test -d modules && \
$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR)
@@ -83,26 +79,29 @@ PHP_TEST_SHARED_EXTENSIONS = ` \
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \
done; \
fi`
PHP_DEPRECATED_DIRECTIVES_REGEX = '^(magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*='
test: all
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
if test "$$INI_FILE"; then \
$(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
if test "$$INI_SCANNED_PATH"; then \
INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
$(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
rm $(top_builddir)/tmp-php.ini; \
$(PHP_EXECUTABLE) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -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) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
INI_SCANNED_PATH=`$(top_builddir)/$(SAPI_CLI_PATH) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
if test "$$INI_SCANNED_PATH"; then \
INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
$(EGREP) -h -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_SCANNED_PATH"/*.ini >> $(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) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
@@ -116,8 +115,9 @@ clean:
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h sapi/apache/libphp$(PHP_MAJOR_VERSION).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
.PHONY: all clean install distclean test
.NOEXPORT:
+90 -2683
View File
File diff suppressed because it is too large. Load diff
+125
View File
@@ -0,0 +1,125 @@
This is the first file you should be reading after you get your CVS account.
We'll assume you're basically familiar with CVS, but feel free to post
your questions on the mailing list. Please have a look at
http://cvsbook.red-bean.com/ for more detailed information on CVS.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and CVS lets us do this. Thus, following
some basic rules with regards to CVS usage will:
a. Make everybody happier, especially those responsible for maintaining
the CVS itself.
b. Keep the changes consistently well documented and easily trackable.
c. Prevent some of those 'Oops' moments.
d. Increase the general level of good will on planet Earth.
Having said that, here are the organizational rules:
1. Respect other people working on the project.
2. Discuss any significant changes on the list before committing.
3. Look at EXTENSIONS file to see who is the primary maintainer of
the code you want to contribute to.
4. If you "strongly disagree" about something another person did, don't
start fighting publicly - take it up in private email.
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for thos who need that.
Currently we have the following branches in use:
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 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.
The next few rules are more of a technical nature.
1. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
messages every day. Woe be to those who attempt to mess with it.
2. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file.
NB! Lines, starting with @ will go automagically into NEWS file, but
this is NOT recommended, though. Please, add news entries directly to
NEWS file and don't forget to keep them adjusted and sorted.
3. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
provide a nice commit message for each one. See example below.
4. Do write your commit message in such a way that it makes sense even
without the corresponding diff. One should be able to look at it, and
immediately know what was modified. Definitely include the function name
in the message as shown below.
5. In your commit messages, keep each line shorter than 80 characters. And
try to align your lines vertically, if they wrap. It looks bad otherwise.
6. If you modified a function that is callable from PHP, prepend PHP to
the function name as shown below.
The format of the commit messages is pretty simple.
Use a - to start a new item in your commit message.
If a line begins with #, it is taken to be a comment and will not appear
in the ChangeLog. Everything else goes into the ChangeLog.
It is important to note that if your comment or news logline spans multiple
lines, you have to put # at the beginning of _every_ such line.
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
added a new format option for the date() function, and in string.c you fixed a
memory leak in php_trim(). Don't commit both of these at once. Commit them
separately and try to make sure your commit messages look something like the
following.
For datetime.c:
- Added new 'K' format modifier to date() for printing out number of days until
New Year's Eve.
For string.c:
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
#- Man, that thing was leaking all over the place!
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.
Example:
Fixed bug #14016 (pgsql notice handler double free crash bug.)
If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP CVS repository in various ways.
To receive daily updates to ChangeLog and NEWS, send an empty message to
php-cvs-daily-subscribe@lists.php.net.
Happy hacking,
PHP Team
+50 -21
View File
@@ -96,7 +96,29 @@ OTHER OPTIONS
function entries and definitions at the end of the file, for copying and
pasting into an already existing module.
--xml[=file]
--assign-params
--string-lens
By default, function proto 'void foo(string bar)' creates the following:
...
zval **bar;
... (zend_get_parameters_ex() called in the middle...)
convert_to_string_ex(bar);
Specifying both of these options changes the generated code to:
...
zval **bar_arg;
int bar_len;
char *bar = NULL;
... (zend_get_parameters_ex() called in the middle...)
convert_to_string_ex(bar_arg);
bar = Z_STRVAL_PP(bar_arg);
bar_len = Z_STRLEN_PP(bar_arg);
You shouldn't have to ask what happens if you leave --string-lens out. If you
have to, it's questionable whether you should be reading this document.
--with-xml[=file]
Creates the basics for phpdoc .xml file.
@@ -134,32 +156,39 @@ EXAMPLE
question marks to be replaced by you, and you must of course add your own
value definitions too):
/* {{{ proto bool my_drawtext(resource image, string text, resource font, int x, int y [, int color])
/* {{{ proto bool my_drawtext(resource image, string text, resource font, int x, int y[, int color])
*/
PHP_FUNCTION(my_drawtext)
{
char *text = NULL;
int argc = ZEND_NUM_ARGS();
int image_id = -1;
int text_len;
int font_id = -1;
long x;
long y;
long color;
zval *image = NULL;
zval *font = NULL;
zval **image, **text, **font, **x, **y, **color;
int argc;
int image_id = -1;
int font_id = -1;
if (zend_parse_parameters(argc TSRMLS_CC, "rsrll|l", &image, &text, &text_len, &font, &x, &y, &color) == FAILURE)
return;
argc = ZEND_NUM_ARGS();
if (argc < 5 || argc > 6 || zend_get_parameters_ex(argc, &image, &text, &font, &x, &y, &color) == FAILURE) {
WRONG_PARAM_COUNT;
}
if (image) {
ZEND_FETCH_RESOURCE(???, ???, image, image_id, "???", ???_rsrc_id);
}
if (font) {
ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id);
}
ZEND_FETCH_RESOURCE(???, ???, image, image_id, "???", ???_rsrc_id);
ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id);
php_error(E_WARNING, "my_drawtext: not yet implemented");
switch (argc) {
case 6:
convert_to_long_ex(color);
/* Fall-through. */
case 5:
convert_to_long_ex(y);
convert_to_long_ex(x);
/* font: fetching resources already handled. */
convert_to_string_ex(text);
/* image: fetching resources already handled. */
break;
default:
WRONG_PARAM_COUNT;
}
php_error(E_WARNING, "my_drawtext: not yet implemented");
}
/* }}} */
-79
View File
@@ -1,79 +0,0 @@
====================
Mailinglist Rules
====================
This is the first file you should be reading before doing any posts on PHP
mailinglists. Following these rules is considered imperative to the success of
the PHP project. Therefore expect your contributions to be of much less positive
impact if you do not follow these rules. More importantly you can actually
assume that not following these rules will hurt the PHP project.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and mailinglists lets us do this. Thus,
following some basic rules with regards to mailinglist usage will:
a. Make everybody happier, especially those responsible for developing PHP
itself.
b. Help in making sure we all use our time more efficiently.
c. Prevent you from making a fool of yourself in public.
d. Increase the general level of good will on planet Earth.
Having said that, here are the organizational rules:
1. Respect other people working on the project.
2. Do not post when you are angry. Any post can wait a few hours. Review
your post after a good breather or a good nights sleep.
3. Make sure you pick the right mailinglist for your posting. Please review
the descriptions on the mailinglist overview page
(http://www.php.net/mailing-lists.php). When in doubt ask a friend or
someone you trust on IRC.
4. Make sure you know what you are talking about. PHP is a very large project
that strives to be very open. The flip side is that the core developers
are faced with a lot of requests. Make sure that you have done your
research before posting to the entire developer community.
5. Patches have a much greater chance of acceptance than just asking the
PHP developers to implement a feature for you. For one it makes the
discussion more concrete and it shows that the poster put thought and time
into the request.
6. If you are posting to an existing thread, make sure that you know what
previous posters have said. This is even more important the longer the
thread is already.
7. Please configure your email client to use a real name and keep message
signatures to a maximum of 2 lines if at all necessary.
The next few rules are more some general hints:
1. If you notice that your posting ratio is much higher than that of other
people, double check the above rules. Try to wait a bit longer before
sending your replies to give other people more time to digest your answers
and more importantly give you the opportunity to make sure that you
aggregate your current position into a single mail instead of multiple
ones.
2. Consider taking a step back from a very active thread now and then. Maybe
talking to some friends and fellow developers will help in understanding
the other opinions better.
3. Do not top post. Place your answer underneath anyone you wish to quote
and remove any previous comment that is not relevant to your post.
4. Do not high-jack threads, by bringing up entirely new topics. Please
create an entirely new thread copying anything you wish to quote into the
new thread.
Finally, additional hints on how to behave inside the virtual community can be
found in RFC 1855 (http://www.faqs.org/rfcs/rfc1855.html).
Happy hacking,
PHP Team
-142
View File
@@ -1,142 +0,0 @@
$Id: README.NEW-OUTPUT-API 219039 2006-08-30 07:39:09Z mike $
API adjustment to the old output control code:
Everything now resides beneath the php_output namespace,
and there's an API call for every output handler op.
Checking output control layers status:
// Using OG()
php_output_get_status(TSRMLS_C);
Starting the default output handler:
// php_start_ob_buffer(NULL, 0, 1 TSRMLS_CC);
php_output_start_default(TSRMLS_C);
Starting an user handler by zval:
// php_start_ob_buffer(zhandler, chunk_size, erase TSRMLS_CC);
php_output_start_user(zhandler, chunk_size, flags TSRMLS_CC);
Starting an internal handler whithout context:
// php_ob_set_internal_handler(my_php_output_handler_func_t, buffer_size, "output handler name", erase TSRMLS_CC);
php_output_start_internal(handler_name, handler_name_len, my_php_output_handler_func_t, chunk_size, flags TSRMLS_CC);
Starting an internal handler with context:
// not possible with old API
php_output_handler *h;
h = php_output_handler_create_internal(handler_name, handler_name_len, my_php_output_handler_context_func_t, chunk_size, flags TSRMLS_CC);
php_output_handler_set_context(h, my_context, my_context_dtor);
php_output_handler_start(h TSRMLS_CC);
Testing whether a certain output handler has already been started:
// php_ob_handler_used("output handler name" TSRMLS_CC);
php_output_handler_started(handler_name, handler_name_len TSRMLS_CC);
Flushing one output buffer:
// php_ob_end_buffer(1, 1 TSRMLS_CC);
php_output_flush(TSRMLS_C);
Flushing all output buffers:
// not possible with old API
php_output_flush_all(TSRMLS_C);
Cleaning one output buffer:
// php_ob_end_buffer(0, 1 TSRMLS_CC);
php_output_clean(TSRMLS_C);
Cleaning all output buffers:
// not possible with old API
php_output_clean_all(TSRMLS_C);
Discarding one output buffer:
// php_ob_end_buffer(0, 0 TSRMLS_CC);
php_output_discard(TSRMLS_C);
Discarding all output buffers:
// php_ob_end_buffers(0 TSRMLS_CC);
php_output_discard_all(TSRMLS_C);
Stopping (and dropping) one output buffer:
// php_ob_end_buffer(1, 0 TSRMLS_CC)
php_output_end(TSRMLS_C);
Stopping (and dropping) all output buffers:
// php_ob_end_buffers(1, 0 TSRMLS_CC);
php_output_end_all(TSRMLS_C);
Retrieving output buffers contents:
// php_ob_get_buffer(zstring TSRMLS_CC);
php_output_get_contents(zstring TSRMLS_CC);
Retrieving output buffers length:
// php_ob_get_length(zlength TSRMLS_CC);
php_output_get_length(zlength TSRMLS_CC);
Retrieving output buffering level:
// OG(nesting_level);
php_output_get_level(TSRMLS_C);
Issue a warning because of an output handler conflict:
// php_ob_init_conflict("to be started handler name", "to be tested if already started handler name" TSRMLS_CC);
php_output_handler_conflict(new_handler_name, new_handler_name_len, set_handler_name, set_handler_name_len TSRMLS_CC);
Registering a conflict checking function, which will be checked prior starting the handler:
// not possible with old API, unless hardcoding into output.c
php_output_handler_conflict_register(handler_name, handler_name_len, my_php_output_handler_conflict_check_t TSRMLS_CC);
Registering a reverse conflict checking function, which will be checked prior starting the specified foreign handler:
// not possible with old API
php_output_handler_reverse_conflict_register(foreign_handler_name, foreign_handler_name_len, my_php_output_handler_conflict_check_t TSRMLS_CC);
Facilitating a context from within an output handler callable with ob_start():
// not possible with old API
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ, (void *) &custom_ctx_ptr_ptr TSRMLS_CC);
Disabling of the output handler by itself:
//not possible with old API
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL TSRMLS_CC);
Marking an output handler immutable by itself because of irreversibility of its operation:
// not possible with old API
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE, NULL TSRMLS_CC);
Restarting the output handler because of a CLEAN operation:
// not possible with old API
if (flags & PHP_OUTPUT_HANDLER_CLEAN) { ... }
Recognizing by the output handler itself if it gets discarded:
// not possible with old API
if ((flags & PHP_OUTPUT_HANDLER_CLEAN) && (flags & PHP_OUTPUT_HANDLER_FINAL)) { ... }
Output handler hooks
The output handler can change its abilities at runtime. Eg. the gz handler can
remove the CLEANABLE and REMOVABLE bits when the first output has passed through it;
or handlers implemented in C to be used with ob_start() can contain a non-global
context:
PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ
pass a void*** pointer as second arg to receive the address of a pointer
pointer to the opaque field of the output handler context
PHP_OUTPUT_HANDLER_HOOK_GET_FLAGS
pass a int* pointer as second arg to receive the flags set for the output handler
PHP_OUTPUT_HANDLER_HOOK_GET_LEVEL
pass a int* pointer as second arg to receive the level of this output handler
(starts with 0)
PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE
the second arg is ignored; marks the output handler to be neither cleanable
nor removable
PHP_OUTPUT_HANDLER_HOOK_DISABLE
the second arg is ignored; marks the output handler as disabled
Open questions
Should the userland API be adjusted and unified?
Many bits of the manual (and very first implementation) do not comply
with the behaviour of the current (to be obsoleted) code, thus should
the manual or the behaviour be adjusted?
END
+45 -134
View File
@@ -31,69 +31,28 @@ resources cannot be auto-converted.
Type specifiers
---------------
The following list shows the type specifier, its meaning and the parameter
types that need to be passed by address. All passed paramaters are set
if the PHP parameter is non optional and untouched if optional and the
parameter is not present. The only exception is O where the zend_class_entry*
has to be provided on input and is used to verify the PHP parameter is an
instance of that class.
a - array (zval*)
A - array or object (zval *)
b - boolean (zend_bool)
C - class (zend_class_entry*)
d - double (double)
f - function or array containing php method call info (returned as
zend_fcall_info and zend_fcall_info_cache)
h - array (returned as HashTable*)
H - array or HASH_OF(object) (returned as HashTable*)
l - long (long)
L - long, limits out-of-range numbers to LONG_MAX/LONG_MIN (long)
o - object of any type (zval*)
O - object of specific type given by class entry (zval*, zend_class_entry)
p - valid path (string without null bytes in the middle) and its length (char*, int)
r - resource (zval*)
s - string (with possible null bytes) and its length (char*, int)
z - the actual zval (zval*)
Z - the actual zval (zval**)
* - variable arguments list (0 or more)
+ - variable arguments list (1 or more)
a - array
b - boolean, stored in zend_bool
d - double
f - function or array containing php method call info (returned as
zend_fcall_info* and zend_fcall_info_cache*)
h - array (returned as HashTable*)
l - long
o - object (of any type)
O - object (of specific type, specified by class entry)
r - resource (stored in zval)
s - string (with possible null bytes) and its length
z - the actual zval
The following characters also have a meaning in the specifier string:
| - indicates that the remaining parameters are optional, they
should be initialized to default values by the extension since they
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
! - the parameter it follows can be of specified type or NULL (applies
to all specifiers except for 'b', 'l', and 'd'). If NULL is passed, the
results pointer is set to NULL as well.
Note on 64bit compatibility
---------------------------
Please do not forget that int and long are two different things on 64bit
OSes (int is 4 bytes and long is 8 bytes), so make sure you pass longs to "l"
and ints to strings length (i.e. for "s" you need to pass char * and int),
not the other way round!
Remember: "l" is the only case when you need to pass long (and that's why
it's "l", not "i" btw).
Both mistakes cause memory corruptions and segfaults on 64bit OSes:
1)
char *str;
long str_len; /* XXX THIS IS WRONG!! Use int instead. */
zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len)
2)
int num; /* XXX THIS IS WRONG!! Use long instead. */
zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &num)
If you're in doubt, use check_parameters.php script to the parameters
and their types (it can be found in ./scripts/dev/ directory of PHP sources):
# php ./scripts/dev/check_parameters.php /path/to/your/sources/
| - indicates that the remaining parameters are optional, they
should be initialized to default values by the extension since they
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
! - the parameter it follows can be of specified type or NULL (only applies
to 's', 'a', 'o', 'O', 'r', 'h', 'C', 'z', and 'Z'). If NULL is passed,
the results pointer is set to NULL as well.
Examples
--------
@@ -103,8 +62,8 @@ char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsz",
&l, &s, &s_len, &param) == FAILURE) {
return;
&l, &s, &s_len, &param) == FAILURE) {
return;
}
@@ -113,8 +72,8 @@ zval *obj;
double d = 0.5;
zend_class_entry *my_ce;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
&obj, my_ce, &d) == FAILURE) {
return;
&obj, my_ce, &d) == FAILURE) {
return;
}
@@ -123,18 +82,29 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o!a",
&obj, &arr) == FAILURE) {
return;
&obj, &arr) == FAILURE) {
return;
}
/* Gets a separated array which can also be null. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/!",
&arr) == FAILURE) {
return;
&arr) == FAILURE) {
return;
}
/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3 TSRMLS_CC, "zbr!",
&z, &b, &r) == FAILURE) {
return;
}
/* Get either a set of 3 longs or a string. */
long l1, l2, l3;
char *s;
@@ -148,72 +118,13 @@ char *s;
int length;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
"lll", &l1, &l2, &l3) == SUCCESS) {
/* manipulate longs */
"lll", &l1, &l2, &l3) == SUCCESS) {
/* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
"s", &s, &length) == SUCCESS) {
/* manipulate string */
"s", &s, &length) == SUCCESS) {
/* manipulate string */
} else {
/* output error */
/* output error */
return;
return;
}
/* Function that accepts only varargs (0 or more) */
int i, num_varargs;
zval ***varargs = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "*", &varargs, &num_varargs) == FAILURE) {
return;
}
for (i = 0; i < num_varargs; i++) {
/* do something with varargs[i] */
}
if (varargs) {
efree(varargs);
}
/* Function that accepts a string, followed by varargs (1 or more) */
char *str;
int str_len;
int i, num_varargs;
zval ***varargs = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s+", &str, &str_len, &varargs, &num_varargs) == FAILURE) {
return;
}
for (i = 0; i < num_varargs; i++) {
/* do something with varargs[i] */
}
if (varargs) {
efree(varargs);
}
/* Function that takes an array, followed by varargs, and ending with a long */
long num;
zval *array;
int i, num_varargs;
zval ***varargs = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a*l", &array, &varargs, &num_varargs, &num) == FAILURE) {
return;
}
for (i = 0; i < num_varargs; i++) {
/* do something with varargs[i] */
}
if (varargs) {
efree(varargs);
}
+57
View File
@@ -0,0 +1,57 @@
QNX4 Installation Notes
-----------------------
NOTE: General installation instructions are in the INSTALL file
1. To compile and test PHP3 you have to grab, compile and install:
- GNU dbm library or another db library;
- GNU bison (1.25 or later; 1.25 tested);
- GNU flex (any version supporting -o and -P options; 2.5.4 tested);
- GNU diffutils (any version supporting -w option; 2.7 tested);
2. To use CVS version you may need also:
- GNU CVS (1.9 tested);
- GNU autoconf (2.12 tested);
- GNU m4 (1.3 or later preferable; 1.4 tested);
3. To run configure define -lunix in command line:
LDFLAGS=-lunix ./configure
4. To use Sybase SQL Anywhere define ODBC_QNX and CUSTOM_ODBC_LIBS in
command line and run configure with --with-custom-odbc:
CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
If you have SQL Anywhere version 5.5.00, then you have to add
CFLAGS=-DSQLANY_BUG
to workaround its SQLFreeEnv() bug. Other versions has not been tested,
so try without this flag first.
5. To build the Apache module, you may have to hardcode an include path for
alloc.h in your Apache base directory:
- APACHE_DIRECTORY/src/httpd.h:
change #include "alloc.h"
to #include "APACHE_DIRECTORY/src/alloc.h"
Unless you want to use system regex library, you have to hardcode also
a path to regex.h:
- APACHE_DIRECTORY/src/conf.h:
change #include <regex.h>
to #include "APACHE_DIRECTORY/src/regex/regex.h"
I don't know so far why this required for QNX, may be it is Watcom
compiler problem.
If you building Apache module with SQL Anywhere support, you'll get
symbol conflict with BOOL. It is defined in Apache (httpd.h) and in
SQL Anywhere (odbc.h). This has nothing to do with PHP, so you have to
fix it yourself someway.
6. With above precautions, it should compile as is and pass regression
tests completely:
make
make check
make install
Don't bother me unless you really sure you made that all but it
still doesn't work.
June 28, 1998
Igor Kovalenko -- owl@infomarket.ru
-442
View File
@@ -1,442 +0,0 @@
1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE
2. Oniguruma (ext/mbstring) see ext/mbstring/oniguruma/COPYING
3. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE
4. pcrelib (ext/pcre) see ext/pcre/pcrelib/LICENCE
5. ext/standard crypt
6. ext/standard crypt's blowfish implementation
7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite
8. ext/json/json_parser
9. ext/standard/rand
10. ext/standard/scanf
11. ext/standard/strnatcmp.c
12. ext/standard/uuencode
13. libxmlrpc ext/xmlrpc
14. libzip ext/zip
15. main/snprintf.c
16. main/strlcat
17. main/strlcpy
18. libgd see ext/gd/libgd/COPYING
5. ext/standard crypt
FreeSec: libcrypt for NetBSD
Copyright (c) 1994 David Burren
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the author nor the names of other contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
6. ext/standard crypt's blowfish implementation
The crypt_blowfish homepage is:
http://www.openwall.com/crypt/
This code comes from John the Ripper password cracker, with reentrant
and crypt(3) interfaces added, but optimizations specific to password
cracking removed.
Written by Solar Designer <solar at openwall.com> in 1998-2011.
No copyright is claimed, and the software is hereby placed in the public
domain. In case this attempt to disclaim copyright and place the software
in the public domain is deemed null and void, then the software is
Copyright (c) 1998-2011 Solar Designer and it is hereby released to the
general public under the following terms:
Redistribution and use in source and binary forms, with or without
modification, are permitted.
There's ABSOLUTELY NO WARRANTY, express or implied.
It is my intent that you should be able to use this on your system,
as part of a software package, or anywhere else to improve security,
ensure compatibility, or for any other purpose. I would appreciate
it if you give credit where it is due and keep your modifications in
the public domain as well, but I don't require that in order to let
you place this code and any modifications you make under a license
of your choice.
This implementation is mostly compatible with OpenBSD's bcrypt.c (prefix
"$2a$") by Niels Provos <provos at citi.umich.edu>, and uses some of his
ideas. The password hashing algorithm was designed by David Mazieres
<dm at lcs.mit.edu>. For more information on the level of compatibility,
please refer to the comments in BF_set_key() and to the crypt(3) man page
included in the crypt_blowfish tarball.
There's a paper on the algorithm that explains its design decisions:
http://www.usenix.org/events/usenix99/provos.html
Some of the tricks in BF_ROUND might be inspired by Eric Young's
Blowfish library (I can't be sure if I would think of something if I
hadn't seen his code).
7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite
The author disclaims copyright to this source code. In place of
a legal notice, here is a blessing:
May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.
8. ext/json/json_parser
Copyright (c) 2005 JSON.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
The Software shall be used for Good, not Evil.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
9. ext/standard/rand
The following php_mt_...() functions are based on a C++ class MTRand by
Richard J. Wagner. For more information see the web page at
http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html
Mersenne Twister random number generator -- a C++ class MTRand
Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus
Richard J. Wagner v1.0 15 May 2003 rjwagner@writeme.com
The Mersenne Twister is an algorithm for generating random numbers. It
was designed with consideration of the flaws in various other generators.
The period, 2^19937-1, and the order of equidistribution, 623 dimensions,
are far greater. The generator is also fast; it avoids multiplication and
division, and it benefits from caches and pipelines. For more information
see the inventors' web page at http://www.math.keio.ac.jp/~matumoto/emt.html
Reference
M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally
Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on
Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
Copyright (C) 2000 - 2003, Richard J. Wagner
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10. ext/standard/scanf
scanf.c --
This file contains the base code which implements sscanf and by extension
fscanf. Original code is from TCL8.3.0 and bears the following copyright:
This software is copyrighted by the Regents of the University of
California, Sun Microsystems, Inc., Scriptics Corporation,
and other parties. The following terms apply to all files associated
with the software unless explicitly disclaimed in individual files.
The authors hereby grant permission to use, copy, modify, distribute,
and license this software and its documentation for any purpose, provided
that existing copyright notices are retained in all copies and that this
notice is included verbatim in any distributions. No written agreement,
license, or royalty fee is required for any of the authorized uses.
Modifications to this software may be copyrighted by their authors
and need not follow the licensing terms described here, provided that
the new terms are clearly indicated on the first page of each file where
they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
MODIFICATIONS.
GOVERNMENT USE: If you are acquiring this software on behalf of the
U.S. government, the Government shall have only "Restricted Rights"
in the software and related documentation as defined in the Federal
Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you
are acquiring the software on behalf of the Department of Defense, the
software shall be classified as "Commercial Computer Software" and the
Government shall have only "Restricted Rights" as defined in Clause
252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
authors grant the U.S. Government and others acting in its behalf
permission to use and distribute the software in accordance with the
terms specified in this license.
11. ext/standard/strnatcmp.c
strnatcmp.c -- Perform 'natural order' comparisons of strings in C.
Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
12. ext/standard/uuencode
Portions of this code are based on Berkeley's uuencode/uudecode
implementation.
Copyright (c) 1983, 1993
The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the University of
California, Berkeley and its contributors.
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
13. libxmlrpc ext/xmlrpc
Copyright 2000 Epinions, Inc.
Subject to the following 3 conditions, Epinions, Inc. permits you, free
of charge, to (a) use, copy, distribute, modify, perform and display this
software and associated documentation files (the "Software"), and (b)
permit others to whom the Software is furnished to do so as well.
1) The above copyright notice and this permission notice shall be included
without modification in all copies or substantial portions of the
Software.
2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NONINFRINGEMENT.
3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT
OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH
DAMAGES.
14. libzip ext/zip
zip.h -- exported declarations.
Copyright (C) 1999-2009 Dieter Baron and Thomas Klausner
This file is part of libzip, a library to manipulate ZIP archives.
The authors can be contacted at <libzip@nih.at>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The names of the authors may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
15. main/snprintf.c
Copyright (c) 2002, 2006 Todd C. Miller <Todd.Miller@courtesan.com>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Sponsored in part by the Defense Advanced Research Projects
Agency (DARPA) and Air Force Research Laboratory, Air Force
Materiel Command, USAF, under agreement number F39502-99-1-0512.
main/spprintf
Copyright (c) 1995-1998 The Apache Group. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
"This product includes software developed by the Apache Group
for use in the Apache HTTP server project (http://www.apache.org/)."
4. The names "Apache Server" and "Apache Group" must not be used to
endorse or promote products derived from this software without
prior written permission.
5. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes software developed by the Apache Group
for use in the Apache HTTP server project (http://www.apache.org/)."
THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many
individuals on behalf of the Apache Group and was originally based
on public domain software written at the National Center for
Supercomputing Applications, University of Illinois, Urbana-Champaign.
For more information on the Apache Group and the Apache HTTP server
project, please see <http://www.apache.org/>.
This code is based on, and used with the permission of, the
SIO stdio-replacement strx_* functions by Panos Tsirigotis
<panos@alumni.cs.colorado.edu> for xinetd.
16. main/strlcat
17. main/strlcpy
Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-286
View File
@@ -1,286 +0,0 @@
=======================
PHP Release Process
=======================
General notes and tips
----------------------
1. Do not release on Fridays, Saturdays or Sundays
because the sysadmins can not upgrade stuff then.
2. Package the day before a release. So if the release is to be on Thursday,
package on Wednesday.
3. Ensure that Windows builds will work before packaging
4. Follow all steps to the letter. When unclear ask previous RM's (Derick/Ilia)
before proceeding. Ideally make sure that for the first releases one of the
previous RM's is around to answer questions. For the steps related to the
php/QA/bug websites try to have someone from the webmaster team (Bjori) on hand.
5. Verify the tags to be extra sure everything was tagged properly.
6. Moving extensions from/to PECL requires write acces to the destination.
Most developers should have this.
Moving extensions from php-src to PECL
- Checkout the pecl directory, most likely you want a sparse-root checkout
svn co --depth=empty https://svn.php.net/repository/pecl
- Create an directory for the extension incl. branch and tag structure,
no trunk at this point and commit this to svn
cd pecl; mkdir foo foo/tags foo/branches; svn add foo; svn commit
- Move the extension from php-src to the new location
svn mv https://svn.php.net/repository/php/php-src/trunk/ext/foo \
https://svn.php.net/repository/pecl/foo/trunk
If the extension is still usable or not dead, in cooperation with the extension
maintainers if any:
- create the pecl.php.net/foo package and its content, license, maintainer
- create the package.xml, commit
- release the package
For Moving extensions from PECL to php-src the svn mv has to be tone the other
way round.
Rolling a non stable release (alpha/beta/RC)
--------------------------------------------
1. Check windows snapshot builder logs (http://snaps.php.net/win32/snapshot-STABLE.log f.e.)
2. run the "scripts/dev/credits" script in php-src and commit the changes in the
credits files in ext/standard.
3. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
Do not use abbreviations for alpha and beta.
4. Commit those changes and note the revision id.
5. tag the repository with the version. To do the tag in a fast way do a svn copy on the server using full URLs. You should use the revision id from the above commit to prevent mistakes in case there was a commit in between. f.e. "``svn cp https://svn.php.net/repository/php/php-src/branches/PHP_5_3@308399 https://svn.php.net/repository/php/php-src/tags/php_5_3_6RC1``"
(of course, you need to change that to the version you're rolling an RC for).
6. Bump up the version numbers in ``main/php_version.h``, ``configure.in``
and possibly ``NEWS`` again, to the **next** version. F.e. if the release
candidate was "4.4.1RC1" then the new one should be "4.4.1RC2-dev" - regardless
if we get a new RC or not. This is to make sure ``version_compare()`` can
correctly work.
7. Commit those changes
8. Log in onto the snaps box and go into the correct tree (f.e. the PHP_4_4
branch if you're rolling 4.4.x releases).
9. You do not have to update the tree, but of course you can with "``svn up``".
10. run: ``./makedist php 4.4.1RC1``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
11. Copy those two tarballs to www.php.net, in your homedir there should be a
directory "downloads/". Copy them into there, so that the system can generate
MD5 sums. If you do not have this directory, talk to Derick.
12. Now the RC can be found on http://downloads.php.net/yourname,
f.e. http://downloads.php.net/derick/
13. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
those are made, they should be placed into the same directory as the source snapshots.
Getting the non stable release (alpha/beta/RC) announced
--------------------------------------------------------
1. Send an email (see example here: http://news.php.net/php.internals/19486)
**To** ``internals@lists.php.net`` and ``php-general@lists.php.net`` lists
pointing out "the location of the release" and "the possible release date of
either the next RC, or the final release".
2. Send an email (see example here http://news.php.net/php.pear.qa/5201) **To**
``php-qa@lists.php.net`` and ``primary-qa-tests@lists.php.net``.
This email is to notify the selected projects about a new release so that they
can make sure their projects keep working. Make sure that you have been setup
as a moderator for ``primary-qa-tests@lists.php.net`` by having someone (Wez,
Derick) run the following commands for you:
``ssh lists.php.net``
``sudo -u ezmlm ezmlm-sub ~ezmlm/primary-qa-tester/mod moderator-email-address``
3. Update ``web/qa/trunk/include/release-qa.php`` with the appropriate information.
See the documentation within release-qa.php for more information, but all releases
and RCs are configured here. Only $QA_RELEASES needs to be edited.
Example: When rolling an RC, set the 'rc' with appropriate information for the
given version.
Note: Remember to update the MD5 checksum information.
1. Update in ``web/php-bugs/trunk/include/php_versions.php`` to include the new RC and commit.
2. Update ``web/php/trunk/include/version.inc`` (x=major version number)
a. ``$PHP_x_RC`` = "5.3.0RC1"
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
3. Commit those changes:
a. ``svn commit web/qa/trunk web/php-bugs/trunk web/php/trunk``
4. For the first RC, write the doc team (phpdoc@lists.php.net) about updating the
INSTALL and win32/install.txt files which are generated from the PHP manual sources.
Rolling a stable release
------------------------
1. Check windows snapshot builder logs (http://snaps.php.net/win32/snapshot-STABLE.log f.e.)
2. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
3. **Merge** all related sections in NEWS (f.e. merge the 4.4.1RC1 and 4.4.0 sections)
4. Commit those changes
5. run the "scripts/dev/credits" script in php-src and commit the changes in the
credits files in ext/standard.
6. tag the repository with the version f.e. "``cvs tag php_4_4_1``"
(of course, you need to change that to the version you're rolling an RC for).
When making 5.X release, you need to tag the Zend directory separately!!
7. Bump up the version numbers in ``main/php_version.h``, ``configure.in`` and
possibly ``NEWS`` again, to the **next** version. F.e. if the release candidate
was "4.4.1RC1" then the new one should be "4.4.1RC2-dev" - regardless if we get
a new RC or not. This is to make sure ``version_compare()`` can correctly work.
8. Commit those changes
9. Log in onto the snaps box and go into the correct tree (f.e. the PHP_4_4
branch if you're rolling 4.4.x releases).
10. You do not have to update the tree, but of course you can with "``cvs up -dP``".
11. run: ``./makedist php 4.4.1``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
12. Commit those two tarballs to CVS (phpweb/distributions)
13. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
those are made, they should be committed to CVS too.
14. Check if the pear files are updated (phar for 5.1+ or run pear/make-pear-bundle.php with 4.4)
15. When making a final release, also remind the PHP Windows development team
(internals-win@lists.php.net) to prepare the installer packages for Win32.
Getting the stable release announced
------------------------------------
1. Run the bumpRelease script for phpweb on your local checkout
a. ``php bin/bumpRelease 5`` (or ``php bin/bumpRelease 4`` for PHP4)
2. Edit ``phpweb/include/version.inc`` and change (X=major release number):
a. ``$PHP_X_VERSION`` to the correct version
b. ``$PHP_X_DATE`` to the release date
c. ``$PHP_X_MD5`` array and update all the md5 sums
d. set ``$PHP_X_RC`` to false!
e. Make sure there are no outdated "notes" or edited "date" keys in the
``$RELEASES[X][$PHP_X_VERSION]["source"]`` array
f. if the windows builds aren't ready yet prefix the "windows" key with a dot (".windows")
3. Update the ChangeLog file for the given major version
f.e. ``ChangeLog-4.php`` from the NEWS file
a. go over the list and put every element on one line
b. check for &, < and > and escape them if necessary
c. remove all the names at the ends of lines
d. for marking up, you can do the following (with VI):
I. ``s/^- /<li>/``
II. ``s/$/<\/li>/``
III. ``s/Fixed bug #\([0-9]\+\)/<?php bugfix(\1); ?>/``
IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/``
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
4. ``cp releases/4_4_0.php releases/4_4_1.php``
5. ``cvs add releases/4_4_1.php``
6. Update the ``releases/*.php`` file with relevant data. The release
announcement file should list in detail:
a. security fixes,
b. changes in behavior (whether due to a bug fix or not)
7. Add a short notice to phpweb stating that there is a new release, and
highlight the major important things (security fixes) and when it is important
to upgrade.
a. Call php bin/createNewsEntry in your local phpweb checkout
b. Add the content for the news entry
8. Commit all the changes.
9. Wait an hour or two, then send a mail to php-announce@lists.php.net,
php-general@lists.php.net and internals@lists.php.net with a text similar to
http://news.php.net/php.internals/17222.
10. Update ``php-bugs-web/include/functions.php`` to include the new version
number, and remove the RC from there.
11. Update ``qaweb/include/release-qa.php``
- Update $QA_RELEASES with the appropriate information, which means bumping
the version number to an upcoming version.
Example: If PHP 5.3.7 is being released, then PHP 5.3.8 is the next QA version,
so replace 5.3.7 with 5.3.8 within $QA_RELEASES.
Re-releasing the same version (or -pl)
--------------------------------------
1. Commit the new binaries to ``phpweb/distributions/``
2. Edit ``phpweb/include/version.inc`` and change (X=major release number):
a. If only releasing for one OS, make sure you edit only those variables
b. ``$PHP_X_VERSION`` to the correct version
c. ``$PHP_X_DATE`` to the release date
d. ``$PHP_X_MD5`` array and update all the md5 sums
e. Make sure there are no outdated "notes" or edited "date" keys in the
``$RELEASES[X][$PHP_X_VERSION]["source"]`` array
3. Add a short notice to phpweb stating that there is a new release, and
highlight the major important things (security fixes) and when it is important
to upgrade.
a. Call php bin/createNewsEntry in your local phpweb checkout
b. Add the content for the news entry
4. Commit all the changes (``include/version.inc``, ``archive/archive.xml``,
``archive/entries/YYYY-MM-DD-N.xml``)
5. Wait an hour or two, then send a mail to php-announce@lists.php.net,
php-general@lists.php.net and internals@lists.php.net with a text similar to
the news entry.
+101 -157
View File
@@ -1,182 +1,126 @@
Submitting Enhancements and Patches to PHP
==========================================
Submitting Patch for PHP
========================
This document describes how to submit an enhancement or patch for PHP.
It's easy!
This document describes how to submit a patch for PHP. Since you are
reading this document, you are willing to submit a patch for PHP.
Please keep reading! Submitting a patch for PHP is easy. The hard
part is making it acceptable for inclusion into our repository. :-)
You don't need any login accounts or special access to download,
build, debug and begin submitting PHP, PECL or PEAR code, tests or
documentation. Once you've followed this README and had several
patches accepted, commit privileges are often quickly granted.
How to create patch?
--------------------
We are working with CVS. You need to get CVS source to create a patch
that we accept. Visit http://www.php.net/anoncvs.php to get CVS
source. You can check out older versions, but make sure you get
the default branch (i.e. Do not use -r option when you check out the
CVS source)
An excellent article to read first is:
http://phpadvent.org/2008/less-whining-more-coding-by-elizabeth-smith
Read CODING_STANDARDS file before you start working.
Now you are ready to create a patch. Modify source to fix a bug in PHP or
add a new feature to PHP. After you finished editing, please test your
patch. Read README.TESTING for testing.
After you finish testing your patch, take diff file using
"cvs diff > your.patch" command.
Read README.TESTING for submitting a test script for your patch. This is
not strictly required, but it is preferred to submit a test script along
with your patch. Making new test script is very easy. It also helps us
to understand what you have been fixed or added to PHP.
Online Forums
-------------
There are several IRC channels where PHP developers are often
available to discuss questions. They include #php.pecl, #php.doc and
#pear on the EFNet network and #php-dev-win on FreeNode.
Tips for creating patch
-----------------------
If you would like to fix multiple bugs. It is easier for us if you
could create 1 patch for 1 bug, but this is not strictly required.
Note though that you might get little response, if your patch is
too hard to review.
If you would like change/add many lines, it is better to ask module
maintainer and/or internals@lists.php.net, or pear-dev@lists.php.net if
you are patching PEAR. Official module maintainers can be found in
EXTENSIONS file in PHP source.
If you are new to CVS (Concurrent Versions System), visit
http://cvshome.org/ for details.
PHP Patches
-----------
If you are fixing broken functionality in PHP C source code first
create a bug or identify an existing bug at http://bugs.php.net/. A
bug can be used to track the patch progress and prevent your changes
getting lost in the PHP mail archives.
Recommended CVS client settings for creating patch file
------------------------------------------------------
Recommended ~/.cvsrc file setting is:
------
cvs -z3
update -d -P
checkout -P
diff -u
If your change is large then create a Request For Comment (RFC) page
on http://wiki.php.net/rfc, discuss it with the extension maintainer,
and discuss it on the development mail list internals@lists.php.net.
RFC Wiki accounts can be requested on
http://wiki.php.net/start?do=register. PHP extension maintainers can
be found in the EXTENSIONS file in the PHP source. Mail list
subscription is explained on http://www.php.net/mailing-lists.php.
------
diff -u means:
-u Use the unified output format.
Information on PHP internal C functions is at
http://www.php.net/internals, though this is considered incomplete.
Various external resources can be found on the web. A standard
printed reference is the book "Extending and Embedding PHP" by Sara
Golemon.
Attach the patch to the PHP bug and consider sending a notification
email about the change to internals@lists.php.net. Also CC the
extension maintainer. Explain what has been changed by your patch.
Test scripts should be included.
Please make the mail subject prefix "[PATCH]". If attaching a patch,
ensure it has a file extension of ".txt". This is because only MIME
attachments of type 'text/*' are accepted.
With this CVS setting, you don't have to worry about adding/deleting
newlines and spaces.
PHP Documentation Patches
Check list for submitting patch
-------------------------------
- Did you run "make test" to check if your patch didn't break
other features?
- Did you compile PHP with --enable-debug and check the PHP and
web server error logs when you test your patch?
- Did you build PHP for multi-threaded web servers. (Optional)
- Did you create test script for "make test"? (Recommended)
- Did you check your patch is unified format and it does not
contain white space changes? (If you are not using recommended
cvs setting)
- Did you update CVS source before you take final patch?
- Did you read the patch again?
Where to send your patch?
-------------------------
If you are fixing incorrect PHP documentation first create a bug or
identify an existing bug at http://bugs.php.net/. A bug can be used
to track the patch progress and prevent your changes getting lost in
the PHP mail archives.
If you are patching C source, send the patch to internals@lists.php.net.
If you are patching a module, you should also send the patch to the
maintainer. Official module maintainers are listed in EXTENSION file
in source.
If your change is large, then first discuss it with the mail list
phpdoc@lists.php.net. Subscription is explained on
http://www.php.net/mailing-lists.php.
If you are patching PEAR, send the patch to pear-dev@lists.php.net.
Information on contributing to PHP documentation is at
http://php.net/dochowto and http://wiki.php.net/doc/howto
Please add the prefix "[PATCH]" to your email subject and make sure
to include the patch as a MIME attachment even if it is short.
Attach the patch to the PHP bug and consider sending a notification
email about the change to phpdoc@lists.php.net. Explain what has been
fixed/added/changed by your patch.
NOTE: only MIME attachments of type 'text/*' are accepted. The
easiest way to accomplish this, is to make the extension
'.txt'.
Please make the mail subject prefix "[PATCH]". Include the bug id(s)
which can be closed by your patch. If attaching a patch, ensure it
has a file extension of ".txt". This is because only MIME attachments
of type 'text/*' are accepted.
Test scripts should be included in the same email.
Explain what has been fixed/added/changed by your patch.
Finally, add the bug Id(s) which can be closed by your patch, if any.
PECL Extension Patches: http://pecl.php.net/
--------------------------------------------
If you are fixing broken functionality in a PECL extension then create
a bug or identify an existing bug at http://pecl.php.net/bugs/. A bug
can be used to track the patch progress and prevent your changes
getting lost in the PHP mail archives.
What happens after you submit your patch
----------------------------------------
If your patch is easy to review and has obviously no side-effects,
it might take up to a few hours until someone commits it.
If your change is large then create a Request For Comment (RFC) page
on http://wiki.php.net/rfc, discuss it with the extension maintainer,
and discuss it on the development mail list pecl-dev@lists.php.net.
PECL mail list subscription is explained on
http://pecl.php.net/support.php. RFC Wiki accounts can be requested
on http://wiki.php.net/start?do=register
Because this is a volunteer-driven effort, more complex patches will
require more patience on your side.
Information on PHP internal C functions is at
http://www.php.net/internals, though this is considered incomplete.
Various external resources can be found on the web. A standard
printed reference is the book "Extending and Embedding PHP" by Sara
Golemon.
If you did not receive any feedback in a few days, please consider
resubmitting the description of your patch, along-side with
these questions:
Update any open bugs and add a link to the source of your patch. Send
the patch or pointer to the bug to pecl-dev@lists.php.net. Also CC
the extension maintainer. Explain what has been changed by your
patch. Test scripts should be included.
Please make the mail subject prefix "[PATCH] ...". Include the patch
as an attachment with a file extension of ".txt". This is because
only MIME attachments of type 'text/*' are accepted.
- Is my patch too hard to review? Because of which factors?
- Should I split it up in multiple parts?
- Are there any unwanted whitespace changes?
PEAR Package Patches: http://pear.php.net/
------------------------------------------
Information on contributing to PEAR is available at
http://pear.php.net/manual/en/developers-newmaint.php and
http://pear.php.net/manual/en/guide-developers.php
What happens when your patch is applied?
----------------------------------------
Your name will be included together with your email address in the CVS
commit log. If your patch affects end-users, a brief description
and your name might be added to the NEWS file.
How to create your PHP, PHP Documentation or PECL patch
-------------------------------------------------------
PHP and PECL use Subversion (SVN) for revision control. Read
http://www.php.net/svn.php for help on using SVN to get and build PHP
source code. We recommend using a Sparse Directory checkout described
in http://wiki.php.net/vcs/svnfaq. If you are new to SVN, read
http://svnbook.red-bean.com.
Generally we ask that bug fix patches work on the current stable PHP
development branches and on "trunk". New PHP features only need to
work on "trunk".
Read CODING_STANDARDS before you start working.
After modifying the source see README.TESTING and
http://qa.php.net/write-test.php for how to test. Submitting test
scripts helps us to understand what functionality has changed. It is
important for the stability and maintainability of PHP that tests are
comprehensive.
After testing is finished, create a patch file using the command:
svn diff > your_patch.txt
For ease of review and later troubleshooting, submit individual
patches for each bug or feature.
Checklist for submitting your PHP or PECL code patch
----------------------------------------------------
- Update SVN source just before running your final 'diff' and
before testing.
- Add in-line comments and/or have external documentation ready.
Use only "/* */" style comments, not "//".
- Create test scripts for use with "make test".
- Run "make test" to check your patch doesn't break other features.
- Rebuild PHP with --enable-debug (which will show some kinds of
memory errors) and check the PHP and web server error logs after
running your PHP tests.
- Rebuild PHP with --enable-maintainer-zts to check your patch
compiles on multi-threaded web servers.
- Review the patch once more just before submitting it.
What happens after submitting your PHP, PHP Documentation or PECL patch
-----------------------------------------------------------------------
If your patch is easy to review and obviously has no side-effects,
it might be committed relatively quickly.
Because PHP is a volunteer-driven effort more complex patches will
require patience on your side. If you do not receive feedback in a
few days, consider resubmitting the patch. Before doing this think
about these questions:
- Did I send the patch to the right mail list?
- Did I review the mail list archives to see if these kind of
changes had been discussed before?
- Did I explain my patch clearly?
- Is my patch too hard to review? Because of what factors?
What happens when your PHP or PECL patch is applied
---------------------------------------------------
Your name will likely be included in the SVN commit log. If your
patch affects end users, a brief description and your name might be
added to the NEWS file.
Thank you for patching PHP!
Thank you for submitting patch for PHP!
-150
View File
@@ -1,150 +0,0 @@
====================
SVN Commit Rules
====================
This is the first file you should be reading after you get your SVN account.
We'll assume you're basically familiar with SVN, but feel free to post
your questions on the mailing list. Please have a look at
http://svnbook.red-bean.com/ for more detailed information on SVN.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and SVN lets us do this. Thus, following
some basic rules with regards to SVN usage will::
a. Make everybody happier, especially those responsible for maintaining
the SVN itself.
b. Keep the changes consistently well documented and easily trackable.
c. Prevent some of those 'Oops' moments.
d. Increase the general level of good will on planet Earth.
Having said that, here are the organizational rules::
1. Respect other people working on the project.
2. Discuss any significant changes on the list before committing and get
confirmation from the release manager for the given branch.
3. Look at EXTENSIONS file to see who is the primary maintainer of
the code you want to contribute to.
4. If you "strongly disagree" about something another person did, don't
start fighting publicly - take it up in private email.
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for thos who need that.
Currently we have the following branches in use::
trunk The active development branch.
branches/PHP_5_4 Is used to release the PHP 5.4.x series. It still allows for
larger enhancements.
branches/PHP_5_3 Is used to release the PHP 5.3.x series. This is current
stable version and is open for bugfixes and small
improvements (check with RMs if in doubt).
branches/PHP_5_2 Is used to release the PHP 5.2.x series. It is closed for
changes now.
branches/PHP_5_1 This branch is closed.
branches/PHP_4_4 This branch is closed.
The next few rules are more of a technical nature::
1. All changes should first go to trunk and then get merged from trunk
(aka MFH'ed) to all other relevant branches.
2. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
messages every day. Woe be to those who attempt to mess with it.
3. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file of the
*first* to be released version with the given change. In other words
any NEWS file change only needs to done in one branch.
NB! Lines, starting with @ will go automagically into NEWS file, but
this is NOT recommended, though. Please, add news entries directly to
NEWS file and don't forget to keep them adjusted and sorted.
4. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
provide a nice commit message for each one. See example below.
5. Do write your commit message in such a way that it makes sense even
without the corresponding diff. One should be able to look at it, and
immediately know what was modified. Definitely include the function name
in the message as shown below.
6. In your commit messages, keep each line shorter than 80 characters. And
try to align your lines vertically, if they wrap. It looks bad otherwise.
7. If you modified a function that is callable from PHP, prepend PHP to
the function name as shown below.
The format of the commit messages is pretty simple.
Use a - to start a new item in your commit message.
If a line begins with #, it is taken to be a comment and will not appear
in the ChangeLog. Everything else goes into the ChangeLog.
It is important to note that if your comment or news logline spans multiple
lines, you have to put # at the beginning of **every** such line.
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
added a new format option for the date() function, and in string.c you fixed a
memory leak in php_trim(). Don't commit both of these at once. Commit them
separately and try to make sure your commit messages look something like the
following.
For datetime.c::
- Added new 'K' format modifier to date() for printing out number of days
until New Year's Eve.
For string.c::
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
#- Man, that thing was leaking all over the place!
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.
Example::
Fixed bug #14016 (pgsql notice handler double free crash bug.)
If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later.
When you change the NEWS file for a bug fix, then please keep the bugs
sorted in decreasing order under the fixed version.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP SVN repository in various ways.
To receive daily updates to ChangeLog and NEWS, send an empty message to
php-cvs-daily-subscribe@lists.php.net.
Happy hacking,
PHP Team
+1037
View File
File diff suppressed because it is too large. Load diff
+169 -1
View File
@@ -1,6 +1,174 @@
The Win32 Build System.
$Id$
Wez Furlong <wez@thebrainroom.com>
See http://wiki.php.net/internals/windows/stepbystepbuild
If you need help with the build system, send mail to
internals@lists.php.net; please don't email me directly.
===========================================================
Contents:
1. How to build PHP under windows
a. Requirements
b. Opening a command prompt
c. Generating configure.js
d. Configuring
e. Building
f. Cleaning up
g. Running the test suite
h. snapshot building
2. How to write config.w32 files
x. to be written.
===========================================================
1. How to build PHP under windows
a. Requirements
You need:
- Windows Scripting Host (cscript.exe)
- Microsoft Build Tools from:
Microsoft Visual Studio (VC6) or later
You also need:
- bindlib_w32 [http://www.php.net/extra/bindlib_w32.zip]
- win32build [http://www.php.net/extra/win32build.zip]
b. Opening the Build Environment Command Prompt:
- Using Visual Studio (VC6)
1. Install it
2. If you have a VC++ Command Prompt icon on your start menu,
click on it to get a Command Prompt with the env vars
set up correctly.
If not, create a new shortcut and set the Target to:
%comspec% /k "C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat"
You might also want to set the prompt to start in
a convenient location (such as the root of your
PHP source checkout).
- Using Visual Studio .Net
1. Install it.
2. Under the Visual Studio .Net Tools sub menu of your start
menu, you should have a Visual Studio .Net Command Prompt
icon. If not, create a new shortcut and set the Target to:
%comspec% /k "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
You might also want to set the prompt to start in
a convenient location (such as the root of your
PHP source checkout).
- Using the Platform SDK tools
1. Download the Platform SDK:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
- You need the Core SDK, which is approx 200MB to download
and requires approx 500MB of disk space.
- The other components of the SDK are not required by PHP
- You might be able to reduce the download size by downloading
the installer control component first and then selecting
only the Build Environment (around 30MB), but I haven't
tried this.
** Note: it seems that MS don't include the 32 bit
build tools in the platform SDK any longer, so
you will probably have very limited luck if you
don't also have VC++ or VS.Net already installed.
2. Once installed, you will have an icon on your start menu
that will launch the build environment; the latest SDK's
install a number of different versions of this; you probably
want to choose the Windows 2000 Retail build environment.
Clicking on this will open a command prompt with its Path,
Include and Lib env vars set to point to the build tools
and win32 headers.
c. Generating configure
Change directory to where you have your PHP 5 sources.
Run buildconf.bat.
d. Configuring
cscript /nologo configure.js --help
Will give you a list of configuration options; these will
have the form:
--enable-foo or --disable-foo or --with-foo or --without-foo.
--enable-foo will turn something on, and is equivalent to
specifying --enable-foo=yes
--disable-foo will turn something off, and is equivalent to
specifying --enable-foo=no
--enable-foo=shared will attempt to build that feature as
a shared, dynamically loadable module.
Sometimes a configure option needs additional information
about where to find headers and libraries; quite often
you can specify --enable-foo=option where option could be
the path to where to find those files. If you want to
specify a parameter and build it as shared, you can use
this syntax instead: --enable-foo=shared,option
The same rules all apply to --with-foo and --without-foo;
the only difference is the way the options are named;
the convention is that --enable-foo means that you are
switching on something that comes with PHP, whereas
--with-foo means that you want to build in something
external to PHP.
e. Building
Once you have successfully configured your build (make
sure you read the output from the command to make sure
it worked correctly), you can build the code; simply type
"nmake" at the command prompt, and it will build everthing
you asked for.
Once the build has completed, you will find your binaries
in the build dir determined by configure; this is typically
Release_TS for release builds or Debug_TS for debug builds.
If you build a non-thread-safe build, it will use Release
or Debug to store the files. Also in this build dir you
will find sub directories for each module that went into
your PHP build. The files you'll want to keep are the
.exe and .dll files directly in your build dir.
f. Cleaning Up
You can automatically delete everything that was built
by running "nmake clean". This will delete everything
that was put there when you ran nmake, including the
.exe and .dll files.
g. Running the test suite
You can verify that your build is working well by running
the regression test suite. You do this by typing
"nmake test". You can specify the tests you want to run
by defing the TESTS variable - if you wanted to run the
sqlite test suite only, you would type
"nmake /D TESTS=ext/sqlite/tests test"
h. Snapshot Building
If you want to set up an automated build that will tolerate
breakages in some of the modules, you can use the
--enable-snapshot-build configure option to generate a
makefile optimized for that purpose. A snapshot build will
switch the argument parser so that the default option for
configure switches that your don't specify will be set
to "shared". The effect of this is to turn on all options
unless you explicitly disable them. When you have configured
your snapshot build, you can use "nmake build-snap" to build
everything, ignoring build errors in individual extensions
or SAPI.
vim:tw=78:sw=1:ts=1:et
+17 -5
View File
@@ -19,7 +19,9 @@ A simple implementation might look like the following. This stores the
original raw user data and adds a my_get_raw() function while the normal
$_POST, $_GET and $_COOKIE arrays are only populated with stripped
data. In this simple example all I am doing is calling strip_tags() on
the data.
the data. If register_globals is turned on, the default globals that
are created will be stripped ($foo) while a $RAW_foo is created with the
original user input.
ZEND_BEGIN_MODULE_GLOBALS(my_input_filter)
zval *post_array;
@@ -153,6 +155,8 @@ PHP_FUNCTION(my_get_raw)
int var_len;
zval **tmp;
zval *array_ptr = NULL;
HashTable *hash_ptr;
char *raw_var;
if(zend_parse_parameters(2 TSRMLS_CC, "ls", &arg, &var, &var_len) == FAILURE) {
return;
@@ -170,15 +174,23 @@ PHP_FUNCTION(my_get_raw)
break;
}
if(!array_ptr) {
RETURN_FALSE;
}
if(!array_ptr) RETURN_FALSE;
if(zend_hash_find(HASH_OF(array_ptr), var, var_len+5, (void **)&tmp) == SUCCESS) {
/*
* I'm changing the variable name here because when running with register_globals on,
* the variable will end up in the global symbol table
*/
raw_var = emalloc(var_len+5); /* RAW_ and a \0 */
strcpy(raw_var, "RAW_");
strlcat(raw_var,var,var_len+5);
hash_ptr = HASH_OF(array_ptr);
if(zend_hash_find(hash_ptr, raw_var, var_len+5, (void **)&tmp) == SUCCESS) {
*return_value = **tmp;
zval_copy_ctor(return_value);
} else {
RETVAL_FALSE;
}
efree(raw_var);
}
-174
View File
@@ -1,174 +0,0 @@
Design
======
Main assumption of the model is that the problem that we are to solve is the
problem of the very long class names in PHP libraries. We would not attempt
to take autoloader's job or create packaging model - only make names
manageable.
Namespaces are defined the following way:
Zend/DB/Connection.php:
<?php
namespace Zend\DB;
class Connection {
}
function connect() {
}
?>
Namespace definition does the following:
All class and function names inside are automatically prefixed with
namespace name. Inside namespace, local name always takes precedence over
global name. Several files may be using the same namespace.
The namespace declaration statement must be the very first statement in
the file. The only exception is "declare" statement that can be used before.
Every class and function in a namespace can be referred to by the full name
- e.g. Zend\DB\Connection or Zend\DB\connect - at any time.
<?php
require 'Zend/Db/Connection.php';
$x = new Zend\DB\Connection;
Zend\DB\connect();
?>
Namespace or class name can be imported:
<?php
require 'Zend/Db/Connection.php';
use Zend\DB;
use Zend\DB\Connection as DbConnection;
$x = new Zend\DB\Connection();
$y = new DB\connection();
$z = new DbConnection();
DB\connect();
?>
The use statement only defines name aliasing. It may create name alias for
namespace or class. The simple form of statement "use A\B\C\D;" is
equivalent to "use A\B\C\D as D;". The use statement can be used at any
time in the global scope (not inside function/class) and takes effect from
the point of definition down to the end of file. It is recommended however to
place the use statements at the beginning of the file. The use statements have
effect only on the file where they appear.
The special "empty" namespace (\ prefix) is useful as explicit global
namespace qualification. All class and function names started from \
interpreted as global.
<?php
namespace A\B\C;
$con = \mysql_connect(...);
?>
A special constant __NAMESPACE__ contains the name of the current namespace.
It can be used to construct fully-qualified names to pass them as callbacks.
<?php
namespace A\B\C;
function foo() {
}
set_error_handler(__NAMESPACE__ . "\foo");
?>
In global namespace __NAMESPACE__ constant has the value of empty string.
Names inside namespace are resolved according to the following rules:
1) all qualified names are translated during compilation according to
current import rules. So if we have "use A\B\C" and then "C\D\e()"
it is translated to "A\B\C\D\e()".
2) unqualified class names translated during compilation according to
current import rules. So if we have "use A\B\C" and then "new C()" it
is translated to "new A\B\C()".
3) inside namespace, calls to unqualified functions that are defined in
current namespace (and are known at the time the call is parsed) are
interpreted as calls to these namespace functions.
4) inside namespace, calls to unqualified functions that are not defined
in current namespace are resolved at run-time. The call to function foo()
inside namespace (A\B) first tries to find and call function from current
namespace A\B\foo() and if it doesn't exist PHP tries to call internal
function foo(). Note that using foo() inside namespace you can call only
internal PHP functions, however using \foo() you are able to call any
function from the global namespace.
5) unqualified class names are resolved at run-time. E.q. "new Exception()"
first tries to use (and autoload) class from current namespace and in case
of failure uses internal PHP class. Note that using "new A" in namespace
you can only create class from this namespace or internal PHP class, however
using "new \A" you are able to create any class from the global namespace.
6) Calls to qualified functions are resolved at run-time. Call to
A\B\foo() first tries to call function foo() from namespace A\B, then
it tries to find class A\B (__autoload() it if necessary) and call its
static method foo()
7) qualified class names are interpreted as class from corresponding
namespace. So "new A\B\C()" refers to class C from namespace A\B.
Examples
--------
<?php
namespace A;
foo(); // first tries to call "foo" defined in namespace "A"
// then calls internal function "foo"
\foo(); // calls function "foo" defined in global scope
?>
<?php
namespace A;
new B(); // first tries to create object of class "B" defined in namespace "A"
// then creates object of internal class "B"
new \B(); // creates object of class "B" defined in global scope
?>
<?php
namespace A;
new A(); // first tries to create object of class "A" from namespace "A" (A\A)
// then creates object of internal class "A"
?>
<?php
namespace A;
B\foo(); // first tries to call function "foo" from namespace "A\B"
// then calls method "foo" of internal class "B"
\B\foo(); // first tries to call function "foo" from namespace "B"
// then calls method "foo" of class "B" from global scope
?>
The worst case if class name conflicts with namespace name
<?php
namespace A;
A\foo(); // first tries to call function "foo" from namespace "A\A"
// then tries to call method "foo" of class "A" from namespace "A"
// then tries to call function "foo" from namespace "A"
// then calls method "foo" of internal class "A"
\A\foo(); // first tries to call function "foo" from namespace "A"
// then calls method "foo" of class "A" from global scope
?>
TODO
====
* Support for namespace constants?
* performance problems
- calls to internal functions in namespaces are slower, because PHP first
looks for such function in current namespace
- calls to static methods are slower, because PHP first tries to look
for corresponding function in namespace
* Extend the Reflection API?
* Add ReflectionNamespace class
+ getName()
+ getClasses()
+ getFunctions()
+ getFiles()
* Add getNamespace() methods to ReflectionClass and ReflectionFunction
* Rename namespaces to packages?
+136
View File
@@ -0,0 +1,136 @@
Things to do or at least think about doing in the future. Name in
parenthesis means that person has taken on this project.
Zend
----
* Allow foreach ($array as $k => list($a, $b)) syntax for multi
dimensional arrays.
* Look at replacing c-lib call tolower().
* Make hash API functions work with HASH_OF() to save time.
* Native large number support (probably with GNU GMP)
* Const'ify APIs. Right now, many functions leave parameters untouched,
but don't declare those as const. This makes interaction with other
interfaces difficult which pass const parameters to us.
global
------
* Make sure that all ZTS globals get destructed. Most ts_allocate_id()
calls should have a dtor entry.
* on some platforms unimplemented function will just do nothing
(e.g. symlink) they should print a warning or not even be defined!
(DONE ?)
* --enable-all in configure. (--enable-shared=max ...)
* make configure print out a summary when it's done (like XEmacs)
* replace standard functions which work on static data with
reentrancy-safe functions (DONE?).
* make SAPI conform to CGI/1.1. Currently, all SAPI modules
define REMOTE_ADDR etc. themselves and reach only various level
of compliance.
* see what functions might need to be changed to use HashPosition, so
that the internal array pointer is not affected.
* Move most extensions and PEAR packages out of the PHP CVS tree,
include them again during release packaging.
Other
* use thread-safe resolver functions (either require BIND 8 or adns).
* implement javadoc based function docs template system.
* provide optional IPv6 support (seems to be done?).
* find a better way to implement script timeouts. SIGVTALRM is used
by some POSIX threads implementations (i.e. OpenBSD) and is not
available in ZTS mode.
* Implement flush feature suitable for nested output buffers.
Streams
-------
* Route filestat.c through the wrapper layer; isolate the statcache code
so that it is independent of php functions and can be applied to any
stream/path.
* Implement generalized connection pool for stated protocols such as
ftp and http/1.1 (using keep-alive) to avoid having to negotiate
new command/request stream for each subsequent call; Possibly store
resources in contexts (creating a default context if necessary) to
allow segmentation of connection pools.
* Add a method to take ownership of the memory buffer in memory streams so
that generating string values for zvals doesn't require an estrdup.
* bundle and use curl lib for fopen wrapper.
documentation
-------------
* Add remarks in the documentation which functions are not implemented
on win32.
* Add remarks in the documentation which functions are not binary-safe.
* Update curl documentation (DONE?)
* Add developer documentation.
* Add detailed documentation for Java extension.
ext/curl
--------
* Have a warning scheme for when people use unsupported features.
ext/oci8
--------
* All OCIFetch*() functions should return 0 for no more data and false on
error.
* Have a flag that trims trailing spaces from CHAR fields on retrieval.
* Make allow_call_time_pass_reference=Off working.
* For additional todo information, see oci8.c, in ext/oci8
ext/odbc
--------
For PHP 4.3.0:
* update all php_error calls to php_error_docref where valid
* integrate EXPERIMENTAL ODBC update for use in PHP 5.0, use for
testing purposes only.
For PHP 5.0.0
* Activate EXPERIMENTAL ODBC codebase update
ext/pcre
--------
* Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe
ext/pcntl
---------
* Change internal callback handler to use TICKS
* Remove all zend_extension code
* Add object callback support to pcntl_signal()
ext/session
-----------
For PHP 4.3.0:
* session_abort() to abort session. ie: Do not save session data.
* Allow unset($_SESSION) or unset($HTTP_SESSION_VARS) to unset
session vars regardless of register_globals setting.
Other:
* Maybe implement finer-grained session variables that could be
locked individually.
* Write a network-transparent storage back-end with fallover
facilities
* Provide a callback facility which is executed upon encountering
an unknown class name during deserialization
ext/standard
------------
* Add a version number to data serialized via serialize().
* Possibly modify parsing of GPC data to automatically create arrays if
variable name is seen more than once.
* Implement regex-cache for url-functions.
* Move socket related functions to fsock.c.
ext/wddx
--------
* See if we can support the remaining data types:
binary
http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
(Andrei)
* implement wddx_packet_as_javascript(). (Andrei)
other cool stuff
----------------
* PVM extension
vim:et:sw=4:ts=4
+4
View File
@@ -0,0 +1,4 @@
Zend Engine
-----------
- Look at making zend_constant value member be a zval* instead of zval. (Andi)
- Implement inheritance rules for type hints. (Marcus)
+89
View File
@@ -0,0 +1,89 @@
Component: Zend Engine 2
Important stuff to finish: PPP members/PPP methods,
support of overloaded extensions, possibly differentiate
between class and namespace as discussed with Stig in
Germany.
Responsibility: Zeev, Andi, Stas
Time frame: Couple of months for first part and extensions will be
ongoing while PHP is being fixed.
Things to leave for later versions: Native aggregation
support, accessing static members via object and not class.
Component: Aggregation
Responsibility: Andi, Stig?
Time frame: ?
Component: Redesign of API Versioning
Responsibility: ?
Time frame: 1 month
Component: Thread Safety
Identify the extensions that are not thread safe by design
or due to dependant libraries and identify them as such.
If possible try to resolve thread safety issue via code
improvements (if php code or patches will be accepted by
library maintainers). For situations where thread safety
cannot easily be acheived a flag in the extension API is
set so PHP can identify non-thread safe extensions. These
extensions will not be loaded in a ZTS compiled binary
(unless it is cli/cgi).
Responsibility: ?
Time frame: ?
Component: SAPI
Environment variables defined in the CGI spec need to be
verified in each SAPI module that they conform to the CGI
spec correctly. If they do not, the SAPI module needs to
fix the variable prior to script execution. Having this
conformity will aid in having PHP scripts run correctly
under different sapi modules.
Responsibility: Shane Caraveo & each sapi module owner
Timeframe: ? (but shouldn't be much effort, most modules are probably ok)
Component: RPC Abstraction Layer
Porting java, com, dotnet, xmlrpc, corba, soap and python, srm
(are there more ?) to work with the new oo api and preferably
by using ext/rpc.
Responsibility: Harald
Time frame: 2 months (but i have to wait for a few engine features first)
Component: OO Extensions
Each OO extension has to be revised and rewritten to fit into
the new OO model. We should decide which extensions are a must
to have for the release and which can be ported by the maintainer
later as a separate pecl release.
A list of extensions to be extended that have to be investigated:
* browscap
* aggregate
* all *sql extensions (*_fetch_object)
* domxml (seems like christian is rewriting it anyways)
* ming
Responsibility: Harald (, extension maintainers)
Component: Abstract Data Types (ADT)
Responsibility: Sterling, Harald
Time frame: ?
Component: Test Suite
Extending the test suite with atleast a test for every
function in an extension that doesn't require external
resources. Also developing an automated test thing which
cvs ups's, compiles and tests the build on a daily base on
as much platforms/extensions as possible.
The test suite will also be extended to support threaded
testing and testing for differing sapi modules (via http
calls or other methods).
Reponsibility: Derick (, extension maintainers)
Time frame: 3 months
+9 -39
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2009, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
@@ -647,26 +647,19 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
}
/*
Lock a mutex.
A return value of 0 indicates success
*/
/* Lock a mutex */
TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
{
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex locked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
EnterCriticalSection(mutexp);
return 0;
return 1;
#elif defined(GNUPTH)
if (pth_mutex_acquire(mutexp, 0, NULL)) {
return 0;
}
return -1;
return pth_mutex_acquire(mutexp, 0, NULL);
#elif defined(PTHREADS)
return pthread_mutex_lock(mutexp);
#elif defined(NSAPI)
crit_enter(mutexp);
return 0;
return crit_enter(mutexp);
#elif defined(PI3WEB)
return PISync_lock(mutexp);
#elif defined(TSRM_ST)
@@ -679,26 +672,19 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
}
/*
Unlock a mutex.
A return value of 0 indicates success
*/
/* Unlock a mutex */
TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
{
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex unlocked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
LeaveCriticalSection(mutexp);
return 0;
return 1;
#elif defined(GNUPTH)
if (pth_mutex_release(mutexp)) {
return 0;
}
return -1;
return pth_mutex_release(mutexp);
#elif defined(PTHREADS)
return pthread_mutex_unlock(mutexp);
#elif defined(NSAPI)
crit_exit(mutexp);
return 0;
return crit_exit(mutexp);
#elif defined(PI3WEB)
return PISync_unlock(mutexp);
#elif defined(TSRM_ST)
@@ -710,22 +696,6 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
#endif
}
/*
Changes the signal mask of the calling thread
*/
#ifdef HAVE_SIGPROCMASK
TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset)
{
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Changed sigmask in thread: %ld", tsrm_thread_id()));
/* TODO: add support for other APIs */
#ifdef PTHREADS
return pthread_sigmask(how, set, oldset);
#else
return sigprocmask(how, set, oldset);
#endif
}
#endif
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler)
{
+3 -12
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2009, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
@@ -22,12 +22,10 @@
#ifdef TSRM_WIN32
# ifdef TSRM_EXPORTS
# define TSRM_API __declspec(dllexport)
# define TSRM_API __declspec(dllexport)
# else
# define TSRM_API __declspec(dllimport)
# define TSRM_API __declspec(dllimport)
# endif
#elif defined(__GNUC__) && __GNUC__ >= 4
# define TSRM_API __attribute__ ((visibility("default")))
#else
# define TSRM_API
#endif
@@ -90,10 +88,6 @@ typedef struct {
# define MUTEX_T beos_ben *
#endif
#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif
typedef void (*ts_allocate_ctor)(void *, void ***);
typedef void (*ts_allocate_dtor)(void *, void ***);
@@ -142,9 +136,6 @@ TSRM_API MUTEX_T tsrm_mutex_alloc(void);
TSRM_API void tsrm_mutex_free(MUTEX_T mutexp);
TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp);
TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp);
#ifdef HAVE_SIGPROCMASK
TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset);
#endif
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler);
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler);
+1
View File
@@ -0,0 +1 @@
#undef PTHREADS
+1 -1
View File
@@ -33,7 +33,7 @@ $(makefile_in_files): $(makefile_am_files)
aclocal.m4: configure.in acinclude.m4
aclocal
$(config_h_in): configure.in
$(config_h_in): configure.in acconfig.h
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
+5
View File
@@ -1,5 +1,10 @@
// vim:ft=javascript
// $Id$
if (CHECK_HEADER_ADD_INCLUDE("NewAPIs.h", "CFLAGS_PHP", php_usual_include_suspects)) {
// Need to add the flag directly, since TSRM doesn't include the config
// header
ADD_FLAG("CFLAGS_PHP", "/DHAVE_NEWAPIS_H=1");
}
ADD_SOURCES("TSRM", "TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c tsrm_win32.c");
-4
View File
@@ -7,10 +7,6 @@ AC_INIT(TSRM.c)
AM_INIT_AUTOMAKE(TSRM, 1.0, nodefine)
AM_CONFIG_HEADER(tsrm_config.h)
AH_TOP([
#undef PTHREADS
])
sinclude(tsrm.m4)
TSRM_BASIC_CHECKS
+2
View File
@@ -7,6 +7,8 @@
* on Windows 95/NT.
*/
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <io.h>
-2
View File
@@ -30,8 +30,6 @@ AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_CHECK_HEADERS(stdarg.h)
AC_CHECK_FUNCS(sigprocmask)
])
-2
View File
@@ -1,8 +1,6 @@
#ifndef TSRM_CONFIG_W32_H
#define TSRM_CONFIG_W32_H
#include <../main/config.w32.h>
#define HAVE_UTIME 1
#define HAVE_ALLOCA 1
#define HAVE_REALPATH 1
+4 -12
View File
@@ -52,19 +52,11 @@ char *alloca ();
#endif
#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2))
# define TSRM_ALLOCA_MAX_SIZE 4096
# define TSRM_ALLOCA_FLAG(name) \
int name;
# define tsrm_do_alloca_ex(size, limit, use_heap) \
((use_heap = ((size) > (limit))) ? malloc(size) : alloca(size))
# define tsrm_do_alloca(size, use_heap) \
tsrm_do_alloca_ex(size, TSRM_ALLOCA_MAX_SIZE, use_heap)
# define tsrm_free_alloca(p, use_heap) \
do { if (use_heap) free(p); } while (0)
# define tsrm_do_alloca(p) alloca(p)
# define tsrm_free_alloca(p)
#else
# define TSRM_ALLOCA_FLAG(name)
# define tsrm_do_alloca(p, use_heap) malloc(p)
# define tsrm_free_alloca(p, use_heap) free(p)
# define tsrm_do_alloca(p) malloc(p)
# define tsrm_free_alloca(p) free(p)
#endif
#endif /* TSRM_CONFIG_COMMON_H */
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2011 The PHP Group |
| Copyright (c) 1997-2009 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2011 The PHP Group |
| Copyright (c) 1997-2009 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+352 -990
View File
File diff suppressed because it is too large. Load diff
+21 -49
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2011 The PHP Group |
| Copyright (c) 1997-2009 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -14,7 +14,6 @@
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Sascha Schumann <sascha@schumann.cx> |
| Pierre Joye <pierre@php.net> |
+----------------------------------------------------------------------+
*/
@@ -108,7 +107,7 @@ typedef unsigned short mode_t;
#define COPY_WHEN_ABSOLUTE(path) 0
#endif
#ifndef IS_ABSOLUTE_PATH
#ifndef IS_ABSOLUTE_PATH
#define IS_ABSOLUTE_PATH(path, len) \
(IS_SLASH(path[0]))
#endif
@@ -118,28 +117,19 @@ typedef unsigned short mode_t;
#endif
#ifdef TSRM_WIN32
# ifdef CWD_EXPORTS
# define CWD_API __declspec(dllexport)
# else
# define CWD_API __declspec(dllimport)
# endif
#elif defined(__GNUC__) && __GNUC__ >= 4
# define CWD_API __attribute__ ((visibility("default")))
# ifdef CWD_EXPORTS
# define CWD_API __declspec(dllexport)
# else
# define CWD_API __declspec(dllimport)
# endif
#else
# define CWD_API
#define CWD_API
#endif
#ifdef TSRM_WIN32
CWD_API int php_sys_stat_ex(const char *path, struct stat *buf, int lstat);
# define php_sys_stat(path, buf) php_sys_stat_ex(path, buf, 0)
# define php_sys_lstat(path, buf) php_sys_stat_ex(path, buf, 1)
CWD_API int php_sys_readlink(const char *link, char *target, size_t target_len);
CWD_API int php_sys_stat(const char *path, struct stat *buf);
#else
# define php_sys_stat stat
# define php_sys_lstat lstat
# ifdef HAVE_SYMLINK
# define php_sys_readlink(link, target, target_len) readlink(link, target, target_len)
# endif
#endif
typedef struct _cwd_state {
@@ -163,7 +153,9 @@ CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...);
CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC);
CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC);
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC);
#if !defined(TSRM_WIN32)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC);
#endif
CWD_API int virtual_unlink(const char *path TSRMLS_DC);
CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC);
CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC);
@@ -194,14 +186,14 @@ CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC);
CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int link TSRMLS_DC);
#endif
/* One of the following constants must be used as the last argument
/* One of the following constants must be used as the last argument
in virtual_file_ex() call. */
#define CWD_EXPAND 0 /* expand "." and ".." but dont resolve symlinks */
#define CWD_FILEPATH 1 /* resolve symlinks if file is exist otherwise expand */
#define CWD_REALPATH 2 /* call realpath(), resolve symlinks. File must exist */
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath TSRMLS_DC);
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath);
CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC);
@@ -214,15 +206,8 @@ typedef struct _realpath_cache_bucket {
int path_len;
char *realpath;
int realpath_len;
int is_dir;
time_t expires;
#ifdef PHP_WIN32
unsigned char is_rvalid;
unsigned char is_readable;
unsigned char is_wvalid;
unsigned char is_writable;
#endif
struct _realpath_cache_bucket *next;
struct _realpath_cache_bucket *next;
} realpath_cache_bucket;
typedef struct _virtual_cwd_globals {
@@ -243,14 +228,10 @@ extern virtual_cwd_globals cwd_globals;
CWD_API void realpath_cache_clean(TSRMLS_D);
CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC);
CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_len, time_t t TSRMLS_DC);
CWD_API int realpath_cache_size(TSRMLS_D);
CWD_API int realpath_cache_max_buckets(TSRMLS_D);
CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
/* The actual macros to be used in programs using TSRM
* If the program defines VIRTUAL_DIR it will use the
* virtual_* functions
* virtual_* functions
*/
#ifdef VIRTUAL_DIR
@@ -267,7 +248,9 @@ CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
#define VCWD_REALPATH(path, real_path) virtual_realpath(path, real_path TSRMLS_CC)
#define VCWD_RENAME(oldname, newname) virtual_rename(oldname, newname TSRMLS_CC)
#define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC)
# define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#if !defined(TSRM_WIN32)
#define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#endif
#define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC)
#define VCWD_MKDIR(pathname, mode) virtual_mkdir(pathname, mode TSRMLS_CC)
#define VCWD_RMDIR(pathname) virtual_rmdir(pathname TSRMLS_CC)
@@ -292,13 +275,7 @@ CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
#define VCWD_OPEN(path, flags) open(path, flags)
#define VCWD_OPEN_MODE(path, flags, mode) open(path, flags, mode)
#define VCWD_CREAT(path, mode) creat(path, mode)
/* rename on windows will fail if newname already exists.
MoveFileEx has to be used */
#if defined(TSRM_WIN32)
# define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0 ? -1 : 0)
#else
# define VCWD_RENAME(oldname, newname) rename(oldname, newname)
#endif
#define VCWD_RENAME(oldname, newname) rename(oldname, newname)
#define VCWD_CHDIR(path) chdir(path)
#define VCWD_CHDIR_FILE(path) virtual_chdir_file(path, chdir)
#define VCWD_GETWD(buf) getwd(buf)
@@ -310,7 +287,7 @@ CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
#define VCWD_OPENDIR(pathname) opendir(pathname)
#define VCWD_POPEN(command, type) popen(command, type)
#if defined(TSRM_WIN32)
#define VCWD_ACCESS(pathname, mode) tsrm_win32_access(pathname, mode TSRMLS_CC)
#define VCWD_ACCESS(pathname, mode) tsrm_win32_access(pathname, mode)
#else
#define VCWD_ACCESS(pathname, mode) access(pathname, mode)
#endif
@@ -318,13 +295,8 @@ CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
#define VCWD_REALPATH(path, real_path) tsrm_realpath(path, real_path TSRMLS_CC)
#if HAVE_UTIME
# ifdef TSRM_WIN32
# define VCWD_UTIME(path, time) win32_utime(path, time)
# else
# define VCWD_UTIME(path, time) utime(path, time)
# endif
#define VCWD_UTIME(path, time) utime(path, time)
#endif
#define VCWD_CHMOD(path, mode) chmod(path, mode)
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#define VCWD_CHOWN(path, owner, group) chown(path, owner, group)
+28 -351
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2011 The PHP Group |
| Copyright (c) 1997-2009 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -23,16 +23,14 @@
#include <io.h>
#include <process.h>
#include <time.h>
#include <errno.h>
#define TSRM_INCLUDE_FULL_WINDOWS_HEADERS
#include "SAPI.h"
#include "TSRM.h"
#ifdef TSRM_WIN32
#include <Sddl.h>
#include "tsrm_win32.h"
#include "tsrm_virtual_cwd.h"
#ifdef ZTS
static ts_rsrc_id win32_globals_id;
@@ -47,16 +45,6 @@ static void tsrm_win32_ctor(tsrm_win32_globals *globals TSRMLS_DC)
globals->process_size = 0;
globals->shm_size = 0;
globals->comspec = _strdup((GetVersion()<0x80000000)?"cmd.exe":"command.com");
/* Set it to INVALID_HANDLE_VALUE
* It will be initialized correctly in tsrm_win32_access or set to
* NULL if no impersonation has been done.
* the impersonated token can't be set here as the impersonation
* will happen later, in fcgi_accept_request (or whatever is the
* SAPI being used).
*/
globals->impersonation_token = INVALID_HANDLE_VALUE;
globals->impersonation_token_sid = NULL;
}
static void tsrm_win32_dtor(tsrm_win32_globals *globals TSRMLS_DC)
@@ -78,13 +66,6 @@ static void tsrm_win32_dtor(tsrm_win32_globals *globals TSRMLS_DC)
}
free(globals->comspec);
if (globals->impersonation_token && globals->impersonation_token != INVALID_HANDLE_VALUE ) {
CloseHandle(globals->impersonation_token);
}
if (globals->impersonation_token_sid) {
free(globals->impersonation_token_sid);
}
}
TSRM_API void tsrm_win32_startup(void)
@@ -103,277 +84,23 @@ TSRM_API void tsrm_win32_shutdown(void)
#endif
}
char * tsrm_win32_get_path_sid_key(const char *pathname TSRMLS_DC)
TSRM_API int tsrm_win32_access(const char *pathname, int mode)
{
PSID pSid = TWG(impersonation_token_sid);
DWORD sid_len = pSid ? GetLengthSid(pSid) : 0;
TCHAR *ptcSid = NULL;
char *bucket_key = NULL;
if (!pSid) {
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, strlen(pathname) + 1);
if (!bucket_key) {
return NULL;
}
memcpy(bucket_key, pathname, strlen(pathname));
return bucket_key;
}
if (!ConvertSidToStringSid(pSid, &ptcSid)) {
return NULL;
}
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, strlen(pathname) + strlen(ptcSid) + 1);
if (!bucket_key) {
LocalFree(ptcSid);
return NULL;
}
memcpy(bucket_key, ptcSid, strlen(ptcSid));
memcpy(bucket_key + strlen(ptcSid), pathname, strlen(pathname) + 1);
LocalFree(ptcSid);
return bucket_key;
}
PSID tsrm_win32_get_token_sid(HANDLE hToken)
{
BOOL bSuccess = FALSE;
DWORD dwLength = 0;
PTOKEN_USER pTokenUser = NULL;
PSID sid;
PSID *ppsid = &sid;
DWORD sid_len;
PSID pResultSid = NULL;
/* Get the actual size of the TokenUser structure */
if (!GetTokenInformation(
hToken, TokenUser, (LPVOID) pTokenUser, 0, &dwLength)) {
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
goto Finished;
}
pTokenUser = (PTOKEN_USER)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwLength);
if (pTokenUser == NULL) {
goto Finished;
}
}
/* and fetch it now */
if (!GetTokenInformation(
hToken, TokenUser, (LPVOID) pTokenUser, dwLength, &dwLength)) {
goto Finished;
}
sid_len = GetLengthSid(pTokenUser->User.Sid);
/* ConvertSidToStringSid(pTokenUser->User.Sid, &ptcSidOwner); */
pResultSid = malloc(sid_len);
if (!pResultSid) {
goto Finished;
}
if (!CopySid(sid_len, pResultSid, pTokenUser->User.Sid)) {
goto Finished;
}
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
return pResultSid;
Finished:
if (pResultSid) {
free(pResultSid);
}
/* Free the buffer for the token groups. */
if (pTokenUser != NULL) {
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
}
return NULL;
}
TSRM_API int tsrm_win32_access(const char *pathname, int mode TSRMLS_DC)
{
time_t t;
HANDLE thread_token;
PSID token_sid;
SECURITY_INFORMATION sec_info = OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION;
GENERIC_MAPPING gen_map = { FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE, FILE_ALL_ACCESS };
DWORD priv_set_length = sizeof(PRIVILEGE_SET);
PRIVILEGE_SET privilege_set = {0};
DWORD sec_desc_length = 0, desired_access = 0, granted_access = 0;
BYTE * psec_desc = NULL;
BOOL fAccess = FALSE;
BOOL bucket_key_alloc = FALSE;
realpath_cache_bucket * bucket = NULL;
char * real_path = NULL;
if (mode == 1 /*X_OK*/) {
#if 1
/* This code is not supported by Windows 98,
* but we don't support it anymore */
DWORD type;
return GetBinaryType(pathname, &type) ? 0 : -1;
return GetBinaryType(pathname, &type)?0:-1;
#else
SHFILEINFO sfi;
return access(pathname, 0) == 0 &&
SHGetFileInfo(pathname, 0, &sfi, sizeof(SHFILEINFO), SHGFI_EXETYPE) != 0 ? 0 : -1;
#endif
} else {
if(!IS_ABSOLUTE_PATH(pathname, strlen(pathname)+1)) {
real_path = (char *)malloc(MAX_PATH);
if(tsrm_realpath(pathname, real_path TSRMLS_CC) == NULL) {
goto Finished;
}
pathname = real_path;
}
if(access(pathname, mode)) {
free(real_path);
return errno;
}
/* If only existence check is made, return now */
if (mode == 0) {
free(real_path);
return 0;
}
/* Only in NTS when impersonate==1 (aka FastCGI) */
/*
AccessCheck() requires an impersonation token. We first get a primary
token and then create a duplicate impersonation token. The
impersonation token is not actually assigned to the thread, but is
used in the call to AccessCheck. Thus, this function itself never
impersonates, but does use the identity of the thread. If the thread
was impersonating already, this function uses that impersonation context.
*/
if(!OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
DWORD err = GetLastError();
if (GetLastError() == ERROR_NO_TOKEN) {
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &thread_token)) {
TWG(impersonation_token) = NULL;
goto Finished;
}
}
}
/* token_sid will be freed in tsrmwin32_dtor */
token_sid = tsrm_win32_get_token_sid(thread_token);
if (!token_sid) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = NULL;
goto Finished;
}
/* Different identity, we need a new impersontated token as well */
if (!TWG(impersonation_token_sid) || !EqualSid(token_sid, TWG(impersonation_token_sid))) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = token_sid;
/* Duplicate the token as impersonated token */
if (!DuplicateToken(thread_token, SecurityImpersonation, &TWG(impersonation_token))) {
goto Finished;
}
} else {
/* we already have it, free it then */
free(token_sid);
}
if (CWDG(realpath_cache_size_limit)) {
t = time(0);
bucket = realpath_cache_lookup(pathname, strlen(pathname), t TSRMLS_CC);
if(bucket == NULL && real_path == NULL) {
/* We used the pathname directly. Call tsrm_realpath */
/* so that entry is created in realpath cache */
real_path = (char *)malloc(MAX_PATH);
if(tsrm_realpath(pathname, real_path TSRMLS_CC) != NULL) {
pathname = real_path;
bucket = realpath_cache_lookup(pathname, strlen(pathname), t TSRMLS_CC);
}
}
}
/* Do a full access check because access() will only check read-only attribute */
if(mode == 0 || mode > 6) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ;
} else if(mode <= 2) {
if(bucket != NULL && bucket->is_wvalid) {
fAccess = bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_WRITE;
} else if(mode <= 4) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS;
} else { // if(mode <= 6)
if(bucket != NULL && bucket->is_rvalid && bucket->is_wvalid) {
fAccess = bucket->is_readable & bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_READ | FILE_GENERIC_WRITE;
}
if(TWG(impersonation_token) == NULL) {
goto Finished;
}
/* Get size of security buffer. Call is expected to fail */
if(GetFileSecurity(pathname, sec_info, NULL, 0, &sec_desc_length)) {
goto Finished;
}
psec_desc = (BYTE *)malloc(sec_desc_length);
if(psec_desc == NULL ||
!GetFileSecurity(pathname, sec_info, (PSECURITY_DESCRIPTOR)psec_desc, sec_desc_length, &sec_desc_length)) {
goto Finished;
}
MapGenericMask(&desired_access, &gen_map);
if(!AccessCheck((PSECURITY_DESCRIPTOR)psec_desc, TWG(impersonation_token), desired_access, &gen_map, &privilege_set, &priv_set_length, &granted_access, &fAccess)) {
goto Finished_Impersonate;
}
/* Keep the result in realpath_cache */
if(bucket != NULL) {
if(desired_access == (FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
}
else if(desired_access == FILE_GENERIC_WRITE) {
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
} else if (desired_access == (FILE_GENERIC_READ | FILE_GENERIC_WRITE)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
}
}
Finished_Impersonate:
if(psec_desc != NULL) {
free(psec_desc);
psec_desc = NULL;
}
Finished:
if(real_path != NULL) {
free(real_path);
real_path = NULL;
}
if(fAccess == FALSE) {
errno = EACCES;
return errno;
} else {
return 0;
}
return access(pathname, mode);
}
}
@@ -446,51 +173,26 @@ static HANDLE dupHandle(HANDLE fh, BOOL inherit) {
TSRM_API FILE *popen(const char *command, const char *type)
{
TSRMLS_FETCH();
return popen_ex(command, type, NULL, NULL TSRMLS_CC);
return popen_ex(command, type, NULL, NULL);
}
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env TSRMLS_DC)
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env)
{
FILE *stream = NULL;
int fno, type_len = strlen(type), read, mode;
int fno, str_len = strlen(type), read, mode;
STARTUPINFO startup;
PROCESS_INFORMATION process;
SECURITY_ATTRIBUTES security;
HANDLE in, out;
DWORD dwCreateFlags = 0;
BOOL res;
process_pair *proc;
char *cmd;
int i;
char *ptype = (char *)type;
HANDLE thread_token = NULL;
HANDLE token_user = NULL;
BOOL asuser = TRUE;
if (!type) {
return NULL;
}
/*The following two checks can be removed once we drop XP support */
type_len = strlen(type);
if (type_len <1 || type_len > 2) {
return NULL;
}
for (i=0; i < type_len; i++) {
if (!(*ptype == 'r' || *ptype == 'w' || *ptype == 'b' || *ptype == 't')) {
return NULL;
}
ptype++;
}
process_pair *proc;
TSRMLS_FETCH();
security.nLength = sizeof(SECURITY_ATTRIBUTES);
security.bInheritHandle = TRUE;
security.lpSecurityDescriptor = NULL;
if (!type_len || !CreatePipe(&in, &out, &security, 2048L)) {
if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) {
return NULL;
}
@@ -502,7 +204,8 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
startup.hStdError = GetStdHandle(STD_ERROR_HANDLE);
read = (type[0] == 'r') ? TRUE : FALSE;
mode = ((type_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
mode = ((str_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
if (read) {
in = dupHandle(in, FALSE);
@@ -514,39 +217,13 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
startup.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
}
dwCreateFlags = NORMAL_PRIORITY_CLASS;
if (strcmp(sapi_module.name, "cli") != 0) {
dwCreateFlags |= CREATE_NO_WINDOW;
}
/* Get a token with the impersonated user. */
if(OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
DuplicateTokenEx(thread_token, MAXIMUM_ALLOWED, &security, SecurityImpersonation, TokenPrimary, &token_user);
} else {
DWORD err = GetLastError();
if (err == ERROR_NO_TOKEN) {
asuser = FALSE;
}
}
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
if (!cmd) {
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c "));
sprintf(cmd, "%s /c %s", TWG(comspec), command);
if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW, env, cwd, &startup, &process)) {
return NULL;
}
sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
if (asuser) {
res = CreateProcessAsUser(token_user, NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process);
CloseHandle(token_user);
} else {
res = CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process);
}
free(cmd);
if (!res) {
return NULL;
}
CloseHandle(process.hThread);
proc = process_get(NULL TSRMLS_CC);
@@ -575,7 +252,7 @@ TSRM_API int pclose(FILE *stream)
}
fflush(process->stream);
fclose(process->stream);
fclose(process->stream);
WaitForSingleObject(process->prochnd, INFINITE);
GetExitCodeProcess(process->prochnd, &termstat);
+3 -7
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2011 The PHP Group |
| Copyright (c) 1997-2009 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -63,8 +63,6 @@ typedef struct {
int process_size;
int shm_size;
char *comspec;
HANDLE impersonation_token;
PSID impersonation_token_sid;
} tsrm_win32_globals;
#ifdef ZTS
@@ -90,16 +88,14 @@ typedef struct {
#define SHM_RND FILE_MAP_WRITE
#define SHM_REMAP FILE_MAP_COPY
char * tsrm_win32_get_path_sid_key(const char *pathname TSRMLS_DC);
TSRM_API void tsrm_win32_startup(void);
TSRM_API void tsrm_win32_shutdown(void);
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env TSRMLS_DC);
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env);
TSRM_API FILE *popen(const char *command, const char *type);
TSRM_API int pclose(FILE *stream);
TSRM_API int tsrm_win32_access(const char *pathname, int mode TSRMLS_DC);
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf);
TSRM_API int tsrm_win32_access(const char *pathname, int mode);
TSRM_API int shmget(int key, int size, int flags);
TSRM_API void *shmat(int key, const void *shmaddr, int flags);
+481 -411
View File
@@ -1,478 +1,548 @@
$Id$
UPGRADE NOTES - PHP X.Y
UPGRADE NOTES - PHP 5.1
1. Changes made to default configuration
2. Reserved words and classes
3. Changes made to engine behaviour
4. Changes made to existing functions
5. Changes made to existing methods
6. Changes made to existing classes
7. Deprecated
8. Removed
9. Extensions:
a. moved out to PECL and actively maintained there
b. no longer maintained
c. with changed behaviour
d. no longer possible to disable
10. Changes in SAPI support
11. Changes in INI directives
12. Syntax additions
13. Windows support
14. New in PHP X.Y:
a. New libraries
b. New extensions
c. New stream wrappers
d. New stream filters
e. New functions
f. New global constants
g. New classes
h. New methods
i. New class constants
j. New hash algorithms
k. New Syntax
1. Changes in reference handling
a. Overview
b. Code that worked under PHP 4.3, but now fails
c. Code that was valid under PHP 4.3, but now throws an error
d. Code that failed under PHP 4.3, but now works
e. Code that 'should have worked' under PHP 5.0
f. Warnings that came and went
2. Reading []
3. instanceof, is_a(), is_subclass_of(), catch
4. Integer values in function parameters
5. Abstract private methods
6. Access modifiers in interfaces
7. Changes in inheritance rules
8. Class constants
9. Extensions
a. Extensions that are gone from the PHP core
b. Class constants in new PHP 5.1 extensions
10. Date/time support
11. Changes in database support
a. PDO overview
b. Changes in MySQL support
c. Changes in SQLite support
12. Further migration information
13. Checking for E_STRICT errors
========================================
1. Changes made to default configuration
===============================================================================
1. Changes in reference handling
================================
1a. Overview
============
From the PHP script writer's point of view, the change most likely to impact
legacy code is in the way that references are handled in all PHP versions
post-dating the PHP 4.4.0 release.
Until and including PHP 4.3, it was possible to send, assign or return variables
by reference that should really be returned by value, such as a constant, a
temporary value (e.g. the result of an expression), or the result of a function
that had itself been returned by value, as here:
<?php
$foo = "123";
function return_value() {
global $foo;
return $foo;
}
$bar = &return_value();
?>
Although this code would usually work as expected under PHP 4.3, in the general
case the result is undefined. The Zend Engine could not act correctly on these
values as references. This bug could and did lead to various hard-to-reproduce
memory corruption problems, particularly where the code base was large.
In PHP 4.4.0, PHP 5.0.4 and all subsequent PHP releases, the Engine was fixed
to 'know' when the reference operation is being used on a value that should
not be referenced. The actual value is now used in such cases, and a warning
is emitted. The warning takes the form of an E_NOTICE in PHP 4.4.0 and up,
and E_STRICT in PHP 5.0.4 and up.
Code that could potentially produce memory corruption can no longer do so.
However, some legacy code might work differently as a result.
1b. Code that worked under PHP 4.3, but now fails
=================================================
<?php
function func(&$arraykey) {
return $arraykey; // function returns by value!
}
$array = array('a', 'b', 'c');
foreach (array_keys($array) as $key) {
$y = &func($array[$key]);
$z[] =& $y;
}
var_dump($z);
?>
Running the above script under any version of PHP that pre-dates the reference
fix would produce this output:
array(3) {
[0]=>
&string(1) "a"
[1]=>
&string(1) "b"
[2]=>
&string(1) "c"
}
Following the reference fix, the same code would result in:
array(3) {
[0]=>
&string(1) "c"
[1]=>
&string(1) "c"
[2]=>
&string(1) "c"
}
This is because, following the changes, func() assigns by value. The value
of $y is re-assigned, and reference-binding is preserved from $z. Prior
to the fix, the value was assigned by reference, leading $y to be
re-bound on each assignment. The attempt to bind to a temporary value
by reference was the cause of the memory corruption.
Such code can be made to work identically in both the pre-fix and the
post-fix PHP versions. The signature of func() can be altered to return
by reference, or the reference assignment can be removed from the result
of func().
<?php
function func() {
return 'function return';
}
$x = 'original value';
$y =& $x;
$y = &func();
echo $x;
?>
In PHP 4.3 $x would be 'original value', whereas after the changes it would
be 'function return' - remember that where the function does not return by
reference, the reference assignment is converted to a regular assignment.
Again, this can be brought to a common base, either by forcing func() to
return by reference or by eliminating the by-reference assignment.
1c. Code that was valid under PHP 4.3, but now throws an error
==============================================================
<?php
class Foo {
function getThis() {
return $this;
}
function destroyThis() {
$baz =& $this->getThis();
}
}
$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>
In PHP 5.0.3, $bar evaluated to NULL instead of returning an object.
That happened because getThis() returns by value, but the value here
is assigned by reference. Although it now works in the expected way,
this is actually invalid code which will throw an E_NOTICE under
PHP 4.4 or an E_STRICT under PHP 5.0.4 and up.
1d. Code that failed under PHP 4.3, but now works
=================================================
<?php
function &f() {
$x = "foo";
var_dump($x);
print "$x\n";
return($a);
}
for ($i = 0; $i < 3; $i++) {
$h = &f();
}
?>
In PHP 4.3 the third call to var_dump produces NULL, due to the memory
corruption caused by returning an uninitialized value by reference.
This is valid code in PHP 5.0.4 and up, but threw errors in earlier
releases of PHP.
<?php
$arr = array('a1' => array('alfa' => 'ok'));
$arr =& $arr['a1'];
echo '-'.$arr['alfa']."-\n";
?>
Until PHP 5.0.5, it wasn't possible to assign an array element by
reference in this way. It now is.
1e. Code that 'should have worked' under PHP 5.0
================================================
There are a couple of instances of bugs reported under PHP 5.0 prior
to the reference fixes which now 'work'. However, in both cases errors
are thrown by PHP 5.1, because the code was invalid in the first place.
Returning values by reference using self:: now works in the general
case but throws an E_STRICT warning, and although your mileage may
vary when assigning by reference to an overloaded object, you will
still see an E_ERROR when you try it, even where the assignment
itself appears to work.
1f. Warnings that came and went
===============================
<?php
function & foo() {
$var = 'ok';
return $var;
}
function & bar() {
return foo();
}
$a =& bar();
echo "$a\n";
?>
Nested calls to functions returning by reference are valid code under both
PHP 4.3 and PHP 5.1, but threw an unwarranted E_NOTICE or E_STRICT under
the intervening PHP releases.
2. Reading []
=============
<?php
class XmlTest {
function test_ref(&$test) {
$test = "ok";
}
function test($test) { }
function run() {
$ar = array();
$this->test_ref($ar[]);
var_dump($ar);
$this->test($ar[]);
}
}
$o = new XmlTest();
$o->run();
?>
This should always have thrown a fatal E_ERROR, because [] cannot be used
for reading in PHP. It is invalid code in PHP 4.4.2 and PHP 5.0.5 upward.
3. instanceof, is_a(), is_subclass_of(), catch
==============================================
In PHP 5.0, is_a() was deprecated and replaced by the "instanceof" operator.
There were some issues with the initial implementation of "instanceof", which
relied on __autoload() to search for missing classes. If the class was not
present, "instanceof" would throw a fatal E_ERROR due to the failure of
__autoload() to discover that class. The same behaviour occurred in the
"catch" operator and the is_subclass_of() function, for the same reason.
None of these functions or operators call __autoload() in PHP 5.1, and
the class_exists() workarounds used in code written for PHP 5.0, while
not problematic in any way, are no longer necessary.
4. Integer values in function parameters
========================================
- The default_charset setting now defaults to UTF-8.
It was ISO-88590-1 before, so if you were relying
on the default, you will need to add:
With the advent of PHP 5.0, a new parameter parsing API was introduced
which is used by a large number of PHP functions. In all versions of
PHP between 5.0 and 5.1, the handling of integer values was very strict
and would reject non-well formed numeric values when a PHP function
expected an integer. These checks have now been relaxed to support
non-well formed numeric strings such as " 123" and "123 ", and will
no longer fail as they did under PHP 5.0. However, to promote code
safety and input validation, PHP functions will now emit an E_NOTICE
when such strings are passed as integers.
default_charset = iso-8859-1
5. Abstract private methods
===========================
to your php.ini to preserve pre-PHPX.Y behavior.
Abstract private methods were supported between PHP 5.0.0 and PHP 5.0.4,
but were then disallowed on the grounds that the behaviours of 'private'
and 'abstract' are mutually exclusive.
- We now check at compile time if /dev/urandom or /dev/arandom
are present to provide non-blocking entropy to session id
generation. If either is present, session.entropy_file
now defaults to that file and session.entropy_length defaults
to 32. If you do not want extra entropy for your session ids
for some reason, add:
6. Access modifiers in interfaces
=================================
session.entropy_file=
session.entropy_length=0
Under PHP 5.0, function declarations in interfaces were treated in exactly
the same way as function declarations in classes. This has not been the case
since October 2004, at which point only the 'public' access modifier was
allowed in interface function declarations. Since April 2005 - which pre-dates
the PHP 5.0b1 release - the 'static' modifier has also been allowed. However,
the 'protected' and 'private' modifiers will now throw an E_ERROR, as will
'abstract'. Note that this change should not affect your existing code, as
none of these modifiers makes sense in the context of interfaces anyway.
to your php.ini to preserve pre-PHPX.Y behavior.
7. Changes in inheritance rules
===============================
- Deprecated ini directives will now throw an E_CORE_WARNING's
instead of the previous E_WARNING's.
Under PHP 5.0, it was possible to have a function declaration in a derived class
that did not match the declaration of the same function in the base class, e.g.
The following directives are marked as deprecated:
- magic_quotes_gpc
- magic_quotes_runtime
- magic_quotes_sybase
class Base {
function &return_by_ref() {
$r = 1;
return $r;
}
}
- The following directives, which indicates a removed feature
in PHP will now throw an E_CORE_ERROR upon startup like the
deprecation warnings.
class Derived extends Base {
function return_by_ref() {
return 1;
}
}
The following directives are no longer available:
- allow_call_time_pass_reference
- define_syslog_variables
- highlight.bg
- register_globals
- register_long_arrays
- safe_mode
- safe_mode_gid
- safe_mode_include_dir
- safe_mode_exec_dir
- safe_mode_allowed_env_vars
- safe_mode_protected_env_vars
- zend.ze1_compatibility_mode
This code will cause an E_STRICT error to be emitted under PHP 5.1.
=============================
2. Reserved words and classes
=============================
8. Class constants
==================
-
Under PHP 5.0, the following code was valid:
=============================
3. Changes made to engine behaviour
=============================
<?php
- Turning null, false or empty string into an object by adding a property
will now emit a warning instead of an E_STRICT error.
$test = null;
$test->baz = 1;
To create a generic object you can use StdClass:
$test = new StdClass;
$text->baz = 1;
class test {
const foobar = 'foo';
const foobar = 'bar';
}
=====================================
4. Changes made to existing functions
=====================================
?>
- array_combine now returns array() instead of FALSE when two empty arrays are
provided as parameters.
- Added an extra parameter to dns_get_record(), which allows requesting DNS
records by numeric type and makes the result include only the raw data of
the response.
- call_user_func_array no longer allows call-time pass by reference.
- htmlentities/htmlspecialchars are stricter in the code units they accept for
the asian encodings. For Big5-HKSCS, the octets 0x80 and 0xFF are rejected.
For GB2312/EUC-CN, the octets 0x8E, 0x8F, 0xA0 and 0xFF are rejected. For
SJIS, the octets 0x80, 0xA0, 0xFD, 0xFE and 0xFF are rejected, except maybe
after a valid starting byte. For EUC-JP, the octets 0xA0 and 0xFF are
rejected.
- htmlentities now emits an E_STRICT warning when used with asian characters,
as in that case htmlentities has (and already had before this version) the
same functionality as htmlspecialchars.
- htmlentities no longer numerically encodes high characters for single-byte
encodings (except when there's actually a corresponding named entity). This
behavior was not documented and was inconsistent with that for "UTF-8".
- html_entity_decode/htmlspecialchars_decode behave more consistently, now
decoding entities in malformed strings such as "&&amp;" or "&#&amp;".
- htmlentities/htmlspecialchars/html_entity_decode/htmlspecialchars_decode:
Added the flags ENT_HTML401, ENT_XML1, ENT_XHTML, and ENT_HTML5. The
behavior of these functions including, but not limited to, the characters
that are encoded and the entities that are decoded depend on the document
type that is specified by those flags.
- htmlentities/htmlspecialchars with !$double_encode do more strict checks on
the validity of the entities. Numerical entities are checked for a valid
range (0 to 0x10FFFF); if the flag ENT_DISALLOWED is given, the validity of
such numerical entity in the target document type is also checked. Named
entities are checked for necessary existence in the target document type
instead of only checking whether they were constituted by alphanumeric
characters.
- The flag ENT_DISALLOWED was added. In addition to the behavior described in
the item before, it also makes htmlentities/htmlspecialchars substitute
characters that appear literally in the argument string and which are not
allowed in the target document type with U+FFFD (UTF-8) or &#xFFFD;.
- The flag ENT_SUBSTITUTE was added. This flag makes invalid multibyte
sequences be replaced by U+FFFD (UTF-8) or &#FFFD; by htmlspecialchars and
htmlentities. It is an alternative to the default behavior, which just
returns an empty string and to ENT_IGNORE, which is a security risk. The
behavior follows the recommendations of Unicode Technical Report #36.
- htmlspecialchars_decode/html_entity_decode now decode &apos; if the document
type is ENT_XML1, ENT_XHTML, or ENT_HTML5.
- Charset detection with $charset == '' no longer turns to mbstring's
internal encoding defined through mb_internal_encoding(). Only the encoding
defined through the ini setting mbstring.internal_encoding is considered.
- number_format() no longer truncates multibyte decimal points and thousand
separators to the first byte.
- The third parameter ($matches) to preg_match_all() is now optional. If
omitted, the function will simply return the number of times the pattern was
matched in the subject and will have no other side effects.
- The second argument of scandir() now accepts SCANDIR_SORT_NONE (2) as a
possible value. This value results in scandir() performing no sorting: on
local filesystems, this allows files to be returned in native filesystem
order.
- stream_select() now preserves the keys of the passed array, be they numeric or
strings. This breaks code that iterated the resulting stream array using a
numeric index, but makes easier to identify which of the passed streams are
present in the result.
- stream_set_write_buffer() no longer disables the read buffer of a plain
stream when 0 is given as the second argument.
- stream_set_write_buffer() no longer changes the chunk size in socket streams.
- fclose() closes streams with resource refcount > 1; it doesn't merely
decrement the resource refcount.
- socket_set_options() and socket_get_options() now support multicast options.
- Arrays cast from SimpleXMLElement now always contain all nodes instead of
just the first matching node.
- All SimpleXMLElement children are now always printed when using var_dump(),
var_export(), and print_r().
- The raw data parameter in openssl_encrypt()/openssl_decrypt() is now an options
integer rather than a boolean. A value of true produces the same behaviour.
- Write operations within XSLT (for example with the extension sax:output) are
disabled by default. You can define what is forbidden with the method
XsltProcess::setSecurityPrefs($options)
Under PHP 5.1, redefinition of a class constant will throw a fatal E_ERROR.
===================================
5. Changes made to existing methods
===================================
-
===================================
6. Changes made to existing classes
===================================
- Classes that implement stream wrappers can define a method called
stream_truncate that will respond to truncation, e.g. through ftruncate.
Strictly speaking, this is an addition to the user-space stream wrapper
template, not a change to an actual class.
- Constructors of userspace subclasses of the following SPL classes are now
required to call the parent constructor and not clear any exceptions they
throw (replacing the thrown exception by another one is permitted):
SplFileInfo, DirectoryIterator, FilesystemIterator, GlobIterator,
SplFileObject, SplTempFileObject, RecursiveDirectoryIterator,
IteratorIterator, FilterIterator, RecursiveFilterIterator, ParentIterator,
LimitIterator, CachingIterator, RecursiveCachingIterator, NoRewindIterator,
AppendIterator, InfiniteIterator, RegexIterator, RecursiveRegexIterator, and
RecursiveTreeIterator.
It is no longer possible to defer the parent constructor call until after the
object is constructed.
=============
7. Deprecated
=============
==========
8. Removed
==========
a. removed features
- magic quotes
. remove magic_quotes_gpc, magic_quotes_runtime,
magic_quotes_sybase (calling ini_set('magic_....')
returns 0|false
. get_magic_quotes_gpc, get_magic_quotes_runtime are kept but
always return false
. set_magic_quotes_runtime raises an E_CORE_ERROR
- register_globals
- register_long_arrays
- Safe mode
- Session extension bug compatibility mode
- y2k_compliance mode
b. removed ini directives
- define_syslog_variables
- register_globals
- register_long_arrays
- safe_mode
- safe_mode_gid
- safe_mode_include_dir
- safe_mode_exec_dir
- safe_mode_allowed_env_vars
- safe_mode_protected_env_vars
- session.bug_compat42
- session.bug_compat_warn
- y2k_compliance
c. removed functions
- define_syslog_variables()
- import_request_variables()
- session_is_registered()
- session_register()
- session_unregister()
- mysqli_bind_param() (alias of mysqli_stmt_bind_param())
- mysqli_bind_result() (alias of mysqli_stmt_bind_result())
- mysqli_client_encoding() (alias of mysqli_character_set_name())
- mysqli_fetch() (alias of mysqli_stmt_fetch())
- mysqli_param_count() (alias of mysqli_stmt_param_count())
- mysqli_get_metadata() (alias of mysqli_stmt_result_metadata())
- mysqli_send_long_data() (alias of mysqli_stmt_send_long_data())
- mysqli::client_encoding() (alias of mysqli::character_set_name)
- mysqli_stmt::stmt() (never worked/always throws, undocumented)
d. removed syntax
- break $var;
- continue $var;
=============
9. Extensions
=============
a. moved out to PECL and actively maintained there
9a. Extensions that are gone from the PHP core
==============================================
-
One of the first things you're likely to notice when you download PHP 5.1 is that
several of the older extensions have disappeared. Those extensions that are still
actively maintained are available in the PHP Extension Community Library (PECL),
at http://pecl.php.net. Windows binaries are built regularly, and you can obtain
the binaries for PECL extensions built against PHP 5.1 from
http://pecl4win.php.net/list.php/5_1.
b. no longer maintained
Extension Alternative/status
========= ========================
ext/cpdf pecl/pdflib
ext/dbx pecl/dbx
ext/dio pecl/dio
ext/fam not actively maintained
ext/ingres_ii pecl/ingres
ext/ircg not actively maintained
ext/mcve pecl/mcve
ext/mnogosearch not actively maintained
ext/oracle ext/oci8 or ext/pdo_oci
ext/ovrimos not actively maintained
ext/pfpro not actively maintained
- alternatives at http://pecl.php.net/packages.php?catpid=18&catname=Payment
ext/w32api pecl/ffi
ext/yp not actively maintained
sapi/activescript http://pecl4win.php.net/ext.php/php5activescript.dll (PECL package)
or pecl/activescript (CVS)
- ext/sqlite
Modules in PECL that are not actively maintained (i.e. have not been supported
for some time, have no active maintainer working on them currently, and do not
have any PECL package releases), are still available in CVS at
http://cvs.php.net/pecl/. However, unreleased PHP modules are by their nature
unsupported, and your mileage may vary when attempting to install or use them.
c. with changed behaviour
9b. Class constants in new PHP 5.1 extensions
=============================================
- The session extension now can hook into the file upload feature
in order to provide upload progress information through session
variables.
- SNMP extension
- Functions in SNMP extension now returns FALSE on every error
condition including SNMP-related (no such instance, end of MIB,
etc). Thus, in patricular, breaks previous behaviour of get/walk
functions returning an empty string on SNMP-related errors.
- Multi OID get/getnext/set queries are now supported.
- New constants added for use in snmp_set_oid_output_format()
function.
- Function snmp_set_valueretrieval() changed it's behaviour:
SNMP_VALUE_OBJECT can be combined with one of
SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY resulting OID value
changes. When no SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY
is supplied with SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used.
Prior to 5.4.0 when no SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY
was supplied with SNMP_VALUE_OBJECT, SNMP_VALUE_PLAIN was used.
- Added feature-rich OO API (SNMP class)
- Dropped UCD-SNMP compatibility code. Consider upgrading to
net-snmp v5.3+. Net-SNMP v5.4+ is required for Windows version.
The Zend Engine 2.1 API allows extension developers to declare class constants
in object oriented extensions. New extensions written for PHP 5.1, including SPL,
PDO, ext/XMLReader and ext/date, have their constants in the format
d. no longer possible to disable
PDO::CLASS_CONSTANT
-
rather than in the C format
==========================
10. Changes in SAPI support
==========================
PDO_CLASS_CONSTANT
- The REQUEST_TIME value inside server now returns a floating point number
indicating the time with microsecond precision. All SAPIs providing this
value should be returning float and not time_t.
in order to minimise pollution of the global namespace in PHP.
=============================
11. Changes in INI directives
=============================
- Added session.upload_progress.enabled, session.upload_progress.cleanup,
session.upload_progress.prefix, session.upload_progress.name,
session.upload_progress.freq, session.upload_progress.min_freq.
- Added zend.multibyte directive as a replacement of PHP compile time
configuration option --enable-zend-multibyte. Now ZE always contains code for
multibyte support, but may enable or disable it by zend.multibyte. It doesn't
make a lot of sense to enable this option without ext/mbstring, because the
most functionality is implemented by mbstrings callbacks.
- Added enable_post_data_reading, which is enable by default. When it's
disabled, the POST data is not read (and processed); the behavior is similar
to that of other request methods with body, like PUT. This allows reading the
raw POST data in multipart requests and read/process the POST data in a
stream fashion (through php://input), without having it copied in memory two/
three times.
- Changed E_ALL to include E_STRICT. Recommended production value changed to
E_ALL & ~E_DEPRECATED & ~E_STRICT.
====================
12. Syntax additions
10. Date/time support
====================
- Array dereferencing.
e.g.
foo()[0]
$foo->bar()[0]
Date/time support has been fully rewritten in PHP 5.1, and no longer
uses the system settings to 'know' the timezone in operation. It will
instead utilize, in the following order:
===================
13. Windows support
===================
* The timezone set using the date_default_timezone_set() function (if any)
* The TZ environment variable (if non empty)
* The date.timezone ini option (if set)
* "magical" guess (if the operating system supports it)
* If none of the above options succeeds, UTC
- is_link now works properly for symbolic links on Windows Vista
or later. Earlier systems do not support symbolic links.
To ensure accuracy (and avoid an E_STRICT warning), you will need to define
your timezone in your php.ini using the following format:
===================
14. New in PHP X.Y:
===================
date.timezone = Europe/London
a. New libraries
The supported timezones are listed, in this format, in the PHP manual at
http://www.php.net/manual/en/timezones.php.
-
11. Changes in database support
==============================
b. New extensions
11a. PDO overview
================
-
PHP Data Objects (PDO) were introduced as a PECL extension under PHP 5.0,
and became part of the core PHP distribution in PHP 5.1. The PDO extension
provides a consistent interface for database access, and is used alongside
database-specific PDO drivers. Each driver may also have database-specific
functions of its own, but basic data access functionality such as issuing
queries and fetching data is covered by PDO functions, using the driver
named in PDO::__construct().
c. New stream wrappers
Note that the PDO extension, and its drivers, are intended to be built as
shared extensions. This will enable straightforward driver upgrades from
PECL, without forcing you to rebuild all of PHP.
-
At the point of the PHP 5.1 release, PDO is more than ready for widespread
testing and could be adopted in most situations. However, it is important
to understand that PDO and its drivers are comparatively young and may be
missing certain database-specific features; evaluate PDO carefully before
you use it in new projects.
d. New stream filters
Legacy code will generally rely on the pre-existing database extensions,
which are still maintained.
-
There is more in-depth information about the PDO extension in the manual
at http://www.php.net/manual/ref.pdo.php.
e. New functions
11b. Changes in MySQL support
============================
- Core:
- get_declared_traits()
- hex2bin()
- http_response_code()
- stream_set_chunk_size()
- socket_import_stream()
- trait_exists()
In PHP 4, MySQL 3 support was built-in. With the release of PHP 5.0 there
were two MySQL extensions, named 'mysql' and 'mysqli', which were designed
to support MySQL < 4.1 and MySQL 4.1 and up, respectively. With the
introduction of PDO, which provides a very fast interface to all the
database APIs supported by PHP, the PDO_MYSQL driver can support any
of the current versions (MySQL 3, 4 or 5) in PHP code written for PDO,
depending on the MySQL library version used during compilation. The
older MySQL extensions remain in place for reasons of back compatibility,
but are not enabled by default.
- LDAP:
- ldap_control_paged_results()
- ldap_control_paged_results_response()
11c. Changes in SQLite support
=============================
f. New global constants
In PHP 5.0, SQLite 2 support was provided by the built-in sqlite
extension, which was also available as a PECL extension in PHP 4.3
and PHP 4.4. With the introduction of PDO, the sqlite extension doubles
up to act as a 'sqlite2' driver for PDO; it is due to this that the
sqlite extension in PHP 5.1 has a dependency upon the PDO extension.
- JSON_PRETTY_PRINT
- JSON_UNESCAPED_SLASHES
- ENT_SUBSTITUTE
- ENT_ALLOWED
- ENT_HTML401
- ENT_XML1
- ENT_XHTML
- ENT_HTML5
- SCANDIR_SORT_ASCENDING
- SCANDIR_SORT_DESCENDING
- SCANDIR_SORT_NONE
- MCAST_JOIN_GROUP
- MCAST_LEAVE_GROUP
- MCAST_BLOCK_SOURCE
- MCAST_UNBLOCK_SOURCE
- MCAST_JOIN_SOURCE_GROUP
- MCAST_LEAVE_SOURCE_GROUP
- IP_MULTICAST_IF
- IP_MULTICAST_TTL
- IP_MULTICAST_LOOP
- IPV6_MULTICAST_IF
- IPV6_MULTICAST_HOPS
- IPV6_MULTICAST_LOOP
- IPPROTO_IP
- IPPROTO_IPV6
- OPENSSL_RAW_DATA
- OPENSSL_ZERO_PADDING
PHP 5.1 ships with a number of alternative interfaces to sqlite:
g. New classes
The sqlite extension provides the "classic" sqlite procedural/OO API
that you may have used in prior versions of PHP. It also provides the
PDO 'sqlite2' driver, which allows you to access legacy SQLite 2
databases using the PDO API.
- Reflection:
- ReflectionZendExtension
- Intl:
- Transliterator
- SNMP:
- SNMP
PDO_SQLITE provides the 'sqlite' version 3 driver. SQLite version 3
is vastly superior to SQLite version 2, but the file formats of the
two versions are not compatible.
- SPL:
- CallbackFilterIterator
- RecursiveCallbackFilterIterator
If your SQLite-based project is already written and working against
earlier PHP versions, then you can continue to use ext/sqlite without
problems, but will need to explicitly enable both PDO and sqlite. New
projects should use PDO and the 'sqlite' (version 3) driver, as this is
faster than SQLite 2, has improved locking concurrency, and supports
both prepared statements and binary columns natively.
h. New methods
12. Further migration information
================================
- DirectoryIterator
- DirectoryIterator::getExtension()
For general information about migrating from PHP 4 to PHP 5, please refer to
the relevant section in the PHP manual at http://www.php.net/manual/migration5.php.
- Reflection:
- ReflectionClass::isCloneable()
- ReflectionClass::getTraits()
- ReflectionClass::getTraitNames()
- ReflectionClass::getTraitAliases()
- ReflectionParameter::canBePassedByValue()
- RegexIterator
- RegexIterator::getRegex()
13. Checking for E_STRICT errors
================================
- PDO_dblib
- PDO::newRowset()
If you only have a single script to check, you can pick up E_STRICT
errors using PHP's commandline lint facility:
- SplFileInfo
- SplFileInfo::getExtension()
php -d error_reporting=4095 -l script_to_check.php
- SplFileObject
- SplFileObject::fputcsv()
For larger projects, the shell script below will achieve the same task:
i. New class constants
#!/bin/sh
-
directory=$1
j. New Hash algorithms
shift
- fnv132
- fnv164
- joaat
k. New Syntax
- Short array syntax in 5.4.0
$a = [1, 2, 3, 4];
$a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
$a = ['one' => 1, 2, 'three' => 3, 4];
# These extensions are checked
extensions="php inc"
- Binary number format
0b00100 0b010101
check_file ()
{
echo -ne "Doing PHP syntax check on $1 ..."
# Options:
ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`
if test -z "$ERRORS"; then
echo -ne "OK."
else
echo -e "Errors found!\n$ERRORS"
fi
echo
}
# loop over remaining file args
for FILE in "$@" ; do
for ext in $extensions; do
if echo $FILE | grep "\.$ext$" > /dev/null; then
if test -f $FILE; then
check_file "$FILE"
fi
fi
done
done
-207
View File
@@ -1,207 +0,0 @@
$Id$
UPGRADE NOTES - PHP X.Y
1. Internal API changes
a. virtual_file_ex
b. stat/lstat support
c. readlink support
d. layout of some core ZE structures (zend_op_array, zend_class_entry, ...)
e. Zend\zend_fast_cache.h has been removed
f. streams that enclose private streams
g. leak_variable
h. API Signature changes
i. new TSRM function expand_filepath_with_mode
2. Build system changes
a. Unix build system changes
b. Windows build system changes
========================
1. Internal API changes
========================
a. virtual_file_ex
virtual_file_ex takes now a TSRM context as last parameter:
CWD_API int virtual_file_ex(cwd_state *state, const char *path,
verify_path_func verify_path, int use_realpath TSRLS_DC);
b. stat/lstat support
lstat is now available on all platforms. On unix-like platform
php_sys_lstat is an alias to lstat (when avaible). On Windows it is now
available using php_sys_lstat. php_sys_stat and php_sys_lstat usage is recommended
instead of calling lstat directly, to ensure portability.
c. readlink support
readlink is now available on all platforms. On unix-like platform
php_sys_readlink is an alias to readlink (when avaible). On Windows it is now
available using php_sys_readlink. php_sys_readlink usage is recommended
instead of calling readlink directly, to ensure portability.
d. layout of some core ZE structures (zend_op_array, zend_class_entry, ...)
. zend_function.pass_rest_by_reference is replaced by
ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
. zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
in zend_function.fn_flags
. zend_arg_info.required_num_args removed. it was needed only for internal
functions. Now the first arg_info for internal function (which has special
meaning) is represented by zend_internal_function_info structure.
. zend_op_array.size, size_var, size_literal, current_brk_cont,
backpatch_count moved into CG(context), because they are used only during
compilation.
. zend_op_array.start_op is moved into EG(start_op), because it's used
only for 'interactive' execution of single top-level op-array.
. zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
zend_op_array.fn_flags.
. op_array.vars array is trimmed (reallocated) during pass_two.
. zend_class_entry.constants_updated is replaced by
ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
. the size of zend_class_entry is reduced by sharing the same memory space
by different information for internal and user classes.
See zend_class_inttry.info union.
e. Zend\zend_fast_cache.h
It should not have been used anymore since php5, but now this header has
been removed. The following macros are not available anymore:
ZEND_FAST_ALLOC(p, type, fc_type)
ZEND_FAST_FREE(p, fc_type)
ZEND_FAST_ALLOC_REL(p, type, fc_type)
ZEND_FAST_FREE_REL(p, fc_type)
Use emalloc, emalloc_rel, efree or efree_rel instead.
f. Streams that enclose private streams
Some streams, like the temp:// stream, may enclose private streams. If the
outer stream leaks due to a programming error or is not exposed through a
zval (and therefore is not deleted when all the zvals are gone), it will
be destroyed on shutdown.
The problem is that the outer usually wants itself to close the inner stream,
so that it may do any other shutdown action that requires the inner stream to
be live (e.g. commit data to it). If the outer stream is exposed through a
zval and the inner one isn't, this is not a problem because the outer stream
will be freed when the zval is destroyed, which happens before the resources
are destroyed on shutdown.
On resource list shutdown, the cleanup happens in reverse order of resource
creation, so if the inner stream was created in the opener of the outer stream,
it will be destroyed first.
The following functions were added to the streams API to force a predictable
destruction order:
PHPAPI php_stream *php_stream_encloses(php_stream *enclosing, php_stream *enclosed);
#define php_stream_free_enclosed(stream_enclosed, close_options)
PHPAPI int _php_stream_free_enclosed(php_stream *stream_enclosed, int close_options TSRMLS_DC);
Additionally, the following member was added to php_stream:
struct _php_stream *enclosing_stream;
and the following macro was added:
#define PHP_STREAM_FREE_IGNORE_ENCLOSING 32
The function php_stream_encloses declares the first stream encloses the second.
This has the effect that, when the inner stream is closed from a resource
destructor it will abort and try to free its enclosing stream instead.
To prevent this from happening when the inner stream is freed from the outer
stream, the macro php_stream_free_enclosed should be used instead of
php_stream_free/php_stream_close/php_stream_pclose, or the flag
PHP_STREAM_FREE_IGNORE_ENCLOSING should be directly passed to php_stream_free.
The outer stream cannot abstain, in its close callback, from closing the inner
stream or clear the enclosing_stream pointer in its enclosed stream by calling
php_stream_encloses with the 2nd argument NULL. If this is not done, there will
be problems, so observe this requirement when using php_stream_encloses.
g. leak_variable
The function leak_variable(variable [, leak_data]) was added. It is only
available on debug builds. It increments the refcount of a zval or, if the
second argument is true and the variable is either an object or a resource
it increments the refcounts of those objects instead.
h. API Signature changes
. zend_list_insert
ZEND_API int zend_list_insert(void *ptr, int type TSRMLS_DC);
call: zend_list_insert(a, SOMETYPE TSRMLS_CC);
NB: If zend_list_insert is used to register a resource,
ZEND_REGISTER_RESOURCE could be used instead.
. php_le_stream_context(TSRMLS_C)
PHPAPI php_stream_context *php_stream_context_alloc(TSRMLS_D)
call: context = php_stream_context_alloc(TSRMLS_C);
. php_stream_context_alloc
PHPAPI php_stream_context *php_stream_context_alloc(TSRMLS_D);
call: context = php_stream_context_alloc(TSRMLS_C);
. sapi_get_request_time(TSRMLS_D);
SAPI_API double sapi_get_request_time(TSRMLS_D);
. sapi_register_default_post_reader
SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(TSRMLS_D) TSRMLS_DC);
. sapi_register_treat_data
SAPI_API int sapi_register_treat_data(void (*treat_data)(int arg, char *str, zval *destArray TSRMLS_DC) TSRMLS_DC);
. sapi_register_input_filter
SAPI_API int sapi_register_input_filter(unsigned int (*input_filter)(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC), unsigned int (*input_filter_init)(TSRMLS_D) TSRMLS_DC);
. tsrm_win32_access
TSRM_API int tsrm_win32_access(const char *pathname, int mode TSRMLS_DC);
. popen_ex (win32)
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env TSRMLS_DC);
. php_get_current_user
PHPAPI php_get_current_user(TSRMLS_D)
Call: char *user = php_get_current_user(TSRMLS_C);
. php_idate
PHPAPI php_idate(char format, time_t ts, int localtime TSRMLS_DC)
Call: int ret = php_idate(format, ts, localtime TSRMLS_CC)
. php_escape_html_entities
(size_t parameters were ints, previous "quote_style" (now flags) has expanded meaning)
PHPAPI char *php_escape_html_entities(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset TSRMLS_DC);
. php_escape_html_entities_ex
PHPAPI char *php_escape_html_entities_ex(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset, zend_bool double_encode TSRMLS_DC);
. php_unescape_html_entities
PHPAPI char *php_unescape_html_entities(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset TSRMLS_DC);
i.
PHPAPI char *expand_filepath_with_mode(const char *filepath, char *real_path, const char *relative_to, size_t relative_to_len, int realpath_mode TSRMLS_DC);
expand_filepath_with_mode lets define how realpath will behave, using one of the existing mode: CWD_EXPAND , CWD_FILEPATH or CWD_REALPATH.
========================
2. Build system changes
========================
a. Unix build system changes
- Changes in SAPI module build:
. When adding new binary SAPI (executable, like CLI/CGI/FPM) use CLI config.m4 and Makefile.frag files as templates and replace CLI/cli with your SAPI name.
- New macros:
. PHP_INIT_DTRACE(providerdesc, header-file, sources [, module])
b. Windows build system changes
-
+186
View File
@@ -0,0 +1,186 @@
// $Header$
// FlexLexer.h -- define interfaces for lexical analyzer classes generated
// by flex
// Copyright (c) 1993 The Regents of the University of California.
// All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Kent Williams and Tom Epperly.
//
// Redistribution and use in source and binary forms with or without
// modification are permitted provided that: (1) source distributions retain
// this entire copyright notice and comment, and (2) distributions including
// binaries display the following acknowledgement: ``This product includes
// software developed by the University of California, Berkeley and its
// contributors'' in the documentation or other materials provided with the
// distribution and in all advertising materials mentioning features or use
// of this software. Neither the name of the University nor the names of
// its contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
// This file defines FlexLexer, an abstract class which specifies the
// external interface provided to flex C++ lexer objects, and yyFlexLexer,
// which defines a particular lexer class.
//
// If you want to create multiple lexer classes, you use the -P flag
// to rename each yyFlexLexer to some other xxFlexLexer. You then
// include <FlexLexer.h> in your other sources once per lexer class:
//
// #undef yyFlexLexer
// #define yyFlexLexer xxFlexLexer
// #include <FlexLexer.h>
//
// #undef yyFlexLexer
// #define yyFlexLexer zzFlexLexer
// #include <FlexLexer.h>
// ...
#ifndef FLEXLEXER_H
// Never included before - need to define base class.
#define FLEXLEXER_H
#include <iostream.h>
extern "C++" {
struct yy_buffer_state;
typedef int yy_state_type;
class FlexLexer {
public:
virtual ~FlexLexer() { }
const char* YYText() { return yytext; }
int YYLeng() { return yyleng; }
virtual void
yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
virtual struct yy_buffer_state*
yy_create_buffer( istream* s, int size ) = 0;
virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0;
virtual void yyrestart( istream* s ) = 0;
virtual int yylex() = 0;
// Call yylex with new input/output sources.
int yylex( istream* new_in, ostream* new_out = 0 )
{
switch_streams( new_in, new_out );
return yylex();
}
// Switch to new input/output streams. A nil stream pointer
// indicates "keep the current one".
virtual void switch_streams( istream* new_in = 0,
ostream* new_out = 0 ) = 0;
int lineno() const { return yylineno; }
int debug() const { return yy_flex_debug; }
void set_debug( int flag ) { yy_flex_debug = flag; }
protected:
char* yytext;
int yyleng;
int yylineno; // only maintained if you use %option yylineno
int yy_flex_debug; // only has effect with -d or "%option debug"
};
}
#endif
#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
// Either this is the first time through (yyFlexLexerOnce not defined),
// or this is a repeated include to define a different flavor of
// yyFlexLexer, as discussed in the flex man page.
#define yyFlexLexerOnce
class yyFlexLexer : public FlexLexer {
public:
// arg_yyin and arg_yyout default to the cin and cout, but we
// only make that assignment when initializing in yylex().
yyFlexLexer( istream* arg_yyin = 0, ostream* arg_yyout = 0 );
virtual ~yyFlexLexer();
void yy_switch_to_buffer( struct yy_buffer_state* new_buffer );
struct yy_buffer_state* yy_create_buffer( istream* s, int size );
void yy_delete_buffer( struct yy_buffer_state* b );
void yyrestart( istream* s );
virtual int yylex();
virtual void switch_streams( istream* new_in, ostream* new_out );
protected:
virtual int LexerInput( char* buf, int max_size );
virtual void LexerOutput( const char* buf, int size );
virtual void LexerError( const char* msg );
void yyunput( int c, char* buf_ptr );
int yyinput();
void yy_load_buffer_state();
void yy_init_buffer( struct yy_buffer_state* b, istream* s );
void yy_flush_buffer( struct yy_buffer_state* b );
int yy_start_stack_ptr;
int yy_start_stack_depth;
int* yy_start_stack;
void yy_push_state( int new_state );
void yy_pop_state();
int yy_top_state();
yy_state_type yy_get_previous_state();
yy_state_type yy_try_NUL_trans( yy_state_type current_state );
int yy_get_next_buffer();
istream* yyin; // input source for default LexerInput
ostream* yyout; // output sink for default LexerOutput
struct yy_buffer_state* yy_current_buffer;
// yy_hold_char holds the character lost when yytext is formed.
char yy_hold_char;
// Number of characters read into yy_ch_buf.
int yy_n_chars;
// Points to current character in buffer.
char* yy_c_buf_p;
int yy_init; // whether we need to initialize
int yy_start; // start state number
// Flag which is used to allow yywrap()'s to do buffer switches
// instead of setting up a fresh yyin. A bit of a hack ...
int yy_did_buffer_switch_on_eof;
// The following are not always needed, but may be depending
// on use of certain flex features (like REJECT or yymore()).
yy_state_type yy_last_accepting_state;
char* yy_last_accepting_cpos;
yy_state_type* yy_state_buf;
yy_state_type* yy_state_ptr;
char* yy_full_match;
int* yy_full_state;
int yy_full_lp;
int yy_lp;
int yy_looking_for_trail_begin;
int yy_more_flag;
int yy_more_len;
int yy_more_offset;
int yy_prev_more_offset;
};
#endif
+3 -3
View File
@@ -17,7 +17,7 @@ libZend_la_SOURCES=\
zend_objects_API.c zend_ts_hash.c zend_stream.c \
zend_default_classes.c \
zend_iterators.c zend_interfaces.c zend_exceptions.c \
zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c
zend_strtod.c zend_multibyte.c
libZend_la_LDFLAGS =
libZend_la_LIBADD = @ZEND_EXTRA_LIBS@
@@ -31,7 +31,7 @@ zend_ini_scanner.lo: zend_ini_parser.h
# Language parser/scanner rules
zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
$(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt $(srcdir)/zend_language_scanner_defs.h -o$@ $(srcdir)/zend_language_scanner.l
$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
zend_language_parser.h: zend_language_parser.c
zend_language_parser.c: $(srcdir)/zend_language_parser.y
@@ -43,7 +43,7 @@ zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o zend_ini_parser.c
zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
$(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt $(srcdir)/zend_ini_scanner_defs.h -o$@ $(srcdir)/zend_ini_scanner.l
$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
zend_ini_parser.h: zend_ini_parser.c
+4 -16
View File
@@ -123,10 +123,6 @@ SOURCE=.\zend_builtin_functions.c
# End Source File
# Begin Source File
SOURCE=.\zend_closures.c
# End Source File
# Begin Source File
SOURCE=.\zend_compile.c
# End Source File
# Begin Source File
@@ -155,10 +151,6 @@ SOURCE=.\zend_extensions.c
# End Source File
# Begin Source File
SOURCE=.\zend_float.c
# End Source File
# Begin Source File
SOURCE=.\zend_hash.c
# End Source File
# Begin Source File
@@ -243,10 +235,6 @@ SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_string.c
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.c
# End Source File
# Begin Source File
@@ -319,6 +307,10 @@ SOURCE=.\zend_extensions.h
# End Source File
# Begin Source File
SOURCE=.\zend_fast_cache.h
# End Source File
# Begin Source File
SOURCE=.\zend_globals.h
# End Source File
# Begin Source File
@@ -411,10 +403,6 @@ SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_string.h
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.h
# End Source File
# Begin Source File
+17 -56
View File
@@ -31,6 +31,7 @@ AC_DEFUN([LIBZEND_BASIC_CHECKS],[
AC_REQUIRE([AC_PROG_YACC])
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_PROG_CC_C_O])
AC_REQUIRE([AC_PROG_LEX])
AC_REQUIRE([AC_HEADER_STDC])
LIBZEND_BISON_CHECK
@@ -60,6 +61,7 @@ sys/time.h \
signal.h \
unix.h \
stdlib.h \
mach-o/dyld.h \
dlfcn.h)
AC_TYPE_SIZE_T
@@ -97,46 +99,12 @@ dnl Checks for library functions.
AC_FUNC_VPRINTF
AC_FUNC_MEMCMP
AC_FUNC_ALLOCA
AC_CHECK_FUNCS(memcpy strdup getpid kill strtod strtol finite fpclass sigsetjmp)
AC_CHECK_FUNCS(memcpy strdup getpid kill strtod strtol finite fpclass)
AC_ZEND_BROKEN_SPRINTF
AC_CHECK_FUNCS(finite isfinite isinf isnan)
ZEND_FP_EXCEPT
ZEND_CHECK_FLOAT_PRECISION
dnl test whether double cast to long preserves least significant bits
AC_MSG_CHECKING(whether double cast to long preserves least significant bits)
AC_TRY_RUN([
#include <limits.h>
int main()
{
if (sizeof(long) == 4) {
double d = (double) LONG_MIN * LONG_MIN + 2e9;
if ((long) d == 2e9 && (long) -d == -2e9) {
exit(0);
}
} else if (sizeof(long) == 8) {
double correct = 18e18 - ((double) LONG_MIN * -2); /* Subtract ULONG_MAX + 1 */
if ((long) 18e18 == correct) { /* On 64-bit, only check between LONG_MAX and ULONG_MAX */
exit(0);
}
}
exit(1);
}
], [
AC_DEFINE([ZEND_DVAL_TO_LVAL_CAST_OK], 1, [Define if double cast to long preserves least significant bits])
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
], [
AC_MSG_RESULT(no)
])
])
@@ -176,6 +144,13 @@ AC_ARG_ENABLE(inline-optimization,
ZEND_INLINE_OPTIMIZATION=yes
])
AC_ARG_ENABLE(zend-multibyte,
[ --enable-zend-multibyte Compile with zend multibyte support], [
ZEND_MULTIBYTE=$enableval
],[
ZEND_MULTIBYTE=no
])
AC_MSG_CHECKING([virtual machine dispatch method])
AC_MSG_RESULT($PHP_ZEND_VM)
@@ -188,6 +163,9 @@ AC_MSG_RESULT($ZEND_INLINE_OPTIMIZATION)
AC_MSG_CHECKING(whether to enable Zend debugging)
AC_MSG_RESULT($ZEND_DEBUG)
AC_MSG_CHECKING(whether to enable Zend multibyte)
AC_MSG_RESULT($ZEND_MULTIBYTE)
case $PHP_ZEND_VM in
SWITCH)
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_SWITCH,[virtual machine dispatch method])
@@ -222,6 +200,10 @@ if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
LIBZEND_CPLUSPLUS_CHECKS
fi
if test "$ZEND_MULTIBYTE" = "yes"; then
AC_DEFINE(ZEND_MULTIBYTE, 1, [ ])
fi
changequote({,})
if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
INLINE_CFLAGS=`echo $ac_n "$CFLAGS $ac_c" | sed s/-O[0-9s]*//`
@@ -392,22 +374,8 @@ int main()
AC_CHECK_FUNCS(mremap)
AC_CHECK_FUNC(sigaction, [
ZEND_SIGNALS=yes
AC_DEFINE(ZEND_SIGNALS, 1, [Use zend signal handling])
AC_DEFINE(HAVE_SIGACTION, 1, [Whether sigaction() is available])
], [
ZEND_SIGNALS=no
])
if test "$ZEND_SIGNALS" = "yes"; then
CFLAGS="$CFLAGS -DZEND_SIGNALS"
fi
AC_MSG_CHECKING(whether to enable zend signal handling)
AC_MSG_RESULT($ZEND_SIGNALS)
])
AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
@@ -419,11 +387,4 @@ if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_CHECKING(whether /dev/arandom exists)
if test -r "/dev/arandom" && test -c "/dev/arandom"; then
AC_DEFINE([HAVE_DEV_ARANDOM], 1, [Define if the target system has /dev/arandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
+4 -12
View File
@@ -148,10 +148,6 @@ SOURCE=.\zend_builtin_functions.c
# End Source File
# Begin Source File
SOURCE=.\zend_closures.c
# End Source File
# Begin Source File
SOURCE=.\zend_compile.c
# End Source File
# Begin Source File
@@ -273,10 +269,6 @@ SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_string.c
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.c
# End Source File
# Begin Source File
@@ -349,6 +341,10 @@ SOURCE=.\zend_extensions.h
# End Source File
# Begin Source File
SOURCE=.\zend_fast_cache.h
# End Source File
# Begin Source File
SOURCE=.\zend_globals.h
# End Source File
# Begin Source File
@@ -445,10 +441,6 @@ SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_string.h
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.h
# End Source File
# Begin Source File
+121
View File
@@ -0,0 +1,121 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.zend.com/license/2_00.txt. |
| If you did not receive a copy of the Zend license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@zend.com so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#define ZEND_API
#define ZEND_DLEXPORT
#define ZEND_DLIMPORT
@TOP@
#undef uint
#undef ulong
/* Define if you want to enable memory limit support */
#define MEMORY_LIMIT 0
@BOTTOM@
#ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#ifdef HAVE_IEEEFP_H
# include <ieeefp.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if ZEND_BROKEN_SPRINTF
int zend_sprintf(char *buffer, const char *format, ...);
#else
# define zend_sprintf sprintf
#endif
#include <math.h>
/* To enable the is_nan, is_infinite and is_finite PHP functions */
#ifdef NETWARE
#define HAVE_ISNAN 1
#define HAVE_ISINF 1
#define HAVE_ISFINITE 1
#endif
#ifndef zend_isnan
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
#else
#define zend_isnan(a) 0
#endif
#endif
#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
#ifdef HAVE_FINITE
#define zend_finite(a) finite(a)
#elif defined(HAVE_ISFINITE) || defined(isfinite)
#define zend_finite(a) isfinite(a)
#elif defined(fpclassify)
#define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0)
#else
#define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1)
#endif
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
#ifdef NETWARE
#ifdef USE_WINSOCK
#/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
#/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
#endif
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+1 -115
View File
@@ -4,7 +4,7 @@ dnl This file contains local autoconf functions.
AC_DEFUN([LIBZEND_BISON_CHECK],[
# we only support certain bison versions
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5"
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1"
# for standalone build of Zend Engine
test -z "$SED" && SED=sed
@@ -105,117 +105,3 @@ int main(void)
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
dnl x87 floating point internal precision control checks
dnl See: http://wiki.php.net/rfc/rounding
AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
AC_MSG_CHECKING([for usable _FPU_SETCW])
AC_TRY_LINK([
#include <fpu_control.h>
],[
fpu_control_t fpu_oldcw, fpu_cw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
_FPU_GETCW(fpu_oldcw);
fpu_cw = (fpu_oldcw & ~_FPU_EXTENDED & ~_FPU_SINGLE) | _FPU_DOUBLE;
_FPU_SETCW(fpu_cw);
result = a / b;
_FPU_SETCW(fpu_oldcw);
], [ac_cfp_have__fpu_setcw=yes], [ac_cfp_have__fpu_setcw=no])
if test "$ac_cfp_have__fpu_setcw" = "yes" ; then
AC_DEFINE(HAVE__FPU_SETCW, 1, [whether _FPU_SETCW is present and usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable fpsetprec])
AC_TRY_LINK([
#include <machine/ieeefp.h>
],[
fp_prec_t fpu_oldprec;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
fpu_oldprec = fpgetprec();
fpsetprec(FP_PD);
result = a / b;
fpsetprec(fpu_oldprec);
], [ac_cfp_have_fpsetprec=yes], [ac_cfp_have_fpsetprec=no])
if test "$ac_cfp_have_fpsetprec" = "yes" ; then
AC_DEFINE(HAVE_FPSETPREC, 1, [whether fpsetprec is present and usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable _controlfp])
AC_TRY_LINK([
#include <float.h>
],[
unsigned int fpu_oldcw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
fpu_oldcw = _controlfp(0, 0);
_controlfp(_PC_53, _MCW_PC);
result = a / b;
_controlfp(fpu_oldcw, _MCW_PC);
], [ac_cfp_have__controlfp=yes], [ac_cfp_have__controlfp=no])
if test "$ac_cfp_have__controlfp" = "yes" ; then
AC_DEFINE(HAVE__CONTROLFP, 1, [whether _controlfp is present usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable _controlfp_s])
AC_TRY_LINK([
#include <float.h>
],[
unsigned int fpu_oldcw, fpu_cw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
_controlfp_s(&fpu_cw, 0, 0);
fpu_oldcw = fpu_cw;
_controlfp_s(&fpu_cw, _PC_53, _MCW_PC);
result = a / b;
_controlfp_s(&fpu_cw, fpu_oldcw, _MCW_PC);
], [ac_cfp_have__controlfp_s=yes], [ac_cfp_have__controlfp_s=no])
if test "$ac_cfp_have__controlfp_s" = "yes" ; then
AC_DEFINE(HAVE__CONTROLFP_S, 1, [whether _controlfp_s is present and usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([whether FPU control word can be manipulated by inline assembler])
AC_TRY_LINK([
/* nothing */
],[
unsigned int oldcw, cw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
__asm__ __volatile__ ("fnstcw %0" : "=m" (*&oldcw));
cw = (oldcw & ~0x0 & ~0x300) | 0x200;
__asm__ __volatile__ ("fldcw %0" : : "m" (*&cw));
result = a / b;
__asm__ __volatile__ ("fldcw %0" : : "m" (*&oldcw));
], [ac_cfp_have_fpu_inline_asm_x86=yes], [ac_cfp_have_fpu_inline_asm_x86=no])
if test "$ac_cfp_have_fpu_inline_asm_x86" = "yes" ; then
AC_DEFINE(HAVE_FPU_INLINE_ASM_X86, 1, [whether FPU control word can be manipulated by inline assembler])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
+1 -3
View File
@@ -1,7 +1,5 @@
<?php
if (function_exists("date_default_timezone_set")) {
date_default_timezone_set("UTC");
}
date_default_timezone_set("UTC");
function simple() {
$a = 0;
+1 -1
View File
@@ -33,7 +33,7 @@ $(makefile_in_files): $(makefile_am_files)
aclocal.m4: configure.in acinclude.m4
aclocal
$(config_h_in): configure.in
$(config_h_in): configure.in acconfig.h
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
+1 -99
View File
@@ -7,109 +7,11 @@ AM_CONFIG_HEADER(zend_config.h)
AM_SANITY_CHECK
AM_MAINTAINER_MODE
AC_PROG_CC
AM_PROG_LEX
AM_PROG_CC_STDC
ZEND_VERSION=$VERSION
AC_ZEND_C_BIGENDIAN
AH_TOP([
#if defined(__GNUC__) && __GNUC__ >= 4
# define ZEND_API __attribute__ ((visibility("default")))
# define ZEND_DLEXPORT __attribute__ ((visibility("default")))
#else
# define ZEND_API
# define ZEND_DLEXPORT
#endif
#define ZEND_DLIMPORT
#undef uint
#undef ulong
/* Define if you want to enable memory limit support */
#define MEMORY_LIMIT 0
])
AH_BOTTOM([
#ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#ifdef HAVE_IEEEFP_H
# include <ieeefp.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if ZEND_BROKEN_SPRINTF
int zend_sprintf(char *buffer, const char *format, ...);
#else
# define zend_sprintf sprintf
#endif
#include <math.h>
/* To enable the is_nan, is_infinite and is_finite PHP functions */
#ifdef NETWARE
#define HAVE_ISNAN 1
#define HAVE_ISINF 1
#define HAVE_ISFINITE 1
#endif
#ifndef zend_isnan
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
#else
#define zend_isnan(a) 0
#endif
#endif
#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
#ifdef HAVE_FINITE
#define zend_finite(a) finite(a)
#elif defined(HAVE_ISFINITE) || defined(isfinite)
#define zend_finite(a) isfinite(a)
#elif defined(fpclassify)
#define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0)
#else
#define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1)
#endif
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
#ifdef NETWARE
#ifdef USE_WINSOCK
#/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
#/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
#endif
#endif
])
dnl We want this one before the checks, so the checks can modify CFLAGS.
test -z "$CFLAGS" && auto_cflags=1
+1648
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2006 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
-321
View File
@@ -1,321 +0,0 @@
<?php
function hallo() {
}
function simpleucall($n) {
for ($i = 0; $i < $n; $i++)
hallo();
}
function simpleudcall($n) {
for ($i = 0; $i < $n; $i++)
hallo2();
}
function hallo2() {
}
function simpleicall($n) {
for ($i = 0; $i < $n; $i++)
func_num_args();
}
class Foo {
static $a = 0;
public $b = 0;
const TEST = 0;
static function read_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = self::$a;
}
}
static function write_static($n) {
for ($i = 0; $i < $n; ++$i) {
self::$a = 0;
}
}
static function isset_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = isset(self::$a);
}
}
static function empty_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = empty(self::$a);
}
}
static function f() {
}
static function call_static($n) {
for ($i = 0; $i < $n; ++$i) {
self::f();
}
}
function read_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $this->b;
}
}
function write_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b = 0;
}
}
function assign_add_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b += 2;
}
}
function pre_inc_prop($n) {
for ($i = 0; $i < $n; ++$i) {
++$this->b;
}
}
function pre_dec_prop($n) {
for ($i = 0; $i < $n; ++$i) {
--$this->b;
}
}
function post_inc_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b++;
}
}
function post_dec_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b--;
}
}
function isset_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$x = isset($this->b);
}
}
function empty_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$x = empty($this->b);
}
}
function g() {
}
function call($n) {
for ($i = 0; $i < $n; ++$i) {
$this->g();
}
}
function read_const($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $this::TEST;
}
}
}
function read_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = Foo::$a;
}
}
function write_static($n) {
for ($i = 0; $i < $n; ++$i) {
Foo::$a = 0;
}
}
function isset_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = isset(Foo::$a);
}
}
function empty_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = empty(Foo::$a);
}
}
function call_static($n) {
for ($i = 0; $i < $n; ++$i) {
Foo::f();
}
}
function create_object($n) {
for ($i = 0; $i < $n; ++$i) {
$x = new Foo();
}
}
define('TEST', null);
function read_const($n) {
for ($i = 0; $i < $n; ++$i) {
$x = TEST;
}
}
function read_auto_global($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $_GET;
}
}
$g_var = 0;
function read_global_var($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $GLOBALS['g_var'];
}
}
function read_hash($n) {
$hash = array('test' => 0);
for ($i = 0; $i < $n; ++$i) {
$x = $hash['test'];
}
}
function read_str_offset($n) {
$str = "test";
for ($i = 0; $i < $n; ++$i) {
$x = $str[1];
}
}
/*****/
function empty_loop($n) {
for ($i = 0; $i < $n; ++$i) {
}
}
function getmicrotime()
{
$t = gettimeofday();
return ($t['sec'] + $t['usec'] / 1000000);
}
function start_test()
{
ob_start();
return getmicrotime();
}
function end_test($start, $name, $overhead = null)
{
global $total;
global $last_time;
$end = getmicrotime();
ob_end_clean();
$last_time = $end-$start;
$total += $last_time;
$num = number_format($last_time,3);
$pad = str_repeat(" ", 24-strlen($name)-strlen($num));
if (is_null($overhead)) {
echo $name.$pad.$num."\n";
} else {
$num2 = number_format($last_time - $overhead,3);
echo $name.$pad.$num." ".$num2."\n";
}
ob_start();
return getmicrotime();
}
function total()
{
global $total;
$pad = str_repeat("-", 24);
echo $pad."\n";
$num = number_format($total,3);
$pad = str_repeat(" ", 24-strlen("Total")-strlen($num));
echo "Total".$pad.$num."\n";
}
const N = 5000000;
$t0 = $t = start_test();
empty_loop(N);
$t = end_test($t, 'empty_loop');
$overhead = $last_time;
simpleucall(N);
$t = end_test($t, 'func()', $overhead);
simpleudcall(N);
$t = end_test($t, 'undef_func()', $overhead);
simpleicall(N);
$t = end_test($t, 'int_func()', $overhead);
Foo::read_static(N);
$t = end_test($t, '$x = self::$x', $overhead);
Foo::write_static(N);
$t = end_test($t, 'self::$x = 0', $overhead);
Foo::isset_static(N);
$t = end_test($t, 'isset(self::$x)', $overhead);
Foo::empty_static(N);
$t = end_test($t, 'empty(self::$x)', $overhead);
read_static(N);
$t = end_test($t, '$x = Foo::$x', $overhead);
write_static(N);
$t = end_test($t, 'Foo::$x = 0', $overhead);
isset_static(N);
$t = end_test($t, 'isset(Foo::$x)', $overhead);
empty_static(N);
$t = end_test($t, 'empty(Foo::$x)', $overhead);
Foo::call_static(N);
$t = end_test($t, 'self::f()', $overhead);
call_static(N);
$t = end_test($t, 'Foo::f()', $overhead);
$x = new Foo();
$x->read_prop(N);
$t = end_test($t, '$x = $this->x', $overhead);
$x->write_prop(N);
$t = end_test($t, '$this->x = 0', $overhead);
$x->assign_add_prop(N);
$t = end_test($t, '$this->x += 2', $overhead);
$x->pre_inc_prop(N);
$t = end_test($t, '++$this->x', $overhead);
$x->pre_dec_prop(N);
$t = end_test($t, '--$this->x', $overhead);
$x->post_inc_prop(N);
$t = end_test($t, '$this->x++', $overhead);
$x->post_dec_prop(N);
$t = end_test($t, '$this->x--', $overhead);
$x->isset_prop(N);
$t = end_test($t, 'isset($this->x)', $overhead);
$x->empty_prop(N);
$t = end_test($t, 'empty($this->x)', $overhead);
$x->call(N);
$t = end_test($t, '$this->f()', $overhead);
$x->read_const(N);
$t = end_test($t, '$x = Foo::TEST', $overhead);
create_object(N);
$t = end_test($t, 'new Foo()', $overhead);
read_const(N);
$t = end_test($t, '$x = TEST', $overhead);
read_auto_global(N);
$t = end_test($t, '$x = $_GET', $overhead);
read_global_var(N);
$t = end_test($t, '$x = $GLOBALS[\'v\']', $overhead);
read_hash(N);
$t = end_test($t, '$x = $hash[\'v\']', $overhead);
read_str_offset(N);
$t = end_test($t, '$x = $str[0]', $overhead);
total($t0, "Total");
+1 -1
View File
@@ -13,7 +13,7 @@ var_dump(strncmp("qwerty", "qwerty123", 7));
echo "Done\n";
?>
--EXPECTF--
Warning: strncmp() expects exactly 3 parameters, 2 given in %s on line %d
Warning: Wrong parameter count for strncmp() in %s on line %d
NULL
int(0)
+1 -1
View File
@@ -15,7 +15,7 @@ var_dump(strcasecmp("01", "01"));
echo "Done\n";
?>
--EXPECTF--
Warning: strcasecmp() expects exactly 2 parameters, 1 given in %s on line %d
Warning: Wrong parameter count for strcasecmp() in %s on line %d
NULL
int(0)
int(-3)
+1 -1
View File
@@ -16,7 +16,7 @@ var_dump(strncasecmp("01", "01", 1000));
echo "Done\n";
?>
--EXPECTF--
Warning: strncasecmp() expects exactly 3 parameters, 1 given in %s on line %d
Warning: Wrong parameter count for strncasecmp() in %s on line %d
NULL
Warning: Length must be greater than or equal to 0 in %s on line %d
+1 -1
View File
@@ -22,7 +22,7 @@ var_dump(each($a));
echo "Done\n";
?>
--EXPECTF--
Warning: each() expects exactly 1 parameter, 0 given in %s on line %d
Warning: Wrong parameter count for each() in %s on line %d
NULL
Warning: Variable passed to each() is not an array or object in %s on line %d
-2
View File
@@ -40,8 +40,6 @@ string(3) "foo"
Warning: get_class() called without object from outside a class in %s on line %d
bool(false)
Warning: get_class() expects parameter 1 to be object, string given in %s on line %d
bool(false)
string(3) "foo"
string(4) "foo2"
+7 -7
View File
@@ -53,22 +53,22 @@ $bar->test();
echo "Done\n";
?>
--EXPECTF--
Warning: property_exists() expects exactly 2 parameters, 0 given in %s on line %d
Warning: Wrong parameter count for property_exists() in %s on line %d
NULL
Warning: property_exists() expects exactly 2 parameters, 1 given in %s on line %d
Warning: Wrong parameter count for property_exists() in %s on line %d
NULL
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
@@ -84,6 +84,6 @@ bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
Done
+2 -2
View File
@@ -32,7 +32,7 @@ array(2) {
string(%d) "%s"
}
Warning: get_included_files() expects exactly 0 parameters, 2 given in %s on line %d
Warning: Wrong parameter count for get_included_files() in %s on line %d
NULL
array(2) {
[0]=>
@@ -41,7 +41,7 @@ array(2) {
string(%d) "%s"
}
Warning: get_included_files() expects exactly 0 parameters, 1 given in %s on line %d
Warning: Wrong parameter count for get_included_files() in %s on line %d
NULL
array(2) {
[0]=>
+5 -7
View File
@@ -9,19 +9,20 @@ var_dump(trigger_error(array()));
var_dump(trigger_error("error", -1));
var_dump(trigger_error("error", 0));
var_dump(trigger_error("error", E_USER_WARNING));
var_dump(trigger_error("error", E_USER_DEPRECATED));
echo "Done\n";
?>
--EXPECTF--
Warning: trigger_error() expects at least 1 parameter, 0 given in %s on line %d
Warning: Wrong parameter count for trigger_error() in %s on line %d
NULL
Notice: error in %s on line %d
bool(true)
Warning: trigger_error() expects parameter 1 to be string, array given in %s on line %d
NULL
Notice: Array to string conversion in %s on line %d
Notice: Array in %s on line %d
bool(true)
Warning: Invalid error type specified in %s on line %d
bool(false)
@@ -31,7 +32,4 @@ bool(false)
Warning: error in %s on line %d
bool(true)
Deprecated: error in %s on line %d
bool(true)
Done
+7 -7
View File
@@ -45,11 +45,11 @@ var_dump(count(get_extension_funcs("zend")));
echo "Done\n";
?>
--EXPECTF--
Warning: get_resource_type() expects exactly 1 parameter, 0 given in %s on line %d
Warning: Wrong parameter count for get_resource_type() in %s on line %d
NULL
Warning: get_resource_type() expects parameter 1 to be resource, string given in %s on line %d
NULL
Warning: Supplied argument is not a valid resource handle in %s on line %d
bool(false)
string(6) "stream"
string(7) "Unknown"
string(5) "array"
@@ -60,23 +60,23 @@ int(%d)
Warning: get_loaded_extensions() expects at most 1 parameter, 2 given in %s on line %d
NULL
Warning: get_defined_constants() expects at most 1 parameter, 2 given in %s on line %d
Warning: Wrong parameter count for get_defined_constants() in %s on line %d
NULL
string(5) "array"
string(5) "array"
int(%d)
Warning: get_defined_functions() expects exactly 0 parameters, 1 given in %s on line %d
Warning: Wrong parameter count for get_defined_functions() in %s on line %d
NULL
string(5) "array"
int(%d)
Warning: get_declared_interfaces() expects exactly 0 parameters, 1 given in %s on line %d
Warning: Wrong parameter count for get_declared_interfaces() in %s on line %d
NULL
string(5) "array"
int(%d)
Warning: get_extension_funcs() expects exactly 1 parameter, 0 given in %s on line %d
Warning: Wrong parameter count for get_extension_funcs() in %s on line %d
NULL
bool(false)
string(5) "array"
+5 -3
View File
@@ -18,16 +18,18 @@ var_dump(constant("TEST_CONST2"));
echo "Done\n";
?>
--EXPECTF--
Warning: constant() expects exactly 1 parameter, 0 given in %s on line %d
Warning: Wrong parameter count for constant() in %s on line %d
NULL
Warning: constant() expects exactly 1 parameter, 2 given in %s on line %d
Warning: Wrong parameter count for constant() in %s on line %d
NULL
Warning: constant(): Couldn't find constant in %s on line %d
NULL
Warning: constant() expects parameter 1 to be string, array given in %s on line %d
Notice: Array to string conversion in %s on line %d
Warning: constant(): Couldn't find constant Array in %s on line %d
NULL
int(1)
string(4) "test"
+11 -12
View File
@@ -359,8 +359,7 @@ var_dump($global_var);
//Note: No error conditions relating to passing arugments can be tested
// because these are not functions but statements, it will result in syntax error.
?>
===DONE===
echo "Done\n";
--EXPECTF--
*** Testing unset(), empty() & isset() with scalar variables ***
-- Iteration 1 --
@@ -1186,11 +1185,11 @@ bool(true)
*** Testing unset(), emtpy() & isset() with resource variables ***
-- Iteration 1 --
resource(%d) of type (stream)
resource(5) of type (stream)
bool(true)
bool(false)
bool(true)
resource(%d) of type (stream)
resource(5) of type (stream)
bool(false)
bool(true)
bool(false)
@@ -1199,11 +1198,11 @@ bool(false)
Notice: Undefined variable: resource in %s on line %d
NULL
-- Iteration 2 --
resource(%d) of type (stream)
resource(6) of type (stream)
bool(true)
bool(false)
bool(true)
resource(%d) of type (stream)
resource(6) of type (stream)
bool(false)
bool(true)
bool(false)
@@ -1218,7 +1217,7 @@ bool(false)
bool(true)
*** Testing unset(), empty() & isset() with objects ***
object(Point)#%d (3) {
object(Point)#1 (3) {
["x"]=>
int(30)
["y"]=>
@@ -1240,7 +1239,7 @@ bool(false)
Notice: Undefined variable: lable in %s on line %d
bool(true)
object(Point)#%d (3) {
object(Point)#1 (3) {
["x"]=>
int(30)
["y"]=>
@@ -1248,7 +1247,7 @@ object(Point)#%d (3) {
["lable"]=>
string(6) "Point1"
}
object(Point)#%d (2) {
object(Point)#1 (2) {
["y"]=>
int(40)
["lable"]=>
@@ -1256,7 +1255,7 @@ object(Point)#%d (2) {
}
bool(false)
bool(true)
object(Point)#%d (0) {
object(Point)#1 (0) {
}
bool(true)
bool(false)
@@ -1277,7 +1276,7 @@ array(3) {
[2]=>
string(9) "testPoint"
}
object(Point)#%d (3) {
object(Point)#1 (3) {
["x"]=>
int(5)
["y"]=>
@@ -1330,4 +1329,4 @@ bool(false)
bool(false)
bool(true)
int(10)
===DONE===
Done
+2 -5
View File
@@ -20,14 +20,11 @@ foo(1,2);
echo "Done\n";
?>
--EXPECTF--
Warning: func_get_arg() expects exactly 1 parameter, 3 given in %s on line %d
NULL
bool(false)
Warning: func_get_arg(): Called from the global scope - no function context in %s on line %d
bool(false)
Warning: func_get_arg() expects exactly 1 parameter, 0 given in %s on line %d
NULL
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
-37
View File
@@ -1,37 +0,0 @@
--TEST--
?: operator
--FILE--
<?php
var_dump(true ?: false);
var_dump(false ?: true);
var_dump(23 ?: 42);
var_dump(0 ?: "bar");
$a = 23;
$b = 0;
$c = "";
$d = 23.5;
var_dump($a ?: $b);
var_dump($c ?: $d);
var_dump(1 ?: print(2));
$e = array();
$e['e'] = 'e';
$e['e'] = $e['e'] ?: 'e';
print_r($e);
?>
--EXPECT--
bool(true)
bool(true)
int(23)
string(3) "bar"
int(23)
float(23.5)
int(1)
Array
(
[e] => e
)
-24
View File
@@ -1,24 +0,0 @@
--TEST--
Implementating abstracting methods and optional parameters
--FILE--
<?php
abstract class Base
{
abstract function someMethod($param);
}
class Ext extends Base
{
function someMethod($param = "default")
{
echo $param, "\n";
}
}
$a = new Ext();
$a->someMethod("foo");
$a->someMethod();
--EXPECT--
foo
default
-45
View File
@@ -1,45 +0,0 @@
--TEST--
Testing variable variables as function name
--FILE--
<?php
$a = 'ucfirst';
$b = 'a';
print $$b('test');
print "\n";
class bar {
public function a() {
return "bar!";
}
}
class foo {
public function test() {
print "foo!\n";
return new bar;
}
}
function test() {
return new foo;
}
$a = 'test';
$b = 'a';
var_dump($$b()->$$b()->$b());
$a = 'strtoupper';
$b = 'a';
$c = 'b';
$d = 'c';
var_dump($$$$d('foo'));
?>
--EXPECT--
Test
foo!
string(4) "bar!"
string(3) "FOO"
-51
View File
@@ -1,51 +0,0 @@
--TEST--
Testing operations with undefined variable
--FILE--
<?php
var_dump($a[1]);
var_dump($a[$c]);
var_dump($a + 1);
var_dump($a + $b);
var_dump($a++);
var_dump(++$b);
var_dump($a->$b);
var_dump($a->$b);
var_dump($a->$b->$c[1]);
?>
--EXPECTF--
Notice: Undefined variable: a in %s on line %d
NULL
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Undefined variable: a in %s on line %d
int(1)
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
int(0)
Notice: Undefined variable: a in %s on line %d
NULL
Notice: Undefined variable: b in %s on line %d
int(1)
Notice: Trying to get property of non-object in %s on line %d
NULL
Notice: Trying to get property of non-object in %s on line %d
NULL
Notice: Undefined variable: c in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
NULL
-32
View File
@@ -1,32 +0,0 @@
--TEST--
Testing dynamic calls
--FILE--
<?php
class foo {
static public function a() {
print "ok\n";
}
}
$a = 'a';
$b = 'a';
$class = 'foo';
foo::a();
foo::$a();
foo::$$b();
$class::a();
$class::$a();
$class::$$b();
?>
--EXPECT--
ok
ok
ok
ok
ok
ok
-25
View File
@@ -1,25 +0,0 @@
--TEST--
Trying assign value to property when an object is not returned in a function
--FILE--
<?php
class foo {
public function a() {
}
}
$test = new foo;
$test->a()->a;
print "ok\n";
$test->a()->a = 1;
print "ok\n";
?>
--EXPECTF--
Notice: Trying to get property of non-object in %s on line %d
ok
Warning: Creating default object from empty value in %s on line %d
ok
-22
View File
@@ -1,22 +0,0 @@
--TEST--
Testing dynamic calls using variable variables with curly syntax
--FILE--
<?php
$a = 'b';
$b = 'c';
$c = 'strtoupper';
var_dump(${${$a}}('foo') == 'FOO');
$a = 'b';
$b = 'c';
$c = 'strtoupper';
$strtoupper = 'strtolower';
var_dump(${${++$a}}('FOO') == 'foo');
?>
--EXPECT--
bool(true)
bool(true)
-23
View File
@@ -1,23 +0,0 @@
--TEST--
Testing function call through of array item
--FILE--
<?php
$arr = array('strtoupper', 'strtolower');
$k = 0;
var_dump($arr[0]('foo') == 'FOO');
var_dump($arr[$k]('foo') == 'FOO');
var_dump($arr[++$k]('FOO') == 'foo');
var_dump($arr[++$k]('FOO') == 'foo');
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
Notice: Undefined offset: 2 in %s on line %d
Fatal error: Function name must be a string in %s on line %d
-51
View File
@@ -1,51 +0,0 @@
--TEST--
Testing assign to property of an object in an array
--FILE--
<?php
$arr = array(new stdClass);
$arr[0]->a = clone $arr[0];
var_dump($arr);
$arr[0]->b = new $arr[0];
var_dump($arr);
$arr[0]->c = $arr[0]->a;
var_dump($arr);
?>
--EXPECT--
array(1) {
[0]=>
object(stdClass)#1 (1) {
["a"]=>
object(stdClass)#2 (0) {
}
}
}
array(1) {
[0]=>
object(stdClass)#1 (2) {
["a"]=>
object(stdClass)#2 (0) {
}
["b"]=>
object(stdClass)#3 (0) {
}
}
}
array(1) {
[0]=>
object(stdClass)#1 (3) {
["a"]=>
object(stdClass)#2 (0) {
}
["b"]=>
object(stdClass)#3 (0) {
}
["c"]=>
object(stdClass)#2 (0) {
}
}
}
-70
View File
@@ -1,70 +0,0 @@
--TEST--
Overriding $this in catch and checking the object properties later.
--FILE--
<?php
class foo {
public $test = 0;
private $test_2 = 1;
protected $test_3 = 2;
public function bar() {
try {
throw new Exception('foo');
} catch (Exception $this) {
var_dump($this);
}
$this->baz();
}
public function baz() {
foreach ($this as $k => $v) {
printf("'%s' => '%s'\n", $k, $v);
}
print "ok\n";
}
}
$test = new foo;
$test->bar();
?>
--EXPECTF--
object(Exception)#%d (7) {
["message":protected]=>
string(3) "foo"
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(%d) "%s030.php"
["line":protected]=>
int(%d)
["trace":"Exception":private]=>
array(1) {
[0]=>
array(6) {
["file"]=>
string(%d) "%s030.php"
["line"]=>
int(%d)
["function"]=>
string(3) "bar"
["class"]=>
string(3) "foo"
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
}
["previous":"Exception":private]=>
NULL
}
'test' => '0'
'test_2' => '1'
'test_3' => '2'
ok
-11
View File
@@ -1,11 +0,0 @@
--TEST--
Testing array with '[]' passed as argument by value
--FILE--
<?php
function test($var) { }
test($arr[]);
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s on line %d
-13
View File
@@ -1,13 +0,0 @@
--TEST--
Testing array with '[]' passed as argument by reference
--FILE--
<?php
function test(&$var) { }
test($arr[]);
print "ok!\n";
?>
--EXPECT--
ok!
-31
View File
@@ -1,31 +0,0 @@
--TEST--
Using undefined multidimensional array
--FILE--
<?php
$arr[1][2][3][4][5];
echo $arr[1][2][3][4][5];
$arr[1][2][3][4][5]->foo;
$arr[1][2][3][4][5]->foo = 1;
$arr[][] = 2;
$arr[][]->bar = 2;
?>
--EXPECTF--
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Warning: Creating default object from empty value in %s on line %d
Warning: Creating default object from empty value in %s on line %d
-26
View File
@@ -1,26 +0,0 @@
--TEST--
Testing multiples 'default:' in switch
--FILE--
<?php
switch (1) {
case 2:
print 'foo';
break;
case 3:
print 'bar';
break;
default:
print 1;
break;
default:
print 2;
break;
default:
print 3;
break;
}
?>
--EXPECT--
3
-18
View File
@@ -1,18 +0,0 @@
--TEST--
Using 'static' and 'global' in global scope
--FILE--
<?php
static $var, $var, $var = -1;
var_dump($var);
global $var, $var, $var;
var_dump($var);
var_dump($GLOBALS['var']);
?>
--EXPECT--
int(-1)
int(-1)
int(-1)
-13
View File
@@ -1,13 +0,0 @@
--TEST--
Trying to use lambda in array offset
--FILE--
<?php
$test[function(){}] = 1;
$a{function() { }} = 1;
?>
--EXPECTF--
Warning: Illegal offset type in %s on line %d
Warning: Illegal offset type in %s on line %d
-19
View File
@@ -1,19 +0,0 @@
--TEST--
Trying to access inexistent static property of Closure
--FILE--
<?php
namespace closure;
class closure { static $x = 1;}
$x = __NAMESPACE__;
var_dump(closure::$x);
var_dump($x::$x);
?>
--EXPECTF--
int(1)
Fatal error: Access to undeclared static property: Closure::$x in %s on line %d
-12
View File
@@ -1,12 +0,0 @@
--TEST--
Trying to use lambda as array key
--FILE--
<?php
var_dump(array(function() { } => 1));
?>
--EXPECTF--
Warning: Illegal offset type in %s on line %d
array(0) {
}
-14
View File
@@ -1,14 +0,0 @@
--TEST--
using multiple access modifiers (methods)
--FILE--
<?php
class test {
static public public static final public final function foo() {
}
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
-13
View File
@@ -1,13 +0,0 @@
--TEST--
using multiple access modifiers (attributes)
--FILE--
<?php
class test {
static public public static final public final $var;
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
-13
View File
@@ -1,13 +0,0 @@
--TEST--
using multiple access modifiers (classes)
--FILE--
<?php
final final class test {
function foo() {}
}
echo "Done\n";
?>
--EXPECTF--
Parse error: %s error,%sexpecting %s in %s on line %d
-14
View File
@@ -1,14 +0,0 @@
--TEST--
using multiple access modifiers (abstract methods)
--FILE--
<?php
class test {
abstract abstract function foo() {
}
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Multiple abstract modifiers are not allowed in %s on line %d
-14
View File
@@ -1,14 +0,0 @@
--TEST--
using multiple access modifiers (final methods)
--FILE--
<?php
class test {
final final function foo() {
}
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Multiple final modifiers are not allowed in %s on line %d
Loaded 100 of 9544 files, more files were not shown because too many files have changed in this diff. Show more