Compare commits

..
Author SHA1 Message Date
SVN Migration 5b1558c01f This commit was manufactured by cvs2svn to create tag
'BEFORE_NEW_OUTPUT_API'.
2006-06-02 16:15:59 +00:00
Rob Richards 653007cea0 idness not valid for attribute declarations 2006-06-02 16:15:58 +00:00
Dmitry Stogov 916a317385 SAPI globals are destroied at this point and reporting errors about memory leaks
can cause crash.
2006-06-02 13:31:38 +00:00
136d3c6fbe ChangeLog update 2006-06-02 05:31:58 +00:00
Ilia Alshanetsky c270a8e627 MFB: fixed compiler warning 2006-06-01 22:42:53 +00:00
Michael Wallner 1ba7a6812c MFB: #37630 MySQL extensions should link against thread safe client libs if built with ZTS 2006-06-01 19:15:31 +00:00
Antony Dovgal 8c04c51f9b ignore my previous fix, it was wrong =) 2006-06-01 14:31:02 +00:00
Antony Dovgal 01bc25e4b6 suppress_errors is used only on Win32, no need to look for it on other systems 2006-06-01 14:03:38 +00:00
Antony Dovgal 3e5407b16d nuke unused variable 2006-06-01 13:45:16 +00:00
Antony Dovgal 12a2d02b99 fix tests 2006-06-01 13:04:10 +00:00
Antony Dovgal 890b19a709 no need to fetch trsm_ls when it's already available 2006-06-01 12:25:32 +00:00
Antony Dovgal de4a8eed86 add new tests 2006-06-01 11:57:39 +00:00
Antony Dovgal 57566a78b5 throw a warning when using invalid offset types with strings 2006-06-01 11:56:23 +00:00
e24b4215ea ChangeLog update 2006-06-01 05:31:55 +00:00
Antony Dovgal a93e5cf3bf add expected warning to the test 2006-05-31 20:40:07 +00:00
Derick Rethans 48d0606f8d - MF52: There was nothing wrong here, bug report #37595 is bogus.
- MF52: Added a new test case to demonstrate a longer plain text.
2006-05-31 20:13:14 +00:00
Antony Dovgal 3a4028c39e fix error message in Unicode mode 2006-05-31 18:59:42 +00:00
Antony Dovgal 8d9ad7511d add more tests 2006-05-31 18:58:27 +00:00
Andrei Zmievski 7a14d10fe4 MFB 2006-05-31 17:19:05 +00:00
Antony Dovgal 1fdb254591 add tests for new E_FATALs 2006-05-31 14:55:16 +00:00
Dmitry Stogov 4e662470f7 Keeping consistent arg_stack during arguments freeing (Exception from destructor may use inconsistent arg_stack for backtrace). 2006-05-31 13:02:15 +00:00
Dmitry Stogov 75fac72dc5 Support for nested exceptions and fatal errors in destructors 2006-05-31 12:59:45 +00:00
Antony Dovgal 4b2d974691 fix #37595 (mcrypt_generic calculates data length in wrong way) 2006-05-31 12:04:52 +00:00
988acbf86a ChangeLog update 2006-05-31 05:31:57 +00:00
Marcus Boerger 78e44d8ab0 - Add new tests 2006-05-30 23:11:13 +00:00
Marcus Boerger 1a76b61bef - Fix test logic 2006-05-30 23:10:55 +00:00
Antony Dovgal 86f475fd40 MFB: fix tests 2006-05-30 22:37:08 +00:00
Antony Dovgal 006cbdadab fix test 2006-05-30 21:54:17 +00:00
Antony Dovgal b64bf12d59 fix compilation on some b0rked systems that must have collections support but they don't 2006-05-30 21:38:00 +00:00
Marcus Boerger d33e4dfe1e - WS 2006-05-30 19:40:19 +00:00
Sara Golemon a8ca40564c Minor fixes (bjori) 2006-05-30 19:05:21 +00:00
Michael Wallner d96300f0e2 MFB: fix bug 37635 (argument to pcntl signal handler is trashed) 2006-05-30 17:44:23 +00:00
Hannes Magnusson 43a4e75e8a Lets play nice and use 4digit years with DATE_RSS 2006-05-30 15:13:36 +00:00
Ilia Alshanetsky 1aadb29d51 MFB: Added memory_get_peak_usage() function for retrieving peak memory
usage of a PHP script.
2006-05-30 14:51:54 +00:00
Hannes Magnusson b32c5e959c Fixed DATE_COOKIE & DATE_RSS
Fixed tests
Add comments
# My first php-src/ commit! :)
2006-05-30 14:45:16 +00:00
Antony Dovgal 0d0cc38d4c don't require libociei, this allows us to build ext/oci8 against basiclite OIC package 2006-05-30 13:16:38 +00:00
Derick Rethans f33cfbabfe - Now as text and not HTML. 2006-05-30 13:15:10 +00:00
Derick Rethans 8d31d2e896 - Fixed bug #37616: DATE_RFC822 does not product RFC 822 dates. (Patch by
Hannes Magnusson)
2006-05-30 13:08:00 +00:00
Antony Dovgal cfeff66e9a need to call zend_is_callable() if callable is known to be invalid 2006-05-30 09:46:01 +00:00
0389fb190d ChangeLog update 2006-05-30 05:31:57 +00:00
Ilia Alshanetsky 7e2c124d14 MFB: Convert E_ERROR to E_RECOVERABLE_ERROR 2006-05-30 02:40:49 +00:00
Antony Dovgal b220c7779f no need to check it for not-NULL (as was pointed by Nuno) 2006-05-29 21:31:30 +00:00
Antony Dovgal 2acd363bbe there is no ce at this point, revert this line to its previous state
See also: http://news.php.net/php.zend-engine.cvs/4931
2006-05-29 21:28:15 +00:00
Antony Dovgal 0e639cea57 add test 2006-05-29 20:31:33 +00:00
Antony Dovgal d5462c527a return NULL in case of error (and fix leak/non-null-terminated string error) 2006-05-29 20:26:12 +00:00
Marcus Boerger 17912b4f1e - Bugfix #37632 (Protected method access problem) 2006-05-29 19:57:43 +00:00
Antony Dovgal d0dba64b72 improve sed expressions 2006-05-29 18:12:39 +00:00
Michael Wallner 5777060367 MFB: Fixed bug #36949 (invalid internal mysqli objects dtor) 2006-05-29 16:55:40 +00:00
Antony Dovgal c051139ad5 fix #37531 (oci8 persistent connection corruption) 2006-05-29 10:59:15 +00:00
Antony Dovgal 11b66c6cec add test 2006-05-29 10:42:37 +00:00
Antony Dovgal d5f90c48c7 initialize srcstream
use different variable in local scope
2006-05-29 10:42:10 +00:00
Antony Dovgal f59d444d8a prevent resource leaking when passing invalid stream resource as second argument 2006-05-29 10:23:53 +00:00
7ed1649017 ChangeLog update 2006-05-29 05:31:56 +00:00
Johannes Schlüter 40da89d6b9 - Fix str_replace with unicode strings as key 2006-05-28 21:09:58 +00:00
Michael Wallner 04766b7933 - call ap_set_content_type() only once, else each time we call it,
configured output filters for that content type will be added
2006-05-28 20:31:15 +00:00
Johannes Schlüter 80cff030da - Fix printf modifier 2006-05-28 19:45:02 +00:00
Ilia Alshanetsky af1877567e MFB: Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for
recurssion limit support).
2006-05-28 15:34:19 +00:00
a256df46bc ChangeLog update 2006-05-28 05:31:56 +00:00
Pierre Joye 3c5d378c73 - update changelog 2006-05-28 01:24:01 +00:00
Pierre Joye c095489df3 - #7733, values using E/e returns wrong result 2006-05-28 01:12:55 +00:00
Johannes Schlüter 3d2ddf524e - nitpicking "PHP6" vs. "PHP 6" 2006-05-27 20:53:38 +00:00
Marcus Boerger 5925a26275 - Take care of refcounting in zend_fcall_info_*() functions
- Add docu
# I know it is unpopular to add docu here but i think we should add more
2006-05-27 19:40:06 +00:00
Marcus Boerger f93bf1007a - WS 2006-05-27 19:04:16 +00:00
Johannes Schlüter 341ffb3f3d - Fix #37614 (Class name lowercased in error message) 2006-05-27 17:58:50 +00:00
ec0c3e853f ChangeLog update 2006-05-27 05:31:57 +00:00
Marcus Boerger 9265545992 - Fix bug #37212 (Access to protected property of common base class)
By adding "zend_class_entry *ce" to struct zend_property_info;
# Besides closing the bug this patch allows to optimize a bunch of
# property handling optimizations. I need to find out what all can be
# optimized. All other tests relevant to class handling still PASS.
2006-05-27 02:12:43 +00:00
Marcus Boerger ffc4fbb91f - There are no abstract static methods in classes, use interfaces 2006-05-27 01:56:42 +00:00
Rob Richards d178e8d3e4 add C14N() and C14NFile() methods to perform XML canonicalization
add test
2006-05-26 18:22:06 +00:00
Dmitry Stogov 2fd6c8607a Fixed bug #37523 (namespaces added too late, leads to missing xsi:type attributes. incompatibility with libxml2-2.6.24) 2006-05-26 09:04:54 +00:00
ad466c9e7c ChangeLog update 2006-05-26 05:31:57 +00:00
Sara Golemon a228b7f675 Fix ZTS build, call with TSRMLS_CC not DC 2006-05-26 04:22:46 +00:00
Ilia Alshanetsky d5efd946ae Corrected previous patch 2006-05-26 01:55:00 +00:00
Pierre Joye 1902e8973c - MFB: fix leaks in openssl context options 2006-05-26 01:48:25 +00:00
Marcus Boerger f876597452 - Fix handling of third parameter to iterator_apply()
- Add test
2006-05-26 01:40:57 +00:00
Marcus Boerger 2c096460eb - Fix type hint 2006-05-26 00:49:02 +00:00
Marcus Boerger f0e9f6e4f9 - Add function iterator_apply() 2006-05-26 00:37:33 +00:00
Marcus Boerger cc56405cb9 - Sync error messages and simplify error message generation code 2006-05-26 00:26:45 +00:00
Ilia Alshanetsky ad5f0b50fa MFB: Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). 2006-05-25 23:23:15 +00:00
Marcus Boerger 9114bc25c3 - Ease writing functions that deal with php function 'pointers' 2006-05-25 22:20:13 +00:00
Edin Kadribasic 4eab123723 MFB: Missing definition, patch by Steph Fox 2006-05-25 18:48:30 +00:00
Marcus Boerger 0638b7cfec - Make recursive part and identical part work correct 2006-05-25 18:15:04 +00:00
Marcus Boerger 711c43406f - Add DualIterator and RecursiveDualIterator to examples including a test 2006-05-25 17:44:59 +00:00
Pierre Joye e8f043b449 -#7715, fix float validation when using '.23' or '123'
have worked before using my version, bug introduced in later commits.
2006-05-25 13:27:51 +00:00
Michael Wallner 9b884c1dbe MFB: fix bug #34180, --with-curlwrappers discards stream context options 2006-05-25 12:47:46 +00:00
Antony Dovgal a1cb265e4a remove debug output and fix bug #37589 2006-05-25 11:46:12 +00:00
Pierre Joye f4890ace58 - remove 033.php 2006-05-25 11:13:42 +00:00
Pierre Joye c0e8d54844 - move 033.php to 033_run.php, 033.php cannot be run 2006-05-25 11:13:23 +00:00
Marcus Boerger 875caa4870 - MFB 2006-05-25 10:50:53 +00:00
Antony Dovgal c0dd2b80ac fix tests in unicode mode 2006-05-25 10:38:01 +00:00
Antony Dovgal 34126e4a64 MFB: fix error messages when converting objects to other types 2006-05-25 10:34:01 +00:00
Marcus Boerger 40439b1670 - Bugfix 37587 2006-05-25 09:51:58 +00:00
Rasmus Lerdorf 3562f88b7e Fix expected output 2006-05-25 09:12:11 +00:00
Dmitry Stogov d5236aaf96 Fixed bug #37278 (SOAP not respecting uri in __soapCall) 2006-05-25 08:15:57 +00:00
Rasmus Lerdorf 804a44e7bc Big filter test - note that a number of these currently fail 2006-05-25 08:06:34 +00:00
Dmitry Stogov 7e59bc4d89 Fixed bug #37558 (timeout functionality doesn't work after a second PHP starup on the same thread). (p dot desarnaud at wanadoo dot fr) 2006-05-25 07:23:38 +00:00
Dmitry Stogov c6256d890a Fixed bug #37496 (FastCGI output buffer overrun) 2006-05-25 06:40:47 +00:00
4f6d6f6594 ChangeLog update 2006-05-25 05:31:52 +00:00
Ilia Alshanetsky 940ed4a426 MFB: Fixed bug #37563 (array_key_exists performance is poor for &$array). 2006-05-24 23:14:36 +00:00
Antony Dovgal a2f0632198 fix test 2006-05-24 23:05:30 +00:00
Edin Kadribasic 7d605c31d1 MFB: Initialize windows globals, fixes #37428 2006-05-24 22:00:57 +00:00
Antony Dovgal 2873c3a5ad MFB: fix #37418 (tidy module crashes CLI version of PHP) 2006-05-24 21:22:27 +00:00
Antony Dovgal 3819d8e435 MFB: fix #37499 (CLI segmentation faults during cleanup (only with sybase-ct extension enabled)) 2006-05-24 20:22:34 +00:00
Dmitry Stogov db2452bb42 Fixed CGI tests 2006-05-24 13:29:19 +00:00
Pierre Joye b629056504 - #7625, update doc 2006-05-24 11:51:55 +00:00
Dmitry Stogov 94004da0ed Fixed bug #37256 (php-fastcgi dosen't handle connection abort) 2006-05-24 09:41:55 +00:00
Dmitry Stogov 0f9c8e550e Fixed bug #37341 ($_SERVER in included file is shortened to two entries, if $_ENV gets used). 2006-05-24 07:52:58 +00:00
b549e5b503 ChangeLog update 2006-05-24 05:31:57 +00:00
Marcus Boerger c627a4819b - Add more tests from Ligaya Turmelle 2006-05-23 23:45:39 +00:00
Ilia Alshanetsky 45b278cc34 MFB: Fixed handling of extremely long paths inside tempnam() function. 2006-05-23 23:22:16 +00:00
Marcus Boerger 47343620cb - Add new test 2006-05-23 22:26:55 +00:00
Marcus Boerger 25d5adec0d - Fix feof() with temp/memory streams 2006-05-23 22:26:23 +00:00
Marcus Boerger 8fcbc7c062 - Done in 5.2 2006-05-23 22:24:10 +00:00
Marcus Boerger 16f403f79a - Readd NULL as allowed classname to skip parameter 2006-05-23 22:22:35 +00:00
Marcus Boerger 30bc5adf3b - Handle NULL in C argument parsing correct 2006-05-23 22:21:52 +00:00
Marcus Boerger b1154bd4f7 - Add new test 2006-05-23 21:56:36 +00:00
Marcus Boerger ccd2bc0005 - Fix SEGV in case class to generate is not derived from SimpleXMLElement
by issueing an error
2006-05-23 21:37:17 +00:00
Sebastian Bergmann 9ac660b72e Add bison 2.2 to the list of supported versions. 2006-05-23 11:10:54 +00:00
1d91955c54 ChangeLog update 2006-05-23 05:31:51 +00:00
Marcus Boerger 55d6d41e3e - Provide user func printztype to retrieve the name of a zval type 2006-05-22 19:43:15 +00:00
Rob Richards e88f13a86d add test 2006-05-22 17:05:38 +00:00
Ilia Alshanetsky 4a6464f22a MFB: E_ERROR > E_RECOVERABLE_ERROR 2006-05-22 14:23:01 +00:00
Dmitry Stogov dbf6f9b81c Fixed bug #37496 (FastCGI output buffer overrun) 2006-05-22 09:23:01 +00:00
Antony Dovgal 0e5ce38c04 fix typo 2006-05-22 06:49:44 +00:00
9b35a2aad8 ChangeLog update 2006-05-22 05:31:58 +00:00
Antony Dovgal 1304bd655b re-enable OCILobRead2() support on win32 2006-05-22 04:17:24 +00:00
Marcus Boerger e843518509 - More exception related issues 2006-05-21 17:36:52 +00:00
Marcus Boerger c7bf318305 - Make code exception safe
- Make RecursiveRegexIterator::getChildren pass regex to inner ctor
- Fix CachingIterator::__toString() in TOSTRING_USE_KEY mode
- Add CachingIterator::getCache()
- Add tests
2006-05-21 17:27:12 +00:00
Ilia Alshanetsky ef29a49de6 Added control character checks for cURL extension's open_basedir/safe_mode
checks.
2006-05-21 16:32:10 +00:00
Marcus Boerger a4d6c5a6f0 - Handle corrupt base64 data in data: url 2006-05-21 13:35:06 +00:00
Marcus Boerger e7d381f7b6 - Drop unneccesary check and change to safe_emalloc 2006-05-21 13:25:16 +00:00
Marcus Boerger 9264ec9b63 - There is a problem in the string / unicode comparison here which we
do not want to test here, so simply drop the part which is irrelevant
  to the actual test
2006-05-21 12:48:42 +00:00
Marcus Boerger 97e798257a - Remove duplicate error message and add new test 2006-05-21 12:42:00 +00:00
Marcus Boerger 223dce98a5 - Improve error messages (missing unicode todo) 2006-05-21 12:39:03 +00:00
Marcus Boerger 7628f08017 - Improve error messages (part 2) 2006-05-21 12:38:28 +00:00
Marcus Boerger 8dd749fc65 - Fix unicode expectations 2006-05-21 11:38:24 +00:00
Marcus Boerger 426b40fc77 - Improved error messages 2006-05-21 11:23:35 +00:00
Marcus Boerger 50ae26c147 - Update 2006-05-21 09:12:41 +00:00
cdcc0e2633 ChangeLog update 2006-05-21 05:31:53 +00:00
Marcus Boerger 7c3ffb2056 - Z_LVAL is a long so use %ld 2006-05-20 20:50:24 +00:00
Marcus Boerger a6c21ae746 - No need to fetch ce twice 2006-05-20 20:46:11 +00:00
Marcus Boerger 0a0d7b046d - Split up the test in different problem categories 2006-05-20 20:38:28 +00:00
Marcus Boerger a677ab81f3 - Micro optimization 2006-05-20 19:47:18 +00:00
Antony Dovgal e697da651c fix the typo before everybody forgets about it 2006-05-20 19:08:25 +00:00
Marcus Boerger 9b314a8406 - Update test 2006-05-20 19:01:22 +00:00
Marcus Boerger 9e230861ca - No need to keep object alive, iterator api is taking care of that already 2006-05-20 18:48:43 +00:00
Marcus Boerger b7315f749c - Better error message in case of an exception from a dtor while an
exception is already pending
2006-05-20 18:32:33 +00:00
Marcus Boerger a871b842f8 - Fix warning 2006-05-20 15:38:36 +00:00
Antony Dovgal 469040660e attempt to fix OCILobRead2() related problems 2006-05-20 13:46:41 +00:00
Marcus Boerger 05de29995f - Provide a generic c-level iterator apply function
- Base iterator_to_array() and iterator_count() on it
- Add a testcase
# Somehow there is an issue with exceptions in __destruct() here
2006-05-20 13:23:00 +00:00
Marcus Boerger 6dde3783b0 - In printzv show private/protected visibility and class in case of private 2006-05-20 12:44:46 +00:00
Marcus Boerger 16076207d5 - Add new tests 2006-05-20 11:34:58 +00:00
Marcus Boerger b850abcb82 - Do not use the protection at this place, we would need another object
shutdown state (e.g. destructed == 2). That's probbaly too much.
2006-05-20 10:18:17 +00:00
Marcus Boerger 8e42a84335 - Destructors must not be called twice 2006-05-20 09:51:41 +00:00
Marcus Boerger 3a752ce669 - Should be static and be called (comitted wrong version) 2006-05-20 09:11:50 +00:00
Marcus Boerger 207846259d - Add new tests
# Now who finds the error in php code?
2006-05-20 09:08:00 +00:00
10163622cc ChangeLog update 2006-05-20 05:31:54 +00:00
Dmitry Stogov 6f9a24e4e2 Fixed random crashes in ZTS mode becouse of uninitialized EG(modified_ini_directives). 2006-05-19 15:39:36 +00:00
Derick Rethans 43ca53674c - MF52: Fixed bug #37514 (strtotime doesn't assume year correctly). 2006-05-19 14:53:07 +00:00
Michael Wallner b31ca2c43d MF52: nuke compiler warnings 2006-05-19 14:30:48 +00:00
Hartmut Holzgraefe 205bdeda41 Name change: php_get_tmpdir() renamed to sys_get_temp_dir() 2006-05-19 10:44:34 +00:00
Antony Dovgal 1417222aee initialize factory 2006-05-19 10:23:43 +00:00
Antony Dovgal bd6125c312 add new tests by Ligaya Turmelle 2006-05-19 07:44:58 +00:00
Dmitry Stogov ab9e070bbf Optimized zend_try/zend_catch macroses (eliminated memcpy()) 2006-05-19 06:11:02 +00:00
7324a30e8d ChangeLog update 2006-05-19 05:31:56 +00:00
Ilia Alshanetsky 1dd395b27f MFB: Fixed bug #37505 (touch() truncates large files). 2006-05-19 02:51:18 +00:00
Pierre Joye deec9a6ce1 - fix windows builds, error with declarations 2006-05-19 01:45:22 +00:00
Marcus Boerger 4c75c6bf29 - Add new test 2006-05-18 22:51:23 +00:00
Marcus Boerger fae99963dc - Add new test 2006-05-18 22:41:14 +00:00
Marcus Boerger a4471f70f0 - Fix bug #37510 session_regenerate_id changes session_id() even on failure 2006-05-18 22:07:31 +00:00
Marcus Boerger fbb48b6f26 - Add new test 2006-05-18 21:56:57 +00:00
Marcus Boerger 4439e2c530 - Fixed CachingIterator issues with string conversion/__toString()
Partly by adding new mode TOSTRING_USE_INNER
2006-05-18 21:41:37 +00:00
Marcus Boerger ac0a0664ce - Fix test in unicode mode 2006-05-18 21:40:30 +00:00
Marcus Boerger 37561705a0 - Fix error message in unicode mode 2006-05-18 21:14:40 +00:00
Antony Dovgal 10c2fc97df fix #37487 (oci_fetch_array() array-type should always default to OCI_BOTH) 2006-05-18 13:20:00 +00:00
7bb6f3ea59 ChangeLog update 2006-05-18 05:31:54 +00:00
Rob Richards 43dfe5ec59 add test 2006-05-17 16:32:35 +00:00
Rob Richards 85e8f351d5 Fix bug #37456 (DOMElement->setAttribute() loops forever) 2006-05-17 16:32:04 +00:00
Antony Dovgal fe94855983 change argument name, it should be "object" not "property" 2006-05-17 14:28:31 +00:00
Ilia Alshanetsky 2639d7e6d8 Fixed bug #35512 (Lack of read permission on main script results in
E_WARNING rather then E_ERROR).
2006-05-17 13:28:20 +00:00
Antony Dovgal 08ff489ef8 fix skip reason 2006-05-17 10:12:44 +00:00
54dbf051ec ChangeLog update 2006-05-17 05:31:49 +00:00
Marcus Boerger 2a36ccbaa6 - Proto fix/add 2006-05-17 00:07:05 +00:00
Marcus Boerger 5b858067d3 - '_' is valid in test blocks 2006-05-16 23:04:52 +00:00
Ilia Alshanetsky 1226d31151 MFB: Make filters without a resource throw E_RECOVERABLE_ERROR rather then
E_ERROR
2006-05-16 14:12:52 +00:00
Antony Dovgal 17c98844d5 new mkdir tests 2006-05-16 13:07:07 +00:00
Antony Dovgal e2d3206e78 MFB: fix #37395 (recursive mkdir() fails to create nonexistent directories in root dir) 2006-05-16 13:05:23 +00:00
Marcus Boerger 59bf03c6a8 - Fixed Bug #37457 (Crash when an exception is thrown in accept() method of FilterIterator) 2006-05-16 08:19:56 +00:00
cccca0943a ChangeLog update 2006-05-16 05:31:53 +00:00
Ilia Alshanetsky 9ac333f624 MFB: Disable realpath cache when open_basedir or safe_mode are enabled on a
per-request basis.
2006-05-16 00:40:36 +00:00
Dmitry Stogov 61806b7b03 Added test 2006-05-15 16:30:37 +00:00
Dmitry Stogov fb1a172cae Optimized require_once/include_once (eliminated fopen() on second usage) 2006-05-15 15:31:50 +00:00
Dmitry Stogov 1985424c4d Optimized request shutdown sequence to iterate only over modified ini directives 2006-05-15 14:53:47 +00:00
Dmitry Stogov c0c388832c - Removed source compatibility with libfcgi
- Optimized access to FastCGI environment using HashTable instead of linear sear
ch
- Allowed PHP_FCGI_MAX_REQUESTS=0 to disable PHP die
- Allowed PHP_FCGI_CHILDREN=0 to disable PHP spawn workers
2006-05-15 14:30:50 +00:00
Derick Rethans 733c60eab6 - Fixed windows compile error. 2006-05-15 08:53:58 +00:00
Antony Dovgal 5ce0aa49b8 disable OCILobRead2() support on Win32 2006-05-15 08:34:02 +00:00
9d2828f16f ChangeLog update 2006-05-15 05:31:56 +00:00
Marcus Boerger 1bbfe90571 - No need to have this controlled by allow_url_fopen 2006-05-14 19:13:17 +00:00
Marcus Boerger 3856d8da6d - Add strict compliant RFC2397 support (no //) 2006-05-14 18:35:40 +00:00
Derick Rethans 5845a93484 - Implemented Dmitry's const patch.
- Added support for "weekday" as relative item.
- Fixed bug #37368 (Incorrect timestamp returned for strtotime()).
2006-05-14 17:30:26 +00:00
Pierre Joye a25e1af038 - add tests to the package 2006-05-14 15:51:04 +00:00
Pierre Joye 8e95777e47 - NULL is returned when a variable is not false, FALSE when the validation
failed
- add tests for input_get_args
2006-05-14 13:54:10 +00:00
Pierre Joye cd4051dce5 - add test for INT 2006-05-14 13:12:57 +00:00
Pierre Joye e6de0eaba4 - trim spaces before parsing floats or integers 2006-05-14 13:10:10 +00:00
b7c3e4312c ChangeLog update 2006-05-14 05:31:55 +00:00
Pierre Joye 29bf501644 - changelog 2006-05-14 01:58:51 +00:00
Pierre Joye 3ac4fc8311 - add var_name##_len to FETCH_STRING_OPTION
- add tests for float (031)
- fix name for IPv6 test
2006-05-14 01:47:40 +00:00
Marcus Boerger 3b66ab74f9 - RFC2397 add decoding
# done (need to decide whether all examples shouldl work or specs are
# followed)
2006-05-14 01:39:24 +00:00
Marcus Boerger f9c249407d - Enforce stream mode correct 2006-05-14 01:03:42 +00:00
Marcus Boerger 73069100fd - Change to use dedicated stream ops 2006-05-14 00:45:27 +00:00
Marcus Boerger 4f29479a22 - RFC 2397 meta data handling 2006-05-14 00:40:53 +00:00
Rasmus Lerdorf 9b985490f6 We might want to consider moving this to a long throughout the sapi code,
but for now switch to a signed int.
2006-05-13 21:48:14 +00:00
Marcus Boerger 29c0f5bede - Initial RFC2397 support
# decoding is missing right now
2006-05-13 17:53:01 +00:00
Pierre Joye ae1165e478 - use php/pcre in email
- return code can be 0
2006-05-13 15:57:46 +00:00
Marcus Boerger 92af67b79b - Add support for --EXPECTHEADERS--
- MFB cgi specific stuff
2006-05-13 14:01:19 +00:00
Marcus Boerger 601523f22d - Support __tostring() in argument parsing 2006-05-13 10:18:12 +00:00
e7e50d52f8 ChangeLog update 2006-05-13 05:31:53 +00:00
Pierre Joye 253d5d6e27 - entry for ipv6 2006-05-13 02:44:56 +00:00
Pierre Joye 73ed3ce99f - add IPv6 basic support
unicast, multicast or other local loop will come after 0.10.0
  test 014 fails:
  "Notice: Object of class stdClass to string conversion" is now
  "Catchable fatal error: Object of class stdClass could not be converted
  to IS_STRING", to verify ...
2006-05-13 02:43:44 +00:00
Pierre Joye 00d423980a - add SCALAR/ARRAY doc 2006-05-13 01:30:02 +00:00
Rob Richards d12a4835fb add doXInclude property to allow processor to perform XIncludes 2006-05-12 18:52:11 +00:00
Ilia Alshanetsky 09e4b325a1 Download pear phar file when making a distribution package 2006-05-12 14:54:16 +00:00
Derick Rethans f3de1a5273 - Added tests for BC breaking changes. 2006-05-12 10:02:13 +00:00
Antony Dovgal d5c7ea7733 fix #37416 (iterator_to_array() hides exceptions thrown in rewind() method) 2006-05-12 09:42:19 +00:00
058ddb8f65 ChangeLog update 2006-05-12 05:31:59 +00:00
Dmitry Stogov b75a22b203 Fixed bug #37306 (max_execution_time = max_input_time). 2006-05-11 22:08:55 +00:00
Ilia Alshanetsky f0a8096a13 MFB: Fixed bug #37413 (Rejected versions of flex that don't work). 2006-05-11 22:05:16 +00:00
Edin Kadribasic 78c2c50c86 MFB: Remove pecl includes (Steph), except pdo_odbc which will remain broke 2006-05-11 21:48:57 +00:00
Marcus Boerger d588eb2012 - Drop a few superflous if conditions (now the generated file) 2006-05-11 21:12:27 +00:00
Marcus Boerger 623df04877 - Drop a few superflous if conditions 2006-05-11 21:11:54 +00:00
Marcus Boerger b12bd4321f - Fix build 2006-05-11 20:10:29 +00:00
Andrei Zmievski f1a98a1d52 Adjust API for scanning INI files as UTF-8. 2006-05-11 18:22:09 +00:00
Seiji Masugata b56ab30155 fixed all mbstring setting information doesn't return in mb_get_info( ). 2006-05-11 14:37:42 +00:00
Marcus Boerger 1f030db700 - Fix error mode handling 2006-05-11 07:55:48 +00:00
cf9dd95f05 ChangeLog update 2006-05-11 05:31:54 +00:00
Rasmus Lerdorf efd1b929de MFB 2006-05-11 03:49:12 +00:00
Pierre Joye 2d9b196974 - JIT entry
- next release will be 0.10.0
2006-05-11 00:13:16 +00:00
Rasmus Lerdorf 6219fa9f01 WS fix 2006-05-10 23:10:55 +00:00
Rasmus Lerdorf 294e1cd2d8 auto_globals_jit support for ext/filter 2006-05-10 23:09:03 +00:00
Marcus Boerger ca7f2d282c - Fix tests 2006-05-10 22:50:48 +00:00
Rasmus Lerdorf 839c3e24a3 MFB input filter hook for getenv() 2006-05-10 21:25:01 +00:00
Rasmus Lerdorf 2f537ad0ff MFB filter defines 2006-05-10 21:23:46 +00:00
Marcus Boerger b85eb277fc - Fix tests 2006-05-10 21:12:31 +00:00
Marcus Boerger 82a538c4fa - Enforece rule of disallowing throw in __toString() 2006-05-10 21:11:48 +00:00
Marcus Boerger 7e92bac53e - s/RegExIterator/RegexIterator/ 2006-05-10 21:09:31 +00:00
Marcus Boerger 2dc783ab36 - MFB missing initialization 2006-05-10 21:04:40 +00:00
Marcus Boerger 40ff813374 - CS 2006-05-10 21:03:34 +00:00
Rob Richards bd8c4d1662 fix compiler warnings 2006-05-10 19:34:47 +00:00
Andrei Zmievski a331a4d5f1 MFB 2006-05-10 16:51:18 +00:00
Ilia Alshanetsky 7dd87b5307 MFB: Fixed bug #37394 (substr_compare() returns an error when offset equals
string length).
2006-05-10 13:07:56 +00:00
Andrey Hristov e4e7d27e4a MFB 2006-05-10 12:29:09 +00:00
Rob Richards ac4afe552b - revert back to using internal buffer
origional string may be modified during parse causing possible crash
2006-05-10 11:58:56 +00:00
Antony Dovgal 6fc10a0acd fix #37392 (Unnecessary call to OCITransRollback() at the end of request) 2006-05-10 10:06:57 +00:00
2d509493f1 ChangeLog update 2006-05-10 05:31:56 +00:00
Marcus Boerger b43ac2603b - WS 2006-05-09 22:15:16 +00:00
Marcus Boerger 6c0c9f098f - Methods have flags 2006-05-09 22:12:50 +00:00
Marcus Boerger 482d57d5a3 - zend_spprintf() is actually used elsewhere in the engine 2006-05-09 22:09:49 +00:00
Ilia Alshanetsky 2721311863 MFB: Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). 2006-05-09 22:00:36 +00:00
Marcus Boerger 4bfc5ff54c - MFB WS/CS, zend_spprintf() must not be exported 2006-05-09 21:30:11 +00:00
Marcus Boerger ef855827e3 - MFB Missing check 2006-05-09 21:28:47 +00:00
Marcus Boerger 0638c67dab - MFB: WS 2006-05-09 21:26:39 +00:00
Andrei Zmievski 96efa426b8 Add pcre_last_error() and backtrack/recursion limit settings. 2006-05-09 18:28:11 +00:00
Andrei Zmievski e2a1d7a3e1 Add char_enum_types(). 2006-05-09 18:21:27 +00:00
Georg Richter 4508ae73f7 merge from 5.2 2006-05-09 13:53:39 +00:00
Georg Richter b6d7fdf465 Merge from 5.2 2006-05-09 11:27:20 +00:00
Pierre Joye 1a0f27a707 - #7586 (pecl), filter is not reseted between element 2006-05-09 11:14:43 +00:00
Pierre Joye fd2199bf53 - one line inline doc 2006-05-09 10:24:09 +00:00
1c806ad68d ChangeLog update 2006-05-09 05:31:48 +00:00
Pierre Joye f8c8a13e18 - fix logic, scalar is the default 2006-05-09 00:46:31 +00:00
Pierre Joye f03e94f985 - remove unused arg and use the right one 2006-05-09 00:29:30 +00:00
Andrei Zmievski fad88da96e Fix and adjust. 2006-05-09 00:15:45 +00:00
Andrei Zmievski f0dec5c4a4 Add char_enum_names(). 2006-05-09 00:06:08 +00:00
Andrei Zmievski cbe16953e8 Been a long day.. 2006-05-08 23:01:20 +00:00
Andrei Zmievski 8a938324e3 And going, and going... 2006-05-08 22:23:57 +00:00
Andrei Zmievski 002b28e5cc A few more property functinos. 2006-05-08 21:54:44 +00:00
Pierre Joye 4cc946a706 - this one too must be changed
NB: add a define for the default string name as well
2006-05-08 21:26:09 +00:00
Edin Kadribasic 1483647359 Added constants.c to the windows build 2006-05-08 21:06:34 +00:00
Pierre Joye 458cdcf323 - update/add inline docs
- CS
2006-05-08 20:57:59 +00:00
Pierre Joye 27753b3382 - #6567, wrong php dependency 2006-05-08 17:06:22 +00:00
Pierre Joye 6a408c9bcb - sync them 2006-05-08 16:41:26 +00:00
Pierre Joye f51fb7853f - fix tsrm build 2006-05-08 16:34:12 +00:00
Pierre Joye 1fd3c9baf2 - #6136, ini_set should not be able to change the filter.default 2006-05-08 16:24:12 +00:00
Pierre Joye 065a10808f - set unsafe_raw as default, will be set back to string for php6. 5.
will use unsafe_raw. Discusses optimizations are coming.
2006-05-08 15:42:47 +00:00
Pierre Joye 826a577675 - add input_get_args (input_get is kept untouched for now)
- add FILTER_FLAG_SCALAR and FILTER_FLAG_ARRAY
- update ReST doc and add an example
2006-05-08 14:39:57 +00:00
Ilia Alshanetsky 889f66837c MFB: Fixed memory leaks when working with cursors in PDO PostgreSQL driver. 2006-05-08 14:33:23 +00:00
Pierre Joye 154507f6bc - #37360, bad gif size 2006-05-08 11:49:33 +00:00
Pierre Joye 9d07689c67 - CS (spaces > tabs) 2006-05-08 11:46:13 +00:00
6981c4f417 ChangeLog update 2006-05-08 05:31:50 +00:00
Nuno Lopes fb18707cb4 fix test, sorry. 2006-05-07 18:17:53 +00:00
Nuno Lopes eb5343ee47 convert a few more functions to unicode and adapt the tests as well 2006-05-07 18:11:40 +00:00
Pierre Joye fc91929f94 - MFB: #37346, invalid colormap format 2006-05-07 17:21:11 +00:00
787d1960c0 ChangeLog update 2006-05-07 05:31:50 +00:00
Edin Kadribasic 75af4d3bb5 MFB: Enable parallel build against Apache 2.2 libs and headers 2006-05-07 00:10:06 +00:00
Edin Kadribasic fd959ad30a MFB: Enable separate build dir for SAPIs, the same way it is possible for EXTENSIONs 2006-05-07 00:07:53 +00:00
Nuno Lopes 50cf480153 fix thread safe build 2006-05-06 13:19:10 +00:00
Nuno Lopes f7b62e2430 fix tests in Unicode mode 2006-05-06 11:19:37 +00:00
Nuno Lopes e037edab61 use the new zend_unicode_to_ascii() function. this should also fix windows builds 2006-05-06 10:48:04 +00:00
Hartmut Holzgraefe daa5febadf Added php_get_tmpdir() function that returns the default directory for
temporary files (as requested in bug #35380)
2006-05-06 09:59:02 +00:00
111d608ff1 ChangeLog update 2006-05-06 05:31:52 +00:00
Frank M. Kromann e7a6d29e95 Adding property.c to windows build 2006-05-05 21:37:08 +00:00
Andrei Zmievski 80f849ac1a Register slightly under half a metric ton of constants. 2006-05-05 20:56:21 +00:00
Dmitry Stogov 30ff22ca47 Fixed bug #37251 (deadlock when custom error handler is to catch array type hint error). 2006-05-05 08:04:55 +00:00
Dmitry Stogov 27fe3ef1e7 Fixed bug #37313 (sigemptyset() used without including <signal.h>). (jdolecek) 2006-05-05 07:05:59 +00:00
90941d8111 ChangeLog update 2006-05-05 05:31:54 +00:00
Antony Dovgal 4022853243 plug a leak 2006-05-04 22:47:55 +00:00
Andrei Zmievski 88b15b79a2 Don't use fixed size buffer in zend_uchar_from_uname(); 2006-05-04 21:44:54 +00:00
Andrei Zmievski d72d277d32 Oops again. 2006-05-04 21:29:21 +00:00
Andrei Zmievski 7009fb94fe Oops. 2006-05-04 21:23:53 +00:00
Andrei Zmievski 49dbb7710a Implement char_from_name(). 2006-05-04 21:22:30 +00:00
Andrei Zmievski 534cad7064 Add a global ASCII connverter, macros to return single codepoints
(UCHAR32), and zend_unicode_to_ascii() function.
2006-05-04 21:22:17 +00:00
Antony Dovgal 6f66196f4f several minor fixes: nuke compile warnings etc. 2006-05-04 19:00:00 +00:00
Andrei Zmievski c631205e0c Some more work on property/names stuff. 2006-05-04 18:37:12 +00:00
Andrei Zmievski 2c42e06895 Fix locale functions naming problem. 2006-05-04 16:49:33 +00:00
Antony Dovgal a330edf4cf fix build 2006-05-04 07:10:37 +00:00
381df8e054 ChangeLog update 2006-05-04 05:31:48 +00:00
Andrei Zmievski 349d4a7de9 Change prefix to char_ and rename some functions. 2006-05-04 00:01:34 +00:00
Andrei Zmievski bbde23e247 Some more property functions.
# I am pondering a different prefix..
2006-05-03 22:03:10 +00:00
Sara Golemon 0d6603d22a Expose PARAM_EVT_* constants 2006-05-03 21:57:58 +00:00
Brian France 212e185458 - Add implementation of curl_multi_info_read (Brian)
Not adding to PHP 5_1, but should go into 5_2.
2006-05-03 19:52:48 +00:00
Antony Dovgal 8ab0e121d4 plug leak 2006-05-03 19:40:49 +00:00
Antony Dovgal 2143dd5415 more POST+arrays tests 2006-05-03 19:03:56 +00:00
Dmitry Stogov d958c27fca Fixed bug #37205 (incompatibility with mod_fastcgi) 2006-05-03 15:48:33 +00:00
Dmitry Stogov 0f489f738c Fixed incompatibility with isapi_fcgi.dll 2006-05-03 13:20:12 +00:00
Pierre Joye 94bc7343a0 - update constants names 2006-05-03 12:06:06 +00:00
Derick Rethans 32c8092096 - Added my doc so that other people can work on it.
#- Please keep it RST compatible.
2006-05-03 11:35:00 +00:00
Dmitry Stogov 736b8d903b Fixed bug #37276 (problems witch $_POST array) 2006-05-03 11:24:51 +00:00
Rob Richards a91a72f800 add test 2006-05-03 08:41:33 +00:00
Rob Richards b1f52e79aa Fix bug #37277 (cloning Dom Documents or Nodes does not work)
Proper fix for bug #36859
2006-05-03 08:40:52 +00:00
Andrei Zmievski 70acfbe14e *** empty log message *** 2006-05-03 06:36:53 +00:00
d3ef3ced43 ChangeLog update 2006-05-03 05:31:53 +00:00
Andrei Zmievski 84c9b4f290 Some additional binary property functions. 2006-05-02 22:43:52 +00:00
Andrei Zmievski aaed3ca1b0 FALSE on empty string. 2006-05-02 21:49:16 +00:00
Andrei Zmievski f0640426cb Implement C/POSIX migration functions. 2006-05-02 21:39:15 +00:00
Andrei Zmievski 675ecc637b Add skeleton for character property file. Also remove some HAVE_UNICODE
tests since it's non optional.
2006-05-02 20:58:30 +00:00
Sara Golemon d77a8562c2 Unicode Updates:
file() now unicode ready
get_meta_tags() updated for FS encoding, but content is still non-unicode
2006-05-02 18:23:32 +00:00
Dmitry Stogov 2b1e0a8339 Fixed possible crash in highlight_string() (proper place) 2006-05-02 15:49:44 +00:00
Antony Dovgal ea759395f8 prepare to 1.2.1 release 2006-05-02 10:18:58 +00:00
5602d218b0 ChangeLog update 2006-05-02 05:31:49 +00:00
Pierre Joye f6d3ff6ef6 - update changelog
- make a fake date so package.xml can be used from cvs :)
2006-05-01 17:16:33 +00:00
Pierre Joye fdeb6ba904 - fix possible leak, when orig_array_ptr is null 2006-05-01 17:14:40 +00:00
Marcus Boerger dcc51c1977 - WS 2006-05-01 15:59:56 +00:00
66d4525367 ChangeLog update 2006-05-01 05:31:46 +00:00
Wez Furlong 021e1a3255 merge from branch: peer certificate capture context options. 2006-04-30 23:45:14 +00:00
3ab9e65759 ChangeLog update 2006-04-30 05:31:52 +00:00
Uwe Schindler c9156346eb Remove hiding of authorization headers completely because safe mode canceled 2006-04-29 21:50:17 +00:00
Frank M. Kromann fd879bff4e fix build 2006-04-29 18:45:29 +00:00
Frank M. Kromann eb7d1077db Add missing ZSTR() 2006-04-29 18:29:14 +00:00
Frank M. Kromann 954199c9fb More ZSTR() fixes 2006-04-29 14:53:26 +00:00
Frank M. Kromann 1c307a8a9e fix build. ZSTR() must be applied to the buf argument of php_stream macros 2006-04-29 14:38:35 +00:00
Frank M. Kromann 611d8b7cfa Revert patch for pdb files. No need to have it twice! 2006-04-29 14:33:35 +00:00
Nuno Lopes c4efa94326 rename test to follow the convention and expand it a little 2006-04-29 12:16:21 +00:00
Nuno Lopes 9e5bf64266 new test that reveals problems in other places. more details on the ML 2006-04-29 12:07:53 +00:00
Frank M. Kromann 9c0b090705 Add new configure option --enable-pdb-files
This will generate .pdb files for debugging
2006-04-29 06:24:21 +00:00
2f061fac1c ChangeLog update 2006-04-29 05:31:48 +00:00
Frank M. Kromann e6e2754439 Remove ZSTR() from stream macros. Calling function must apply this macro 2006-04-28 19:03:58 +00:00
13968dea7f ChangeLog update 2006-04-28 05:31:48 +00:00
Andrei Zmievski 389454e671 pcntl_signal is safe too 2006-04-27 15:28:21 +00:00
Andrei Zmievski c8b5891a0a Safe-fy some functions. 2006-04-27 15:21:00 +00:00
Dmitry Stogov f9a6119214 Proper fix for bug #37205 2006-04-27 11:39:46 +00:00
243262abbe ChangeLog update 2006-04-27 05:31:45 +00:00
Moriyoshi Koizumi 35598a2821 - Remove fprintf() used for debugging 2006-04-27 03:53:01 +00:00
Moriyoshi Koizumi 923978e0ff - Fix bug #37176 (iconv_strpos() fails to find a string) 2006-04-27 00:49:17 +00:00
Dmitry Stogov 3bc7017543 Revert wrong fix 2006-04-26 17:48:45 +00:00
Dmitry Stogov 8fbff809bd Fixed bug #37205 (Serving binary content/images fails with "comm with server aborted" FastCGI err) 2006-04-26 11:08:23 +00:00
Edin Kadribasic 80ac536d13 MFB: Correctly import external data (#33292) 2006-04-26 09:32:11 +00:00
63a99ff80d ChangeLog update 2006-04-26 05:31:45 +00:00
Antony Dovgal f7139568f7 fix tests 2006-04-25 22:10:38 +00:00
Nuno Lopes fc5917861e fix a bunch of tests in unicode mode by fixing the config array transverser
also fix the compiler warnings
# Andrey: is it possible to have a zend_convert_unicode_to_ascii() function please? it would make this code much simpler
2006-04-25 14:54:33 +00:00
Antony Dovgal cf31c2f51a remove nonexistent tag 2006-04-25 12:50:14 +00:00
Antony Dovgal 7bde7e87eb MF51: fix possible substr_compare() crash
add new tests
2006-04-25 12:49:04 +00:00
Nuno Lopes 4aba1abfe9 mark a couple of functions as unicode-safe. no changes to code required 2006-04-25 12:41:59 +00:00
Michael Wallner 581c6fa8b6 - release 1.3 2006-04-25 08:52:46 +00:00
Michael Wallner 4f1faa09fc MFB: Fixed bug #37192 (cc fails on hash_adler.c:32) 2006-04-25 08:37:07 +00:00
a2a6c7fb9a ChangeLog update 2006-04-25 05:31:48 +00:00
Dmitry Stogov 09d628c62d Fixed compilation on Solaris 2006-04-24 09:56:56 +00:00
Dmitry Stogov a4f2165295 Fixed win32 build 2006-04-24 07:04:25 +00:00
b657d08725 ChangeLog update 2006-04-24 05:31:46 +00:00
Andrei Zmievski a4cea91d01 MFB 2006-04-23 19:57:40 +00:00
Ilia Alshanetsky 8cfbb3ac5d MFB51: Fixed bug #37162 (wddx does not build as a shared extension). 2006-04-23 16:02:51 +00:00
Nuno Lopes b8cf6cbc24 upgrade tidy_get_release() to unicode.
#say now if anything is wrong before I start upgrading the rest of the functions
2006-04-23 12:56:10 +00:00
d73b17d964 ChangeLog update 2006-04-23 05:31:45 +00:00
Antony Dovgal d254845aea no "native strings" in Unicode mode anymore 2006-04-22 23:50:29 +00:00
Antony Dovgal 8a434f5df0 merge fix for #37158 into HEAD
add test
2006-04-22 23:49:39 +00:00
Antony Dovgal 22d4fb98e3 don't segfault if an exception has been thrown from the fetch handler 2006-04-22 19:10:40 +00:00
Frank M. Kromann 1791befa0c Fix Win32 build. NULL_ZSTR was converted to ZSTR(NULL_ZSTR) 2006-04-22 10:39:31 +00:00
d936c5c091 ChangeLog update 2006-04-22 05:31:55 +00:00
Andrei Zmievski 76d6cca78e Add collator_set_default(). 2006-04-21 21:10:01 +00:00
Andrei Zmievski ec57be524b Hmm, ZEND_FENTRY() is the only one that allows flags to be added.. 2006-04-21 19:40:57 +00:00
Andrei Zmievski 2bbced4bce Rename i18_loc_* to locale_*. 2006-04-21 19:35:26 +00:00
Andrei Zmievski 24988a088c Implement collator_get_default() and simplify/fix the underlying code.
# Derick, objects aren't that difficult.. :)
2006-04-21 18:25:16 +00:00
Andrei Zmievski fae915844b Happy, Pierre? 2006-04-21 16:58:14 +00:00
Andrei Zmievski f096990ea0 Add:
* zend_objects_store_add_ref_by_handle()
 * zend_objects_store_del_ref_by_handle()
 * zend_objects_store_get_object_by_handle()
2006-04-21 16:36:38 +00:00
bb90b758f4 ChangeLog update 2006-04-21 05:31:54 +00:00
Andrei Zmievski 16c55fb25a Move to refcounted implementation of collators. 2006-04-20 21:56:43 +00:00
Michael Wallner 54ff84d3d5 MFB: Fix reading stream filters never notified about EOF 2006-04-20 17:52:01 +00:00
Dmitry Stogov 3788e9054a Test added 2006-04-20 07:32:17 +00:00
bcf5faf095 ChangeLog update 2006-04-20 05:31:50 +00:00
Frank M. Kromann 9b93bc74cd fix build on Win32 2006-04-20 03:41:33 +00:00
Nuno Lopes ece1a5598a MFB: fix build with newer libtidy versions on windows 2006-04-19 22:10:44 +00:00
John Coggeshall 4618370e8d Fixing static build in windoze 2006-04-19 20:37:55 +00:00
Dmitry Stogov c83968d4fc Cleaned up Andrei's patch for caching WSDL in process memory, added TTL and LIMIT for memory cache.
Memory cache is disblead by fefault because it is experemental and isn't tested enough. It can be enabled whit configuartion directive "soap.wsdl_cache = WSDL_CACHE_MEMORY" or "soap.wsdl_cache = WSDL_CACHE_BOTH" or derectly in SoapClent/Soa
pServer constructor: $ws = new SoapClient($wsdl, array("cache_wsdl"=>WSDL_CACHE_BOTH))
Disk and memory caches use the same TTL value - "soap.wsdl_cache_ttl".
Configuration directive "soap.wsdl_cache_limit" restricts the number of cached w
sdl files in memory. Adding new files into full memory cache will delete oldest files from it.
Note that, each PHP process or thread uses it's own memory cache.
2006-04-19 10:49:16 +00:00
Dmitry Stogov 39a5677cf3 Fixed cleanup dependent on uninitialized value 2006-04-19 10:29:46 +00:00
Antony Dovgal acf25d1aac fix typo (see #35900) 2006-04-19 08:43:05 +00:00
6937e71720 ChangeLog update 2006-04-19 05:31:51 +00:00
Andrei Zmievski 85c36036e5 Update protos. 2006-04-18 21:36:38 +00:00
Sara Golemon ea106887a7 Silence compiler warnings 2006-04-18 19:10:12 +00:00
Sara Golemon d229fc9048 Fix copy/paste typo in php_stream_path_decode() proto 2006-04-18 19:09:31 +00:00
Sara Golemon c581700782 Fix ZTS build 2006-04-18 18:57:13 +00:00
Antony Dovgal a264a5aca3 binary strings exist only in unicode mode 2006-04-18 17:10:30 +00:00
Ilia Alshanetsky a2ea7081e0 MFB51: Fixed bug #29476 (sqlite_fetch_column_types() locks the database
forever).
2006-04-18 14:30:33 +00:00
Dmitry Stogov b5dab1b9dc Fixed bug #37083 (Frequent crashs in SOAP extension with new WSDL caching code in multithread WS). (Andrei, Dmitry) 2006-04-18 13:08:11 +00:00
Antony Dovgal 9bca7f51cf typofix 2006-04-18 09:27:59 +00:00
Dmitry Stogov 4c583d6f73 Fixed SUN_LEN calculation 2006-04-18 06:59:31 +00:00
Dmitry Stogov 83657db8ff Fixed memory leaks 2006-04-18 06:58:54 +00:00
d2de055ef1 ChangeLog update 2006-04-18 05:31:45 +00:00
Andrei Zmievski efd298e2eb I'm not sure what the heck people were thinking here, but it should be
fixed finally. Please test.
2006-04-18 05:18:12 +00:00
Andrei Zmievski 6b336175a6 Fix trim("a") bug. 2006-04-18 02:40:29 +00:00
Ilia Alshanetsky 333787ff7f MFB51: Fixed Bug #36872 (session_destroy() fails after call to
session_regenerate_id(true)).
2006-04-17 23:29:46 +00:00
foobar 8bd7796184 Fixed bug #37103 (libmbfl headers not installed) 2006-04-17 22:13:39 +00:00
Sara Golemon 04ecb8b1fd Fix 'soft line break' handling in convert.quoted-printable-decode 2006-04-17 19:25:48 +00:00
Andrei Zmievski f7881d3fe2 MFB 2006-04-17 16:09:42 +00:00
Dmitry Stogov a7fd5d2357 Fixed several bugs in new "caching WSDL in memory" code
Re-enabled disk cache
2006-04-17 13:16:15 +00:00
46aae28855 ChangeLog update 2006-04-17 05:31:44 +00:00
Ilia Alshanetsky 78b81f2591 MFB51: fixed typo 2006-04-16 17:41:26 +00:00
Ilia Alshanetsky 53ab6c0920 MFB51: Fixed bug #37045 (Fixed check for special chars for http redirects). 2006-04-16 16:55:25 +00:00
d10e03c482 ChangeLog update 2006-04-16 05:31:54 +00:00
Antony Dovgal 0574532ee4 fix compile failure 2006-04-15 15:55:32 +00:00
Antony Dovgal ca715a05e5 MF51: fix #37062 (compile failure on ARM architecture) 2006-04-15 12:54:26 +00:00
ffe27d2dbe ChangeLog update 2006-04-15 05:31:50 +00:00
Antony Dovgal 41f4e16075 make it consistent with the other ones 2006-04-14 21:06:36 +00:00
Antony Dovgal 8c086bcf8d make this test to work on all systems 2006-04-14 20:30:47 +00:00
Sara Golemon 1e9a9d596b MFB (r-1.409.2.6) copy() should not disrespect open_basedir on source file 2006-04-14 17:44:56 +00:00
Marcus Boerger c3b47f5aa4 - Fix properties access to children() result
- Allow access by namespace prefix
2006-04-14 15:15:21 +00:00
Marcus Boerger d1b5f0deaa - Do not provide ns info in first sxe creation 2006-04-14 14:11:54 +00:00
Marcus Boerger 311a7af62d - Allow access to namespaced root by specifying prefix on creation
- Fix access to non namespaced root
2006-04-14 14:07:51 +00:00
Marcus Boerger 68ee3f0f64 - Prefix summaries with either U or N 2006-04-14 13:48:11 +00:00
Marcus Boerger 4e44e0b147 - If node no longer exists then there won't be any data 2006-04-14 12:18:15 +00:00
Antony Dovgal becb273c16 MF51: fix #37077 (stream_socket_server() leaks when the port is not allowed) 2006-04-14 10:01:34 +00:00
Dmitry Stogov 930bf30460 Fixed calling header functions through __call() 2006-04-14 09:11:48 +00:00
ef59df70a4 ChangeLog update 2006-04-14 05:31:53 +00:00
Antony Dovgal 78fdeb1acc fix CS and prevent NULL dereference 2006-04-13 18:14:14 +00:00
Dmitry Stogov a2a69a3ba2 Fixed bug #36513 (comment will be outputed in last line) 2006-04-13 13:48:40 +00:00
Antony Dovgal 1262002a95 MF51:
AIX #define's accept as naccept
add a workaround
2006-04-13 13:21:59 +00:00
Antony Dovgal 52972cc61f MF51:
fix bug #37061 (curl_exec() doesn't zero-terminate binary strings) - we get the data length from cURL, so it's binary safe.
fix leak appearing when re-using curl handle
2006-04-13 11:26:43 +00:00
Dmitry Stogov fa9135ff2d Fixed bug #37054 (SoapClient Error Fetching http headers) 2006-04-13 08:18:54 +00:00
Dmitry Stogov 0699fdfb4f Fixed test 2006-04-13 06:05:16 +00:00
f3514eae3b ChangeLog update 2006-04-13 05:31:51 +00:00
Sara Golemon d05836890b Preserve full name of filter for use in stream_get_meta_data() 2006-04-13 04:41:08 +00:00
Sara Golemon 0b84c73635 Allow http:// wrapper to automatically apply correct unicode.from.* filter based on content-type header 2006-04-12 22:40:56 +00:00
Antony Dovgal a44fe39f40 fix test title 2006-04-12 22:21:13 +00:00
Johannes Schlüter e7747e8d74 - Fix bug #37060 (Type of retval of Countable::count() is not checked) 2006-04-12 19:29:52 +00:00
Antony Dovgal 000cf5ca7f MF51: fix #37059 (oci_bind_by_name() doesn't support RAW and LONG RAW fields)
add tests
2006-04-12 19:22:12 +00:00
Antony Dovgal a892880c1c MF51: correct fix for bug #37055 2006-04-12 17:59:57 +00:00
Antony Dovgal d929074b2f add test 2006-04-12 15:19:39 +00:00
Antony Dovgal 2a098164c3 MF51: fix #37057 (xmlrpc_decode() may produce arrays with numeric string keys which are unaccessible) 2006-04-12 15:14:43 +00:00
Antony Dovgal 33a2dc7495 MF51: fix #37055 (incorrect reference counting for persistent OCI8 connections) 2006-04-12 13:38:05 +00:00
Antony Dovgal 821aff2e9c MF51: fix #37053 (html_errors with internal classes produces wrong links) 2006-04-12 12:52:00 +00:00
Dmitry Stogov ec12098c3b Fixed bug #37046 (foreach breaks static scope) 2006-04-12 11:38:09 +00:00
Dmitry Stogov 1681bd494c Fixed bug #37002 (Have to quote literals in INI when concatenating with vars) 2006-04-12 09:52:06 +00:00
7647355211 ChangeLog update 2006-04-12 05:31:46 +00:00
Antony Dovgal 11e39d17c1 MF51: add default timezone to the tests 2006-04-11 19:34:35 +00:00
Derick Rethans 9844b76e56 - Fixed bug #36988 (mktime freezes on long numbers) 2006-04-11 17:56:49 +00:00
Derick Rethans a3349bd3ff - Use pcre convenience function that also caches.
#- Patch by pierre.
2006-04-11 14:41:56 +00:00
foobar b8cdb46cce - More safe_mode left-overs. 2006-04-11 11:32:06 +00:00
faa0b32fec ChangeLog update 2006-04-11 05:31:53 +00:00
Ilia Alshanetsky 490609ffc4 MFB51: fixed test 2006-04-10 23:48:38 +00:00
Marcus Boerger c4b1606466 - Coverity issue 59 2006-04-10 23:19:23 +00:00
Marcus Boerger 509c9d44e2 - Iterators from overloaded objects are allowed to not have keys... 2006-04-10 23:15:26 +00:00
Marcus Boerger b967992116 - Allowing to pass in ce as NULL has its charme, too 2006-04-10 22:49:09 +00:00
Marcus Boerger 36b3b8ef63 - Fix coverity issue 49: ce might be forwarded as NULL without an exception
being thrown in case the Zend API is being used wrong (in custom exts for
  instance).
2006-04-10 22:37:55 +00:00
Marcus Boerger f3d39723c7 - Better order for SEGV prevention 2006-04-10 19:50:56 +00:00
Marcus Boerger 40678e7f81 - Fix possible SEGV 2006-04-10 19:48:27 +00:00
Marcus Boerger af871bf437 - Fix condition 2006-04-10 18:23:15 +00:00
foobar 6af3218f81 more cleanup (lingering ini settings which do not exist anymore, etc.) 2006-04-10 15:09:15 +00:00
foobar 672266c735 - Cleanup 2006-04-10 15:06:51 +00:00
foobar b42a8b2f31 cleanup 2006-04-10 14:59:33 +00:00
Dmitry Stogov 1c4d488cc8 Fixed bug #36908 (wsdl default value overrides value in soap request). 2006-04-10 13:29:57 +00:00
Dmitry Stogov d532322b72 Fixed test 2006-04-10 12:50:14 +00:00
Dmitry Stogov 68dd370e96 Fixed possible crash in interactive mode 2006-04-10 12:27:17 +00:00
foobar b87dd3245e fix typo 2006-04-10 12:17:29 +00:00
foobar ec4395e9ff - Determine the shared/link lib suffixes in one macro. 2006-04-10 12:16:08 +00:00
foobar a6a3c9059d - Fixed bug #36909 (ld: Undefined symbols: _lchown) 2006-04-10 11:56:04 +00:00
foobar 2442d71b16 - Silence some PCRE compile warnings 2006-04-10 11:54:54 +00:00
foobar 591951dbfe - Fix NEWS. The empty lines were left on purpose.. 2006-04-10 10:16:42 +00:00
Dmitry Stogov 159008041c ZTS fix 2006-04-10 10:11:29 +00:00
foobar 0e8b5470be fix credits 2006-04-10 09:46:32 +00:00
88aa79d956 ChangeLog update 2006-04-10 05:31:46 +00:00
Andrei Zmievski 909a0f5cd0 MFB 2006-04-09 23:38:30 +00:00
Edin Kadribasic 141f969fe7 MFB: Fixed bug #36935 2006-04-09 23:15:57 +00:00
Ilia Alshanetsky f58ef85af5 MFB51: Fixed bug #36875 (is_*() functions do not account for open_basedir). 2006-04-09 17:58:02 +00:00
Derick Rethans 74c0864346 - Fixed bug #37017 in a different way and added a test case. 2006-04-09 12:58:56 +00:00
Derick Rethans 0be2a7c956 - Fixed superfluous parameter. 2006-04-09 12:58:29 +00:00
489dd9ee76 ChangeLog update 2006-04-09 05:31:48 +00:00
Andrei Zmievski 3411f2bca1 Separate suffixes of shared libraries that we link against and the ones
we load with dlopen(). This matters on Mac OS X, for example.
2006-04-08 17:34:57 +00:00
Derick Rethans 7ca9d09689 - Added the date_parse() function that returns a parsed date/time string
including warnings and errors.
- Added the timezone_name_from_abbr() function that exposes the guessing
  mechanism that tries to find a timezone identifier from a timezone
  abbreviation and GMT offset.
- Fixed a bug where combined date formats 'c' and 'r' were cut off due to
  insufficient space in the buffer.
- Implemented better error and warning handling that is also used for the
  date_parse() function.
- Fixed the date::RFC3339 class constant.
- Fixed bug #37017 (strtotime fails before 13:00:00 with some time zones
  identifiers)
- Fixed problems with "T" in front of a time string was seen as a time zone
  string.
- Fixed a problem were 5 and 6 character timezone abbreviations where not
  correctly parsed.
2006-04-08 14:57:42 +00:00
ca88b09b5e ChangeLog update 2006-04-08 05:31:55 +00:00
Antony Dovgal 7cf30db27e MF51: fix memory corruptions and leaks when cloning ArrayObjects and ArrayIterators 2006-04-07 22:53:34 +00:00
Andrei Zmievski 589d830c32 Disallowed numeric named captures. 2006-04-07 21:20:10 +00:00
Pierre Joye 056c98d9f0 - MFB: revert leak fix, something else went wrong 2006-04-07 14:05:21 +00:00
Dmitry Stogov 7a6284cef0 Optimization 2006-04-07 13:57:39 +00:00
Dmitry Stogov f3c00034b6 CGI anf FastCGI assume $_SERVER and $_ENV have the same values,
so we don't need construct the same arrays twich and may just copy it
2006-04-07 13:45:51 +00:00
Pierre Joye a29f09dcc5 - MFB: fix leak when an error occured in socket_read, free tmpbuf 2006-04-07 13:34:53 +00:00
Dmitry Stogov 3ada78d408 Removed unnecessary copying 2006-04-07 12:39:28 +00:00
Dmitry Stogov e5d4bfd637 We don't need setup the same time-out two times. 2006-04-07 11:43:43 +00:00
Dmitry Stogov ee4fb4c41d - Fixed storing NULL pointers in HashTable
- Optimized zend_hash_reverse_apply()
2006-04-07 10:05:17 +00:00
14ba1088ad ChangeLog update 2006-04-07 05:31:53 +00:00
Andrei Zmievski 84a6481eff That is not the bug you're looking for. 2006-04-06 22:37:42 +00:00
Andrei Zmievski a389cb5a8c Even more stuff from Friedl. 2006-04-06 22:02:02 +00:00
Andrei Zmievski 7272c63055 More stuff from Friedl.. 2006-04-06 21:23:56 +00:00
Andrei Zmievski f37190dc57 MFB 2006-04-06 21:16:28 +00:00
Sara Golemon 5a9feaa6b1 Plug leak which occurs in unicode mode 2006-04-06 20:05:43 +00:00
Sara Golemon b6f62cabff Silence false positives on test results 2006-04-06 20:03:27 +00:00
Sara Golemon 78d1f7ea40 Silence false positives in test failures 2006-04-06 19:51:36 +00:00
Sara Golemon 3b35b15961 Do runtime conversions (with an E_NOTICE) on writing unicode data to a binary stream. Take the WTF out of the equation 2006-04-06 19:39:11 +00:00
Antony Dovgal 48afd4ee03 MF51: fix #36981 (SplFileObject->fgets() ignores max_length) 2006-04-06 19:11:06 +00:00
Sara Golemon 5f5faedf18 Overload 'duplicate' arg as applied to:
add_((next_)?index|assoc)_(ascii|rt)_stringl?(_ex)?
and
(ZVAL|RETVAL|RETURN)_(ASCII|RT|U)_STRINGL?

#define ZSTR_DUPLICATE (1<<0)
#define ZSTR_AUTOFREE (1<<1)

Duplicate keeps traditional value of '1', additional bit '2' tells
unicode mode conversion to automatically free the original string
in order to avoid leaks due to conversion on a value otherwise being
"given" to the engine.

/* Uses s as-is for non-unicode, or frees s after converting to unicode */
{
  char *s = estrdup("Hello");
  ZVAL_RT_STRING(pzv, s, ZSTR_AUTOFREE);
}

/* Duplicates for non-unicode, or converts (but doesn't free original) */
{
  char *s = "Hello";
  ZVAL_RT_STRING(pzv, s, ZSTR_DUPLICATE);
}

/* Uses as-is for non-unicode, or converts (but doesn't free original) */
{
  char *s = "Hello";
  zval zv;
  ZVAL_RT_STRING(&zv, s, 0);

  /* use zv for some temporary purpose */

  /* It's now necessary to manually free this generated value */
  if (UG(unicode)) {
    zval_dtor(&zv);
  }
}
2006-04-06 18:02:39 +00:00
282807267d ChangeLog update 2006-04-06 05:31:50 +00:00
Antony Dovgal 96682ede22 workaround for problem on Solaris: shell tries to parse "for i in ;" and fails 2006-04-05 20:21:59 +00:00
Antony Dovgal e931d970ab add new tests 2006-04-05 14:09:31 +00:00
Antony Dovgal cd4730e6c7 add missing defines to .w32 2006-04-05 14:07:57 +00:00
Antony Dovgal be7135bc8e fix #36934 (OCILob->read() doesn't move internal pointer when reading 0's)
no support for Unicode CLOBs in Oracle < 10, sorry.
2006-04-05 14:07:16 +00:00
Antony Dovgal 4e85f445f0 add test 2006-04-05 12:29:35 +00:00
Antony Dovgal 3305bba32b MF51: fix #36944 (strncmp & strncasecmp do not return false on negative string length) 2006-04-05 11:36:28 +00:00
d81161af49 ChangeLog update 2006-04-05 05:31:46 +00:00
Ilia Alshanetsky 1df7d39695 Fixed bug #36957 (serialize() does not handle recursion). 2006-04-05 02:28:39 +00:00
Frank M. Kromann 476f0a2ae1 MFP51: Fix #33694 invalid sql or timeouts makes it impossible to reuse persistent connections 2006-04-04 18:49:44 +00:00
Seiji Masugata e241504917 fixed commnet typo, and duplicate logic. 2006-04-04 15:14:28 +00:00
Derick Rethans 1bad8fea12 - No need to have this one twice here... (Thanks Steph) 2006-04-04 06:04:49 +00:00
203607da74 ChangeLog update 2006-04-04 05:31:44 +00:00
Marcus Boerger f2004b6f28 - WS 2006-04-03 19:58:03 +00:00
Marcus Boerger 091360caa1 - Fix issue related to #36941 (when referencing itself) 2006-04-03 19:52:02 +00:00
Antony Dovgal 50b05cf884 add test for gmp_nextprime() 2006-04-03 18:11:56 +00:00
Antony Dovgal c53b85fae5 add gmp_nextprime() function
patch by ants dot aasma at gmail dot com
2006-04-03 17:46:12 +00:00
Seiji Masugata d8271224ad added mb_stristr( ), mb_strrichr( ). 2006-04-03 15:32:43 +00:00
Ilia Alshanetsky a24cb8773f MFB51: Fixed an unlikely, but possible memory leak. 2006-04-03 13:46:35 +00:00
Antony Dovgal 0b0fff07b2 fix spelling in error messages:
greater/less thEn -> greater/less thAn
2006-04-03 09:14:50 +00:00
Sara Golemon 53450fae8a Update tests for working with unicode 2006-04-03 05:57:40 +00:00
7132eb60d5 ChangeLog update 2006-04-03 05:31:46 +00:00
Ilia Alshanetsky ae08857016 Removed extra space in the Content-Type header for logos
Simplified stderr error reporting in apache sapi.
2006-04-02 17:58:07 +00:00
Sara Golemon 6d42d94715 Silence false positive test failures 2006-04-02 17:49:10 +00:00
Sara Golemon 37b1114556 Make some tests pass.
compression is just a binary thing.
Write unicode and suffer my wrath!
2006-04-02 17:41:04 +00:00
Marcus Boerger 8e97252506 - Behavior fix for #36941 2006-04-02 15:04:04 +00:00
Marcus Boerger 8e64e23044 - Fix warning 2006-04-02 12:48:37 +00:00
3adaaf3f49 ChangeLog update 2006-04-02 06:31:43 +00:00
Marcus Boerger ac099ca676 - Bugfix #36941 (ArrayIterator does not clone itself) 2006-04-01 22:39:42 +00:00
Antony Dovgal 1160f87d1d MF51: fix segfault when assigning value by ref and add test 2006-04-01 19:14:01 +00:00
c3c95c61fb ChangeLog update 2006-04-01 06:31:49 +00:00
Sara Golemon b2523b29b8 Update filename handling and mark various functions for unicode safety 2006-04-01 00:05:31 +00:00
Pierre Joye ed35661f1e - move setSchema to the 2.6.20 block, this method is only available from
this version
2006-03-31 23:20:58 +00:00
Sara Golemon fd606a8d78 Add API hooks and unicode.filesystem_encoding for handling unicode
conversions of filename entries.

Normal path conversions will simply use this converter,
Certain other protocols (such as http) which specify a
required character set (utf8), may override the conversion
by defining a path_encode() and/or path_decode() wrapper ops method.
2006-03-31 22:51:37 +00:00
Marcus Boerger e08784867c - Add XMLReader::setSchema 2006-03-31 20:50:29 +00:00
Antony Dovgal ec376e510c MF51: fix compile failure with old GCC (see bug #36931) 2006-03-31 11:11:26 +00:00
8eb12d6116 ChangeLog update 2006-03-31 06:31:50 +00:00
Marcus Boerger e365c4b7c4 - Fix build 2006-03-30 23:03:53 +00:00
Marcus Boerger b7244fc2c0 - MFB Make readable 2006-03-30 22:03:02 +00:00
Marcus Boerger 2c8b47ca31 - Add another test 2006-03-30 21:45:27 +00:00
Antony Dovgal eea22a0ffa MF51: fix compilation on AIX 2006-03-30 21:39:15 +00:00
Antony Dovgal 8c63a3bce7 MF51: fix tests 2006-03-30 20:43:55 +00:00
Antony Dovgal 4f1da95828 fix TSRM build 2006-03-30 19:59:51 +00:00
Ilia Alshanetsky 0f48af3cec MFB51: Fixed XSS inside phpinfo() with long inputs. 2006-03-30 19:16:28 +00:00
Marcus Boerger 72a8396032 - Return NULL instead of '' if node does not exist 2006-03-30 17:36:46 +00:00
Seiji Masugata cbd37caefc added mb_stripos( ), mb_strripos( ). 2006-03-30 15:43:54 +00:00
Dmitry Stogov e25b5062e3 typo 2006-03-30 14:08:38 +00:00
Antony Dovgal cb2232e808 MF51: fix #36922 (missing MYSQLI_REPORT_STRICT constant in userspace) 2006-03-30 11:23:11 +00:00
Dmitry Stogov 01cb2b07ed Unicode support 2006-03-30 08:15:18 +00:00
Dmitry Stogov 8fbc029247 Describe registr_long_arrays, ze1_compatibility_mode, dl(), E_ALL/E_STRICT 2006-03-30 07:54:53 +00:00
66287d9fb6 ChangeLog update 2006-03-30 06:31:53 +00:00
Sara Golemon 51b9a0f269 Make php_stream_copy_to_mem() unicode aware and
update userspace function file_get_contents().

Note: fgc()'s second parameter (use_include_path) has been changed
to be a bitmask "flags" parameter instead.

For the most commonly used values (TRUE, 1) this will continue functioning
as expected since the value of FILE_USE_INCLUDE_PATH is (coincidentally) 1.
The impact to other values should be noted in the migration6 guide.

This change makes it possible to allow fgc() to return binary file
contents (default) or unicode transcoded contents (using FILE_TEXT flag).
2006-03-30 00:22:51 +00:00
Sara Golemon 1c97a0d78c Update php_stream_passthru() to handle unicode data.
This updates userspace functions fpassthru() and readfile()

UG(output_encoding) is used by php_stream_passthru() to translate
unicode stream contents back to an outputable character set.

Note: readfile()'s second parameter (use_include_path) has been changed
to be a bitmask "flags" parameter instead.

For the most commonly used values (TRUE, 1) this will continue functioning
as expected since the value of FILE_USE_INCLUDE_PATH is (coincidentally) 1.
The impact to other values should be noted in the migration6 guide.

This change makes it possible to allow readfile() to output binary file
contents (default) or unicode transcoded contents (using FILE_TEXT flag).
2006-03-29 22:52:24 +00:00
Antony Dovgal 87f6b66a62 fix typo 2006-03-29 16:30:54 +00:00
Seiji Masugata e42f182be3 added mb_strrchr( ). 2006-03-29 15:47:07 +00:00
Antony Dovgal 6a53a49c8b MF51: fix bug #36898 (__set() leaks in classes extending internal ones)
Added:
ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSRMLS_DC)
ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC)
2006-03-29 15:08:52 +00:00
39392cce19 ChangeLog update 2006-03-29 06:31:49 +00:00
Andrei Zmievski d57e79782e Bug! 2006-03-29 05:56:06 +00:00
Sara Golemon 4816e6f1c4 Ooops, missed a file 2006-03-29 01:52:28 +00:00
Sara Golemon 30a2bd1d11 Another (and hopefully last) major streams commit.
This moves unicode conversion to the filter layer
(rather than at the lower streams layer)
unicode_filter.c has been moved from ext/unicode to main/streams
as it's an integral part of the streams unicode conversion process.

There are now three ways to set encoding on a stream:

(1) By context
$ctx = stream_context_create(NULL,array('encoding'=>'latin1'));
$fp = fopen('somefile', 'r+t', false, $ctx);

(2) By stream_encoding()
$fp = fopen('somefile', 'r+');
stream_encoding($fp, 'latin1');

(3) By filter
$fp = fopen('somefile', 'r+');
stream_filter_append($fp, 'unicode.from.latin1', STREAM_FILTER_READ);
stream_filter_append($fp, 'unicode.to.latin1', STREAM_FILTER_WRITE);

Note: Methods 1 and 2 are convenience wrappers around method 3.
2006-03-29 01:20:43 +00:00
Yasuo Ohgaki f028fcecb5 restore E_WARNING in correct place 2006-03-29 01:10:27 +00:00
Antony Dovgal e98f9777db initialize bucket #0 with nulls 2006-03-28 21:58:21 +00:00
Antony Dovgal f34d655334 MF51: fix #36897 (debug_print_backtrace() doesn't return void but array(0) {}) 2006-03-28 19:43:37 +00:00
Seiji Masugata b5cd8f02d8 added mb_strstr( ). 2006-03-28 16:05:16 +00:00
Antony Dovgal 8629171612 fix tests 2006-03-28 09:13:35 +00:00
Antony Dovgal c5f35d7d95 MF51: fix #36851 (Documentation and code discrepancies for NULL data) 2006-03-28 09:13:22 +00:00
25a73301a5 ChangeLog update 2006-03-28 06:31:49 +00:00
Andrei Zmievski a65a781b16 Note 2006-03-28 06:30:47 +00:00
Andrei Zmievski 3eee3a5fd6 Fix collator instantiation. 2006-03-28 04:33:29 +00:00
Andrei Zmievski cbbfebc428 Fix typos. 2006-03-28 03:28:08 +00:00
Ilia Alshanetsky 75c7f810ea MFB51: Check 2nd parameter of tempnam() against path components. 2006-03-27 23:41:05 +00:00
Andrei Zmievski e85495f6f1 Fix UErrorCode check. 2006-03-27 23:05:38 +00:00
Andrei Zmievski d761aa7eb2 Typo. 2006-03-27 22:16:53 +00:00
Antony Dovgal 31123e33b3 MF51: fix #36878 (error messages are printed even though an exception has been thrown) 2006-03-27 22:07:50 +00:00
Andrei Zmievski 626be75d6c Make a UTODO note. 2006-03-27 21:19:12 +00:00
Andrei Zmievski a8c291f8fe Proto updates. 2006-03-27 19:24:18 +00:00
Andrei Zmievski 0f3a42a4c1 *** empty log message *** 2006-03-27 19:18:40 +00:00
Andrei Zmievski 978c58ad78 Add UTODO. 2006-03-27 19:15:58 +00:00
Andrei Zmievski 443f9d0844 Mark with UTODO instead of FIXME. 2006-03-27 17:34:06 +00:00
Antony Dovgal 036fc47efb fix possible NULL dereference 2006-03-27 16:43:02 +00:00
Seiji Masugata d28ec107ac added mb_list_mime_names( ). 2006-03-27 15:20:02 +00:00
Dmitry Stogov d1d9ce8fed Test for strtr() with non-ascii encoding 2006-03-27 14:37:14 +00:00
Dmitry Stogov 9d9adb2f35 Unicode support 2006-03-27 14:19:18 +00:00
Dmitry Stogov c4d2bc4c46 Fixed test 2006-03-27 14:08:10 +00:00
Dmitry Stogov daca456e1a Fixed test 2006-03-27 13:53:19 +00:00
Dmitry Stogov 0e114d4295 Fixed test 2006-03-27 13:42:04 +00:00
Dmitry Stogov c744d73d04 Unicode support 2006-03-27 13:37:47 +00:00
Dmitry Stogov 159bfd55e1 Unicode support 2006-03-27 10:25:35 +00:00
Dmitry Stogov 06cfa710b4 Fixed testFixed testFixed testFixed testFixed testFixed testFixed testFixed testFixed test 2006-03-27 10:15:02 +00:00
Dmitry Stogov ba72ff3fcc Fixed bug during function/class declaration in unicode mode 2006-03-27 09:44:03 +00:00
Dmitry Stogov 1c7bc1e012 Fixed test file (test still fail) 2006-03-27 09:42:15 +00:00
Dmitry Stogov e6a8c7405e Fixed test 2006-03-27 09:39:27 +00:00
Antony Dovgal d15557fb76 MF51: fix #36869 (memory leak in output buffering when using chunked output) 2006-03-27 08:26:20 +00:00
Dmitry Stogov d7491a3e7e Fixed meory leak in case of unknown pragma 2006-03-27 08:09:08 +00:00
Dmitry Stogov 3cffaf78a3 Better but incomplete fix for bug #36840 2006-03-27 07:35:05 +00:00
03b5fefd39 ChangeLog update 2006-03-27 06:31:51 +00:00
Dmitry Stogov bdfa3b1d36 Fixed ZTS build 2006-03-27 06:02:42 +00:00
Andrei Zmievski 5dc7c284f6 MFB 2006-03-27 05:01:48 +00:00
Andrei Zmievski c2bca6239d Fix a case where we could have an encoding conversion exception thrown
while building exception trace args!
2006-03-27 03:47:50 +00:00
Andrei Zmievski 90d03ff1e2 Use (unsigned char) to make sure that only the control chars are
replaced with '?';
2006-03-27 03:41:39 +00:00
Andrei Zmievski b36d2dfef6 Rewrite unicode_encode() and unicode_decode() functions. Apply the new
conversion error semantics.
2006-03-27 03:19:30 +00:00
Andrei Zmievski 19e6c92ad0 Skip BOM for UTF-16/32 converters when setting subst char. 2006-03-27 03:17:49 +00:00
Yasuo Ohgaki 0821437bdb remove pg_execute() E_WARNING error when query plan is not defined 2006-03-27 02:59:41 +00:00
Andrei Zmievski 29552a6472 Some functions may want to accept only Unicode or binary strings,
without having auto-conversion from the other string type. Add 'U' and
'S' specifiers for this. Also, remove traces of 'native' strings.
2006-03-27 02:52:06 +00:00
Andrei Zmievski d6ff037f03 *** empty log message *** 2006-03-26 21:46:01 +00:00
Andrei Zmievski db50082fe9 Add unicode_get_error_mode() and unicode_get_subst_char(). 2006-03-26 21:22:59 +00:00
Ilia Alshanetsky 3bf02bde43 MFB51: Fixed bug #36857 (Added support for partial content fetching to the
HTTP streams wrapper).
2006-03-26 17:12:26 +00:00
Derick Rethans ad6a972de3 - Implemented basic collation support. For some reason "new Collator" gives segfaults when the object's collation resource is used.
- The following example shows what is implemented:

<?php
$orig = $strings = array(
    'côte',
    'cote',
    'côté',
    'coté',
    'fluße',
    'flüße',
);

echo "German phonebook:\n";
$c = collator_create( "de@collation=phonebook" );
foreach($c->sort($strings) as $string) {
    echo $string, "\n";
}
echo $c->getAttribute(Collator::FRENCH_COLLATION) == Collator::ON
    ? "With" : "Without", " french accent sorting order\n";

echo "\nFrench with options:\n";
$c = collator_create( "fr" );
$c->setAttribute(Collator::CASE_FIRST, Collator::UPPER_FIRST);
$c->setAttribute(Collator::CASE_LEVEL, Collator::ON);
$c->setStrength(Collator::SECONDARY);
foreach($c->sort($strings) as $string) {
    echo $string, "\n";
}
echo $c->getAttribute(Collator::FRENCH_COLLATION) == Collator::ON
    ? "With" : "Without", " french accent sorting order\n";
?>
2006-03-26 11:06:24 +00:00
150c896dae ChangeLog update 2006-03-26 06:31:42 +00:00
Andrei Zmievski 1709428494 Implement to-Unicode conversion error behavior. Note the adjusted APIs. 2006-03-26 06:19:24 +00:00
Sara Golemon a64789a452 Expand stream_context_create() to allow specifying params
as well as options.  Ignore the internal name change of the first arg.
The first arg is still for options, the second arg is for actual params.
2006-03-26 04:40:11 +00:00
Andrei Zmievski c254b21cca Add protos. 2006-03-26 03:33:10 +00:00
Seiji Masugata c8de944309 fixed compiler warning. 2006-03-26 02:23:25 +00:00
Derick Rethans 3df5f17231 - Commit intermediate work so that I can hack on it on some plane. 2006-03-26 02:15:47 +00:00
Andrei Zmievski 930bde5897 * Remove unicode.from_error_mode and unicode.from_subst_char from INI
settings.
* Add unicode_set_error_mode() and unicode_set_subst_char() functions to
  manipulate these global settings.
2006-03-26 01:48:33 +00:00
Andrei Zmievski d38d354fe8 *** empty log message *** 2006-03-26 00:56:23 +00:00
Antony Dovgal ae7fbe8132 MF51: fix #36859 (DOMElement crashes when calling __construct when clone'ing) 2006-03-26 00:23:37 +00:00
Marcus Boerger 31513f9a8b - Make IteratorIterator base class of most SPL iterators 2006-03-26 00:22:45 +00:00
Marcus Boerger 1b6598618b - Fix docu 2006-03-26 00:22:03 +00:00
6702a305a2 ChangeLog update 2006-03-25 06:31:49 +00:00
Sara Golemon e883cee0b1 Handle converter instantiation errors properly 2006-03-25 04:37:44 +00:00
Sara Golemon f67ed7f3d4 Allow bidirectional encoding option via single context param 2006-03-24 22:27:13 +00:00
Sara Golemon dfc827d108 Fix stream_get_line():
Checking type isn't nearly as important as checking nullness...
2006-03-24 21:37:42 +00:00
Sara Golemon 0b2b16e6c7 Update fgetss() for unicode 2006-03-24 21:32:39 +00:00
Andrei Zmievski abf44bf9df This is probably not a test.. 2006-03-24 21:25:44 +00:00
Andrei Zmievski fe0cccc003 Use intern->type for break iterator. 2006-03-24 21:06:36 +00:00
Sara Golemon 0260dfc9b1 Hook into new unicode conversion error handling API 2006-03-24 20:21:48 +00:00
Sara Golemon 880dd406f2 Add php_stream_get_record_unicde() API call.
Update stream_get_line() userspace function to handle unicode streams.
2006-03-24 19:22:24 +00:00
Andrei Zmievski de2f7f1d66 Hey! Don't remove vim modeline completely! :) 2006-03-24 16:45:18 +00:00
Antony Dovgal d4cdad2c2e add new tests 2006-03-24 12:08:19 +00:00
Antony Dovgal 792a2f6e65 whitespaces -> tabs
no other changes done
2006-03-24 10:25:50 +00:00
Antony Dovgal 9cee8be28e first check for NULL, then use the pointer 2006-03-24 10:21:56 +00:00
Dmitry Stogov 4767e90a47 Fixed bug #36840 (Memory leak if cast operator throws an exception that is caught) 2006-03-24 10:11:49 +00:00
Dmitry Stogov 0623f8471a Fixed SoapFault::getMessage() 2006-03-24 08:46:14 +00:00
Andrei Zmievski 51977c926c Support warning/exceptions flag for conversion errors. 2006-03-24 07:38:07 +00:00
6237738145 ChangeLog update 2006-03-24 06:31:51 +00:00
Andrei Zmievski 19897a5f44 UTODO note 2006-03-24 00:25:49 +00:00
Sara Golemon eb44e642b1 Add some error checking when stream converters are instantiated.
Use the global conversion error handlers for output conversion (for now)
We may want to make this customizable on a per-stream basis
via context param later on...
2006-03-24 00:19:39 +00:00
Marcus Boerger b2b921a10f - Fix arginfo for (Recursive)RegExIterator 2006-03-23 22:25:46 +00:00
Andrei Zmievski 1c09ef8e37 Update conversion error behavior and add some new modes.
# The various escape modes are what ICU calls them. We may want to come
# up with different names for UNICODE/ICU/JAVA ones..
2006-03-23 22:00:42 +00:00
Andrei Zmievski a27b78c2d2 Add (binary) cast operator. 2006-03-23 21:54:00 +00:00
Andrei Zmievski b5221e4dd9 Allow conversion between binary/Unicode strings (based on
runtime_encoding setting).
2006-03-23 21:52:49 +00:00
Marcus Boerger 3865420180 - My eyes hurt 2006-03-23 21:26:50 +00:00
Seiji Masugata 5fdede19a4 added mb_list_encodings_alias_names( ). 2006-03-23 20:14:41 +00:00
Marcus Boerger 12182b1e12 - Make spl_autoload_register() return bool 2006-03-23 19:34:20 +00:00
Antony Dovgal 4b33fba3f5 return FALSE if driver doesn't support quoting and returns 0
also fixes PECL bug #6365
2006-03-23 19:03:30 +00:00
Ilia Alshanetsky 96afde2af7 MFB51:
Added myself to PDO and PDO_MySQL credits
Added Wez to PDO_MySQL credits
Added Tony to Q&A team credits
Regenerated the credits file
2006-03-23 18:39:12 +00:00
Antony Dovgal 24efa95ab0 add missing skipif sections 2006-03-23 15:05:02 +00:00
Antony Dovgal b45ea555bc fix typos 2006-03-23 14:55:48 +00:00
John Coggeshall d9a412a146 Under threat of being slept with by Marcus, adding new getParent() method
for node traversals
2006-03-23 14:22:40 +00:00
Marcus Boerger 123df34265 - Initialize callable_name if requested 2006-03-23 13:09:28 +00:00
Marcus Boerger d512b99ef3 - Make spl_autoload_unregister() accept any callable like spl_autoload_register() 2006-03-23 12:55:58 +00:00
Marcus Boerger bf72bc827c - Add new test 2006-03-23 12:20:35 +00:00
Marcus Boerger 59da8ffea1 - Add new test 2006-03-23 11:57:15 +00:00
Marcus Boerger 6b923244b0 - MF51 Add missing bug title and synch with other tests 2006-03-23 11:49:53 +00:00
Dmitry Stogov 7983262579 Fixed possible memory corruption 2006-03-23 11:42:41 +00:00
Dmitry Stogov 4b09d37f66 MTH: Allowed '-b' with UNIX sockets 2006-03-23 10:20:14 +00:00
Antony Dovgal 88605a22ff implement correct fix for segfault on 64bit platform 2006-03-23 09:44:30 +00:00
cab8eea2f8 ChangeLog update 2006-03-23 06:31:57 +00:00
Pierre Joye bddafa9a9f . MFB: Fixed fetching of string value bigger than 128bytes when no options
are used
2006-03-23 01:37:38 +00:00
Antony Dovgal c2e7761de4 fix leak, add test 2006-03-22 23:12:38 +00:00
Antony Dovgal 932c5d9e0e MF51: prevent segfault when exception is thrown from Countable::count() 2006-03-22 22:06:08 +00:00
Antony Dovgal e0cd1b87a8 MFH: fix #36825 (Exceptions thrown in ArrayObject::offsetGet cause segfault)
fix similar issue in offsetExists()
remove redundant semicolons
2006-03-22 21:57:10 +00:00
Antony Dovgal af0ac4f3bc no magic_quotes anymore 2006-03-22 19:41:42 +00:00
Antony Dovgal 763483d18b don't segfault on 64bit platforms 2006-03-22 19:36:10 +00:00
Antony Dovgal a4c6a19335 use set_time_limit(), this test takes forever on AIX 2006-03-22 19:27:28 +00:00
Ilia Alshanetsky 87d97c8423 Simplify and optimize code. 2006-03-22 17:32:21 +00:00
Derick Rethans 3056defb26 - Moved strtotitle to ext/standard and implemented the fallback case to
non-unicode with ucwords. There is also an implementation for unicode ucwords
  but that returns different results then strtotitle as it uppercases the
  first character of every word, and doesn't *titlecase* a word. The test case
  shows that.
2006-03-22 10:20:20 +00:00
Antony Dovgal 49b16f7254 MF51: fix #36820 (Privileged connection with an Oracle password file fails) 2006-03-22 09:46:13 +00:00
Stefan Esser 45f6a3d87d Fix the bullshit register_globals emulation
1) S is not _SESSION but _SERVER
2) EXTR_OVERWRITE is evil
2006-03-22 08:21:01 +00:00
bd3f581fe9 ChangeLog update 2006-03-22 06:31:42 +00:00
Pierre Joye 02bf0e70bf - add tests files 2006-03-21 19:02:00 +00:00
Pierre Joye 6d0980e954 - update, wrong file added 2006-03-21 18:57:04 +00:00
Pierre Joye d91f0cabd4 - first serie of tests 2006-03-21 18:49:45 +00:00
Pierre Joye 0bd3e9d370 - typo
- bump api version
2006-03-21 18:45:31 +00:00
Sara Golemon 201d5df650 Allow grow_mode && !bufstart (original assertion logic) 2006-03-21 18:28:42 +00:00
Marcus Boerger 89546335d2 - Drop --no-prefix as disables --prefix which we do for http://gcov.php.net
# If you need/want this edit your makefile or provide a LTP_GENHTML export
# of your need when running buildconf
2006-03-21 18:17:03 +00:00
Pierre Joye 96f0a94e63 - add enchant_broker_list_dicts 2006-03-21 18:10:45 +00:00
Pierre Joye 0040af1960 - fix proto 2006-03-21 17:25:41 +00:00
Pierre Joye 88b8784f18 - cs 2006-03-21 17:18:57 +00:00
Antony Dovgal dce1fffbc8 change oci_field_type() to return VARCHAR2 instead of VARCHAR
(fixes feature request #36800)
2006-03-21 15:47:38 +00:00
Ilia Alshanetsky 7f18e7f62c MFB51: Fixed bug #36802 (mysqli_set_charset() crash with a non-open connection). 2006-03-21 15:35:48 +00:00
Antony Dovgal 0ba446fa06 reimplement php_oci_lob_read() and fix PECL bug #5995
now the function dosn't try to read data by blocks, as this is nearly impossible
to do with Unicode and regular LOBs in the same time
2006-03-21 15:07:14 +00:00
Derick Rethans 7f7300ae0b - Update windows file too (not tested, but should work). 2006-03-21 13:57:16 +00:00
Derick Rethans c86cf4fbea - Make ext/unicode an extension that is always there and can not be disabled. 2006-03-21 13:56:50 +00:00
Antony Dovgal 95d4ac09ca fix spelling 2006-03-21 13:46:51 +00:00
Dmitry Stogov 82864571ad Fixed compatibility with auto_globals_jit 2006-03-21 12:27:10 +00:00
Dmitry Stogov 089646babf Fixed bug #36721 (The SoapServer is not able to send a header that it didn't receive) 2006-03-21 12:05:10 +00:00
Pierre Joye af08bfab19 - replace the pkg version in phpinfo 2006-03-21 11:28:20 +00:00
Pierre Joye d072da5a1c - cs 2006-03-21 11:13:12 +00:00
Pierre Joye d9b40c179a - convert package to 2.0, prepare changelog for 1.0.1 2006-03-21 10:38:59 +00:00
Dmitry Stogov 79c653ab98 Fixed bug #36809 (__FILE__ behavior changed) 2006-03-21 08:49:58 +00:00
Rui Hirokawa 0fb7618d6e added mb_check_encoding() to detect possible invalid encoding attack. 2006-03-21 07:47:43 +00:00
a6bcfeccf7 ChangeLog update 2006-03-21 06:31:49 +00:00
Rui Hirokawa 52a935ffd2 changed a option name based on PHP naming convension. 2006-03-21 02:19:59 +00:00
Rui Hirokawa 2832532138 MF PHP_5_1 2006-03-21 02:11:55 +00:00
Ilia Alshanetsky f7875f813c MFB51: Fixed bug #36689 (Removed arbitrary limit on the length of syslog
messages).
2006-03-21 00:59:41 +00:00
Pierre Joye 5956f9a398 - add some UTF-8 hindi files, first of a serie of data used
by the tests (will follow)
2006-03-20 23:44:47 +00:00
Antony Dovgal c2eabef473 shutdown syslog module before freeing basic_globals 2006-03-20 23:33:07 +00:00
Antony Dovgal 6901e09492 MF51: fix #36808 (syslog ident becomes garbage between requests) 2006-03-20 23:07:31 +00:00
Marcus Boerger dd4f59c9c0 - Drop PDO::setDefaultFetchMode() 2006-03-20 22:18:15 +00:00
Marcus Boerger ee3a559a58 - WS 2006-03-20 22:17:41 +00:00
Antony Dovgal 1df7e13f48 fix #36741 (userstreams testcase have off-by-one error on fseek()) 2006-03-20 22:08:59 +00:00
Marcus Boerger 56ed3211a6 - Added PDO_ATTR_DEFAULT_FETCH_MODE which controls the default fetch mode 2006-03-20 20:54:34 +00:00
Antony Dovgal ba1ac82bc9 don't leak memory even though the code is not stable yet 2006-03-20 20:09:20 +00:00
Dmitry Stogov d2fd87526f Removed unreachable code 2006-03-20 15:12:54 +00:00
Antony Dovgal 9557d44ed8 fix buffer overrun 2006-03-20 14:10:23 +00:00
Antony Dovgal 882df6e4d4 initialize retval 2006-03-20 13:53:56 +00:00
Dmitry Stogov 323a2d30ed Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy) 2006-03-20 10:37:09 +00:00
Dmitry Stogov 00c81b0e49 Fixed register_argc_argv behavior. Now it behave in the same way as before in combinations with variables_order and auto_globals_jit.
$argc and $argv global variables are registered only in CLI mode and under $_SERVER[] in other case. (This is done because register_globals was removed and assumed - off).
2006-03-20 10:18:50 +00:00
f920c1068e ChangeLog update 2006-03-20 06:31:42 +00:00
Pierre Joye 9e3b87056f - fix compilation warning 2006-03-20 00:07:08 +00:00
Antony Dovgal 6fd8aaae87 this check should be present in HEAD as well, no only in 5_1 2006-03-19 22:57:47 +00:00
Antony Dovgal a4f9c8efc2 MFB: first check stream for NULL, then dereference 2006-03-19 22:34:26 +00:00
Antony Dovgal 2c750d7f84 make the code a bit cleaner - no need for two different checks that are doing effectively the same 2006-03-19 22:12:39 +00:00
Marcus Boerger 1aeff811c0 - Make all compile without errors/warnings 2006-03-19 20:57:53 +00:00
Marcus Boerger 3273a5eab9 - Little reordering now and disable a bit of tony's code to make it compile again 2006-03-19 20:53:58 +00:00
Marcus Boerger 6154b639ed - Handle attributes in dbh ctor (jean pütz aka tony) 2006-03-19 20:33:51 +00:00
Marcus Boerger 98ddfbba1a - CS 2006-03-19 20:26:20 +00:00
Marcus Boerger ef6d420aad - Explicitly make the default default FETCH_BOTH 2006-03-19 20:08:29 +00:00
Marcus Boerger 786d78f683 - Prevent default fetch mode (0) from passing down to actual fetching and
make it behave like FETCH_BOTH which is the intended overall default
2006-03-19 19:46:18 +00:00
Marcus Boerger 31409d3bed - Must use > 0 here (decrement after check) 2006-03-19 19:05:28 +00:00
Marcus Boerger 74dd417dfe - Simplify, default mode transfer also in prepare 2006-03-19 19:04:32 +00:00
Ilia Alshanetsky d6118f1b6e MFB51: Properly calculate the size of the result array. 2006-03-19 17:35:56 +00:00
Michael Wallner 1251f42585 MFB: fix php_apache_sapi_header_handler() modifying sapi_header 2006-03-19 14:58:06 +00:00
Pierre Joye 65d97d0a65 - typos 2006-03-19 11:26:25 +00:00
ad2563f420 ChangeLog update 2006-03-19 06:31:43 +00:00
Antony Dovgal 41e5bcd8c5 MFB: fix several leaks in date_sun*() functions 2006-03-18 23:44:30 +00:00
Marcus Boerger e20ff8009b - Need to change Pierre's patch abit 2006-03-18 23:35:34 +00:00
Marcus Boerger 88c4284df7 - Add test 2006-03-18 23:13:43 +00:00
Marcus Boerger d82abbf8d4 - Add PDO::setDEfaultFetchMode() (Pierre) 2006-03-18 23:10:40 +00:00
Marcus Boerger 637443e794 - Simplify 2006-03-18 23:09:47 +00:00
Antony Dovgal 8ff44542ff check stream for NULL before writing to it
remove unnecessary semicolons
2006-03-18 22:25:29 +00:00
Antony Dovgal 612fbc1b6b MFB: Added support for BINARY_DOUBLE and BINARY_FLOAT to PDO_OCI and OCI8 (also fixes bug #36764) 2006-03-18 22:06:45 +00:00
Marcus Boerger 46bc026fb0 - Fix seek/eof issue in temp streams 2006-03-18 19:56:35 +00:00
Marcus Boerger d7a4909ed2 - Fix issue in _php_stream_get_line(): Allow maxchars == 0 as macro
php_stream_get_line() does
2006-03-18 19:44:51 +00:00
Rob Richards 7fc0756e55 MFB51: Fixed bug #36756 (DOMDocument::removeChild corrupts node)
add test
2006-03-18 11:46:13 +00:00
49f7b6605c ChangeLog update 2006-03-18 06:31:51 +00:00
Omar Kilani aa8ab527f2 Fix PECL bug #7147 - rework comma insertion whilst encoding.
Add tests to package.xml.
2006-03-18 04:15:16 +00:00
Marcus Boerger 792e4d9f4d - Fix TSRM 2006-03-17 23:14:55 +00:00
Andrei Zmievski 25b95e4250 Make is_string() return TRUE for both Unicode and binary strings. 2006-03-17 23:00:20 +00:00
Andrei Zmievski a75b8f5f35 Fix compiler errors by using NULL_ZSTR where zstr is expected.
# I guess we need to use NULL_ZSTR instead of NULL when passing NULL to
# functions that expect zstr parameter.
2006-03-17 22:52:55 +00:00
Andrei Zmievski 6b165251db Calculate the size of the tmp[] buffer directly at compile time. 2006-03-17 22:51:20 +00:00
Antony Dovgal f5aecbf18c MFB: fix #36727 (segfault in pdo_pgsql bindValue() when no parameters are defined) 2006-03-17 22:17:15 +00:00
Dmitry Stogov fb7324bb71 Fixed register_argc_argv 2006-03-17 15:04:23 +00:00
Derick Rethans c6b425432a - Actually make this is_binary() too. 2006-03-17 14:53:57 +00:00
Derick Rethans 2ffc93140d - Fixed bug in ucfirst() implementation. If the tmp_len = 0 then it will not
write the uppercased character to the buffer, but only returns the length of
  the uppercased letter as per
  http://icu.sourceforge.net/apiref/icu4c/ustring_8h.html#a50.
- Updated is_string():
  If Unicode semantics is turned on, return "true" for Unicode strings only.
  If Unicode semantics is turned off, return "true" for native strings only.
- Added is_binary() function that returns "true" for native strings only.
- Added first implementation of upgraded strtr function. It works except if
  combining sequences or surrogates are used in the non-array method of calling
  this function.
2006-03-17 14:29:05 +00:00
Dmitry Stogov 34c493ea07 Unicode support for dl() patch. 2006-03-17 13:45:43 +00:00
Dmitry Stogov c09bbfa2b8 Eliminated unnecessary getcwd() syscall 2006-03-17 10:46:02 +00:00
Antony Dovgal 8c5059c3ad MFB: fix #36743 (In a class extending XMLReader array properties are not writable) 2006-03-17 10:17:36 +00:00
Dmitry Stogov f584e957ac Optimized FastCGI SAPI check. Check for ini options only once. 2006-03-17 09:32:47 +00:00
Dmitry Stogov 22a7b0c06e Allowed 'auto_globals_jit' work together with 'register_argc_argv' 2006-03-17 08:59:02 +00:00
Dmitry Stogov 51f7ee02c8 FIX: For some reason SIGSEGV handler wasn't set, but was restoring. Now all SIGS
EGV related code is commented.
2006-03-17 08:47:54 +00:00
Dmitry Stogov 53e1f2adfb Optimization of module unloading (temporary modules can be only in the end) 2006-03-17 08:34:34 +00:00
8ec6d16867 ChangeLog update 2006-03-17 06:31:49 +00:00
Ilia Alshanetsky 16ff5e5592 MFB51:
Allow PDO_MYSQL_ATTR_DIRECT_QUERY to be set via constructor
Allow getAttribute() to fetch MySQL specific attributes.
Eliminate unnecessary auto-commit call on connect.
2006-03-17 00:15:28 +00:00
Dmitry Stogov 86780519d4 Disabled dl(). Now it is enabled only when a SAPI layer registers it explicitly. Only CLI, CGI and EMBED do this. 2006-03-16 16:53:10 +00:00
Dmitry Stogov ea9b9502e9 typo 2006-03-16 15:42:54 +00:00
Dmitry Stogov 3510eda470 ws 2006-03-16 15:38:29 +00:00
Dmitry Stogov 89a1a4cbc4 Return "new" by reference now throws an E_STRICT error 2006-03-16 15:35:26 +00:00
Seiji Masugata c9dfb792c5 added option parameter mb_list_encodings( ). 2006-03-16 15:21:12 +00:00
Edin Kadribasic 5db1a8cad0 Added pg_field_table() as per req: #36750 2006-03-16 14:58:56 +00:00
Dmitry Stogov dcd1ccd725 Added E_STRICT to E_ALL 2006-03-16 12:12:31 +00:00
Antony Dovgal 4810e15301 rephrase 2006-03-16 11:35:30 +00:00
Dmitry Stogov 9d7ca01c8b Dropped allow_call_time_pass_reference, the error is maden E_STRICT. 2006-03-16 11:32:00 +00:00
Dmitry Stogov 7c0e534157 Dropped zend.ze1_compatibility_mode 2006-03-16 10:33:23 +00:00
Dmitry Stogov 22055cb8fd Dropped register_long_arrays, added E_CORE for all dropped setting 2006-03-16 09:44:42 +00:00
Antony Dovgal 37ab9aa474 prepare to the 1.2 release 2006-03-16 07:31:01 +00:00
a6ed0cb3e0 ChangeLog update 2006-03-16 06:31:47 +00:00
Marcus Boerger 6380908706 - Fix warning 2006-03-16 00:53:58 +00:00
Marcus Boerger ff359fab7f - Fix test 2006-03-16 00:40:11 +00:00
Sara Golemon 1eca7b87d1 Fix improper byte count on partial reads 2006-03-15 21:18:36 +00:00
Dmitry Stogov 09619a30cb Fixed Bug #36614 (Segfault when using Soap) 2006-03-15 16:14:40 +00:00
Ilia Alshanetsky 111046ceed MFB51: Fixed memory leak on unused bind var. 2006-03-15 15:27:08 +00:00
Dmitry Stogov 18d6d9d633 Fixed zend_u_strtod() that returned uninitialized value in case of empty string 2006-03-15 13:12:32 +00:00
Derick Rethans c76917a773 - Fixed two memory issues:
- In the first one we were calculating the tmp_len wrong which made the
	u_strFromUTF32() function try to convert too many code points.
  - The second issue was a bit more subtle as the "what" string wasn't
	duplicated but still modified. This string is passed as data to the
	function and this kind of data the engine tries to free when the function
	ends. Because we were re-allocating the data the original memory location
	was already freed resulting in a double free error when the engine tries to
	free the argument as it was passed to the function.
2006-03-15 12:20:49 +00:00
Dmitry Stogov d3e5691b41 Added E_STRICT warning in case of calling non-static method from incompatible context (this feature is staying for BC with php-4) 2006-03-15 11:15:20 +00:00
Derick Rethans 52bec1ea36 - Reduce space in serialization. The first 128 bytes will now use just the
character and everything above will use \uXXXX. It seems that unserialize
  doesn't work at all yet on the U: element so that I added to my to-do list.
2006-03-15 09:50:47 +00:00
Dmitry Stogov d51599dfcd Eliminated run-time constant fetching for TRUE, FALSE and NULL 2006-03-15 09:04:48 +00:00
Dmitry Stogov a623645b6f Fixed "zend_vm_gen.php --without-specializer" 2006-03-15 08:06:51 +00:00
d06e1f49b6 ChangeLog update 2006-03-15 06:31:57 +00:00
Sara Golemon df77705572 Switch (zstr) casts to use ZSTR() macro. 2006-03-15 00:28:57 +00:00
Omar Kilani 6d841fe6a0 Mark as stable. 2006-03-15 00:15:05 +00:00
Sara Golemon b576354982 More stream updates.
fgets() will work now as will anything which calls one of the
_php_stream_get_line() family of functions.
The one exception here is when the legacy defines are used on a unicode
stream.  At the moment they'll simply return NULL, I'll update these
to do sloppy conversion in a bit.

'make (u)test' still doesn't work, but it's a different doesn't work.
2006-03-14 21:15:05 +00:00
Pierre Joye 09ad6a6713 - initial commit, feel free to change/adapt 2006-03-14 16:28:35 +00:00
Dmitry Stogov e4aa6e302e Fixed bug #35988 (Unknown persistent list entry type in module shutdown) 2006-03-14 15:16:27 +00:00
Antony Dovgal 49ec971d85 add brackets and clarity 2006-03-14 15:14:59 +00:00
Ilia Alshanetsky 24d06926d4 MFB51: Fixed offset/length parameter validation in substr_compare() function. 2006-03-14 14:55:27 +00:00
Dmitry Stogov 663ba73ca2 Fixed bug #36568 (memory_limit setting on win32 has no effect) 2006-03-14 14:19:19 +00:00
Dmitry Stogov 72acb65b24 zend_hash_apply() doesn't use ZEND_HASH_APPLY_... macros 2006-03-14 11:24:30 +00:00
Dmitry Stogov b7933917f6 "jump" -> "goto" 2006-03-14 11:20:19 +00:00
Edin Kadribasic 7b156d6236 MFB: Fixed build 2006-03-14 11:14:05 +00:00
Edin Kadribasic bcf85422c2 MFB: more verbose phpinfo() output 2006-03-14 11:04:13 +00:00
79f91078ef ChangeLog update 2006-03-14 06:31:48 +00:00
Pierre Joye ff2822a82b - MFB: #36697, truecolor image lost im->transparent 2006-03-14 03:46:59 +00:00
Marcus Boerger 9eebea0a45 - Fix tests 2006-03-13 22:59:36 +00:00
Marcus Boerger 8f09deab58 - Cleanup 2006-03-13 22:54:05 +00:00
Sara Golemon 04df7e3bdc Make php_stream_write_buffer() return characters written, not bytes 2006-03-13 20:54:06 +00:00
Seiji Masugata 8c8ac4802b fixed compiler warning. 2006-03-13 15:04:03 +00:00
Derick Rethans f7bfe18307 This makes file_put_contents() work for:
<?php
    declare(encoding="latin1");
    $a = "1234å67890";
    file_put_contents( "/tmp/testuc.1", $a);
    file_put_contents( "/tmp/testuc.2", (string) $a);

    $context = stream_context_create();
    stream_context_set_params($context, array( "output_encoding" => "latin1" ) );
    file_put_contents( "/tmp/testuc.3", $a, FILE_TEXT, $context);
    file_put_contents( "/tmp/testuc.4", (string) $a, FILE_TEXT, $context);
?>

But it still throws a warning on ".3". It's a small design issue that I
didn't want to touch right now.
2006-03-13 15:01:44 +00:00
Ilia Alshanetsky fef63cd5e5 MFB51: Added overflow checks to wordwrap() function. 2006-03-13 14:37:32 +00:00
Dmitry Stogov 78aed20223 Optimized cleanup loops on request shutdown 2006-03-13 11:13:55 +00:00
Dmitry Stogov c23806d331 Fixed realpath() cache for main script with FastCGI SAPI 2006-03-13 09:36:05 +00:00
29bc693710 ChangeLog update 2006-03-13 06:31:48 +00:00
Sara Golemon 48798021b5 Refactor streams layer for PHP6.
Don't be frightened by the size of this commit.
A significant portion of it is restoring the read buffer semantics back
to what PHP4/5 use.  (Or a close aproximation thereof).

See main/streams/streams.c and ext/standard/file.c for a set of
UTODO comments covering work yet to be done.
2006-03-13 04:40:11 +00:00
Ilia Alshanetsky fe2842d21b MFB51: As per agreement during PDM, remove the E_STRICT deprecation notice
from "var".
2006-03-12 16:53:41 +00:00
Marcus Boerger 946c955ce7 - Fix ReflectionParameter
. Reintroduce getClass()
  . Change getDeclaringClass() to return what it suggests
  . Add getDeclaringFunction()
  . Add getPosition()
# This also fixes Bug #36687 ReflectionParameter::getDeclaringClass returns
# wrong result
2006-03-12 15:34:46 +00:00
Marcus Boerger 352d4a6d8c - Prefix test names
- Add missing skipif
2006-03-12 12:11:22 +00:00
Rui Hirokawa 3b5a116511 fixed a possible null injection caused by missuse of mbstring.substitute_character. 2006-03-12 07:54:03 +00:00
4a46c50e71 ChangeLog update 2006-03-12 06:31:43 +00:00
Marcus Boerger 2275036bd0 - Fix writing faillog with redirected tests 2006-03-11 18:13:13 +00:00
Marcus Boerger aa4140d7c2 - Fix test results with redirected tests 2006-03-11 17:57:40 +00:00
Marcus Boerger d0b0dfd991 - Load list of extensions to test from php that is being tested rather than
from php running the tests
- When executing both unicode and native modes then show the type of test
  in the reult list (PASS:U, PASS:N, etc)
2006-03-11 16:54:11 +00:00
e93bc50c22 ChangeLog update 2006-03-11 06:31:48 +00:00
Marcus Boerger 6d09a7f151 - Drop supoerflous skipif 2006-03-11 00:25:07 +00:00
Marcus Boerger d5b5583565 - Add test 2006-03-11 00:23:10 +00:00
Marcus Boerger 45b6a1cb24 - Set clone handler even though right now some spl code snippet is missing 2006-03-10 23:53:41 +00:00
Marcus Boerger d85294d0f4 - Fix issue with parser error in included phar:// entries 2006-03-10 23:52:57 +00:00
Marcus Boerger 3dd3f2d736 - Works better with correct syntax 2006-03-10 23:02:18 +00:00
Marcus Boerger 5ed0ce3ae4 - Add new test 2006-03-10 22:55:09 +00:00
Marcus Boerger ce7c583dd9 - Add neccessary skipif 2006-03-10 22:53:58 +00:00
Brian France 43b75c6ab4 for the primary file only lookup the real file path and
add it to the included_files list if already opened
	otherwise it will get opened and added to the included_files list in zend_execute_scripts
2006-03-10 18:16:24 +00:00
Pierre Joye cb076717e2 - MFB: #36686, do not be quiet with the extern GD 2006-03-10 18:15:21 +00:00
Seiji Masugata a7f7a7f389 fixed different value was returned in mb_get_info. 2006-03-10 16:36:52 +00:00
Dmitry Stogov bc9eaa011e Fixed compilation error (Rob) 2006-03-10 16:35:57 +00:00
Dmitry Stogov f0b9848949 Added RETVAL_EMPTRY_TEXT() and RETURN_EMPTY_TEXT() macroses 2006-03-10 16:35:21 +00:00
Dmitry Stogov 315dd834a3 Fixed bug #36629 (SoapServer::handle() exits on SOAP faults) 2006-03-10 11:47:06 +00:00
Dmitry Stogov cebd9e8f30 Fixed debug_zval_dump() to support private and protected members 2006-03-10 08:43:14 +00:00
Dmitry Stogov f8576f84dc Implemented "jump label" operator (limited "goto") 2006-03-10 08:29:43 +00:00
830f52f57c ChangeLog update 2006-03-10 06:31:49 +00:00
Marcus Boerger eec9a59b27 - Revert left-over 2006-03-09 23:07:48 +00:00
Marcus Boerger 24b3a0d8c4 - Add new test 2006-03-09 23:03:27 +00:00
Marcus Boerger b7f6e116f7 - Add read ahead ability
- Add skipping empty lines
- Add ability to read lines as csv
2006-03-09 23:03:08 +00:00
Marcus Boerger 8cabf9175e - More testing via fgetcsv 2006-03-09 21:00:38 +00:00
Sara Golemon 5c7826716b Move temporary local storage of primary file's realpath up one block to ensure it stays on the stack. 2006-03-09 20:31:58 +00:00
Marcus Boerger e0c9a617d5 - Add new test 2006-03-09 20:00:47 +00:00
Sebastian Bergmann 281ebbe664 Make spl_register_std_class() and spl_register_sub_class() available outside of SPL, for instance in SPL_Types. 2006-03-09 11:44:05 +00:00
3a74e40332 ChangeLog update 2006-03-09 06:31:42 +00:00
Marcus Boerger a6ca2142d1 - Fix a bunch of issues, now the classname and the properties of objects
are shown correctly (though standard object handlers are assumed and
  tested for)
2006-03-08 23:37:41 +00:00
Marcus Boerger 1138d30e9e - Automatic tsrm key fetching 2006-03-08 22:38:32 +00:00
Marcus Boerger 165e0a00c9 - Automatic TSRM/ZTS detection 2006-03-08 22:15:52 +00:00
Michael Wallner 9656a34cbc MFB: Fix bug #36656 (http_build_query generates invalid URIs due to use of square brackets) 2006-03-08 22:04:48 +00:00
Marcus Boerger b883386ff0 - safe_mode is nuked in head
- spl_filesystem_object now allows controlling of clone too
2006-03-08 20:31:23 +00:00
Marcus Boerger e8e264dcf2 - Cloning might need special treatment as well 2006-03-08 20:30:12 +00:00
Marcus Boerger e324e11452 - Initial refcounting 2006-03-08 20:07:25 +00:00
Marcus Boerger 24726c19d5 - Something that uses void* oth might want to deinitialize it in the dtor 2006-03-08 20:06:16 +00:00
Ilia Alshanetsky 43f4362fe3 safe_mode news 2006-03-08 14:42:10 +00:00
Ilia Alshanetsky 27e175eef0 So long safe_mode mode.
Also removed the magic_quotes configure option, no longer relevant since
the magic is gone :-).
2006-03-08 14:41:45 +00:00
689eea9c3c ChangeLog update 2006-03-08 06:31:47 +00:00
Marcus Boerger 96fc81d615 - WS/CS 2006-03-08 00:56:31 +00:00
Pierre Joye bb1ec86f9d - 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
2006-03-08 00:43:32 +00:00
Alex Waugh b7d6d705f1 Fix for RISC OS 2006-03-07 22:37:18 +00:00
Alex Waugh ad777e3c78 Improve DOCUMENT_ROOT setting 2006-03-07 22:34:37 +00:00
Marcus Boerger 05ffb7902d - WS 2006-03-07 20:22:12 +00:00
Marcus Boerger a616c42ae4 - Update tests 2006-03-07 20:08:41 +00:00
Colin Viebrock f8448b426d change these in HEAD too 2006-03-07 16:47:19 +00:00
Ilia Alshanetsky 87c4a01b87 Nuke safe_mode from sapi/*
# only main/ remains at this point, this is the next step
2006-03-07 14:43:16 +00:00
Antony Dovgal d88e3ee93d prepare to the next release 2006-03-07 10:22:54 +00:00
Dmitry Stogov 432cae3222 Reverted "break label" 2006-03-07 08:43:21 +00:00
Andrei Zmievski 9840a792ee *** empty log message *** 2006-03-07 08:33:46 +00:00
Derick Rethans 6709a6bfc9 - Make this compile again 2006-03-07 07:58:56 +00:00
Antony Dovgal af792fbcc2 add workaround for Oracle server crash, use OCIServerVersion() instead of OCIPing()
fix #36250 (PHP Causes ORA-07445 Core dump in Oracle server 9.2.x)
2006-03-07 07:45:59 +00:00
7453c27089 ChangeLog update 2006-03-07 06:31:50 +00:00
Andrei Zmievski 25d1f03526 Mark some functions as Unicode-safe and adjust UTODO notices for others. 2006-03-07 04:30:15 +00:00
Pierre Joye ceea7e257a - gd1 and ft1 entry 2006-03-07 00:55:23 +00:00
Sara Golemon cc523d42cb Remove register_globals regression test for Pierre 2006-03-07 00:26:27 +00:00
Pierre Joye 303bfea78f - remove register_globals support (aka "Kill the f***ing thing" :) 2006-03-07 00:20:54 +00:00
Rasmus Lerdorf b83d7e3151 stray text 2006-03-06 23:27:26 +00:00
Sebastian Bergmann 1ed4c0b446 MFB: Fix build and sync parameters with config0.m4. 2006-03-06 22:50:43 +00:00
Marcus Boerger 51044eabd4 - Missed 'proto' 2006-03-06 22:22:07 +00:00
Marcus Boerger 60f477a6e3 - Make test not depend on my filesystem layout 2006-03-06 22:19:21 +00:00
Andrei Zmievski da831e6e0c Fix protos to use 'string' for parameters that can be either binary or
unicode.
2006-03-06 21:49:21 +00:00
Derick Rethans bb7246d36f - Fixed bug #36638 (strtotime unconditional false return on now <= 0) 2006-03-06 21:43:35 +00:00
Andrei Zmievski 18283d39ad Import PCRE 6.6 and make adjustments. 2006-03-06 21:34:07 +00:00
Marcus Boerger 81954dcf78 - Fixed #36625 pg_trace() does not work 2006-03-06 20:16:34 +00:00
Rob Richards 032edbfb92 implement addChild() and addAttribute() methods
add test
2006-03-06 20:16:03 +00:00
Ilia Alshanetsky edd7d2a1df Fixed bug #36630 (umask not reset at the end of the request).
# This needs to be MFHed, but since it requires an API break it has to wait
# until the next minor release.
2006-03-06 14:27:45 +00:00
Marcus Boerger 3fd4b151f2 - Proto fixes 2006-03-06 10:06:03 +00:00
Marcus Boerger 18f1439b32 - Proto fixes 2006-03-06 10:03:25 +00:00
Dmitry Stogov bc091138a5 fixed compatibility with ext/hash 2006-03-06 09:58:27 +00:00
Marcus Boerger 1050956ad1 - Proto fixes 2006-03-06 09:47:03 +00:00
1af22d5ab8 ChangeLog update 2006-03-06 06:31:47 +00:00
Pierre Joye f4ea8372a4 - revert Harmut commit, Histogram implementation not correct and no idea
where you got the ok to add that
2006-03-05 19:20:12 +00:00
Derick Rethans 72c9d907d3 - And not here either... 2006-03-05 19:02:11 +00:00
Marcus Boerger 24618f2b3b - Fix comment, too 2006-03-05 18:32:21 +00:00
Hartmut Holzgraefe dd659ea648 - fixed size information for _php_sig_png array
- removed extra memcmp step in signature comparison,
  this seemed to have been inherited from ext/standard/image.c
  but is not needed here as the provided buffer is big enough
  from the start
2006-03-05 18:26:12 +00:00
Marcus Boerger b0f461e9d9 - Fix Bug #34019 by popular demand: Implementing interface with a
__construct method strange behaviour
2006-03-05 18:23:56 +00:00
Hartmut Holzgraefe 05fa58f84e added ImageColorHistogram function 2006-03-05 18:23:47 +00:00
Marcus Boerger 20273c4fe9 - Fix build 2006-03-05 17:31:44 +00:00
Ilia Alshanetsky d9b2a3372e Fixed bug #36572 (Added PDO::MYSQL_ATTR_DIRECT_QUERY constant that show be
set when executing internal queries such as "show master status" via MySQL).

Added missing constant for MAX_BUFFER_SIZE.
2006-03-05 17:17:04 +00:00
Pierre Joye 1fad64d6dc - mv package2 to package 2006-03-05 16:31:02 +00:00
Pierre Joye e1b4788d9c - remove it, 1.3.x is dead 2006-03-05 16:30:15 +00:00
Pierre Joye b98712835e - xmllint 2006-03-05 16:15:39 +00:00
Pierre Joye 1360db600e - update changelog, and start new release tag 2006-03-05 16:13:37 +00:00
Antony Dovgal 7df141811e add test 2006-03-05 16:12:54 +00:00
Marcus Boerger fd2b76d505 - Add missing function for completeness 2006-03-05 16:09:45 +00:00
Antony Dovgal def2ab1ac1 MF51: fix #36611 (assignment to SimpleXML object attribute changes argument type to string) 2006-03-05 15:58:09 +00:00
Johannes Schlüter 50e52dcc3e - Fix build after unicode changes 2006-03-05 15:49:55 +00:00
Rob Richards 6c2c57e2bd fix crash passing non-string member to sxe_prop_dim_exists
allow offsets to be used when calling isset/unset
fix tests
add test
2006-03-05 14:01:13 +00:00
Antony Dovgal 94566f39f1 fix #36606 (pg_query_params() changes arguments type to string) 2006-03-05 13:33:28 +00:00
ae47c701b8 ChangeLog update 2006-03-05 06:31:46 +00:00
Marcus Boerger 04aebae9e4 - Need to change a few things to exception based error handling
- Drop erroneus/useless RecursiveDirectoryIterator::getSubPathInfo()
2006-03-04 22:56:11 +00:00
Marcus Boerger 87cd1a45ef - Add test 2006-03-04 22:49:34 +00:00
Marcus Boerger c818d09f6d - Add initial array-access support based on Greg's patch 2006-03-04 22:48:05 +00:00
Marcus Boerger 9c3abcf198 - Add new test 2006-03-04 18:46:51 +00:00
Marcus Boerger e687301be1 - Rename 2006-03-04 18:18:52 +00:00
Marcus Boerger d5ab2187c6 - Add new test 2006-03-04 18:16:16 +00:00
Marcus Boerger c7adc4a54e - Make the ctor static and not inline 2006-03-04 17:01:16 +00:00
Marcus Boerger aae51ab2ed - WS/CS 2006-03-04 16:45:45 +00:00
Marcus Boerger dbb83bc10e - One skipif section is enough 2006-03-04 16:40:54 +00:00
Marcus Boerger d350e2949a - Drop dead code 2006-03-04 16:32:59 +00:00
Omar Kilani 2d294a8b39 - Fix issue with encoding arrays with integer keys.
- Modified pass001.1.phpt to test a mix of integers and strings as keys.
2006-03-04 15:31:27 +00:00
Johannes Schlüter 5575afef48 - Separate ZEND_METHOD from ZEND_FUNCTION 2006-03-04 14:37:50 +00:00
Michael Wallner 11532a5add - prepare 1.2 release; use package.xml v2 2006-03-04 14:17:35 +00:00
164ee5c2f4 ChangeLog update 2006-03-04 06:31:46 +00:00
Greg Beaver 0d12c29530 s/archieve/archive 2006-03-04 02:12:22 +00:00
Marcus Boerger 3e986adfe3 - Unicode... 2006-03-03 23:51:40 +00:00
Marcus Boerger e86cc2a41d - Add new test 2006-03-03 23:48:36 +00:00
Marcus Boerger 75c95e09c3 - Add new test 2006-03-03 23:35:06 +00:00
Marcus Boerger ce20de5e46 - Fix issue with LimitIterator and bounds checking 2006-03-03 23:34:49 +00:00
Andrei Zmievski ba0b3868ee Clean up after Marcus. 2006-03-03 23:23:17 +00:00
Marcus Boerger 03be54de37 - Make unicode handling portable (noted by andrei)
# Actually we should provide much more such unicode strings that we often
# use like 'parent', 'self' and so on.
2006-03-03 23:20:29 +00:00
Marcus Boerger 742c59862d - Test addition 2006-03-03 22:58:13 +00:00
Marcus Boerger b9630ddf52 - Fix issue with LimitIterator 2006-03-03 22:56:27 +00:00
Andrei Zmievski a5f9807b76 Add note about md5(). 2006-03-03 22:46:55 +00:00
Marcus Boerger 5d77a462f6 - As expected (but told otherwise) unicode strings indeed need to be
terminated by two \0.
2006-03-03 22:37:47 +00:00
Marcus Boerger a9ea7e81c6 - Fix issue with uncaught exceptions in unicode mode 2006-03-03 21:58:56 +00:00
Marcus Boerger 7bb0ca9ce6 - Fix SEGV with AppendIterator when base class constructor was not called
- Generic check to prevent double call to constructors of SPL iterators
2006-03-03 21:35:16 +00:00
Michael Wallner 73ed69f60d - version agnosticism (PECL/HEAD) 2006-03-03 20:44:05 +00:00
Yasuo Ohgaki 4cf8787936 remove obsolete check 2006-03-03 20:41:52 +00:00
Rob Richards 206e50fc60 update dom iterator get key function for engine iterator changes
fix crashes using notations and entity decls
add test
2006-03-03 20:13:12 +00:00
Marcus Boerger 4690c282a0 - Add new tests 2006-03-03 18:07:24 +00:00
Dmitry Stogov dec6f749d9 Regenerated 2006-03-03 16:47:55 +00:00
Edin Kadribasic 75287c2261 MFB: Sync with source distro, enable hash by default 2006-03-03 14:35:29 +00:00
Dmitry Stogov 2a2050d4e3 Added support for "continue" and "break" operators with labels. Each loop or switch statement can be marked by label and then it is possible to write "break <label>" instead of "break <number>". 2006-03-03 13:09:13 +00:00
Dmitry Stogov bfe01c2c17 Fixed incorrect backtrace type ("::" instead of "->") for __set()/__get() 2006-03-03 12:06:44 +00:00
Dmitry Stogov 43621bdc7a Fixed crash 2006-03-03 10:28:58 +00:00
Dmitry Stogov 62de2d7366 Remove "called at [(null):0]" from debug backtrace 2006-03-03 10:09:35 +00:00
Johannes Schlüter 1ed7db0e3b - Fix typo 2006-03-03 09:56:47 +00:00
Dmitry Stogov 1facee1b94 Fixed bug #36575 (SOAP: Incorrect complex type instantiation with hierarchies) 2006-03-03 09:20:51 +00:00
Dmitry Stogov b86007f0e1 ZTS fix 2006-03-03 08:50:25 +00:00
Derick Rethans 0ae66c021d - MF51: Fixed bug #36599 (DATE_W3C format constant incorrect) 2006-03-03 07:54:36 +00:00
37a5ce2d51 ChangeLog update 2006-03-03 06:31:48 +00:00
Andrei Zmievski c5f6efe367 Fix ucwords() to use full case mapping.
# Note that this is different from i18n_strtotitle() which uses
# locale-aware word break iterator. The difference is seen here:
#
# $a = "pouvez-vous";
# var_dump(ucwords($a));
# var_dump(i18n_strtotitle($a));
#
# Outputs:
#
# unicode(11) "Pouvez-vous"
# unicode(11) "Pouvez-Vous"
#
2006-03-02 23:12:33 +00:00
Marcus Boerger c9f49d277b - Store min/max timestamp of entries while building manifest and use max
value for a/c/m-time of dirirectory stats.
2006-03-02 22:44:39 +00:00
Andrei Zmievski 20301a153f Should use word break iteration instead of title, as title one has been
deprecated since Unicode 3.2>
2006-03-02 20:40:45 +00:00
Andrei Zmievski 1751241203 - Update protos for Unicode-upgraded functions
- Also fix ucfirst() to use full case mapping, so that ß (sharp s)
  maps to 'SS' for example
2006-03-02 20:37:07 +00:00
Dmitry Stogov 63116203d7 Fixed bug #36388 (ext/soap crashes when throwing exception and session persistence). (David) 2006-03-02 14:08:04 +00:00
Dmitry Stogov c366cc6d1a Nuke int32_t (everywhere except streams layer) and signed/unsigned warnings 2006-03-02 13:12:45 +00:00
8f567a5abb ChangeLog update 2006-03-02 06:31:46 +00:00
Marcus Boerger cd35eae1aa - Use object handler get in the same way as the rest of the engine does 2006-03-02 00:40:19 +00:00
Yasuo Ohgaki 52fe090ef0 add safe_mode num of parameter check 2006-03-02 00:34:28 +00:00
Ilia Alshanetsky c20dbeb121 MFB51: Remove no longer needed check (checked at a higher level now). 2006-03-01 18:37:25 +00:00
Marcus Boerger f1d02a87aa - Fix test 2006-03-01 17:20:28 +00:00
Dmitry Stogov 6f7619cf6f Unicode support: zstr union 2006-03-01 16:27:47 +00:00
Marcus Boerger 9158218d3a - Must use return as in 5.1 after recursion 2006-03-01 16:18:35 +00:00
Marcus Boerger bf086dff71 - Fix string conversion issues 2006-03-01 16:15:40 +00:00
Marcus Boerger a3741cf6bc - Constants need to be updated too (when updating class constants) 2006-03-01 16:15:15 +00:00
Marcus Boerger 23a8100309 - Fix warning 2006-03-01 16:14:37 +00:00
Rob Richards 96cb8329e5 nuke tests for libxml2 version - will always be > 2.6.0 2006-03-01 15:36:34 +00:00
Rob Richards 06a4265712 64-bit fixes - ("make test" now works again on these platforms) 2006-03-01 11:19:35 +00:00
3c01a9f641 ChangeLog update 2006-03-01 06:31:45 +00:00
Dmitry Stogov 3413d5df40 Fixed compilation on FreeBSD with gcc-3.2 2006-02-28 18:34:58 +00:00
Marcus Boerger 4fb5bc4b6e - Make Derick happy for the moment 2006-02-28 18:26:24 +00:00
Marcus Boerger 56ec57c614 - If (SEEK_CUR,0) means an illegal seek we return -1 to denote the error 2006-02-28 18:00:03 +00:00
Ilia Alshanetsky d31641e2d8 Parsers for previous patch 2006-02-28 14:46:29 +00:00
Ilia Alshanetsky 1a3bb9f4bd MFB51: Fixed bug #36459 (Incorrect adding PHPSESSID to links, which
contains \r\n).
2006-02-28 14:45:52 +00:00
Marcus Boerger 40a610887d - Need to set eof flag when inner stream has eof condition 2006-02-28 14:44:23 +00:00
Marcus Boerger 47a1a84ea5 - Fix the fix 2006-02-28 13:07:19 +00:00
Marcus Boerger 5ea9499ca4 - Fix dependency checks 2006-02-28 12:25:43 +00:00
Marcus Boerger 6531669e4e - Cleanup 2006-02-28 12:06:54 +00:00
232eace5c8 ChangeLog update 2006-02-28 06:31:47 +00:00
Marcus Boerger 946219de15 - Fix reflection info 2006-02-28 01:57:00 +00:00
Marcus Boerger ce2b0345fb - This dtor is actually always needed 2006-02-28 01:45:28 +00:00
Marcus Boerger a3fcdf4f08 - Add OO interface to handling phar archieves and entries
- Add support for HEAD
- Cleanup
2006-02-28 01:36:30 +00:00
Marcus Boerger 1c0d546bd4 - Fix issues withhandling of derived info classes as entries 2006-02-27 22:31:07 +00:00
Derick Rethans 2068a3bea5 - Fixed bug #36510 (strtotime string with tabs - changed behaviour). 2006-02-27 19:39:21 +00:00
Marcus Boerger 5a42b4086b - Extend struct to allow inherited c classes hookk their own info there 2006-02-27 18:15:29 +00:00
Marcus Boerger 10a5901abf - Fix count/foreach interaction 2006-02-27 13:32:25 +00:00
Marcus Boerger d8b7f1dea0 - MFB 2006-02-27 11:55:23 +00:00
Johannes Schlüter 5bc5d507c2 - Add .cvsignore 2006-02-27 11:37:02 +00:00
72345090e7 ChangeLog update 2006-02-27 06:32:01 +00:00
Ilia Alshanetsky 736a05f959 MFB51: Revert previous fix to allow for a more comprehensive patch from Derick. 2006-02-26 22:15:22 +00:00
Ilia Alshanetsky 341113bdb2 Fixed file 2006-02-26 17:07:33 +00:00
Ilia Alshanetsky 4c722c519f MFB51: Fixed bug #36510 (strtotime() fails to parse date strings with tabs). 2006-02-26 17:07:17 +00:00
Marcus Boerger 3dd6bb16aa - Fix test 2006-02-26 16:40:01 +00:00
Marcus Boerger 30806dbc2b - Missing conversion 2006-02-26 16:12:21 +00:00
Marcus Boerger 1dd351d649 - Use get_property_ptr_ptr handler to prevent SEGV as in bug #35785
# Issue not completley solved though
2006-02-26 15:48:28 +00:00
Marcus Boerger 24d83ebd0f - Add another write case 2006-02-26 13:37:54 +00:00
Marcus Boerger 75b3d578d3 - Add unicode results 2006-02-26 12:26:31 +00:00
Marcus Boerger ebef7961a3 - Unicode support 2006-02-26 12:00:39 +00:00
Dmitry Stogov e3b7f3fd0d Unicode support: MS Visual C compatibility 2006-02-26 11:57:14 +00:00
Dmitry Stogov 25c8f09752 Unicode support 2006-02-26 07:23:33 +00:00
d952bfcc6a ChangeLog update 2006-02-26 06:31:46 +00:00
Marcus Boerger d1f3c48041 - Added ability to add elements by index if such elements already exist
- Added SimpleXMLElement::getName() to access the node name
# This allows to retrieve the name of the root element which is otherwise
# only available by converting the sxe object into a dom object.
2006-02-25 23:41:06 +00:00
Rasmus Lerdorf f16846e685 Binary safety patch from Moriyoshi 2006-02-25 21:30:32 +00:00
Marcus Boerger 257a95f69f - deprecated belongs in the flag area, not in the keyword area 2006-02-25 18:05:16 +00:00
Marcus Boerger 44b0637bcd - Deprecation severity shall be E_STRICT (as commented by ilia)
# Actually this conforms with other messages
2006-02-25 17:43:12 +00:00
8299b9ea6f ChangeLog update 2006-02-25 06:31:48 +00:00
Johannes Schlüter 0f88ee56d0 - Fix description 2006-02-24 23:25:39 +00:00
Johannes Schlüter e0053b2536 - We need %v here 2006-02-24 23:10:53 +00:00
Johannes Schlüter cea8dd887b - Fix #29986 (Class constants won't work with predefined constants when
using ReflectionClass)
2006-02-24 23:08:36 +00:00
Derick Rethans 16920d54c7 - Fixed issue with iconv_mime_decode where the "encoding" would only allow
upper case specifiers.
#- See RFC 2047, section 2.
2006-02-24 16:04:55 +00:00
Marcus Boerger e610f5959f - s/FETCH_PROPSLATE/FETCH_PROPS_LATE/ as per IRC discussion 2006-02-24 16:04:13 +00:00
Marcus Boerger 252ad86917 - Add FETCH_PROPSLATE: fetch props after calling ctor
# Fixes bug #36428
2006-02-24 15:56:03 +00:00
Marcus Boerger b13105ee4c - Add ability to add new nodes via properties 2006-02-24 15:49:13 +00:00
Johannes Schlüter 4ad7d57a97 - deprecated not static 2006-02-24 13:44:46 +00:00
Marcus Boerger 90c428a6a0 - Fix warning 2006-02-24 13:37:20 +00:00
Marcus Boerger 9845606cef - Add deprecation function/function alias macros 2006-02-24 13:30:21 +00:00
Marcus Boerger 8a4c8e8d47 - Add macros to mark functions/alias functions as deprecated
(mentioned by Sara and obviously neccessary)
- Fix function/method flag error detection logic
2006-02-24 13:29:54 +00:00
Marcus Boerger 7dfafcbb84 - Functions can be deprecated too
- Add missing constant
2006-02-24 13:13:55 +00:00
Michael Wallner 92f97ce76a - MF51: fix crash in DOMImplementation::createDocumentType("name:") 2006-02-24 10:24:43 +00:00
Derick Rethans 945cba102a - Added support for exif date format
- Fixed bug #36396 (strtotime() fails to parse dates in dd-mm-yyyy format).
2006-02-24 09:43:30 +00:00
fea97047e9 ChangeLog update 2006-02-24 06:31:51 +00:00
Marcus Boerger bb94742080 - Disable mbregex support until someone finds a way to reenable the
required engine stuff
- Fix build
2006-02-23 20:15:36 +00:00
Ilia Alshanetsky a9b90524d5 MFB51: Fixed bug #35900 (stream_select() should warning when tv_sec is
negative).
2006-02-23 18:28:37 +00:00
Andrei Zmievski 7f5c395781 *** empty log message *** 2006-02-23 18:06:36 +00:00
Andrei Zmievski ea1c076155 Fix a bug where the default value for function argument could be an
array with array (!) keys.
2006-02-23 18:06:04 +00:00
9ca3aa59e6 ChangeLog update 2006-02-23 06:32:01 +00:00
Brian France 2eb346cce0 fixed bug #35594 for all systems. "optind = 0" doesn't work on FreeBSD, but "optind = 1" seems to work on all systems (bug #36091) 2006-02-23 03:48:30 +00:00
Ilia Alshanetsky 71a4f39d7b MFB51: Added test for bug #36434 2006-02-22 15:45:45 +00:00
Dmitry Stogov 5237a40717 Unicode support: fixed serialization of "Serializable" 2006-02-22 14:20:54 +00:00
Dmitry Stogov ba8069e77e Unicode support: fixed serealization of "Serializable" and "IncompleteClass" 2006-02-22 13:47:40 +00:00
Dmitry Stogov 84f0adff86 Unicode support: fixed GLOBALS protection 2006-02-22 13:10:32 +00:00
Dmitry Stogov b029407078 fixed test file 2006-02-22 12:24:02 +00:00
Dmitry Stogov 36002f16c3 Fixed test file 2006-02-22 12:22:07 +00:00
Dmitry Stogov 0342d9f519 Unicode support 2006-02-22 12:02:44 +00:00
Dmitry Stogov 9da17f4fed Fixed test file 2006-02-22 11:44:37 +00:00
Dmitry Stogov 3d0da6184a Unicode support: fixed __toString() in user defined exceptions 2006-02-22 11:38:32 +00:00
Dmitry Stogov 26ddcdb55d Unicode support 2006-02-22 11:37:11 +00:00
Dmitry Stogov cbd40d1e5d Unicode support: fixed check for class type hint 2006-02-22 10:56:52 +00:00
Dmitry Stogov 1f4d9fa4a7 Unicode support: fixed internal constants usage and get_defined_constants() 2006-02-22 10:02:15 +00:00
Dmitry Stogov 28737451f2 Unicode support: fixed check for direct call to __clone() 2006-02-22 09:03:26 +00:00
Dmitry Stogov 19ebeed0d8 Unicode support: fixed call_user_func(array($this, "self::foo"))
Made check for "self/parent" before calling __autoload()
2006-02-22 08:54:02 +00:00
Antony Dovgal 9fbd7efa09 fix ext/wddx build 2006-02-22 07:25:09 +00:00
9f8de03dad ChangeLog update 2006-02-22 06:31:55 +00:00
Marcus Boerger 54c4478a12 - 2006 now 2006-02-21 23:21:53 +00:00
Johannes Schlüter f0331d8c12 - Print deprecation info on reflection export 2006-02-21 21:42:54 +00:00
Sebastian Bergmann 50ccc82261 Fix whitespace. 2006-02-21 21:38:28 +00:00
Marcus Boerger de27da1c85 - More bodies 2006-02-21 21:22:39 +00:00
Marcus Boerger 0cf591a5f9 - Ensure non abstract methods have code
# This is very usefull once doxygen 1.4.7 comes out with my patch :-)
2006-02-21 21:19:34 +00:00
Johannes Schlüter 14e07c9ae2 - List --rf/--rc/--re only with enabled reflection 2006-02-21 21:14:36 +00:00
Johannes Schlüter 851e5109f6 - Fix build with readline-support 2006-02-21 21:04:19 +00:00
Sara Golemon 3b7d690912 Add md2 algo support 2006-02-21 20:37:12 +00:00
Sara Golemon 6ca81d1347 Keep history in package.xml file.. 2006-02-21 20:35:38 +00:00
Sebastian Bergmann 865eaa67b5 Add ReflectionMethod::isDeprecated(). Patch reviewed by Marcus Börger <helly@php.net>. 2006-02-21 20:23:10 +00:00
Dmitry Stogov 0f1209ab3d Portable unicode string API:
- use the same type (int) for zval.value.usr.len and zval.value.str.len
  - use union "zstr" as char*/UChar* mixture instead of void*
  - Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
  - nuke int32_t from ZE (not finisned)
2006-02-21 20:12:43 +00:00
Ilia Alshanetsky fca6eecbe9 MFB51: Fixed bug #36458 (sleep() accepts negative values). 2006-02-21 15:32:34 +00:00
Marcus Boerger 53f2048fd1 - Its 2006 already 2006-02-21 09:47:09 +00:00
Marcus Boerger 43e9def563 - Update 2006-02-21 09:45:38 +00:00
Marcus Boerger 416f3ef160 - Ansi compliance issue found by rob 2006-02-21 09:12:32 +00:00
Dmitry Stogov 2e5d0a3a9d WS 2006-02-21 08:00:39 +00:00
7bc8d5227d ChangeLog update 2006-02-21 06:31:51 +00:00
Marcus Boerger 76df257b15 - Simplify by remove redundant checks 2006-02-21 00:55:38 +00:00
Marcus Boerger 86f70099d0 - Fix text expectations 2006-02-21 00:49:51 +00:00
Marcus Boerger 37f033e0f7 - Fix mem issue in unicode mode (seems to be a problem in different api behavior) 2006-02-21 00:43:33 +00:00
Marcus Boerger 3ac5297d8b - Add ReflectionProperty::getDefaultValue() 2006-02-21 00:37:39 +00:00
Johannes Schlüter 6e9026d6c8 - Rename reflection constants to fix parser conflicts 2006-02-20 23:31:29 +00:00
Marcus Boerger fc21f78226 - Show dependencies in dump's too 2006-02-20 23:26:39 +00:00
Marcus Boerger 0184485812 - Add ReflectionExtension::getDependencies() to retrieve all dependencies
of an extension as associative array "ModuleNeme" > "Relation"
2006-02-20 23:01:27 +00:00
Marcus Boerger b56190d25b - Add some arginfo 2006-02-20 22:23:27 +00:00
Marcus Boerger 45dd9a10b8 - WS 2006-02-20 22:21:24 +00:00
Marcus Boerger f4fd040d73 - Include examples in documentation
- Provide a better place for the examples
2006-02-20 22:19:04 +00:00
Marcus Boerger a27e272670 - Synch zend_call_function() with VM function call helper 2006-02-20 20:03:36 +00:00
Marcus Boerger 3b3e006e33 - Add deprecation flag and message 2006-02-20 20:00:46 +00:00
Dmitry Stogov b424a32610 Preparation for portable string API (use macroses to access zval). 2006-02-20 19:03:43 +00:00
Dmitry Stogov 6e6a84129c Incorrect usage of Z_TYPE() macro 2006-02-20 17:14:18 +00:00
Ilia Alshanetsky 3fa4bf210f MFB51: Fixed bug #36434 (Improper resolution of declaring class name of an
inherited property).
2006-02-20 15:28:15 +00:00
Dmitry Stogov 9528c37906 Fixed SIGSEGV in unicode mode 2006-02-20 11:15:02 +00:00
Dmitry Stogov bb0f2051c4 Fixed wrong prototype and error message 2006-02-20 10:50:58 +00:00
Dmitry Stogov 332e557ac2 Fixed start inex in iterator 2006-02-20 10:29:35 +00:00
Dmitry Stogov 5e0b8cdb94 Fixed test files 2006-02-20 09:45:00 +00:00
Dmitry Stogov 5fb11bc86e Fixed memory corruption 2006-02-20 09:38:47 +00:00
Dmitry Stogov 56b0eb7248 Fixed test file 2006-02-20 08:39:38 +00:00
9926de1840 ChangeLog update 2006-02-20 06:31:57 +00:00
Michael Wallner e15933f6ef - changelog 2006-02-19 23:53:06 +00:00
Michael Wallner cc6ac87145 MF51: fix tiger on big endian platforms 2006-02-19 23:43:23 +00:00
Ilia Alshanetsky a605fd39c4 More safe_mode nuking 2006-02-19 18:20:51 +00:00
Ilia Alshanetsky c6ba5765be Nuke safe_mode 2006-02-19 18:19:33 +00:00
Marcus Boerger 052017e78b - Add new function 2006-02-19 12:18:28 +00:00
Marcus Boerger ffd43034b0 - Interfaces may have static methods to enforce their existance in
implementing classes
2006-02-19 11:55:11 +00:00
Marcus Boerger 89f57ea951 - Static functions cannot be abstract 2006-02-19 11:42:30 +00:00
Marcus Boerger 5a4cfaf96a - Fix method flag handling 2006-02-19 10:39:48 +00:00
99b4f52353 ChangeLog update 2006-02-19 06:31:52 +00:00
Andi Gutmans c28cff57d1 - Couple of compile fixes. 2006-02-19 05:05:42 +00:00
Andi Gutmans 1efe984d08 - Get rid of using ENFORCE_SAFE_MODE. 2006-02-19 04:29:42 +00:00
Andi Gutmans 8f126f33ac - Fix according to Sara's reply 2006-02-19 03:41:25 +00:00
Andi Gutmans ac1e7362b3 - More safe_mode nuking 2006-02-19 03:07:39 +00:00
Andi Gutmans d3f7bee047 Nuke php_check_safe_mode_include_dir 2006-02-19 01:19:37 +00:00
Andi Gutmans e3b1e8c5dd - Some more safe_mode nuking 2006-02-19 01:10:13 +00:00
Andi Gutmans e94e25e621 Start nuking safe_mode. Still a lot of work to do... 2006-02-19 00:55:22 +00:00
Marcus Boerger d73533a9d4 - There is no %v in sprintf 2006-02-18 19:33:26 +00:00
Marcus Boerger e936de9d1b - Fix naming inconsistency reported by sebastian 2006-02-18 18:05:46 +00:00
Marcus Boerger bc994b981f - Fix integrated iterator index 2006-02-18 17:37:54 +00:00
Marcus Boerger b60c8056b3 - Fix possible memory corruption/memleak issue with foreach and iterators
- Fix warnings
2006-02-18 17:36:41 +00:00
Marcus Boerger bb924b320f - Add test 2006-02-18 17:13:39 +00:00
Marcus Boerger b2565bded0 - Add new test 2006-02-18 16:58:50 +00:00
Marcus Boerger c2e1da6ecc - Initiai fix to Bug #36436 DBA problem with Berkeley DB4 2006-02-18 16:52:30 +00:00
Michael Wallner 379f6cdc2a MF51: fix misleading proto (confused in and out charset) 2006-02-18 16:04:02 +00:00
529db54af6 ChangeLog update 2006-02-18 06:31:45 +00:00
Andrei Zmievski 31f74bc7a5 NULL byte should be escaped to \000 instead of \0 in case it is followed
by an octal digit. (found by Jeffrey Friedl)
2006-02-17 21:17:44 +00:00
Marcus Boerger f81239a2b3 - Change to offsetof as suggested by Clayton 2006-02-17 08:24:56 +00:00
ebdcf22445 ChangeLog update 2006-02-17 06:31:40 +00:00
Antony Dovgal 29d3ee55d5 fix #36420 (segfault when access result->num_rows after calling result->close()) 2006-02-16 16:08:52 +00:00
Ilia Alshanetsky 2b24ddb6a3 MFB51: Fixed bug #36420 (segfault when access result->num_rows after calling
result->close())
2006-02-16 16:05:02 +00:00
Antony Dovgal 77b7b56ab0 improve usleep(): use new param parsing API, check for negative values
(related to #36410)
2006-02-16 10:13:23 +00:00
4323be1cd1 ChangeLog update 2006-02-16 06:31:44 +00:00
Antony Dovgal 988b552742 fix typo 2006-02-16 06:29:32 +00:00
Marcus Boerger d87927c388 - Fix iterator handling (how did the fix after api change get lost here?)
- In php 5 we do not want to return &new
2006-02-16 01:12:51 +00:00
Marcus Boerger 45820dd7ea - Little speedup + first test 2006-02-15 21:34:21 +00:00
Antony Dovgal cc318c4f4f fix #36403 (oci_execute() no longer supports OCI_DESCRIBE_ONLY) 2006-02-15 20:43:37 +00:00
Antony Dovgal 46882d6782 MF51: fix memory leak and possible invalid reads 2006-02-15 11:16:30 +00:00
Antony Dovgal eb49217161 fix #36400 (Custom 5xx error does not return correct HTTP response error code) 2006-02-15 11:07:33 +00:00
aa4cfd6d2f ChangeLog update 2006-02-15 06:31:54 +00:00
Antony Dovgal 09b16f0b58 MF51:
fix leak in zend_strtod() on big doubles
add new test
2006-02-14 22:11:36 +00:00
Ilia Alshanetsky d60eeb0ba8 MFB51: Fixed bug #36345 (PDO/MySQL problem loading BLOB over 1MB). 2006-02-14 14:26:27 +00:00
Antony Dovgal 2c24249ccc add test for bug #36337 2006-02-14 09:46:45 +00:00
7ab93bee97 ChangeLog update 2006-02-14 06:31:50 +00:00
Marcus Boerger 4e172c21a5 - Change unicode_enabled() to unicode_semantics() per Andrei's suggestion 2006-02-13 19:55:17 +00:00
Dmitry Stogov 6da04e6292 pval -> zval (Steph) 2006-02-13 16:35:36 +00:00
Dmitry Stogov ece3854bf6 Typo (misplaced #endif) 2006-02-13 15:35:52 +00:00
Ilia Alshanetsky eaacf0bb2f MFB51: Fixed bug #36337 (ReflectionProperty fails to return correct visibility). 2006-02-13 14:49:54 +00:00
Dmitry Stogov b238135d53 Fixed bug #36205 (Memory leaks on duplicate cookies) 2006-02-13 12:18:31 +00:00
Dmitry Stogov 09ca61c125 Made server wide switch for unicode on/off (according to PDM). 2006-02-13 10:23:59 +00:00
Marcus Boerger 5a4b6845dc - Fix ini unicode_semantics (patch by Brion Vibber) 2006-02-13 09:23:13 +00:00
Marcus Boerger 83f1271312 - Add unicode_enabled() to check whether unicode_semantics is on 2006-02-13 09:20:19 +00:00
7e09f0686d ChangeLog update 2006-02-13 06:31:40 +00:00
Marcus Boerger 72c3fc6172 - Reinsert line deleted per accident 2006-02-12 18:46:07 +00:00
Marcus Boerger 25db84f1d1 - Fix tests 2006-02-12 18:43:41 +00:00
Marcus Boerger 887d1202f4 - No more old parameter api usage 2006-02-12 16:43:30 +00:00
Ilia Alshanetsky 2fb6ce838b MFB51: Fixed bug #36351 (parse_url() does not parse numeric paths properly). 2006-02-12 16:40:34 +00:00
c40cab9084 ChangeLog update 2006-02-12 06:31:40 +00:00
0c5c764d59 ChangeLog update 2006-02-11 06:31:41 +00:00
Rui Hirokawa 0453023c3e added additional info about mail encoding to mb_get_info(). (made by Jokagi) 2006-02-11 02:25:29 +00:00
Andrei Zmievski 5418ae7976 Implement character/word/line/sentence iterators and the reverse
counterparts.
2006-02-11 00:16:43 +00:00
Antony Dovgal 50bbedcec3 fix #36359 (splFileObject::fwrite() doesn't write when no data length specified) 2006-02-10 16:56:56 +00:00
Rasmus Lerdorf a5883cc89c (Missing patch from the PHP 4 tree that got lost in the shuffle)
See: http://cvs.php.net/viewcvs.cgi/php-src/ext/session/session.c?r1=1.336.2.39&r2=1.336.2.40
- fix logic. if the client already sent us the cookie, we don't
  need to send it again.  if the id has been changed, we need to
  update the client side.
2006-02-10 07:41:59 +00:00
277789fb30 ChangeLog update 2006-02-10 06:31:48 +00:00
Andrei Zmievski 086dec2719 Make ReverseTextIterator a separate class. 2006-02-10 00:23:29 +00:00
Andrei Zmievski d4307e4494 We already have default collator available. 2006-02-09 23:23:02 +00:00
Pierre Joye a5d44ed100 - fix order 2006-02-09 22:27:11 +00:00
Ilia Alshanetsky 8af39b1461 MFB51: Added test for bug #36308 2006-02-09 18:18:42 +00:00
Pierre Joye 154bb7c6a7 - MFB:
- revert last fix
- ensure that we are in 32bit
- do not try to compare the decimal values but hex, php does not have
  unsigned integer
2006-02-09 15:48:18 +00:00
0916b5c607 ChangeLog update 2006-02-09 06:31:47 +00:00
Ilia Alshanetsky 53ae13aa91 MFB51: Fixed bug #36334 (Added missing documentation about realpath cache INI
settings).
2006-02-08 23:47:01 +00:00
Johannes Schlüter c8c6dfc436 - Fix charset 2006-02-08 21:07:41 +00:00
Johannes Schlüter c416b927f0 - It's 2006 and PHP 6 2006-02-08 21:03:00 +00:00
Antony Dovgal 73610b76a9 move function definition from .h to .c, where it should be 2006-02-08 20:49:40 +00:00
Andrei Zmievski d8db0d6a15 unicode_semantics cannot be set on per-request basis 2006-02-08 18:52:13 +00:00
72803507f1 ChangeLog update 2006-02-08 06:31:47 +00:00
Ilia Alshanetsky 0e61422e6c MFB51: Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect
extended class commentary).
2006-02-08 00:37:31 +00:00
Andrei Zmievski dfd6f3e3b8 Reverse iteration for combining sequences. 2006-02-08 00:16:50 +00:00
Andrei Zmievski 1a6b00fc01 Implement reverse iteration for codeunits and codepoints. Combining
sequences are next.

# This is ugly, though.
# foreach (new TextIterator($a, # TextIterator::CODE_POINT|TextIterator::REVERSE) as $k => $c) {
#    var_dump("$k: $c");
# }
# Any suggestions?
2006-02-07 20:01:28 +00:00
Andrei Zmievski f0a9b2d51b MFB. 2006-02-07 17:54:52 +00:00
Antony Dovgal 087ee7d567 don't use deprecated call-time by reference 2006-02-07 14:11:01 +00:00
Dmitry Stogov 018fc87344 Compression level shouldn't be greatr then 9. 2006-02-07 12:57:43 +00:00
Dmitry Stogov a13e2c5784 Fixed bug #36083 (SoapClient waits for responses on one-way operations) 2006-02-07 12:49:30 +00:00
Rob Richards 8e4671ba01 modify get_iterator calls for engine change
fix mem leak with iterators
fix object casting for edge case
2006-02-07 11:52:45 +00:00
Rob Richards e1e5c3f3b2 modify get_iterator call for engine change 2006-02-07 11:48:37 +00:00
d2148ac8e5 ChangeLog update 2006-02-07 06:31:46 +00:00
Andrei Zmievski ef4c06c083 Check for get_properties handler before using it. (Patch from
rrichards@ctindustries.net).
2006-02-07 00:32:16 +00:00
Pierre Joye 6a158cf60d - MFB: #36306, crc32() result differs on 32-bit and 64-bit platforms 2006-02-07 00:24:56 +00:00
Andrei Zmievski f71a7cb1f4 Implement combining sequences support in TextIterator. 2006-02-07 00:13:54 +00:00
Andrei Zmievski 071835ea59 - Fix up a bunch of stuff.
- Register TextIterator type constants.

# Not sure if I like them as class constants. Cleaner, but also longer
# to type.
2006-02-06 22:58:10 +00:00
Antony Dovgal c888a7f8af init variables (continue making GCC happy) 2006-02-06 20:36:51 +00:00
Michael Wallner 43550c7f4e - fix ReflectionClass::getInterfaces() 2006-02-06 20:11:56 +00:00
Andrei Zmievski 9e07b59f9c Some TODO items. 2006-02-06 18:18:41 +00:00
Andrei Zmievski 1e9fa8c10a Make TextIterator fast again, now that we don't have to worry about
references.
2006-02-06 17:42:28 +00:00
Ilia Alshanetsky 8e7b44c7f3 MFB51: Fixed test to work when TCP/IP access to MySQL is disabled or test
server is on a remote machine.
2006-02-06 14:25:28 +00:00
Dmitry Stogov ba96a4032c typo 2006-02-06 13:17:20 +00:00
Dmitry Stogov 47c90c571f Fixed bug #36303 (foreach on error_zval produces segfault) 2006-02-06 11:46:12 +00:00
Antony Dovgal 96543b01ad initialize variables and reduce the number of warnings 2006-02-06 11:28:20 +00:00
Antony Dovgal 01937aa77f initialize variable and make gcc happy 2006-02-06 11:00:51 +00:00
Antony Dovgal d163171c17 MF51: initialize variables 2006-02-06 10:54:49 +00:00
Antony Dovgal eadb1127fb MF51: initialize to_r
remove needless semicolon
2006-02-06 10:41:42 +00:00
Dmitry Stogov 529a315637 Fixed bug #36283 (SOAPClient Compression Broken). 2006-02-06 10:16:15 +00:00
98c15023eb ChangeLog update 2006-02-06 06:31:46 +00:00
Marcus Boerger 8d0a71a30e - Finally enable optimization 2006-02-06 02:07:08 +00:00
Marcus Boerger 50b243babb - Missed one to be public 2006-02-06 01:58:45 +00:00
Marcus Boerger ee37c70736 - WS
- current() doesn't return anything
2006-02-06 01:49:13 +00:00
Marcus Boerger 0d1594692d - Simplify 2006-02-06 01:42:37 +00:00
Marcus Boerger 1630242347 - The next get_iterator() call is supposed to do the check itself 2006-02-06 01:40:42 +00:00
Marcus Boerger 42cc8c1ba3 - Simplify 2006-02-06 01:30:26 +00:00
Marcus Boerger 9b8b9632cd - Add new test 2006-02-06 01:28:08 +00:00
Marcus Boerger 1ea1975817 - Synch c-level iterator and iterator methods
- Fix iterator checks
# A nice discussion with Andrei made me remember this issue
2006-02-06 00:58:11 +00:00
Marcus Boerger dcf5862221 - Make all default implementations public 2006-02-06 00:49:33 +00:00
Marcus Boerger 2fba438e06 - Need one more thing exported 2006-02-05 23:42:53 +00:00
Marcus Boerger c67d8b2152 - Iterator API was changed 2006-02-05 23:31:47 +00:00
Marcus Boerger ea00c7597f - Add missing .cvsignore 2006-02-05 23:29:34 +00:00
Marcus Boerger c8d78028b5 - Disallow foreach($v as &$ref) when $v is an object that implements
interface Iterator. The signature of Iterator::current() doesn't allow
  that. Maybe ppl also want IteratorByReference or similar. Unfortunatley
  this comes with an API change but there is no easier way.
2006-02-05 23:26:55 +00:00
Andrei Zmievski a6e8746bbe Needs to use .ustr. portion of the union for IS_UNICODE. 2006-02-05 20:54:11 +00:00
Antony Dovgal bd8a167442 fix #36295 (typo in SplFileObject::flock() parameter name) 2006-02-05 19:22:13 +00:00
Marcus Boerger 44baf1f3ec - Initialize variable 2006-02-05 16:25:46 +00:00
Pierre Joye 9c7d105c9b - MFB: ini entry for gd.jpeg_ignore_warning 2006-02-05 16:05:46 +00:00
Pierre Joye d78e8d749c - test for jpeg support 2006-02-05 15:53:02 +00:00
Marcus Boerger 6bfa4b19e1 - Fix comparision where one argument is an object 2006-02-05 13:12:20 +00:00
Marcus Boerger 19117cf9c9 - Fix bug #36287 2006-02-05 11:43:28 +00:00
5f1572d8e4 ChangeLog update 2006-02-05 06:31:42 +00:00
Frank M. Kromann 322be18f4d MFB51 Fix build on win32 2006-02-04 23:58:22 +00:00
Derick Rethans 8440dc27db - Test commit to see if mail works. 2006-02-04 15:36:35 +00:00
Pierre Joye ccaa5eaab2 - remove libjpeg direct output and wrap them in php warnings 2006-02-04 14:56:58 +00:00
Rob Richards 1e2a3e8b7c MFB51: Fixed bug #34272 (empty array onto COM object blows up)
fix mem leaks
WS fixes
add test
2006-02-04 10:59:18 +00:00
b352adf0c5 ChangeLog update 2006-02-04 06:31:55 +00:00
Andrei Zmievski 589d28e429 Implement Traversable instead of Iterator. 2006-02-04 00:41:42 +00:00
Andrei Zmievski fe5aac2f41 Add code unit ops. 2006-02-04 00:35:37 +00:00
Andrei Zmievski 4a3bf22b81 Abstract the iterator interface so that we can add new types. 2006-02-04 00:23:52 +00:00
Andrei Zmievski 94e3087be7 Gah. In order to avoid memory corruption when using references in
foreach() this code is necessary. But it makes iterator 6x slower. We
should keep thinking about how to optimize it.
2006-02-03 23:50:42 +00:00
Andrei Zmievski aa7ed0788c Guard against assign-by-ref. 2006-02-03 21:53:05 +00:00
Dmitry Stogov 47e607a93a Fixed bug #36158 (SIGTERM is not handled correctly when running as a FastCGI server) 2006-02-03 16:30:27 +00:00
Antony Dovgal 760d8cda46 MF51: fix #36010 (Segfault when re-creating and re-executing statements with bound parameters) 2006-02-03 14:48:24 +00:00
Antony Dovgal a1640d5ef9 duplicate string when needed 2006-02-03 13:24:26 +00:00
Dmitry Stogov 558e883302 Fixed bug #36268 (Object destructors called even after fatal errors) 2006-02-03 09:33:31 +00:00
22a5e72322 ChangeLog update 2006-02-03 06:31:41 +00:00
Andrei Zmievski 682ec6e25e Rewrite to use C-level iterators for performance. Also, cache the string
in the iterator object for immutability.
2006-02-03 00:09:19 +00:00
Marcus Boerger aa55f8731a - Fix ArrayIterator::seek() edge cases 2006-02-02 22:11:49 +00:00
Antony Dovgal 098a1c98ff MF51: nuke unused variable 2006-02-02 21:43:40 +00:00
Pierre Joye bc436e2fd3 - add a weak/tolerant mode to the jpeg loader
* new INI option to enable it (off by default)
   gd.jpeg_ignore_warning (0|1)
 * The default mode is the current behavior
 * if the warning mode is enabled, the image may be loaded succesfully
   but the jpeg warnings will be raise as notices
2006-02-02 20:30:54 +00:00
Marcus Boerger 9f628d10f6 - Fix oversight 2006-02-02 19:02:05 +00:00
Sara Golemon ff87d57268 Prevent bindport from being used uninitialized 2006-02-02 18:16:25 +00:00
Ilia Alshanetsky 555cfd0146 MFB51: Only use win32 directory separators on win32 or netware. 2006-02-02 15:10:23 +00:00
Antony Dovgal 2c508bc1f0 fix tests 2006-02-02 15:04:22 +00:00
Antony Dovgal d63e26191a fix win32 snapshots 2006-02-02 14:45:54 +00:00
Antony Dovgal c4daf2fffa add test for bug #36258 2006-02-02 13:57:04 +00:00
Antony Dovgal 6f1ccba730 add missing folding tags
nuke unnecessary semicolons
2006-02-02 12:40:07 +00:00
Antony Dovgal fc2f82751a MF51: fix #36258 (SplFileObject::getPath() may lead to segfault) 2006-02-02 12:20:26 +00:00
Dmitry Stogov edbb459290 Bug #36226 Inconsistent handling when passing potential arrays 2006-02-02 11:42:12 +00:00
Omar Kilani 690859c1fd Fix encoding of empty strings.
Add empty string value test case.
2006-02-02 10:54:32 +00:00
Dmitry Stogov ed3a54c657 AIX support 2006-02-02 10:00:09 +00:00
b7b5b9fe79 ChangeLog update 2006-02-02 06:31:46 +00:00
Sebastian Bergmann f3ddda4229 Fix Andrei. 2006-02-02 06:01:27 +00:00
Andrei Zmievski d887f2238b Remove debug message. 2006-02-02 00:05:21 +00:00
Andrei Zmievski 2b763aa305 Check for intern->text before destroying it. 2006-02-01 23:53:53 +00:00
Andrei Zmievski d4c929764a Proof-of-concept for TextIterator. Much more work to be done here. 2006-02-01 23:50:50 +00:00
Dmitry Stogov d4a61bb8de Fixed encoding of inhereted objects 2006-02-01 17:18:38 +00:00
Joe Orton af6dd5cb7e Fixed bug #36208 (symbol namespace conflicts using bundled gd). (Jakub Moc) 2006-02-01 13:10:04 +00:00
Antony Dovgal 8416426488 fix #36242 (Possible memory corruption in stream_select()) 2006-02-01 10:31:26 +00:00
Antony Dovgal d7393d2d02 fix build 2006-02-01 09:10:23 +00:00
Sebastian Bergmann b432cf277c MFB: Fix line endings. 2006-02-01 07:42:13 +00:00
d8f698e33a ChangeLog update 2006-02-01 06:31:40 +00:00
Zeev Suraski 8a2a69ad0f Fix possibility of a wrong element being deleted by zend_hash_del() 2006-02-01 01:05:17 +00:00
Derick Rethans 8a05386f7d - Implemented PECL req #6641: negative values for hexadecimal and octal numbers
are not supported.
2006-01-31 19:12:29 +00:00
Derick Rethans e3f84aafc8 - Fixed tests. 2006-01-31 19:09:07 +00:00
Derick Rethans d96c1d0895 - Fixed PECL bug #6639: uppercase hexadecimal digits are not supported. 2006-01-31 18:51:49 +00:00
Derick Rethans 6715bb38bd - Fixed bug #36224: date(DATE_ATOM) gives wrong results 2006-01-31 18:41:45 +00:00
Antony Dovgal 048c5843f4 merge from 5.1 forgotten patch 2006-01-31 18:41:38 +00:00
Antony Dovgal 617242e6fa fix test 2006-01-31 18:39:50 +00:00
Antony Dovgal 2697320c20 fix #36235 (ocicolumnname delivers empty results before a succesfull ocifetch) 2006-01-31 18:36:59 +00:00
Derick Rethans 87726add5f - Upgraded timezonedb to 2006a. 2006-01-31 18:07:24 +00:00
Ilia Alshanetsky c064a9e243 MFB51: Fixed bug #36222 (errorInfo in PDOException is always NULL). 2006-01-31 17:21:25 +00:00
Omar Kilani 7da29196d3 Add some documentation to the JSON extension. 2006-01-31 09:00:47 +00:00
Omar Kilani 73cead23a5 Add tests for JSON based on tests found on json.org:
http://www.crockford.com/JSON/JSON_checker/test/
2006-01-31 09:00:14 +00:00
Omar Kilani 94a140214c - Rewritten for better performance. 3-8x faster encodes, 2-4x faster decodes.
- No longer uses json-c, implements it's own JSON parser and encoder.
- JSON parser based on Douglas Crockford's JSON_checker.
2006-01-31 08:59:06 +00:00
Omar Kilani 933ce50838 Remove json_c. 2006-01-31 08:54:55 +00:00
Derick Rethans d54967b956 - Moved msession to PECL. 2006-01-31 08:13:31 +00:00
1a62352dac ChangeLog update 2006-01-31 06:31:44 +00:00
Mark L. Woodward 8b24460752 MSession now works with the new MCache server 2006-01-30 16:18:40 +00:00
cf0736cab6 ChangeLog update 2006-01-30 06:31:45 +00:00
Ilia Alshanetsky b90245d90a MFB51: Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of
rows affected by the operation).
2006-01-29 17:36:12 +00:00
Derick Rethans 3bed27f4a6 - An empty string is still a valid string, so there is no reason to return
NULL here.
2006-01-29 16:37:42 +00:00
ce3d04c1a0 ChangeLog update 2006-01-29 06:31:42 +00:00
Michael Wallner ec942cb2a6 MF51: use free() 2006-01-28 08:08:48 +00:00
5e9dd334f0 ChangeLog update 2006-01-28 06:31:42 +00:00
Frank M. Kromann 921498e38b MFB51 Export symbols that will allow building WDDX as shared object 2006-01-28 06:18:18 +00:00
Frank M. Kromann f9484965f2 MFB51 Add header so WDDX builds as shared 2006-01-28 06:17:09 +00:00
Pierre Joye d10b1290b2 - #36185 str_rot13(NULL) crash 2006-01-28 00:13:13 +00:00
Michael Wallner 64d4c588ad MF5_1: include png.h prior php.h 2006-01-27 20:48:42 +00:00
Michael Wallner ea5c551162 MF_5_1 2006-01-27 20:22:48 +00:00
Michael Wallner a04e63543d - add imap_savebody() 2006-01-27 19:44:40 +00:00
Pierre Joye 2901af230c - add PNG filter constants 2006-01-27 18:05:26 +00:00
451e86f59a ChangeLog update 2006-01-27 06:31:41 +00:00
Pierre Joye 64d07968de - add filter mode support for imagepng
imagepng("file", $comp_mode, $filter_mode);
  The filters are defined in the libpng docs for png_set_filter
  allow to divide the size of png images by more than 2. Constants
  will be added later

  BC kept, by default no filter are set

Fine to MFH? With the constants?
2006-01-27 01:59:26 +00:00
Ilia Alshanetsky b031ac3fe4 MFB51: Fixed bug #36148 (unpack("H*hex", $data) is adding an extra
character to the end of the string).
2006-01-26 15:48:15 +00:00
Michael Wallner 98ca921fb2 - fix bug #36152 problems with curl+ssl and pgsql+ssl in same PHP 2006-01-26 13:20:56 +00:00
Rob Richards 078ca4ffb2 MFB51: Fix bug #35954 (Fatal com_exception casting object) 2006-01-26 11:18:09 +00:00
2859158139 ChangeLog update 2006-01-26 06:31:41 +00:00
Rob Richards b8ded17f81 fix possible crash in textContent 2006-01-25 17:33:24 +00:00
Ilia Alshanetsky da2b91d1e1 MFB51: Properly rewrite queries where a bound parameter appears more then
once.
2006-01-25 16:35:46 +00:00
efae4837cf ChangeLog update 2006-01-25 06:31:47 +00:00
Marcus Boerger 0fddd260f4 . Update docu 2006-01-25 00:20:39 +00:00
Andrei Zmievski e7752216f4 Use zend_codepoint_to_uchar() macro. 2006-01-25 00:02:23 +00:00
Antony Dovgal 9c8bc2043c improve CS 2006-01-24 23:58:54 +00:00
Antony Dovgal a9de12c27b ws 2006-01-24 23:39:09 +00:00
Marcus Boerger 0422ad476f - Update docu 2006-01-24 23:36:13 +00:00
Andrei Zmievski 0fe1845267 eurealloc() should not be used with UBYTES() 2006-01-24 23:09:43 +00:00
Marcus Boerger a372669d4a - Fixed Bug #35978 %n format string specifier wrongly implemented 2006-01-24 20:57:56 +00:00
Marcus Boerger 0e42375ded - Implemented #36141 Add ReflectionClass::newInstanceArgs($args) 2006-01-24 20:19:49 +00:00
Marcus Boerger 35e632257e - Add fast access to HashTable 2006-01-24 19:48:11 +00:00
e386a7ae5c ChangeLog update 2006-01-24 06:31:45 +00:00
Antony Dovgal 6dcebfd904 fix #36113 (Reading records of unsupported type causes segfault) 2006-01-23 22:40:39 +00:00
Greg Beaver d536cb4139 update copyright year, and add credits for Davey Shafik/info on where Phar came from 2006-01-23 19:30:14 +00:00
Derick Rethans 29c9d442e8 - MF51: date is not a server API 2006-01-23 18:08:05 +00:00
Ilia Alshanetsky 9201fa6918 MFB51: Fixed bug #36134 (DirectoryIterator constructor failed to detect
empty directory names).
2006-01-23 15:24:41 +00:00
Derick Rethans 655d2824d4 - Go with 0.9.4. 2006-01-23 09:04:50 +00:00
3f5eb39f8c ChangeLog update 2006-01-23 06:31:56 +00:00
Marcus Boerger 2a2eae219c - Fix error message 2006-01-23 02:26:15 +00:00
Marcus Boerger 2d24ebbe16 - WS 2006-01-22 23:53:53 +00:00
Marcus Boerger 7c8de803d0 - Fix memory leaks 2006-01-22 23:48:02 +00:00
Marcus Boerger 86162f7a38 - WS 2006-01-22 23:46:50 +00:00
Marcus Boerger b7d473ac00 - WS 2006-01-22 22:15:55 +00:00
Marcus Boerger 693c5ad27f - Update test 2006-01-22 22:06:02 +00:00
Marcus Boerger 7037a831fb - Hmm one more # is needed 2006-01-22 21:46:47 +00:00
Marcus Boerger 654a2a5d0b - Fix for head and add a bit more info 2006-01-22 21:45:38 +00:00
Marcus Boerger f4a0ce710e - Fix method invocation issues 2006-01-22 18:55:02 +00:00
a3317681aa ChangeLog update 2006-01-22 06:31:42 +00:00
Derick Rethans c839665f10 - Fixed constant names in tests. 2006-01-21 15:57:43 +00:00
Derick Rethans a0bff6f8d6 - namespace protect constants 2006-01-21 12:48:46 +00:00
e017df6f64 ChangeLog update 2006-01-21 06:31:45 +00:00
Rui Hirokawa 942098d19e added new option of mbstring to php.ini 2006-01-21 02:49:32 +00:00
Omar Kilani 428bce101a Change license from LGPL to PHP. 2006-01-21 01:14:14 +00:00
foobar 644ca88100 - Fixed bug #Â36110 (missing sanity checks for external build) 2006-01-20 21:58:17 +00:00
Antony Dovgal 9a69aa32e9 fix typo 2006-01-20 16:58:33 +00:00
Antony Dovgal f32c1b7c2b add new test 2006-01-20 11:07:51 +00:00
Antony Dovgal f14d1152fe fix #36096 (oci_result() returns garbage after oci_fetch() failed) 2006-01-20 11:01:36 +00:00
9b674c8a79 ChangeLog update 2006-01-20 06:31:47 +00:00
Ilia Alshanetsky dd68ac4c8c MFB51: Allow get_headers() to return header information even for non-200
responses.
2006-01-20 01:40:48 +00:00
Antony Dovgal 04ad1d1462 fix test 2006-01-19 21:27:15 +00:00
Antony Dovgal cc0fae3702 fix tests 2006-01-19 20:52:45 +00:00
Dmitry Stogov d90873d3ce Fixed bug #36071 (Engine Crash related with 'clone') 2006-01-19 07:26:58 +00:00
185dabe26b ChangeLog update 2006-01-19 06:31:47 +00:00
Antony Dovgal c83190514f couple of pedantic fixes: "static" should be first 2006-01-18 23:55:27 +00:00
Antony Dovgal 4f07cff61c fix typo (and possible segfault) 2006-01-18 23:39:00 +00:00
Antony Dovgal 79bebd9bf8 make sure ce_child is properly initialized 2006-01-18 21:06:18 +00:00
Antony Dovgal 01476c3ea7 fix error message on make test when bison is not installed 2006-01-18 17:58:56 +00:00
Ilia Alshanetsky f0b0e2cd19 MFB51: Make get_headers() use the default context. 2006-01-18 14:05:28 +00:00
Antony Dovgal 9e03537d90 reorganize resource destruction.
- use one helper function for all resource types
- destroy all resources when connections are still available
2006-01-18 10:11:12 +00:00
1105368b9c ChangeLog update 2006-01-18 06:31:47 +00:00
Antony Dovgal 7bf63ad49b improve open_basedir checks in GD 2006-01-17 23:49:14 +00:00
Antony Dovgal 38beafe629 fix #36055 (possible OCI8 crash in multithreaded environment) 2006-01-17 23:44:11 +00:00
Antony Dovgal b8dda54715 fix build 2006-01-17 22:13:39 +00:00
Ilia Alshanetsky b0b79b138d MFB51: Fixed bug #36046 (parse_ini_file() miscounts lines in multi-line
values).
2006-01-17 19:56:41 +00:00
Pierre Joye 2179e33f14 - MFB: imagecolorallocate* returns false on error 2006-01-17 16:34:58 +00:00
Dmitry Stogov 227295a4f1 Unicode stuff is changed according to decision maden on PDM.
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.
2006-01-17 12:18:53 +00:00
Dmitry Stogov 465b131c2f Fixed bug #36037 (heredoc adds extra line number) 2006-01-17 09:39:33 +00:00
b29d9dbc87 ChangeLog update 2006-01-17 06:31:48 +00:00
Ilia Alshanetsky 1204ea0e63 MFB51: Only report mkdir() errors if error reporting option is set. 2006-01-17 02:32:34 +00:00
Antony Dovgal f0a32f0127 fix #36038 (ext/hash compile failure on Mac OSX) 2006-01-16 23:03:41 +00:00
Antony Dovgal 38b7befa2e fix typo 2006-01-16 20:41:00 +00:00
Antony Dovgal 07ff99a075 fix bug #35999 (recursive mkdir() does not work with relative path like "foo/bar") 2006-01-16 19:47:07 +00:00
Dmitry Stogov 9e7ddd51ee Fixed first-chance exception during request shutdown 2006-01-16 14:26:35 +00:00
Dmitry Stogov c93396ae1a Fixed bug #36006 (Problem with $this in __destruct()) 2006-01-16 10:12:54 +00:00
Dmitry Stogov 7e5b53c2b3 Fixed bug #36016 (realpath cache memleaks) 2006-01-16 09:17:50 +00:00
3a67d538ee ChangeLog update 2006-01-16 06:31:39 +00:00
Ilia Alshanetsky 0de9cf1e73 MFB51: Added a check for special characters in the session name. 2006-01-15 16:51:34 +00:00
Antony Dovgal 8f86b6d145 avoid segfaults 2006-01-15 16:05:49 +00:00
806c280d6d ChangeLog update 2006-01-15 06:31:47 +00:00
Marcus Boerger 2d3dc44908 - Fix issue found by nuno 2006-01-15 00:17:08 +00:00
Antony Dovgal e99778562d add test for bug #36010 2006-01-14 22:22:48 +00:00
Marcus Boerger d91dd0a0bb - Update 2006-01-14 20:20:53 +00:00
Marcus Boerger 584c0719e4 - Fix test 2006-01-14 15:55:10 +00:00
Marcus Boerger 2fe859febb - Fixed bug #36011 2006-01-14 15:22:19 +00:00
foobar 61a80cf37b ws fix 2006-01-14 15:10:54 +00:00
foobar 56c182d41c - Install header file 2006-01-14 15:04:12 +00:00
foobar 4b4d6e54c9 - Fixed headers 2006-01-14 14:58:35 +00:00
b30c69e8a1 ChangeLog update 2006-01-14 06:31:40 +00:00
Marcus Boerger f22c929561 - Fix #35998 (getPathname() method always returns unix style filenames) 2006-01-13 19:35:27 +00:00
Sascha Schumann dacf083328 - WS 2006-01-13 14:30:34 +00:00
Sascha Schumann a820f8da4c - lower valgrind error count to zero. 2006-01-13 14:23:35 +00:00
Antony Dovgal b5fd1c0ec3 add missing ifdefs 2006-01-13 13:04:01 +00:00
830f12faac ChangeLog update 2006-01-13 06:31:41 +00:00
Pierre Joye d7772d5203 - MFB: add php_mkdir_ex 2006-01-13 04:10:32 +00:00
George Wang 18d36265fd Initial checkin of LiteSpeed SAPI module 2006-01-13 03:21:51 +00:00
Marcus Boerger 42e3644d5b - Add bzip2 decompression support 2006-01-12 21:16:29 +00:00
Marcus Boerger 679fa69575 - Add stream filter 'consumed' which can restore the stream position when
a stream was read or written through a size changing filter.
2006-01-12 19:23:24 +00:00
Marcus Boerger 095c66e715 - Fix two warnings
# Here fixing warnings reveals that it often enough means fixing errors
2006-01-12 19:21:36 +00:00
Marcus Boerger d6e15bf75e - Fix warning 2006-01-12 19:13:50 +00:00
Hartmut Holzgraefe f1ffdfdbb3 typo fix 2006-01-12 15:37:56 +00:00
d357c67915 ChangeLog update 2006-01-12 06:31:40 +00:00
Omar Kilani a5cfcdd276 Don't leak a json_object on a decode error. 2006-01-12 03:50:22 +00:00
Marcus Boerger 566f8b136a - Use consumed filter to check number of compressed bytes read
# This fixes all tests again
2006-01-12 02:33:28 +00:00
Marcus Boerger 8166072ea3 - Change to use streams filters which simplifies decompression a lot and
easily allows to use other compression algos too
2006-01-11 23:55:57 +00:00
Marcus Boerger ae81cb9a1c - Add new test 2006-01-11 23:54:30 +00:00
Marcus Boerger cd24188fad - Fix test 2006-01-11 21:34:48 +00:00
Marcus Boerger b4e19230f9 - Split fname/phar-data mapping and alias/phar-data mapping
- Add test
2006-01-11 21:19:46 +00:00
Marcus Boerger 9222435376 - WS 2006-01-11 20:32:56 +00:00
Marcus Boerger d8a53905e9 - Add short size info 2006-01-11 20:24:07 +00:00
Michael Wallner 2be14929df - ws 2006-01-11 15:18:58 +00:00
Michael Wallner 59a40f1eed - fix CGI SAPI check on Windows 2006-01-11 15:16:34 +00:00
fcc2ad592d ChangeLog update 2006-01-11 06:31:39 +00:00
Marcus Boerger 5b62ceebb2 - Fix more errors (by the way the phars are found)
- Cleanup code
2006-01-11 01:51:47 +00:00
Marcus Boerger fa5831e7b5 - Fix a bunch of tests (not all done yet though) 2006-01-11 00:50:33 +00:00
Marcus Boerger 23d81c4630 - Fix a few error checks 2006-01-11 00:50:07 +00:00
Ilia Alshanetsky d2397a9301 MFB51: Fixed bug #35916 (Duplicate calls to stream_bucket_append() lead to
a crash).
2006-01-10 16:14:45 +00:00
Antony Dovgal 8d4db4f24c fix #35959 (Cannot build with Solid 2.3) 2006-01-10 14:15:12 +00:00
Antony Dovgal 2e43670647 fix memory corruption (HEAD only) 2006-01-10 10:51:39 +00:00
Antony Dovgal c9d6bb5b9f silence compile warning in non-ZTS mode 2006-01-10 08:32:49 +00:00
Antony Dovgal 9bd3c360ba destroy regular connections in RSHUTDOWN if ZTS is used
this fixes problem with Oracle9 (not Oracle10) and Apache2/worker - connections are not being closed correctly
see #35205 and similar issues
2006-01-10 08:29:19 +00:00
Greg Beaver 2ca31fa63c tests need updating, but this works with a valid 0.8.0 phar now. Additions include alias/apiversion/per-file flags in the manifest 2006-01-10 06:46:17 +00:00
150740218d ChangeLog update 2006-01-10 06:31:39 +00:00
Ilia Alshanetsky 0618bc66e8 MFB51: Fixed test 2006-01-10 03:18:52 +00:00
Marcus Boerger b958490b6c Add print_ft to dump function tables (lists the names) 2006-01-09 07:48:19 +00:00
9fd664318c ChangeLog update 2006-01-09 06:31:39 +00:00
c043dd301c ChangeLog update 2006-01-08 06:31:44 +00:00
Marcus Boerger ec20ba1a50 - MFB Second part of is_callable/call_user_func
- Clean a few warnings
2006-01-07 21:29:00 +00:00
Marcus Boerger 416d5f2c0c - MFB missing E_STRICT 2006-01-07 21:16:02 +00:00
Marcus Boerger ddd5d80194 - MFB zend_is_callable() fixes
# Now to the missing part in zend_call_function()
2006-01-07 20:43:33 +00:00
Greg Beaver 106463c474 need PHP 5.1.2 because of bug in temp memory streams 2006-01-07 18:37:44 +00:00
Marcus Boerger 34c8cd0190 - Show whether this is the shell or just the starnge mode 2006-01-07 16:46:30 +00:00
5f99b7cb52 ChangeLog update 2006-01-07 06:31:44 +00:00
Antony Dovgal 0b9213d82b fix tests 2006-01-06 21:21:09 +00:00
foobar 713127f5ee Nuke unused files 2006-01-06 21:19:16 +00:00
foobar 7c10d88716 credits for Dmitry 2006-01-06 21:17:14 +00:00
Antony Dovgal 9cd04b68d1 typo 2006-01-06 20:54:46 +00:00
Marcus Boerger 57c39d214d - WS 2006-01-06 20:43:19 +00:00
Marcus Boerger cc242b6afa - Fix potential crash (const' type is not initialized in case of error) 2006-01-06 20:34:31 +00:00
Antony Dovgal c5926d1efa add missing .cvsignore 2006-01-06 20:26:03 +00:00
Marcus Boerger 9f0f9bc958 - Update 2006-01-06 19:57:49 +00:00
Marcus Boerger a4e0ddc67b - I was missing here 2006-01-06 19:23:58 +00:00
Marcus Boerger 27dbc1d969 - Prevent overloading aliases
- Detect already loaded files and reuse them instead of reloading them
- Add a test for the above
2006-01-06 19:20:21 +00:00
Rasmus Lerdorf 4930c2fa31 Let's not mess with r->allowed here - this should fix bug #32561 2006-01-06 17:54:35 +00:00
Marcus Boerger 2de7a49fae - No ini setting needed 2006-01-06 17:34:47 +00:00
Marcus Boerger 1431022aae - Correct test name 2006-01-06 17:33:03 +00:00
Marcus Boerger 2490f087b4 - Fix typo and change to sizeof usage 2006-01-06 17:32:34 +00:00
Marcus Boerger 685fa28235 - Rewind stream when transferring ownership
- Add Phar::loadPhar + test
2006-01-06 17:23:42 +00:00
Marcus Boerger e267d2c2d0 - And another test 2006-01-06 16:27:15 +00:00
Marcus Boerger a4d469836d - Add new tests 2006-01-06 16:11:54 +00:00
Marcus Boerger fbdb432847 - Typo 2006-01-06 15:31:42 +00:00
foobar f8bda52627 - Fix configure on Solaris 2006-01-06 14:03:28 +00:00
Antony Dovgal 623b5de1b2 fix #35907 (PDO_OCI uses hardcoded lib path $ORACLE_HOME/lib) 2006-01-06 11:48:03 +00:00
bd53ba7cf9 ChangeLog update 2006-01-06 06:31:45 +00:00
foobar bc8333c42a - Cleanups:
* unify the address handling to always strip leading whitespace
  * ws fixes
2006-01-06 02:04:22 +00:00
Marcus Boerger abd2aeb1cd - Use temp streams internally instead of memory to reduce memory usage
# Internally we try to use only one temp stream if possible by stoing
# the temp stream in the manifest entry and transferring ownership upon
# usage/close. If a particular file gets opened twice in parallel we open
# a second temp stream nonetheless.
2006-01-05 22:24:41 +00:00
Marcus Boerger 71af00ec47 - Fix issue with memset seeking
- Fix issue with shutdown order of temp/memory stream
2006-01-05 22:05:44 +00:00
foobar 1afd9d6ea0 - Fixed bug #35911 (HAVE_PG_CONFIG_H set incorrectly) 2006-01-05 21:53:07 +00:00
Antony Dovgal 16be5ff45b fix typo 2006-01-05 20:49:28 +00:00
Hartmut Holzgraefe e66929c8b3 ncurses goes sibiria^Wpecl 2006-01-05 20:10:10 +00:00
Marcus Boerger 4c5fb5fc50 - Fix docu 2006-01-05 19:00:01 +00:00
Ilia Alshanetsky 6213faa402 MFB4: Fixed bug #35908 (curl extension uses undefined GCRY_THREAD_OPTIONS_USER). 2006-01-05 18:06:15 +00:00
Antony Dovgal 1e3efec941 delete descriptor from the hash and avoid crashes on commit/rollback 2006-01-05 13:40:10 +00:00
Marcus Boerger f3275b2080 - Made HashTable manifest a direct member rather than a pointer
- Need to find a working detection for compressed phars
2006-01-05 11:32:05 +00:00
bcb25bffec ChangeLog update 2006-01-05 06:31:47 +00:00
Andi Gutmans a93ddab01e - More -> 2006 changes 2006-01-05 02:35:02 +00:00
Marcus Boerger f65ab3c1e0 - If no compression was specified and we detect compression than simply set
compression mode.
2006-01-05 00:55:55 +00:00
Marcus Boerger 9b3ea9bb59 - Allow simple .phar too (in that case we guess no compression) 2006-01-05 00:53:41 +00:00
Ilia Alshanetsky 501c081a80 MFB51: Fixed bug #35669 (imap_mail_compose() crashes with
multipart-multiboundary-email).
2006-01-05 00:51:34 +00:00
Marcus Boerger d4a400726d - Cleanup/simplify/let configure determine whetehr we are big/little-endian 2006-01-05 00:39:31 +00:00
Andi Gutmans 0a424c4cf2 - One more update 2006-01-04 23:54:45 +00:00
Andi Gutmans 5de7cc3194 - Update copyright notices to 2006 2006-01-04 23:54:12 +00:00
Andrey Hristov 94dffc55ac bring tests up-to-date with 5_1 branch
#few are failing and will stop failing when bugfixes are upmerged from 5_1
2006-01-04 23:04:06 +00:00
Andrey Hristov 9be53ac7a5 cast and fix a warning 2006-01-04 22:42:17 +00:00
Derick Rethans 30c3b1f1b9 - Fixed test case. 2006-01-04 21:35:54 +00:00
Rob Richards 5daa75b09c fix test 2006-01-04 20:55:14 +00:00
Rob Richards 66835bd6c8 fix tests 2006-01-04 19:43:36 +00:00
Rob Richards 13048a3cb5 fix win build 2006-01-04 17:34:44 +00:00
Greg Beaver cd6161c9c9 add Marcus as lead 2006-01-04 17:19:04 +00:00
Marcus Boerger 8f27248fbf - Update tests 2006-01-04 16:43:42 +00:00
Marcus Boerger 7ed3be8240 - Fix TSRM builds 2006-01-04 16:18:31 +00:00
Derick Rethans 81d9c330f7 - Fixed bug #35885 (strtotime("NOW") no longer works).
- Fixed bug #35887 (wddx_deserialize not parsing dateTime fields properly).
#- Not added to NEWS as this will be merged to PHP_5_1 when Ilia looks at it.
2006-01-04 15:56:58 +00:00
Marcus Boerger 02ea4de78b -Typo 2006-01-04 15:51:06 +00:00
Marcus Boerger b72e1143d2 - More clean up (no need to export enything because one may either access
the stream handler tables through the streams api or use the streams
  which is prefered anyway).
2006-01-04 15:50:45 +00:00
Marcus Boerger c9128375f9 - Update examples 2006-01-04 15:34:26 +00:00
Marcus Boerger 5a45646d8b - Clearify names
- Fix several memleaks
- Cache files
2006-01-04 15:27:18 +00:00
Marcus Boerger 2e6c551c5d - Simple unlink is enough 2006-01-04 15:22:35 +00:00
Marcus Boerger 04fc3b48a2 - Fix test 2006-01-04 15:18:07 +00:00
Marcus Boerger 8568edda69 - Typo 2006-01-04 15:17:32 +00:00
Marcus Boerger 052420e27b - Add CLEAN section which contains optional cleanup code executed even when
the test fails and which can be prevented by --no-clean switch
2006-01-04 15:07:49 +00:00
Marcus Boerger cb9f1be8aa - Add myself as author 2006-01-04 13:18:31 +00:00
Derick Rethans 648e20c1b6 - New implementation of the sunset algorithm. Fixes bugs #33789, #33671, #32820
and #30937.
#- Didn't add it to news yet, as we'll merge this to PHP 5.1.x (just need to
#  wait for Ilia to approve it for 5.1.2).
2006-01-04 12:57:04 +00:00
Derick Rethans 223aa7294d - Added the lchown() and lchgrp() functions which change permissions and group
permissions on symbolic links.
#- We'll also add this to PHP 5.1.3? or PHP 5.2, so I didn't add it to NEWS.
2006-01-04 12:22:23 +00:00
Sebastian Bergmann 42736d6d70 ZTS fixes. 2006-01-04 09:26:32 +00:00
38e6f8b200 ChangeLog update 2006-01-04 06:31:48 +00:00
Marcus Boerger be1177259e - Imlement normal stream handling, use .phar.php anf .phar.gz to detect
where the filename part ends and whether it is compressed or not
# This already allows: php ext/spl/examples/directorytree.php phar:///...
2006-01-04 02:26:15 +00:00
Marcus Boerger 971ef71874 - Add test (fails right now (why ever)) 2006-01-04 02:21:22 +00:00
Marcus Boerger 32ab7543b1 - Add new test 2006-01-03 21:34:11 +00:00
Ilia Alshanetsky e7e0bef106 MFB51: Added param checks for ap2 fetch respose/request header functions. 2006-01-03 20:13:31 +00:00
Marcus Boerger cc860105fe - Fix two crashes in case of error 2006-01-03 16:22:23 +00:00
Marcus Boerger e829ba3a9d - Provide parameter info
- Add missing editor blocks
2006-01-03 15:59:07 +00:00
Marcus Boerger d01c016cbd - Change to new extension layout (drops unneccessary foward decls)
- Privide proto's
2006-01-03 15:50:46 +00:00
foobar d70b36aec5 MFB 2006-01-03 13:25:33 +00:00
foobar 33978e8e33 - Fixed bug #35288 (iconv() function defined as libiconv()) 2006-01-03 13:20:13 +00:00
1c814be228 ChangeLog update 2006-01-03 06:31:37 +00:00
foobar 22a3bedee0 - Fixed apache_setenv() which requires 2 parameters 2006-01-02 22:39:43 +00:00
Ilia Alshanetsky 331253e7e6 MFB51: Fixed possible crash in apache_getenv()/apache_setenv() on invalid
parameters.
2006-01-02 22:19:53 +00:00
Derick Rethans 61d12ef9ec - Fixed year dependent test. 2006-01-02 20:15:22 +00:00
c6a372dba2 ChangeLog update 2006-01-02 06:31:58 +00:00
Marcus Boerger 6d079c9c82 - Class was renamed (change test names, too) 2006-01-01 23:05:42 +00:00
Marcus Boerger 1c9da67d89 - Class was renamed 2006-01-01 22:58:12 +00:00
Greg Beaver 33925b3627 PHP_Archive -> Phar to match coding standards and pecl traditions 2006-01-01 22:49:10 +00:00
Greg Beaver 98e7933f8b fix 018/019.phpt - we need to compare the whole key, not just all but 1 char, otherwise 1-byte files/dirs are not compared 2006-01-01 22:20:26 +00:00
Marcus Boerger f21708f0a4 - Small tweaks/cleanup/left-overs 2006-01-01 22:19:51 +00:00
Greg Beaver 4b70d45fc9 remove a host of small problems found by testing 016.phpt 2006-01-01 22:11:03 +00:00
Greg Beaver 1481746e13 test needed tweaking to pass now 2006-01-01 22:10:21 +00:00
Greg Beaver a0f0f6c36a update tests to new API (16, 18, 19 still fail) 2006-01-01 21:43:14 +00:00
Marcus Boerger e80363ae49 - Simplify and change to --enable-phar since zlib is optional 2006-01-01 21:42:55 +00:00
Greg Beaver 90df1e7f87 on second thought, signing can be done externally without a performance hit, and only needs to be done on initial download, i.e. is best implemented with external tools 2006-01-01 20:57:43 +00:00
Marcus Boerger 77232928a5 - No revert the automatically inserted /*..*/ where wrong 2006-01-01 20:40:43 +00:00
Marcus Boerger 570e38fde8 - Fix comments 2006-01-01 20:34:22 +00:00
Greg Beaver 4de87a68e8 update package.xml 2006-01-01 20:30:16 +00:00
Greg Beaver edb6e4c9d5 add sorting to opendir() so that it matches PHP_Archive exactly 2006-01-01 20:16:09 +00:00
Ilia Alshanetsky 14b8cbedb7 MFB51: Added safety checks 2006-01-01 20:13:31 +00:00
Ilia Alshanetsky 7b8104bcf6 Fixed bug #35797 (segfault on PDOStatement::execute() with
zend.ze1_compatibility_mode = On).
2006-01-01 20:08:19 +00:00
Marcus Boerger e16171a6b1 - MFB 2006-01-01 19:57:27 +00:00
foobar c14e22d9f2 - Allow any EOLs in CREDITS files 2006-01-01 19:00:14 +00:00
foobar 399f8ae675 fix build 2006-01-01 17:28:25 +00:00
foobar c345854044 NEVER EVER use DOS EOLs in CREDITS!!!! 2006-01-01 17:27:11 +00:00
foobar d99d22dc11 oops 2006-01-01 13:25:34 +00:00
foobar 3631df802d - fix typo 2006-01-01 13:13:11 +00:00
foobar 251c5173fd bump year and license version 2006-01-01 13:10:10 +00:00
foobar f5ffb11505 2005 -> 2006 2006-01-01 12:17:46 +00:00
Greg Beaver 75bac89418 fix eof, fix segfault in stat, add unique dev/inode to allow caching via opcode caches like APC, comply with API 0.7.1, add todo items to EXPERIMENTAL 2006-01-01 07:40:36 +00:00
aee3eef3f0 ChangeLog update 2006-01-01 06:31:59 +00:00
Marcus Boerger adf9c02a63 - Fix environment handling 2005-12-31 17:48:12 +00:00
Marcus Boerger 08bccb4a72 - Fix tests 2005-12-31 17:42:27 +00:00
Marcus Boerger 57413e1b28 - MFB 2005-12-31 17:42:01 +00:00
517e586db5 ChangeLog update 2005-12-31 06:31:50 +00:00
foobar 7fa87000c5 - Fixed bug #35377 (undefined reference to "fdatasync") 2005-12-31 00:53:21 +00:00
Rasmus Lerdorf 577cdcfa27 instantiated was correct 2005-12-30 17:13:30 +00:00
Marcus Boerger 6b35e2ed19 - MFB 2005-12-30 13:42:20 +00:00
Marcus Boerger 8817b9e11a - MF51 2005-12-30 12:50:10 +00:00
foobar 7b980c6f95 typofixes 2005-12-30 12:20:39 +00:00
Marcus Boerger 66ae043208 - MF51 2005-12-30 11:45:32 +00:00
Pierre Joye e45ec1e460 - ensure that x1<x2 or y1<y2 2005-12-30 09:53:05 +00:00
974ed3825f ChangeLog update 2005-12-30 06:31:44 +00:00
foobar 2b1085d103 fix typo 2005-12-30 05:39:38 +00:00
Pierre Joye 3afdc2e490 - add some basic optimisations, usefull when you draw many horizontal or
vertical lines like in charts
2005-12-30 01:19:32 +00:00
Rui Hirokawa 08a9c6f235 added Turkish language definition (related to bug #29955) 2005-12-29 23:52:59 +00:00
Ilia Alshanetsky 1da0da0986 MFB51: Not a fatal error. 2005-12-29 22:00:09 +00:00
Antony Dovgal 4eef9b47e2 fix CGI build (patch by Pierangelo Masarati) 2005-12-29 14:12:34 +00:00
Derick Rethans d932c37ea2 - MFH: Fixed bug #35751 (using date with a timestamp makes httpd segfault). 2005-12-29 10:56:17 +00:00
10f8c95d72 ChangeLog update 2005-12-29 06:31:43 +00:00
Sara Golemon e047e8133d Silence compiler warning: unused variable 2005-12-29 06:00:36 +00:00
Ilia Alshanetsky 821e0586df MFB51: Fixed bug #35817 (unpack() does not decode odd number of hexadecimal
values)
2005-12-28 20:56:22 +00:00
9bcd09819a ChangeLog update 2005-12-28 06:31:47 +00:00
Antony Dovgal 64d9c70e4c tweak the fix 2005-12-27 23:27:02 +00:00
Antony Dovgal 38722a19c1 add test for #35821 2005-12-27 22:35:18 +00:00
Antony Dovgal 41973d8969 MF51: fix #35821 (array_map() segfaults when exception is throwed from the callback) 2005-12-27 22:33:40 +00:00
Derick Rethans 4bb5f21009 - Upgraded timezone db to 2005.18. 2005-12-27 19:49:30 +00:00
Ilia Alshanetsky 18685ea039 MFB51: Improve "skip" checks 2005-12-27 17:17:11 +00:00
96bb0c4395 ChangeLog update 2005-12-27 06:32:16 +00:00
Pierre Joye 180aa52fea - remove HAVE_LIBGD20, we support only 2.0+ now
(some were removed by my previous commit)
2005-12-27 00:16:05 +00:00
Pierre Joye 7261a0317b - silent compile warning introduced by previous commit 2005-12-27 00:11:16 +00:00
Antony Dovgal 01c1e2f719 MFB: typofix 2005-12-26 23:58:55 +00:00
Pierre Joye 954a2823a6 - HAVE_GD_DYNAMIC_CTX_EX, always defined 2005-12-26 21:46:56 +00:00
Pierre Joye 53973f97d0 - check for jpeg support 2005-12-26 21:41:37 +00:00
Pierre Joye 422d9180d1 - remove HAVE_LIBGD204, always set 2005-12-26 20:44:19 +00:00
Pierre Joye efcdf4ea4d - remove USE_GD_IOCTX, both bundled and extern lib use IOCTX 2005-12-26 20:34:42 +00:00
Pierre Joye f728cb07e6 - basic gif i/o test 2005-12-26 19:11:51 +00:00
foobar 4cbffe865e fix test 2005-12-26 18:30:12 +00:00
Pierre Joye 7074d0c2bf - imagetypes test
- copyresized title
2005-12-26 17:15:51 +00:00
Antony Dovgal fbe210b8b5 add new test 2005-12-26 15:15:10 +00:00
Marcus Boerger 3563b7d571 - Support full range of floats 2005-12-26 14:46:34 +00:00
Marcus Boerger 27986dbc88 - Fix memory corruption in s*printf() (see bug #27678) 2005-12-26 13:39:17 +00:00
Pierre Joye ab24e85893 - copyresized basic test
more once imagediff is available
2005-12-26 12:05:36 +00:00
Dmitry Stogov fbc0843fd4 Code cleanup (Nuno) 2005-12-26 10:54:12 +00:00
Zeev Suraski 9f0868506e Whitespace 2005-12-26 09:30:40 +00:00
Dmitry Stogov 39a540f75f Reverted invalid fix for bug #35785 2005-12-26 08:21:29 +00:00
Sebastian Bergmann 3f47db3c89 Fix Windows build. 2005-12-26 07:56:37 +00:00
Zeev Suraski c4caff6bc4 Commit missing files - sorry! 2005-12-26 07:25:45 +00:00
9b9c41bcf2 ChangeLog update 2005-12-26 06:31:53 +00:00
Pierre Joye ed3a1b0e96 - #35805 add LIBXSLT_VERSION, LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION and
LIBEXSLT_DOTTED_VERSION

MFH?
2005-12-26 00:54:12 +00:00
Antony Dovgal b6b4514801 add missing skipif tag 2005-12-25 22:38:36 +00:00
Pierre Joye 5f018ca382 - add colorclosestalpha tests 2005-12-25 22:02:53 +00:00
Pierre Joye 1b6d773657 - add colorresolvealpha to colorresolve tests
- update colormatch
2005-12-25 21:45:04 +00:00
Pierre Joye 76f28deeeb - raise warning instread of errors in colormatch 2005-12-25 20:32:25 +00:00
Ilia Alshanetsky 58a2299c91 MFB51: Make MySQL driver use ANSI complaint quoting style. 2005-12-25 20:30:56 +00:00
Pierre Joye 65df8e80ea - fix leak/segfaults in imagecolormatch
- add tests for imagecolorexact and imagecolormatch
  The later is only about the segv
2005-12-25 19:21:58 +00:00
foobar 6102ec3a06 - Remove wrong inline usage (and fix bug #35796) 2005-12-25 16:03:38 +00:00
Rui Hirokawa 8864bf27e2 fixed #35711, added mbstring.strict_detection to detect the encoding striktly. 2005-12-25 15:21:54 +00:00
Zeev Suraski 91a735502c Reimplement FastCGI interface
Due to licensing restrictions that actually don't allow anybody to use
the libfcgi code without prior approval from Open Market, which is
impossible to obtain - we decided to reimplement this interface from
scratch.  The result is actually slightly faster, and more importantly,
clear of any copyright issues.

Implementation by Dmitry
2005-12-25 12:45:01 +00:00
6299d22718 ChangeLog update 2005-12-25 06:31:45 +00:00
Pierre Joye 49f0d6b8c2 - add truecolortopallete and istruecolor test
- titles for colorclosest/resolve...
2005-12-24 14:05:20 +00:00
Pierre Joye 439eaf24d6 - fix titles
- function check
2005-12-24 14:01:54 +00:00
Marcus Boerger d06b1b77a1 - MFB Make this work with VPATH builds too 2005-12-24 13:19:49 +00:00
Marcus Boerger dc889bcc8d - Require re2c 0.9.11 and use correct version notation 2005-12-24 11:37:25 +00:00
Marcus Boerger 7af76a6fdb - Update 2005-12-24 11:36:52 +00:00
368f9414bc ChangeLog update 2005-12-24 06:31:56 +00:00
Rui Hirokawa 3eab2fa294 fixed #35711 ISO-8859 charset not correctly detected. 2005-12-24 01:20:26 +00:00
Marcus Boerger 650bdb51fd - Add make target make ntest to test in unicode mode
- Change make target test to check native and unicode mode
2005-12-23 21:01:05 +00:00
Marcus Boerger 1edb0395ab - Fixed Bug #35785 (SimpleXML memory read error) 2005-12-23 20:31:39 +00:00
Marcus Boerger 69ae0635f4 - Add new test 2005-12-23 20:26:22 +00:00
Marcus Boerger 079c4d1b5e - Fix test by splitting it 2005-12-23 20:03:31 +00:00
Marcus Boerger 34bd7e96fd - Fix handling of bork tests 2005-12-23 19:40:01 +00:00
foobar 5e40ff6d1e fix mkdir() function properly (patch by nlopess) 2005-12-23 18:56:28 +00:00
Stefan Esser 5790c9d727 MFB: format string fixes 2005-12-23 18:43:03 +00:00
Antony Dovgal 1c7661a301 MFB: fix #35781 (stream_filter_append() can cause segfault) 2005-12-23 15:05:42 +00:00
Rui Hirokawa bcf3a3311d added turkish language support for libmbfl. 2005-12-23 13:53:30 +00:00
Rui Hirokawa 7c20dce548 fixed #29955 mb_strtoupper() / lower() broken with Turkish encoding.. 2005-12-23 13:50:29 +00:00
Antony Dovgal 29d4cc7441 fix tests 2005-12-23 13:24:17 +00:00
Rui Hirokawa 283f4759f6 fixed #28899 mb_substr() and substr() work differently when mbstring.func_overload is enabled. 2005-12-23 11:14:54 +00:00
Dmitry Stogov b863d32288 Fixed memory corruption and termination through _zend_bailout() 2005-12-23 09:41:31 +00:00
Marcus Boerger 3590c425b3 - Do not test output escaping here 2005-12-23 08:44:34 +00:00
dbfe958172 ChangeLog update 2005-12-23 06:31:49 +00:00
Pierre Joye 2ca0c5abb7 - remove HAVE_GDIMAGECOLORRESOLVE here too (w32) 2005-12-22 23:25:06 +00:00
Pierre Joye c13515dd1f - add tests for:
- imagecolorclosest
 - imagecolorresolve
 - imagecopy
 - imageline
 -imagesetstyle and dashed line
- remove HAVE_GDIMAGECOLORRESOLVE, always present
2005-12-22 23:22:26 +00:00
Edin Kadribasic 89bf9c3906 Back out a portion of the previous patch which broke win32 file functions 2005-12-22 21:32:56 +00:00
Marcus Boerger 0f19733995 \# Damn ! 2005-12-22 20:27:03 +00:00
Marcus Boerger 414c53e0b8 - Point to README.TESTING 2005-12-22 20:24:38 +00:00
Dmitry Stogov 925f3f1880 Fixed bug #35612 (iis6 Access Violation crash). (alacn dot uhahaa at gmail dot com) 2005-12-22 16:46:03 +00:00
Zeev Suraski 84a2475b16 Fix prototype (MFB) 2005-12-22 14:56:29 +00:00
Antony Dovgal ddf87742ec change -o to || to be more portable 2005-12-22 11:02:51 +00:00
Dmitry Stogov 69200c9baf Fixed memory leak and typo 2005-12-22 09:31:40 +00:00
Marcus Boerger c04b25f63c - Find lib in default locations, too 2005-12-22 08:57:50 +00:00
Dmitry Stogov 9faaef0d08 Fixed memory corruption 2005-12-22 07:54:19 +00:00
da08d0ffd5 ChangeLog update 2005-12-22 06:31:45 +00:00
Marcus Boerger 2f2711acfd - MFB Fix leak 2005-12-22 00:38:05 +00:00
Marcus Boerger b6caa5e369 - MFB Fix memleak 2005-12-22 00:24:49 +00:00
Antony Dovgal 73db3873cc MFB: merge two skipif entries 2005-12-22 00:20:44 +00:00
foobar 9e5557e2f4 No need to mention it here as it is fixed before 6 is out.. 2005-12-21 22:47:46 +00:00
Frank M. Kromann 8560728ae0 Fix #35730 Use correct character encoding with FreeTDS 2005-12-21 22:44:04 +00:00
Marcus Boerger 42a83a6fc9 - Add --[keep|show]-[all|skip|php] switches 2005-12-21 22:23:47 +00:00
Marcus Boerger 8a7a093996 - Add missing skipif 2005-12-21 22:21:54 +00:00
foobar c7fbeb694a - Fixed bug #35461 (Ming extension fails to compile with ming 0.3beta1) 2005-12-21 21:43:26 +00:00
foobar 8b5d0a9178 use more portable || here 2005-12-21 21:15:37 +00:00
Marcus Boerger d3ae24eb79 - MFB Need to store length (and type) of class name 2005-12-21 20:12:44 +00:00
Ilia Alshanetsky 41ef7fb555 MFB51: Don't lose track of exec() errors in pdo_sqlite2 2005-12-21 16:23:32 +00:00
foobar 88a1a3cecc - Fix possible compile failure if configuring with --disable-all 2005-12-21 14:22:02 +00:00
Pierre Joye f91b2c66a8 - skip NG if no SCHEMAS support
- skip readInner/OuterXml if not defined
2005-12-21 13:34:44 +00:00
Pierre Joye 720753d864 - readInnerXml() and readOuterXml() test 2005-12-21 13:25:02 +00:00
Antony Dovgal 71ee97561e MFB: fix test, add test for 64bit platform 2005-12-21 12:16:25 +00:00
Antony Dovgal ca342b5f3b MFB: fix test 2005-12-21 11:46:51 +00:00
Antony Dovgal 632e571642 MFB: add missing skipif conditions, fix existing ones
add one missing test
2005-12-21 11:43:24 +00:00
Antony Dovgal 3231899d71 MFB: add missing skipif conditions 2005-12-21 10:50:10 +00:00
Antony Dovgal b3741339d5 MFB: fix #35760 (sybase_ct doesn't compile on Solaris) 2005-12-21 10:19:49 +00:00
9d27d22b07 ChangeLog update 2005-12-21 06:31:46 +00:00
Pierre Joye bb2ea6d564 - add some tests, ~70% now 2005-12-21 03:46:02 +00:00
Pierre Joye 02b822397f - typo in error msg 2005-12-21 02:59:00 +00:00
Pierre Joye 0813bcbfd5 - update inline docs
- fix {{{ }}}
2005-12-21 00:37:49 +00:00
Marcus Boerger a9a1bd419b - Only apply workaround solution for 64 bit machines when necessary
# Actually this can already be necessary on 32 bit machine and also not be
# necessary on 64 bit machines. It all depends on the compiler settings.
2005-12-20 21:36:47 +00:00
Marcus Boerger c80e82230b - Move zend_object_value definition to zend_type.h
# Types declared there can be used in configure stuff already. zend.h is
# being created by configure...
2005-12-20 21:35:17 +00:00
Marcus Boerger e072c3e590 - Add Z_OBJVAL*() macros 2005-12-20 21:33:14 +00:00
Marcus Boerger 7ffe23c515 - MFB Get rid of warnings 2005-12-20 21:12:13 +00:00
Derick Rethans 836978a509 - MF51: This check is unnecessary, as it can only be set through the
date_default_timezone_set() function which checks the value already.
2005-12-20 19:59:47 +00:00
Derick Rethans 2dcdf6769a - Fixed bug #35660 (AIX TZ variable format not understood, yields UTC timezone). 2005-12-20 19:50:05 +00:00
Ilia Alshanetsky f2d96a5a96 fixed php version detection 2005-12-20 19:17:00 +00:00
Antony Dovgal 333e66cc4f MFB: fix test decription 2005-12-20 17:00:59 +00:00
Antony Dovgal 410e15a1c7 MFB: fix notice 2005-12-20 16:18:07 +00:00
Derick Rethans 8e4e37ca9e - MF51: Fixed bug #35699 (date() can't handle leap years before 1970) 2005-12-20 16:01:21 +00:00
Ilia Alshanetsky 81d4a41dfb MFB51: Updated libsqlite in ext/pdo_sqlite to 3.2.8. 2005-12-20 15:33:19 +00:00
Ilia Alshanetsky d508cfee49 MFB51:
Updated libsqlite in ext/sqlite to 2.8.17.
Use in-memory database for tests.
2005-12-20 15:26:45 +00:00
Ilia Alshanetsky cf2e00bb39 MFB51: Proper error handling for persistent connections. 2005-12-20 14:50:30 +00:00
Ilia Alshanetsky ec58b74d7f MFB51: Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any
string greater then 255 characters).
2005-12-20 14:27:04 +00:00
Rob Richards ad97cf20be remove leftover code
clear zend_object rather than deal with the guards
issue notice if node is of a type that cannot be expanded
2005-12-20 14:13:11 +00:00
Antony Dovgal 320b5ce461 MFB: more SPL leak fixes 2005-12-20 12:41:38 +00:00
Antony Dovgal 3ba24546ed MFB: fix leak appearing when __autoload() throws an exception 2005-12-20 11:25:39 +00:00
Antony Dovgal 8f5f3d8408 MFB: add test for #35740 2005-12-20 09:52:05 +00:00
Antony Dovgal 3a14188725 MFB: fix #35740 (memory leak when including a directory) 2005-12-20 09:48:24 +00:00
6967b7e125 ChangeLog update 2005-12-20 06:31:44 +00:00
Ilia Alshanetsky 2c98f6435d MFB51: Fixed possible memory corruption. 2005-12-19 16:34:00 +00:00
Rob Richards ddba5e9531 cleanup code making it easier to add new functionality and maintain
implement xmlwriter_full_end_element and xmlwriter_write_raw
2005-12-19 15:05:41 +00:00
Rob Richards 046b0daf15 Fixed bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM)
add test
2005-12-19 14:16:10 +00:00
Antony Dovgal e236055976 MFB: fix possible invalid reads 2005-12-19 13:53:28 +00:00
Derick Rethans 85858a73b6 - MF51: Updated timezone database to version 2005.17 (q). 2005-12-19 13:32:22 +00:00
Derick Rethans 1394b48d21 - Reintroduced the normal constants.
- Made the test cases work with the normal non-class constants.
- Merged new timelib, which is a bit more cleverer
- Support "UTC" in strtotime() properly.
- Added astro code, which is going to form the base for the new sunfuncs.
2005-12-19 12:57:49 +00:00
64b7ec36f3 ChangeLog update 2005-12-19 06:31:42 +00:00
Marcus Boerger 1a7b411f9a - MFH IteratorIterator::__construct() fixes 2005-12-19 00:55:40 +00:00
foobar 9562bb9659 - Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std) 2005-12-18 22:59:39 +00:00
Antony Dovgal 099ab8ac8d MFB: fix leak in SPL iterators 2005-12-18 22:53:18 +00:00
Antony Dovgal 9e23794cb8 MFB: fix typo 2005-12-18 21:17:42 +00:00
Antony Dovgal 891059b089 more spelling fixes 2005-12-18 21:00:59 +00:00
Antony Dovgal 3e2d9c2549 fix spelling 2005-12-18 20:57:06 +00:00
foobar f5318a9530 touch with re2c 0.9.11 2005-12-18 19:54:50 +00:00
Ilia Alshanetsky 3a3e7a86e8 MFB51: Fixed UTC handling problem stemming from an earlier fix for bug #35422. 2005-12-18 16:20:12 +00:00
Derick Rethans 663bb230b9 - Those should be lower case only. 2005-12-18 16:06:28 +00:00
Zeev Suraski 9e5bd669d9 Fix prototypes (MFB) 2005-12-18 16:00:02 +00:00
Zeev Suraski d04772ab12 Prototype fix (MFB) 2005-12-18 15:47:03 +00:00
Marcus Boerger 8b74d53c61 - Fix --version 2005-12-18 15:46:51 +00:00
Zeev Suraski 4000ac531c Prototype fixes (MFB) 2005-12-18 15:41:22 +00:00
Marcus Boerger 9ea6f06711 - WS
- End test script when detecting '===DONE===' that way showing memleaks
2005-12-18 14:50:06 +00:00
Zeev Suraski 9955ce10b1 Fix prototype (MFB) 2005-12-18 14:05:23 +00:00
Marcus Boerger 2ba333bee8 - Add missing prefixes 2005-12-18 13:01:09 +00:00
Marcus Boerger 45541fa7c8 - Speling 2005-12-18 12:54:29 +00:00
Antony Dovgal 9f5c6d64bc that's not what I was going to commit.. 2005-12-18 12:50:01 +00:00
Antony Dovgal 176c27c149 fix possible usage of uninitialized variable 2005-12-18 12:48:22 +00:00
Marcus Boerger 6f34dbfa78 - Increase timeut for -m testing 2005-12-18 12:11:54 +00:00
45e6d9a1c6 ChangeLog update 2005-12-18 06:31:48 +00:00
Pierre Joye 84673b291e - keep it sync'ed 2005-12-18 02:07:34 +00:00
Ilia Alshanetsky 23005e96f1 MFB51: Fixed parameter parsing for setIndent() method. 2005-12-17 20:05:21 +00:00
Ilia Alshanetsky bc2ed13110 MFB51: Fixed memory corruption when FETCH_LAZY mode is being used. 2005-12-17 20:00:14 +00:00
Ilia Alshanetsky 1014cb28c2 MFB51: Fixed uninitialized variable in a test. 2005-12-17 19:58:02 +00:00
Ilia Alshanetsky b211d8cc3c MFB51: Added token for capturing arbitrary whitespace blocks inside text. 2005-12-17 16:33:53 +00:00
foobar f2f3eb9064 MFB51: Extension dependancy improvements during configure 2005-12-17 16:22:43 +00:00
foobar fa806a1b19 nuke file that should not be here 2005-12-17 16:13:16 +00:00
Antony Dovgal a63b1bfd0c MFB: int -> long 2005-12-17 16:08:08 +00:00
Marcus Boerger 170918c6eb - Fix Bug #35720 A final constructor can be overwritten 2005-12-17 15:50:24 +00:00
Marcus Boerger 5d60cbc498 - MFB Fix export 2005-12-17 15:44:44 +00:00
Marcus Boerger 9360c2acd2 - MFB Add optional dependency to ext/dom 2005-12-17 15:41:18 +00:00
foobar f1cb188015 fix test 2005-12-17 14:56:02 +00:00
6ddfecd65a ChangeLog update 2005-12-17 06:31:58 +00:00
Marcus Boerger 884cb32a38 - MFB 2005-12-17 00:09:06 +00:00
Marcus Boerger 96150967b3 - Add new const 2005-12-16 23:23:52 +00:00
Marcus Boerger 25052ff3af - MFB 2005-12-16 23:21:38 +00:00
Marcus Boerger 73fe423ede - WS 2005-12-16 23:13:24 +00:00
Marcus Boerger 10e69db3fa - MFB 2005-12-16 23:11:00 +00:00
Ilia Alshanetsky bc2e673856 MFB51: Fixed bug #35705 (strtotime() fails to parse soap date format
without TZ).
2005-12-16 22:40:09 +00:00
Marcus Boerger 927016e154 - MFB Fix zend_is_callable() usage 2005-12-16 22:26:43 +00:00
Marcus Boerger cea4c80b88 - Add new tests 2005-12-16 22:22:14 +00:00
Antony Dovgal c9ae9cd47e MF51: fix #35713 (getopt() returns array with numeric strings when passed options like '-1')
TODO:
make getopt() unicode aware
2005-12-16 20:50:38 +00:00
Pierre Joye 4abc190946 - remove HAVE_LIBGD15, always set 2005-12-16 19:21:55 +00:00
Pierre Joye cc938b5df0 - fix leaks and wrong error when invalid/empty string are given to
imagecreatefromstring
- add test for imagecreatefromstring
- add test for palettecopy
2005-12-16 19:02:07 +00:00
Pierre Joye 366f2ee161 - adieu HAVE_LIBGD13
- add imagecolorat tests (truecolor and palette)
2005-12-16 17:02:30 +00:00
Antony Dovgal f39eed623d MF51: fix test, add new one 2005-12-16 15:52:54 +00:00
Antony Dovgal 67f9574b78 fix test
this linenumber may vary
2005-12-16 14:57:13 +00:00
Antony Dovgal e17430e145 MF51 Ilia's last fix
fix the test appropriately
2005-12-16 14:50:32 +00:00
6c89801408 ChangeLog update 2005-12-16 06:31:42 +00:00
Ilia Alshanetsky ed5383b811 MFB51: Cleanup code and prevent usage of uninitialized variable. 2005-12-15 22:54:29 +00:00
Antony Dovgal 1518ba3bf7 fix #35692(iconv_mime_decode() segfault, with libiconv only) 2005-12-15 22:47:27 +00:00
Ilia Alshanetsky c64ae2f2c9 MFB51: Fixed bug #35694 (Improved error message for invalid fetch mode). 2005-12-15 22:35:18 +00:00
Antony Dovgal 90b95eeb23 fix #35690 (pack() tries to allocate huge memory block when packing float values to strings) 2005-12-15 22:14:25 +00:00
Pierre Joye 72ae77a1d8 - #35681, non ansi comment 2005-12-15 13:57:14 +00:00
19eb9d4843 ChangeLog update 2005-12-15 06:31:44 +00:00
Frank M. Kromann 89a3dc14af Export symbols needed by pecl/http 2005-12-15 02:26:14 +00:00
Andrei Zmievski 14df4af00e I see no reason no reason to not support chunked encoding requests.
Let's ask Apache to decode these requests for us.
2005-12-15 00:27:25 +00:00
Pierre Joye ca7270ffa2 - add wbmp read/write tests
- remove HAVE_GD_WBMP, always available
2005-12-14 22:33:34 +00:00
Pierre Joye aa3fe56fb9 - correct title 2005-12-14 19:50:42 +00:00
Pierre Joye 0ab721ab1d - remove HAVE_GD_GD2 on windows as well 2005-12-14 19:12:57 +00:00
Pierre Joye 5436f9f38d - remove HAVE_GD_GD2, always valid now (2.0.33 or bundled) 2005-12-14 19:10:52 +00:00
Pierre Joye e2091ad9ea - tests for imagecreatefromgd2 and gd2part 2005-12-14 19:00:28 +00:00
Marcus Boerger 218c07c328 - Fix issue spotted by Wez using ms vc 2005 2005-12-14 09:55:04 +00:00
f57d9428cf ChangeLog update 2005-12-14 06:31:49 +00:00
Greg Beaver 4479bebb13 streamline, add more phpinfo output
switch parameter order for PHP_Archive::mapPhar, will be better in the long run
2005-12-14 03:42:43 +00:00
Ilia Alshanetsky 9defb1298e MFB51: Fixed bug #35571 (Fixed crash in Apache 2 SAPI when more then one php
script is loaded via SSI include). (Ilia)
2005-12-14 03:36:58 +00:00
Antony Dovgal 41fad0ad77 fix spelling and #35665 2005-12-14 00:54:04 +00:00
Greg Beaver d2339c11e2 add package.xml 2005-12-13 23:40:25 +00:00
Antony Dovgal 627077e6a4 use default colors to prevent any problems with existing php.ini 2005-12-13 22:32:04 +00:00
Antony Dovgal 3c78e5804a new test 2005-12-13 21:43:16 +00:00
Marcus Boerger e9086f967a - MFB Fix zend*_str_tolower_copy() 2005-12-13 21:09:18 +00:00
Ilia Alshanetsky 4cb1bf0e9e MFB51: Fixed bug #35655 (whitespace following end of heredoc is lost). 2005-12-13 21:00:49 +00:00
c7c509e7e8 ChangeLog update 2005-12-13 06:31:44 +00:00
Ilia Alshanetsky 41baa7abbe MFB51: Fixed bug #35630 (strtotime() crashes on certain relative
identifiers).
2005-12-13 02:29:53 +00:00
Antony Dovgal 762842ee30 MF51: fix tests and their skip conditions 2005-12-12 21:21:36 +00:00
foobar 7a44f346a3 - Fix build failure under win32 2005-12-12 19:44:27 +00:00
foobar 7b3c5caf0d - added missing configure help line 2005-12-12 12:20:45 +00:00
foobar da629d8823 more test output files 2005-12-12 11:51:18 +00:00
foobar f6c1212b17 - Cleanup test output files too 2005-12-12 11:49:30 +00:00
foobar eccf9c7abf - Include timestamp for the leaks. (to make possible matching leaks with access_log entries) 2005-12-12 11:00:18 +00:00
Dmitry Stogov c354d5e0f6 Fixed bug #35570 (segfault when re-using soap client object) 2005-12-12 09:25:07 +00:00
ef1ccfe9c4 ChangeLog update 2005-12-12 06:31:40 +00:00
Greg Beaver b4cc79277a complete unit tests (woohoo!)
add stream seek (mistakenly never enabled)
2005-12-12 06:17:16 +00:00
Ilia Alshanetsky a13a4487a4 MFB51: Fixed bug #35629 (crash in http:// wrapper on multiple redirects). 2005-12-12 05:04:43 +00:00
foobar 953cff2d0a - Added missing fold tags 2005-12-11 22:38:24 +00:00
Ilia Alshanetsky 21a47c4950 MFB51:
Fixed bug #35624 (strtotime() does not handle 3 character weekdays).
Improved fix for bug #35414.
2005-12-11 22:37:20 +00:00
Edin Kadribasic d2af3d0e30 MFB: Updated to libxml2 to 2.6.22, thanks to rrichards 2005-12-11 21:55:00 +00:00
Greg Beaver e0b54bcdd3 slightly clearer error message 2005-12-11 21:44:44 +00:00
Edin Kadribasic 48f4c97b8c Use php5 built-in zlib. Unfortunatelly we don't export zError() there
so I habe generic "compression error" will suffice.
2005-12-11 21:23:35 +00:00
Marcus Boerger 12c5f90386 - Change to use sane default flags fro RecursiveDirectoryIterator
- Drop 2nd parameter from DirectoryIterator::__construct()
2005-12-11 16:43:00 +00:00
Marcus Boerger 90a321d854 - MFB 2005-12-11 15:28:52 +00:00
Marcus Boerger 3f8491c2fa - Show an error if no pdo object can be created 2005-12-11 15:24:38 +00:00
Marcus Boerger 10fc301bf9 - Fix tests 2005-12-11 14:49:19 +00:00
Edin Kadribasic 7a57d03c8d Fixed ZTS build 2005-12-11 13:19:43 +00:00
Marcus Boerger 1cc57585d8 - Revert accidential 'drop in' from 1.227 2005-12-11 12:46:51 +00:00
Greg Beaver dd8e3dd4df fix opendir, add test for subdirectory, revert stupid addition to 018.phpt 2005-12-11 08:14:44 +00:00
Greg Beaver d4ac5bf120 make sure it doesn't pick up non-entries 2005-12-11 07:26:46 +00:00
Greg Beaver 7187bdc0d3 add opendir/readdir test for root dir, fix dir stat 2005-12-11 07:25:30 +00:00
Omar Kilani a1bef77510 Remove config.m4 reference to json_c/config.h.
Add package.xml.
2005-12-11 05:13:35 +00:00
Wez Furlong 9345b7534a test commit 2005-12-11 04:50:47 +00:00
Wez Furlong 12035819e9 test commit 2005-12-11 04:27:30 +00:00
Marcus Boerger 6f2a00690b - Add method support to --rfunction 2005-12-11 02:40:49 +00:00
Marcus Boerger 4258bc6f26 - Add docu 2005-12-11 02:16:24 +00:00
Greg Beaver ca86d4fa92 switch to php_stream_wrapper_log_error from php_error_docref (should be documented somewhere...), add test for failing stream open 2005-12-11 00:00:31 +00:00
Greg Beaver 285b5a934e fix minor leak on zlib error, new test for gzipped internal file 2005-12-10 23:19:32 +00:00
foobar 4e328517df use right tag here 2005-12-10 18:26:08 +00:00
Marcus Boerger cd4842781c - Make -U mode play nicely with redirected tests 2005-12-10 17:37:29 +00:00
Marcus Boerger 80a2f09c82 - Add missing global variable 2005-12-10 16:58:35 +00:00
Marcus Boerger 9662ba59c4 - Rewrite --r* and add --rfunction 2005-12-10 13:43:51 +00:00
661eedec9f ChangeLog update 2005-12-10 06:53:20 +00:00
Greg Beaver bbbd9ba1f1 add missing tests 2005-12-10 02:33:35 +00:00
Greg Beaver 0552791eca crc32 mismatch test 2005-12-10 02:33:09 +00:00
Greg Beaver fb5cff819d add crc checked flag, for slight speedup on multiple access to the same file 2005-12-10 00:00:00 +00:00
Greg Beaver e1d98926ba new test, better naming of tests 2005-12-09 23:55:52 +00:00
Greg Beaver 0285ef3952 fix leaks, mem corruption, and add test for successful phar 2005-12-09 23:37:03 +00:00
Antony Dovgal 749c6e3016 fix #35617
no need to separate zvals twice
2005-12-09 22:26:39 +00:00
Ilia Alshanetsky 61f0a25cf1 MFB51: Fixed typo in gcov output filename 2005-12-09 21:40:55 +00:00
Rob Richards 37d1633ff4 allow NULL prefix to create default namespace
fix tests
2005-12-09 20:51:23 +00:00
Greg Beaver 48050ca09d add constraint check for number of manifest entries, and test 2005-12-09 19:55:29 +00:00
Antony Dovgal b0a7b43a55 MF51: fix wrong macro usage 2005-12-09 18:53:54 +00:00
Pierre Joye 183a717c70 - no need to test if jpeg support exists 2005-12-09 18:16:21 +00:00
Pierre Joye 8b81d9279f - MFB: test for compression mode in imagepng 2005-12-09 18:14:12 +00:00
Dmitry Stogov 57f7f1952c Fixed bug #35612 (iis6 Access Violation crash) 2005-12-09 18:09:08 +00:00
Marcus Boerger 39cf99ed36 - Readd -u and -U
# Removed those accidentially, the diff was obviously too big
2005-12-09 17:59:50 +00:00
Dmitry Stogov 34bc5d7d41 Bug #34429 (Output buffering cannot be turned off with FastCGI) 2005-12-09 16:58:02 +00:00
Dmitry Stogov c548f7d610 Fixed possible SIGSEGV (Rob Richards) 2005-12-09 15:28:57 +00:00
Dmitry Stogov 7810872573 Support for 64-bit platforms 2005-12-09 13:41:06 +00:00
Antony Dovgal be74ca8f85 MF51: nuke C++ comment 2005-12-09 13:32:07 +00:00
Marcus Boerger ed7797098d - Section FILE does not exist for redirection tests 2005-12-09 09:49:58 +00:00
8606bc1638 ChangeLog update 2005-12-09 06:51:50 +00:00
Rob Richards 07bcf94d86 update TODO 2005-12-09 06:43:35 +00:00
Pierre Joye f567ef8e1c - dtd added, remove from todo 2005-12-09 06:31:21 +00:00
Rob Richards 944dc57ef5 - enable a few additional functions
- add tests
2005-12-09 04:56:21 +00:00
Marcus Boerger 983b8f570d - Add missing newline 2005-12-09 00:30:05 +00:00
Marcus Boerger cbf1e913e2 - MFH (Ilia's changes)
- Add ability to create temp files in separate dir and keep them.
- Add ability to generate html file with results as table and links to
  generated files.
2005-12-08 22:48:42 +00:00
Antony Dovgal 8338c39ff3 add new tests 2005-12-08 22:31:55 +00:00
Antony Dovgal 0b8250468c improve error message 2005-12-08 22:05:44 +00:00
Antony Dovgal f698b6ea42 add 1 to the max_length to keep \0 at its place 2005-12-08 21:22:38 +00:00
Ilia Alshanetsky 8f4f466f6e MFB51: Include a legend in the gcov report 2005-12-08 21:12:31 +00:00
Antony Dovgal d5cd3efe2b fix segfault in SplFileObject when file doesn't exist or cannot be read 2005-12-08 19:53:43 +00:00
Frank M. Kromann c443a8d20b Allow the extension to be compiled as shared object on win32 2005-12-08 19:43:53 +00:00
Ilia Alshanetsky ec64cbb4e2 MFB51: Added myself to a list of extensions/sapis I try to maintain. 2005-12-08 17:07:16 +00:00
Ilia Alshanetsky 0c8d2091b2 MFB51: Final fix for gcov generation. 2005-12-08 16:00:47 +00:00
Dmitry Stogov f7433c021d Fixed test 2005-12-08 08:10:00 +00:00
Greg Beaver 755e9c3172 improve error messages to state overrun when it exists. Also, catch overrun before we attempt to write beyond the buffer's end 2005-12-08 07:59:18 +00:00
Greg Beaver f86df41ff4 new test for truncated manifest 2005-12-08 07:49:47 +00:00
Greg Beaver 68a5fdea12 CS // -> /* */ 2005-12-08 07:38:44 +00:00
Greg Beaver eb3c055e21 rework errors slightly. Add buffer overflow check for manifest, so we don't create a memory monster by accident 2005-12-08 07:34:16 +00:00
Greg Beaver 919b0736c5 add next truncation test, tweak error messages 2005-12-08 07:08:49 +00:00
245cb12834 ChangeLog update 2005-12-08 06:46:37 +00:00
Greg Beaver 16bd8c6ac7 add error if seeking fails on self, add test 1 for truncated phar 2005-12-08 06:46:02 +00:00
Greg Beaver 6ff5c1f974 add error if __HALT_COMPILER(); is not declared and new test 2005-12-08 06:38:26 +00:00
Greg Beaver dc26e611e4 test for no zlib error message 2005-12-08 06:23:21 +00:00
Ilia Alshanetsky 331b7d7b27 MFB51: Fixed bug #35594 (Multiple calls to getopt() may result in a crash). 2005-12-08 03:25:42 +00:00
Ilia Alshanetsky 04ee70f6eb MFB51:
fix for bug #35382
	fix for bug #35411
2005-12-08 03:12:34 +00:00
Ilia Alshanetsky 34701f23eb MFB51: Fixed bug #34359 (Possible crash inside fopen http wrapper). 2005-12-08 02:53:34 +00:00
Michael Wallner 259b231aab - release 1.1 2005-12-07 19:51:38 +00:00
Michael Wallner 92d13b7850 - fix PECL bug #6283 - haval source file entries are missing in package.xml 2005-12-07 18:39:54 +00:00
Dmitry Stogov 8010c59c88 Unicode support 2005-12-07 16:52:13 +00:00
Dmitry Stogov ce89a8831e Fixed tests 2005-12-07 15:19:30 +00:00
Dmitry Stogov b74833788e Fixed test 2005-12-07 14:54:04 +00:00
Dmitry Stogov 461f1d3c70 Fixed tests 2005-12-07 14:39:07 +00:00
Dmitry Stogov 25d6294650 Fixed test 2005-12-07 14:32:42 +00:00
Dmitry Stogov ea4197207b Fixed test 2005-12-07 14:18:12 +00:00
Dmitry Stogov 2e83748cfc Fixed bug #33394 (Socket Timeout on SOAP request causes general exception in Apache process). 2005-12-07 13:55:52 +00:00
foobar 0c90ddd3a1 fix tests 2005-12-07 11:53:28 +00:00
foobar 8f45f83124 - Made tests that require CGI skipped if it is not available 2005-12-07 11:28:20 +00:00
foobar e14cdc034e - Fix file_put_contents() usage: it returns bytes written and it can be 0. 2005-12-07 11:11:01 +00:00
foobar 3b66cc9c37 - Fixed error messages 2005-12-07 10:08:07 +00:00
Dmitry Stogov 5bb71a7871 Fixed sleep() magic method with private and protected members 2005-12-07 09:41:22 +00:00
Dmitry Stogov 543a1c1a9a Fixed test 2005-12-07 09:34:34 +00:00
Rasmus Lerdorf 9e45839ada A few cleanups. I hope you don't mind Omar. 2005-12-07 09:12:39 +00:00
Dmitry Stogov 4855a3ba08 Fixed incorrect basename() usage 2005-12-07 09:06:30 +00:00
Dmitry Stogov 52a9d56185 Fixed memory overflow, because usage of initialized value 2005-12-07 09:00:29 +00:00
Pierre Joye 224de2c66a - add latest changes to package.xml 2005-12-07 06:58:14 +00:00
42ae67dd5d ChangeLog update 2005-12-07 06:41:41 +00:00
Greg Beaver eea900316b add PHP_Archive::canCompress() which determines whether zlib decompression is available
clean up code slightly
add lots of error notification
add .cvsignore for tests/
update 002 to handle new testing behavior
2005-12-07 06:39:03 +00:00
Rob Richards d8427c5efa - fix remaining parameter typo
- add test
2005-12-07 04:59:41 +00:00
Pierre Joye ddbc24465e - copy/paste error in startDtd, we do not need the res here 2005-12-07 03:20:13 +00:00
Ilia Alshanetsky 112f016a39 MFB51: Better critical error handling (fix for previous html encoding patch). 2005-12-07 02:37:35 +00:00
Greg Beaver 9c9dcd7d88 parameter count test 2005-12-07 01:47:49 +00:00
Greg Beaver 0a786a87b0 first simple test 2005-12-07 01:44:24 +00:00
Frank M. Kromann b6f3fc1acf Fix ZTS and Win32 builds 2005-12-07 01:18:54 +00:00
Greg Beaver ebc087c72a apparently no email here 2005-12-07 00:49:46 +00:00
Marcus Boerger e3e2d33c79 - Show list of leaked files in summary if any
- Use basename correct
2005-12-07 00:01:51 +00:00
Ilia Alshanetsky f0191491f2 MFB51: Fixed bug #30760 (Remove MessageBox on win32 for E_CORE errors if
display_startup_error is off).
2005-12-06 23:32:27 +00:00
Marcus Boerger 826f39b013 - Do not show leak summary if not tested 2005-12-06 23:24:38 +00:00
Antony Dovgal 6b8cb7d2ad fix typo 2005-12-06 19:26:57 +00:00
Antony Dovgal 491c43cf2e nuke erroneous --ENV-- tag
add new tests for oci_bind_array_by_name()
2005-12-06 19:15:02 +00:00
Sara Golemon d34df75ee1 Block potential segfault.
Context option type not checked for "user_agent","header", and "content"
2005-12-06 19:13:27 +00:00
Antony Dovgal d93c613429 MF51: use strlen() to get correct element length 2005-12-06 18:54:33 +00:00
Sara Golemon bc8654e427 MFB: Prep for PECL release 2005-12-06 17:56:56 +00:00
Antony Dovgal a42b9d7a0f fix CS 2005-12-06 15:20:53 +00:00
Antony Dovgal 6cebabed0a add tests
Code covered:	91.3 %
2005-12-06 15:18:56 +00:00
Antony Dovgal a59ddf0a56 reimplement php_filter_callback() as exception-safe and without memleaks 2005-12-06 15:17:38 +00:00
Antony Dovgal a317347723 accept strings and arrays as callback name 2005-12-06 15:16:33 +00:00
Antony Dovgal b35b72f9ed don't try to encode empty strings 2005-12-06 13:46:56 +00:00
Antony Dovgal df5f4abe96 fix tests 2005-12-06 10:23:28 +00:00
Antony Dovgal 43f74ba5f1 plug multiple leaks
(you need to destroy the zval before changing its type manually)
2005-12-06 10:21:52 +00:00
Marcus Boerger f2a9649f03 - Fix summaries again 2005-12-06 09:34:44 +00:00
fa0f08e089 ChangeLog update 2005-12-06 06:46:50 +00:00
Omar Kilani f54496cd39 Add json extension to PECL. 2005-12-06 06:23:24 +00:00
Ilia Alshanetsky a4861d1512 Prevent header injection by limiting each header to a single line. 2005-12-06 03:39:26 +00:00
Ilia Alshanetsky 2d789c2366 MFB51: Fixed possible XSS inside error reporting functionality. 2005-12-06 03:13:53 +00:00
foobar f8b35b7d90 - Fix docs 2005-12-06 02:30:04 +00:00
foobar a208d9a966 - Nuke php3 legacy 2005-12-06 02:28:26 +00:00
foobar a05e8e335d - nuke php3 legacy 2005-12-06 02:10:00 +00:00
foobar f53c892557 fix build 2005-12-06 02:07:17 +00:00
foobar 5f44819b72 - function_entry -> zend_function_entry (php3 legacy!) 2005-12-06 02:00:07 +00:00
Marcus Boerger d5ee5c5b0f - Support for '--' style switches
- Modularize output
- Better valgrind integration (valgrind 3.0.0+ required now) (-m)
- Ability to generate an additional html style output log (--html)
- Ability to test unicode + native tests in one go (-U)
2005-12-06 01:51:17 +00:00
foobar c0c7b984f0 nuke php3 legacy 2005-12-06 01:39:35 +00:00
foobar acf2ab661a nuke php3 legacy 2005-12-06 01:26:39 +00:00
foobar 5ee664f80e nuke php3 legacy 2005-12-06 01:13:59 +00:00
foobar becbb993a1 nuke php3 legacy 2005-12-06 01:08:40 +00:00
foobar 1c0ece7149 - nuke php3 legacy 2005-12-06 01:04:42 +00:00
foobar fae94910ae nuke php3 legacy (and be consistent) 2005-12-06 01:02:38 +00:00
foobar a9166edcf4 nuke php3 legacy 2005-12-06 01:00:13 +00:00
foobar bb1be4efaf fix build 2005-12-06 00:54:11 +00:00
foobar 879222732d - nuke php3 legacy 2005-12-06 00:51:53 +00:00
foobar 8fa72be4ee - Nuke php3_compat.h 2005-12-06 00:44:22 +00:00
foobar 77205941f5 - nuke php3 legacy 2005-12-06 00:43:35 +00:00
Ilia Alshanetsky 1be62560c5 1.0.2 2005-12-06 00:27:01 +00:00
foobar 7d61579034 - Use the real name instead of the BC name here 2005-12-05 23:52:30 +00:00
foobar 34ad5ab731 - list_entry -> zend_rsrc_list_entry 2005-12-05 23:31:09 +00:00
foobar 0ac2b74b0b - Nuke php3 legacy 2005-12-05 22:53:34 +00:00
foobar c33bb84930 - Do not use the PHP3 era names 2005-12-05 22:43:01 +00:00
foobar 4851c062fb fix typo 2005-12-05 22:40:31 +00:00
foobar 130333274b - Do not use the PHP3 era names! 2005-12-05 22:38:17 +00:00
foobar c297b31a52 - Nuke php3 legacy 2005-12-05 22:21:12 +00:00
Brian France 5e81ec643f Wrap the php_session.h include in the same ifdef as the rest of the
session code.
2005-12-05 20:41:57 +00:00
Stanislav Malyshev 1a60646023 MF5.1: fix reallocation bug 2005-12-05 20:08:19 +00:00
Antony Dovgal 7a8a89f35e MF51: more typos fixed (thanks to Mike Naberezny for noticing these) 2005-12-05 20:07:18 +00:00
Ilia Alshanetsky f30dbd9f54 MFB51: Fixed bug #35558 (mktime() interpreting 3 digit years incorrectly). 2005-12-05 17:27:24 +00:00
Antony Dovgal 43536d38e6 MF51: improve error messages 2005-12-05 13:41:14 +00:00
Antony Dovgal ee5cdb2c14 MF51:
add NEWDECIMAL, NEWDATE, GEOMETRY, SET and ENUM field types
2005-12-05 13:22:49 +00:00
Antony Dovgal 39c135b1c4 MF51:
fix #35536 (mysql_field_type() doesn't handle NEWDECIMAL)
add also SET, ENUM, NEWDATE and GEOMETRY to the switch
2005-12-05 13:20:53 +00:00
Dmitry Stogov 7aaff40de5 Fixed bug #35509 (string constant as array key has different behavior inside object) 2005-12-05 08:56:32 +00:00
Greg Beaver f9e209f048 fix segfault in opendir/readdir. fix possible duplicate dirs. is_dir() doesn't yet work, so url_stat is not working fully 2005-12-05 08:31:05 +00:00
b06df87d20 ChangeLog update 2005-12-05 06:50:42 +00:00
Greg Beaver 7944a489fd switch to streams, respect safe_mode, open_basedir 2005-12-05 04:47:29 +00:00
Ilia Alshanetsky 9e9a8eb837 MBF51: load proper header file 2005-12-05 04:23:17 +00:00
Ilia Alshanetsky dbfdcef380 MFB51:Avoid gcov conflicts on non-unique filenames 2005-12-05 04:22:37 +00:00
Greg Beaver 92846c03d4 kill memory leaks 2005-12-05 04:21:36 +00:00
Greg Beaver 852eec498f add ability to detect zlib library when zlib ext is disabled 2005-12-05 01:07:02 +00:00
foobar 89199c43b2 - Nuke non-working part 2005-12-04 23:31:33 +00:00
foobar 6f8644ce1e php3 is dead 2005-12-04 23:27:23 +00:00
Greg Beaver 141aecfcdd attempt to locate zlib even if --with-zlib is disabled, so we can add library support in phar 2005-12-04 23:23:04 +00:00
Greg Beaver 96d6465999 add license text 2005-12-04 22:51:33 +00:00
Greg Beaver 6e0c451133 update header, use PHP 3.01 license 2005-12-04 22:50:54 +00:00
Greg Beaver 9d4036ea7c initial import
# file handling needs to use streams, handle safe_mode/open_basedir
2005-12-04 20:35:38 +00:00
Greg Beaver 744dfb6bf0 begin import of phar extension 2005-12-04 20:29:21 +00:00
Marcus Boerger a40000b63a - Add missing .cvsignore 2005-12-04 18:34:14 +00:00
Ilia Alshanetsky 5e2bdfcfcc MFB51: Added tests for new parse_url() and http_build_query() functionality. 2005-12-04 17:58:53 +00:00
Ilia Alshanetsky 08c824bbea MFB51: Fixed bug #35062 (socket_read() produces warnings on non blocking
sockets).
2005-12-04 17:31:40 +00:00
Ilia Alshanetsky e803ebb403 MFB51: Fixed gcov for generated files 2005-12-04 17:28:26 +00:00
Ilia Alshanetsky f631fdef4c MFB51: Regen files so they work properly with gcov. 2005-12-04 17:25:26 +00:00
Antony Dovgal ced6ef40cd fix #35539 (typo in error message for ErrorException) 2005-12-04 11:45:45 +00:00
Antony Dovgal c7631a2dca fix #35543 (php crash when calling non existing method of a class that extends PDO) 2005-12-04 11:40:52 +00:00
7f8adfcc7e ChangeLog update 2005-12-04 06:48:28 +00:00
Antony Dovgal a74ea6cfb8 fix typos in xmlwriter/config.m4 2005-12-04 00:20:52 +00:00
Antony Dovgal e084ac9d8b add declarations
more uint -> size_t fixes
2005-12-03 23:49:52 +00:00
Antony Dovgal 60af8a388c MF51: fix #35538 (new "hash" extensions does not compile on amd64) 2005-12-03 23:31:49 +00:00
Antony Dovgal 58c6a0da27 yet another compile warning 2005-12-03 23:24:07 +00:00
Antony Dovgal e9f068a7d6 fix compile warning 2005-12-03 23:19:48 +00:00
foobar cdd291f514 - Fix bug #35530 (ext/bz2 compile failure with phpize) 2005-12-03 13:22:20 +00:00
Michael Wallner 2e3a2a5dbc MF51: add adler32 test 2005-12-03 10:32:42 +00:00
Michael Wallner 5da5750736 - fix ws 2005-12-03 10:24:06 +00:00
Michael Wallner dbe8a6a629 - add test to package.xml 2005-12-03 10:20:21 +00:00
Michael Wallner f1a0fdddba - add crc32 test 2005-12-03 10:16:59 +00:00
688f880e61 ChangeLog update 2005-12-03 06:46:25 +00:00
foobar 0586ac73f1 - fix possible compile error 2005-12-03 01:27:37 +00:00
foobar d2e3d9c244 fix compile failure (bug #35528) 2005-12-03 01:21:09 +00:00
foobar 2fcfc02141 fix configure --help output 2005-12-03 01:12:35 +00:00
foobar c7e4853008 fix configure --help output 2005-12-03 01:06:36 +00:00
Sara Golemon c456c16952 Add MD4 support 2005-12-03 00:51:30 +00:00
foobar 8e5799059d Nuked dos EOLs and fixed typo 2005-12-03 00:00:44 +00:00
foobar ecd8376f36 - Changed "session.use_only_cookies" to be on by default. 2005-12-02 18:42:41 +00:00
Ilia Alshanetsky 4041e52215 MFB51: Regenerate file to be more gcov friendly 2005-12-02 17:34:35 +00:00
Marcus Boerger f509c44be8 - Be picky about names 2005-12-02 15:59:36 +00:00
foobar ab3fcb8f06 MFB51: fix compile warning and paths 2005-12-02 13:23:44 +00:00
Michael Wallner f48a99133d MF51: use --enable instead of --with 2005-12-02 11:01:19 +00:00
foobar 79bc13d29e - Fix configure 2005-12-02 08:59:26 +00:00
dbe3d0b8d7 ChangeLog update 2005-12-02 06:46:50 +00:00
Pierre Joye f001c7d5a0 - prepare 2.0.2 2005-12-02 00:50:28 +00:00
Michael Wallner dd947297fe - export everything we've got aliases for 2005-12-01 21:08:17 +00:00
Michael Wallner 4323354ee0 - use php_pcre aliases 2005-12-01 20:53:04 +00:00
Antony Dovgal 37eeba6f27 tweak the fix 2005-12-01 20:39:49 +00:00
Michael Wallner 9bae4e12e4 - ext/filter will need those exports
# php_compat.h still prevents linking
2005-12-01 20:07:01 +00:00
Antony Dovgal 25ac5ff0b7 fix #35508 (PDO fails when unknown fetch mode specified) 2005-12-01 19:59:36 +00:00
Antony Dovgal 1d74918ddd MF51: fix Win32 compile failure 2005-12-01 19:26:31 +00:00
Antony Dovgal 701dfc56b5 two more tests 2005-12-01 18:23:08 +00:00
Rob Richards 6f42894489 change to PHP 3.01 license 2005-12-01 16:41:52 +00:00
Ilia Alshanetsky 38d192b7c6 MFB51: Fixed bug #35499 (strtotime() does not handle whitespace around the
date string).
2005-12-01 16:26:38 +00:00
foobar 7b396961da - Fixed PECL bug #6124: Crash on HTML tags when using FS_STRING 2005-12-01 16:24:19 +00:00
Antony Dovgal 14bdb93d6b MF51: fix #35490 (socket_sendto() unable to handle IPv6 addresses) 2005-12-01 14:03:51 +00:00
Antony Dovgal 4f906aa23f fix potential problem in php_oci_bind_post_exec() when OCIDateToText() fails 2005-12-01 13:46:05 +00:00
Dmitry Stogov a139e19fe3 Fixed bug #35437 (Segfault or Invalid Opcode 137/1/4) 2005-12-01 12:51:19 +00:00
Dmitry Stogov feaa2501d0 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:49:51 +00:00
Marcus Boerger 507942a34e - Use putenv() correct 2005-12-01 09:59:59 +00:00
foobar 8ae898f486 - Use correct configure option style. Enabled by default. 2005-12-01 08:54:15 +00:00
Marcus Boerger 885a80dabc - Fix warnings 2005-12-01 08:49:57 +00:00
57fa8a5782 ChangeLog update 2005-12-01 06:45:42 +00:00
Sara Golemon 73012ee257 Add hash_hmac() and hash_hmac_file() for single shot HMAC calculations 2005-12-01 04:53:55 +00:00
Marcus Boerger a015502926 - New environment TEST_PHP_ARGS to allow appending args to run-tests.php
- New mode -q (quiet)
- New mode -s <file> (save output to a file)
2005-12-01 01:26:20 +00:00
Marcus Boerger ed0b0d1f33 - White space fixes 2005-12-01 00:57:29 +00:00
foobar 2208b59602 - Added win32 build stuff 2005-12-01 00:48:13 +00:00
foobar cfaa455272 - More cleanups.
# Pierre: Check the convenient list of unnecessary defines in config.m4
# (search for FIXME :)
2005-12-01 00:36:26 +00:00
Marcus Boerger 20c56bd378 - Add support for valgrind testing (Nuno) 2005-12-01 00:26:44 +00:00
Ilia Alshanetsky 1792f34008 MFB51: Fixed bug #35496 (Crash in mcrypt_generic()/mdecrypt_generic()
without proper init).
2005-11-30 23:53:47 +00:00
Antony Dovgal e1a1c5a9b9 add new test 2005-11-30 23:34:51 +00:00
Marcus Boerger ba9f38f8ae - Make gcov targets work with debian (http://gcov.php.net) 2005-11-30 22:27:32 +00:00
Ilia Alshanetsky 92fd7f24a5 MFB51: Fixed bug #35410 (wddx_deserialize() doesn't handle large ints as keys
properly).
2005-11-30 18:13:17 +00:00
Pierre Joye 6160b285f7 - minor version is 0 2005-11-30 17:33:27 +00:00
Pierre Joye ead45ca2f6 - use gdlib-config
- bump to 2.0.33 for now, most stable release and closer from the phpgd
  this is only about config.m4, sources cleanup will follow the additions
  of various tests.
2005-11-30 15:59:07 +00:00
foobar 13c1c6c15d - Fix the ccache detection 2005-11-30 15:01:22 +00:00
Antony Dovgal 6fddd6f878 fix possible crash in pdo_mysql_stmt_dtor() 2005-11-30 11:32:33 +00:00
Michael Wallner f79f89e265 - fix PHP4 build 2005-11-30 11:11:52 +00:00
Dmitry Stogov c58d4c590a Fixed bug #35373 (HP-UX "alias not allowed in this configuration") 2005-11-30 10:25:51 +00:00
Dmitry Stogov d409c5e347 Fixed bug #35470 (Assigning global using variable name from array doesn't function) 2005-11-30 10:10:32 +00:00
Marcus Boerger a71b5970d5 - Fix tests 2005-11-30 08:14:49 +00:00
b36024de5a ChangeLog update 2005-11-30 06:42:54 +00:00
foobar 6ad30bffab fn 2005-11-29 23:23:32 +00:00
Ilia Alshanetsky 2852ace3ef MFB51: fixed zts build 2005-11-29 23:10:48 +00:00
foobar 6a3ce3fb50 MFB: automake dependancy was removed long time ago 2005-11-29 22:42:53 +00:00
foobar 3925e60223 - Remove unnecessary libgcov entry (the gcc options handle it) 2005-11-29 22:38:32 +00:00
foobar e091d62311 - Remove unused lines 2005-11-29 22:26:07 +00:00
Antony Dovgal 418f83f334 make use of $SED if possible 2005-11-29 21:45:53 +00:00
foobar 8847779835 MFB51: Update bundled libtool to version 1.5.20 2005-11-29 21:33:12 +00:00
foobar fc816c5e76 MFB51: Always use $SED instead of sed 2005-11-29 21:31:35 +00:00
Ilia Alshanetsky 40dd6dfb4e Added missing support for 'B' format identifier to date() function. 2005-11-29 20:48:44 +00:00
Ilia Alshanetsky 667a9b9bce MFB51: Fixed bug #35425 (idate() function ignores timezone settings). 2005-11-29 20:27:21 +00:00
Antony Dovgal 0c110a93d2 MF51: change "-o" to "||" to support weird systems with broken test 2005-11-29 18:38:48 +00:00
Ilia Alshanetsky 1ceacc89f7 MFB51: fixed date tests 2005-11-29 16:25:39 +00:00
Ilia Alshanetsky 7f66777bbf MFB51: Fixed bug #35427 (str_word_count() handles '-' incorrectly). 2005-11-29 16:14:47 +00:00
foobar 1b85d42ba5 - Regenerated with working re2c and with proper options 2005-11-29 08:13:18 +00:00
0ba09c083f ChangeLog update 2005-11-29 06:49:28 +00:00
Marcus Boerger d237f996f9 - Fix some memleaks 2005-11-29 02:46:19 +00:00
Marcus Boerger 2bb59717c7 - Allow test to be used w/o run-tests.php 2005-11-29 02:41:54 +00:00
Ilia Alshanetsky eed6f67ffa MFB51:
Fixed bug #35422 (strtotime() does not parse times with UTC as timezone).
Fixed bug #35414 (strtotime() no longer works with ordinal suffix).
2005-11-29 01:31:52 +00:00
Ilia Alshanetsky 2303ff493c MFB51: Fixed bug #35456 (+ 1 [time unit] format did not work). 2005-11-28 23:26:40 +00:00
foobar a03df6fef7 fix build with libedit 2005-11-28 23:03:49 +00:00
foobar 3cdf23b830 - Fixed bug #35409 (undefined reference to 'rl_completion_matches') 2005-11-28 16:49:35 +00:00
Dmitry Stogov 4192685b64 Fixed bug #35393 (changing static protected members from outside the class, one more reference issue) 2005-11-28 14:33:44 +00:00
Alan Knowles 9aa88e7e43 fix bug #35381 - ensure library is initialized before use 2005-11-28 10:28:17 +00:00
Dmitry Stogov a859b67027 Fixed bug #35399 (Since fix of bug #35273 SOAP decoding of soapenc:base64binary fails) 2005-11-28 10:09:07 +00:00
1407f79e79 ChangeLog update 2005-11-28 06:43:30 +00:00
Antony Dovgal e7f4360f2e MF51: use || instead of -o to support weird systems with old test 2005-11-27 23:00:55 +00:00
Antony Dovgal dc1d5122d1 fix #35430 (PDO crashes on incorrect FETCH_FUNC use) 2005-11-27 20:56:46 +00:00
foobar 0a1d459892 MF51: improve open_basedir check 2005-11-27 20:10:15 +00:00
Antony Dovgal 54047149ad fix config.m4 2005-11-27 18:35:35 +00:00
Antony Dovgal ed978d2f1a plug memory leak 2005-11-27 18:34:16 +00:00
Marcus Boerger df710be5c7 - Fix minor issues in RecursiveDirectoryIterator & provide new flag consts 2005-11-27 13:07:18 +00:00
Rob Richards 93ee6cd533 Fixed bug #35316 (Application exception trying to create COM object)
Fix some handler signatures causing memory corruption
Various unicode fixes
2005-11-27 12:21:12 +00:00
Marcus Boerger 1bec704ea7 - Fix editor blocks 2005-11-27 12:13:42 +00:00
f2dd944cec ChangeLog update 2005-11-27 06:48:53 +00:00
Marcus Boerger 0619c8c66c - Output modularization, 1st step 2005-11-26 18:07:49 +00:00
Antony Dovgal 9fdd2b6940 show OIC version in phpinfo(); if possible
fix build with older versions: SQLT_BDOUBLE & SQLT_BFLOAT first appeared in Oracle 10
2005-11-26 17:34:35 +00:00
Marcus Boerger e1410fb0a4 - Really test the issue here 2005-11-26 16:34:37 +00:00
Marcus Boerger 6e4bcd3a5d - Bug 35382 was nit fixed but the test system was not capable for this kind
of tests
2005-11-26 16:33:08 +00:00
Michael Wallner 2563c13553 - ditch warnings 2005-11-26 14:17:09 +00:00
foobar e538c3ea1f fix test 2005-11-26 13:39:55 +00:00
Marcus Boerger 33edd8eafc - Scew short open tags 2005-11-26 13:37:30 +00:00
Marcus Boerger 7d3937bdd3 - Add new test 2005-11-26 13:22:46 +00:00
Michael Wallner a278e9a74d - use php_hash_* types
# ok with everybody?
2005-11-26 13:15:06 +00:00
Marcus Boerger 117753db1e - Fix bug #35406 eval hangs when evall'ed code ends with comment w/o newline 2005-11-26 13:09:28 +00:00
Antony Dovgal 34c4afe3dd MF51: add properties hashtable to Timezone class 2005-11-26 12:37:20 +00:00
Marcus Boerger 649376153c - Oversight 2005-11-26 12:33:42 +00:00
Marcus Boerger 42e741e4f9 - Synch with what we decided for 5 and what we are practicing since 5 2005-11-26 12:25:58 +00:00
Antony Dovgal 173cbe620f fix #35402 (New date class causes crash in get_object_vars()) 2005-11-26 09:39:50 +00:00
f4d2e7ba9c ChangeLog update 2005-11-26 06:37:54 +00:00
Michael Wallner 3bc5c7e420 uhm... 2005-11-26 00:15:03 +00:00
Michael Wallner 90561e4fe8 - add crc32 2005-11-26 00:08:06 +00:00
Michael Wallner 6c16fac2b5 - add adler32 2005-11-25 23:12:44 +00:00
Michael Wallner 55f3cabb90 - ditch warnings
- add gost and snefru test
- CREDITS += mike
2005-11-25 18:24:34 +00:00
Michael Wallner 7a9fcb329f - add gost algo
- declare tables static
2005-11-25 16:12:30 +00:00
Wez Furlong 145bdfa9a4 Use right define: ZEND_MODULE_API_NO as these are PHP modules, not Zend extensions 2005-11-25 15:44:40 +00:00
foobar 04dffec1c4 - Use right define: ZEND_MODULE_API_NO as these are PHP modules, not Zend extensions 2005-11-25 15:40:14 +00:00
Antony Dovgal a526db7956 fix #35391 (pdo_mysql::exec does not return number of affected rows) 2005-11-25 12:54:18 +00:00
Antony Dovgal 984ce697ec ICC doesn't support __attribute__ for pointers 2005-11-25 12:25:22 +00:00
Michael Wallner 7a0886509e - add a simple benchmark 2005-11-25 12:21:28 +00:00
Michael Wallner f1054f3473 - add snefru algo
- fix empty else in config.m4
2005-11-25 11:54:49 +00:00
Antony Dovgal d31cd8bf85 change handles destruction order (based on the patch by Chris Jones) and fix typo 2005-11-25 10:16:55 +00:00
5d80c942f5 ChangeLog update 2005-11-25 06:41:36 +00:00
Ilia Alshanetsky 6407b345b9 MFB51: Fixed bug #35170 (PHP_AUTH_DIGEST differs under Apache 1.x and 2.x) 2005-11-25 00:07:57 +00:00
Ilia Alshanetsky edca4a83ba Fixed copy & paste error 2005-11-24 23:24:53 +00:00
Ilia Alshanetsky 9e3bff7b0f 1.0.1 release 2005-11-24 23:12:38 +00:00
Marcus Boerger ba03c4fcc3 - Synch test name 2005-11-24 20:27:27 +00:00
Ilia Alshanetsky 40b2772dcd MFB51: Fixed bug #35358 (Incorrect error messages for PDO class constants). 2005-11-24 16:22:27 +00:00
Antony Dovgal eb40be874a fix #35322 (oci_connect() after oci_close() gives unknown resource) 2005-11-24 15:15:28 +00:00
Michael Wallner 4875427d16 - fix tiger algo 2005-11-24 14:28:34 +00:00
Michael Wallner e4bef616f8 - fix segvs
# there's still somthing wrong though
2005-11-24 14:07:24 +00:00
Dmitry Stogov a42086c73c Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash) 2005-11-24 11:32:44 +00:00
Michael Wallner 4ce1074df9 - add tiger algo 2005-11-24 08:59:54 +00:00
c9e26c3ec0 ChangeLog update 2005-11-24 06:41:47 +00:00
Sara Golemon 0d8bbe7575 Sync tests with new defaults 2005-11-24 04:37:04 +00:00
Marcus Boerger fac6e1b4c0 - License for core extensions is PHP License
- Add Johannes to credits for his work here
2005-11-24 00:30:41 +00:00
Michael Wallner ddc2444d2c - add whirlpool algo 2005-11-23 21:15:41 +00:00
Johannes Schlüter 41cc009a9e Changed reflection constants to class constants 2005-11-23 20:47:42 +00:00
Dmitry Stogov ef47ee6e13 Cleaned CGI code. Now FastCGI can not be disabled. See into sapi/cgi/CHANGES for more details. 2005-11-23 18:08:51 +00:00
Michael Wallner 3da6204bf6 - add salsa implementation
# its not common and I've no reference output to compare against,
# thus it's not enabled; I'm also pretty unsure about the initialization
2005-11-23 17:18:56 +00:00
Michael Wallner d11d157c9f - no trailing NULs 2005-11-23 16:36:11 +00:00
foobar 1b716123f2 - No need for extra strlen() call here 2005-11-23 15:51:45 +00:00
foobar 754d011d8d fix leaks 2005-11-23 15:50:27 +00:00
Rui Hirokawa 4c5d74a058 fixed 5307 unexpected header can be injected to mb_send_mail(). 2005-11-23 15:16:39 +00:00
Dmitry Stogov 310ab5b4be Additional fix for fix #35536 2005-11-23 13:30:18 +00:00
Antony Dovgal 9457dc348c forgotten part of the fix 2005-11-23 11:57:43 +00:00
Antony Dovgal 9e9a55f9ac MF51: fix #35336 (crash on PDO::FETCH_CLASS + __set()) 2005-11-23 11:55:46 +00:00
Antony Dovgal d4a9f53abc add test for #35336 2005-11-23 11:55:09 +00:00
Rob Richards 061039b182 fix build under 5.0
fix crash when XMLWriter is instantiated but not used
2005-11-23 11:23:39 +00:00
Dmitry Stogov 98b8a0fdb9 Bug #33732 (Wrong behavior of constants in class and interface extending) 2005-11-23 09:27:01 +00:00
a08a89e9eb ChangeLog update 2005-11-23 06:51:42 +00:00
Rob Richards 8c8f92f45f add test 2005-11-23 03:10:45 +00:00
Rob Richards 406910e1e9 add registerNodeClass() method
- methods can now natively return user classes registered with document
2005-11-23 02:56:41 +00:00
Rob Richards fba57a97ca move document property struct from xml_common.h 2005-11-23 02:54:10 +00:00
Rob Richards 73e6869340 implement setIDAttributeXXX functionality 2005-11-23 02:52:56 +00:00
Rob Richards 8038df9ce2 Fixed bug #35342 (isset(DOMNodeList->length) returns false). 2005-11-23 00:55:34 +00:00
Ilia Alshanetsky 574a01f9b7 No dynamic output, so no need for regex. 2005-11-23 00:30:08 +00:00
foobar f94c2783b4 - Fixed PECL bug #6021: parse_str() returns empty array when filter enabled 2005-11-23 00:20:16 +00:00
Ilia Alshanetsky 083874aab2 emalloc -> safe_emalloc 2005-11-23 00:19:20 +00:00
Ilia Alshanetsky 92281a047f MFB51: Fixed bug #35046 (phpinfo() uses improper css enclosure). 2005-11-23 00:15:26 +00:00
Rasmus Lerdorf 91e695c632 3.01 license - we technically don't need to switch the PHP sources to this
one, it is more for pear/pecl, but to be consistent we probably should.
Anybody want to do the sed magic to fix all the headers?
2005-11-23 00:08:00 +00:00
Antony Dovgal e3586e0407 MF51: fix #35341 (Fix for bug #33760 breaks build with older curl) 2005-11-22 22:54:22 +00:00
Sara Golemon d1aeaab5cc MFB (r-1.6.2.1) 2005-11-22 22:08:22 +00:00
Michael Wallner bdae448f41 add cvsignore 2005-11-22 20:46:02 +00:00
Michael Wallner 99c8d42a7b - hexlen is 2*digestlen 2005-11-22 19:23:55 +00:00
Michael Wallner 4c61cf6f4c - install extension headers
- make the hash algo registry case insensitive
- "export" inline php_hash_bin2hex
2005-11-22 19:17:58 +00:00
Antony Dovgal 066fb72fdd Initial implementation of oci_bind_array_by_name()
At the moment we support only these types:
SQLT_NUM, SQLT_INT, SQLT_LNG - integer/long
SQLT_FLT - float
SQLT_AFC, SQLT_CHR, SQLT_VCS, SQLT_AVC, SQLT_STR, SQLT_LVC - char/varchar
SQLT_ODT - date

More supported types may follow.
2005-11-22 16:30:36 +00:00
Michael Wallner 8115e71039 - avoid segvs 2005-11-22 12:24:25 +00:00
2bf81c4a3f ChangeLog update 2005-11-22 06:48:55 +00:00
Ilia Alshanetsky f950925688 MFB51: Fixed command error in ftp:// wrapper. 2005-11-22 03:01:59 +00:00
Michael Wallner 17f33c3bf3 - MF51: fix make install 2005-11-22 00:51:24 +00:00
Frank M. Kromann 720938f4ad /Gz and /RTC1 is for debug builds 2005-11-22 00:29:30 +00:00
foobar bcade7ced4 - Fixed header installing under phpize builds 2005-11-21 23:07:36 +00:00
Michael Wallner 77e5a7e300 - fix a couple of warnings
- export php_hash_fetch_ops() and php_hash_register_ops()
2005-11-21 15:09:58 +00:00
Dmitry Stogov a86414864b Fixed "getParameters" method 2005-11-21 10:57:28 +00:00
120681ebac ChangeLog update 2005-11-21 06:46:10 +00:00
Sara Golemon 9496259e1a Fix double-final potentially causing double-free 2005-11-21 06:05:37 +00:00
Derick Rethans d732859624 - MF51: Fixed bug #35143 (gettimeofday() ignores current time zone).
- MF51: Fixed tests due to class constants patch.
2005-11-20 20:31:49 +00:00
Sara Golemon 7ad4fb0c27 Add HAVAL algorithm
Bit widths: 128, 160, 192, 224, 256
Passes: 3, 4, 5
2005-11-20 20:14:22 +00:00
Ilia Alshanetsky 9979ac2215 MFB51: Fixed bug #35303 (PDO prepare() crashes with invalid parameters). 2005-11-20 20:07:38 +00:00
foobar 895e795b53 - Fixed bug #35243 (php_mblen() crashes when compiled with thread-safety on Linux) 2005-11-20 18:06:09 +00:00
Sebastian Bergmann ebd645e438 MFB: Use /RTC1 instead of /GZ for MS VisualStudio 2005. 2005-11-20 17:03:58 +00:00
Johannes Schlüter 57deca0c8f - Fix SPL class listing for phpinfo in unicode mode 2005-11-20 15:21:23 +00:00
Marcus Boerger 29e64a2fc8 - Extend SimpleXmlElement::__construct() with two parameters
. int options: pass options to 2.6.0+ parsing functions
  . bool data_is_url: whether first parameter is a url rather then xml data
- Fix parameter parsing
2005-11-20 13:03:15 +00:00
Marcus Boerger 1bd7af815c - Do locking in lib rather then on streams 2005-11-20 12:39:04 +00:00
3247484267 ChangeLog update 2005-11-20 06:48:39 +00:00
Andrei Zmievski 41a8ac3af6 *** empty log message *** 2005-11-20 02:27:49 +00:00
Sara Golemon 4a3e87ad96 Add hmac-md5 test file to package.xml 2005-11-19 23:16:56 +00:00
Michael Wallner 1736cb4759 PHP-5.1 compatibility 2005-11-19 21:41:08 +00:00
Antony Dovgal 9846ceeab6 fix PECL bug #5986 (connections use case sensitive hashed details) 2005-11-19 21:36:06 +00:00
Sara Golemon 7cbd9686b1 Add streams based incremental hashing updaters 2005-11-19 21:09:40 +00:00
Sara Golemon ef37868378 Expose registered hashing algos 2005-11-19 20:13:08 +00:00
Marcus Boerger 471af93da9 - Fix bug #35295 typo in config.m4 for reflection extension 2005-11-19 17:47:22 +00:00
Antony Dovgal 9f4390ce8b fix #35293 (PDO segfaults when using persistent connections) 2005-11-19 16:39:47 +00:00
foobar ef53177e27 NOTE: Things that are fixed in version released year(s) before this one
really don't need any NEWS entries. People kinda expect the stuff being
fixed in the future version..:)
2005-11-19 11:41:26 +00:00
Michael Wallner 65ccbc1bc4 - fix PCRE_INCDIR for external libpcre 2005-11-19 10:30:52 +00:00
Marcus Boerger 3bffc21967 - Fixed Bug #35286 tokenizer ext drops final comment (by greg) 2005-11-19 09:43:19 +00:00
43766c2a15 ChangeLog update 2005-11-19 06:52:43 +00:00
Rui Hirokawa 1c23277a91 fixed #35253 length of the encoded string vilolates a RFC. 2005-11-19 06:32:20 +00:00
Marcus Boerger 71b8ed31c3 - Disabled globals code in a way that does not affect purist or old compilers 2005-11-18 22:59:07 +00:00
Sara Golemon a00062d63e Typo 2005-11-18 21:39:29 +00:00
Sara Golemon a0f5787e20 One last 64bit change, skip all this long long malarkey when we're on 64bit procs 2005-11-18 21:37:19 +00:00
Sara Golemon d97c072a75 Macrofy 64bit integers in sha384/sha512 to make Win32 happy 2005-11-18 21:30:05 +00:00
Frank M. Kromann 5907e1f08a Fix #33201 Crash when fetching some data types 2005-11-18 21:22:50 +00:00
Sara Golemon 7cd42570ed Add HMAC support 2005-11-18 20:58:54 +00:00
Frank M. Kromann 87e899e4a4 Fix #33963. mssql_bind fails on input parameters 2005-11-18 20:48:22 +00:00
Frank M. Kromann cc9225f8dc Fix #32009 crash when mssql_bind() is called more than once 2005-11-18 20:40:28 +00:00
Sara Golemon 614a3fb8a4 Expose sha1() and sha1_file() functions when core funcs not present
Not an issue yet, but could be...
2005-11-18 20:17:31 +00:00
Sara Golemon 5c213de12e Initial Commit 2005-11-18 19:51:09 +00:00
Frank M. Kromann 14889ccfbd Fix #33153 Crash in mssql_next_result(). 2005-11-18 19:13:35 +00:00
Ilia Alshanetsky 85fb03cbae MFB51: Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module) 2005-11-18 19:01:50 +00:00
foobar dfe4ace529 reorder 2005-11-18 16:41:49 +00:00
Rasmus Lerdorf 9d1a28b6a1 allow_url_include 2005-11-18 16:28:01 +00:00
Rasmus Lerdorf e1f1857978 Add allow_url_include to let people turn on allow_url_fopen without also
enabling remote code execution through url wrappers
2005-11-18 16:20:43 +00:00
foobar ffa0e13a59 MFB51: fix build when --with-libedit is used 2005-11-18 15:11:14 +00:00
Dmitry Stogov 2d95730e89 Fixed bug #35273 (Error in mapping soap - java types) 2005-11-18 10:59:55 +00:00
Derick Rethans 168db42521 - Ready 0.9.3. 2005-11-18 09:56:11 +00:00
Derick Rethans ccbf79462f - Fixed default so that it does not even encode quotes. 2005-11-18 09:17:59 +00:00
3314fe6b22 ChangeLog update 2005-11-18 06:42:57 +00:00
Rob Richards 459b318a56 fix configure - reflection is its own extension 2005-11-18 02:50:46 +00:00
Marcus Boerger 15d89ffd28 - Reflection was moved to its own extension 2005-11-17 23:43:53 +00:00
Marcus Boerger 5a0cf29863 - Need to define HAVE_REFLECTION 2005-11-17 23:21:15 +00:00
Marcus Boerger 75329fe178 - Reflection was moved into its own extension 2005-11-17 23:20:39 +00:00
Marcus Boerger a40a48fbd4 - Move Reflection into its own extension 2005-11-17 22:59:39 +00:00
Marcus Boerger 0be9760a60 - reflection not reflectino 2005-11-17 22:49:03 +00:00
Marcus Boerger 3d6e4e85b3 - Make this an extension 2005-11-17 22:42:00 +00:00
Rasmus Lerdorf b312256f08 MFB: missing }}} 2005-11-17 21:57:30 +00:00
Ilia Alshanetsky e919694017 MFB51: Moved date constants into the date class, they all class constants
now.
2005-11-17 21:07:27 +00:00
Ilia Alshanetsky bb94f372cb Hopefully resolve all the Apache 2 sub-request problems on non-linux systems. 2005-11-17 20:56:09 +00:00
Sara Golemon f005e298a0 Bugfix #32371 php://input sometimes returns duplicate data 2005-11-17 19:39:39 +00:00
Antony Dovgal 510f40c3bc make GCC happy and suppress the warning 2005-11-17 19:20:14 +00:00
Ilia Alshanetsky 47414c4204 MFB51: fixed test 2005-11-17 18:25:48 +00:00
Ilia Alshanetsky f5608e0798 MFB51: Fixed bug #35248 (sqlite_query() doesnt set error_msg when return
value is being used).
2005-11-17 14:40:11 +00:00
Antony Dovgal a5e2f63d68 fix #35079 (stream_set_blocking(true) toggles, not enables blocking)
patch by askalski at gmail dot com
2005-11-17 14:19:06 +00:00
Derick Rethans 13373c5f9d - MF51: Fixed bug #35218 (strtotime no longer ignores timezone comments like (PST)). 2005-11-17 13:15:01 +00:00
foobar 7b7b6c20a6 - Renamed config.m4 to config0.m4
# PCRE configure tests must be run before e.g. ext/filter
2005-11-17 10:01:47 +00:00
foobar dca23aa9cf fix typo 2005-11-17 09:56:28 +00:00
foobar 1399d605df - Moved the files from resource to one level down.
# This makes the gcov thing actually work :)
2005-11-17 09:52:35 +00:00
foobar 58d21892e1 - Fix compile failure when ext/readline is compiled as shared 2005-11-17 08:36:12 +00:00
Dmitry Stogov 97190ee606 Removed support for continue and break operators with non-constant operands 2005-11-17 08:27:25 +00:00
8b9855a687 ChangeLog update 2005-11-17 06:54:18 +00:00
foobar 1c41c53e39 - Filters may behave differently with empty string so pass it on 2005-11-17 00:49:48 +00:00
foobar f8667e1809 - Add simple test for filter_data() basic filters 2005-11-17 00:48:51 +00:00
Ilia Alshanetsky b05d189cc0 MFB51: Allow zend_parse_parameters to handle non-well formed integers, but
raise E_NOTICE in the process.
2005-11-17 00:20:31 +00:00
foobar 2f42d7df03 - Fix PECL bug #5963 2005-11-17 00:03:03 +00:00
foobar 1d086bd268 - Fix build in PECL mode and in PHP core 2005-11-16 23:18:16 +00:00
foobar 1044416541 - Fix build problems with pecl/filter/ 2005-11-16 22:14:24 +00:00
foobar 771c47831f - Missing .cvsignore 2005-11-16 16:17:40 +00:00
Dmitry Stogov 8373809e2e Fixed bug #35239 (Objects can lose references) 2005-11-16 11:52:53 +00:00
Dmitry Stogov 376d30f441 Fixed bug #35229 (call_user_func() crashes when arguement_stack is nearly full) 2005-11-16 09:43:56 +00:00
30e3bbdb0b ChangeLog update 2005-11-16 06:44:57 +00:00
Marcus Boerger 18f53efca5 - Add new test 2005-11-15 21:32:54 +00:00
foobar 7d588a5b40 remove old news 2005-11-15 16:50:32 +00:00
Dmitry Stogov 0220a8318c Allow "null" default value for arguments with array type hint
Unicode support
2005-11-15 16:50:07 +00:00
Pierre Joye 29a04a28ef - switch to bsd license
- prepare 2.0.1
2005-11-15 15:36:29 +00:00
Ilia Alshanetsky 4ded4455eb MFB51: Fixed memory leak on php-cli -h 2005-11-15 15:30:41 +00:00
Dmitry Stogov 8bb39e7dba Allow recursive calls to __get/__set for different properties 2005-11-15 15:21:47 +00:00
Ilia Alshanetsky dffc74c54e Allow recursive calls to __get/__set for different properties 2005-11-15 14:57:42 +00:00
Antony Dovgal 21aeacfa9d call zend_objects_destroy_object() explicitly
fix segfault when intern->time is NULL
2005-11-15 14:07:43 +00:00
foobar 29c580f138 fix warning 2005-11-15 13:43:57 +00:00
Dmitry Stogov c4f93961b5 Fixed call to __destruct() for objects of classes delivered from internal ones those use zend_objects_store_put(obj, NULL, ... 2005-11-15 12:39:54 +00:00
foobar 0907893b2b - Prepare for including in PHP core 2005-11-15 11:55:28 +00:00
Dmitry Stogov 1f98519ac4 Fixed bug #35176 (include()/require()/*_once() produce wrong error messages about main()) 2005-11-15 11:14:34 +00:00
534f76d4ec ChangeLog update 2005-11-15 06:41:53 +00:00
Ilia Alshanetsky 5fd55abd66 Fixed possible crash in http:// wrapper. 2005-11-15 04:24:17 +00:00
Frank M. Kromann 0eaec9871c MFB: Change max_procs from 25 to library default. This will make FreeTDS connections work a bit better 2005-11-14 23:14:54 +00:00
Antony Dovgal e658842761 fix #35197 (Destructor is not called) and similar issues in other extensions 2005-11-14 21:52:27 +00:00
641bb46969 ChangeLog update 2005-11-14 06:41:03 +00:00
da02f71894 ChangeLog update 2005-11-13 06:45:19 +00:00
Derick Rethans 574a210973 - Fixed protos. 2005-11-12 14:56:35 +00:00
Andrei Zmievski 87e782644b Grr. Re-re-fix the fix. 2005-11-12 11:11:53 +00:00
cea2b0e867 ChangeLog update 2005-11-12 06:41:04 +00:00
foobar a05a33f34d - Fix the "php -v" output when neither --enable-debug or --enable-gcov
is used.
#
# Rasmus, now it should give proper output, please test.
2005-11-12 00:38:00 +00:00
Andrei Zmievski 0593d4a41d Re-fix Marcus's fix. 2005-11-11 17:34:16 +00:00
Marcus Boerger e556247281 - Use the const instead of hard coding 2005-11-11 16:51:24 +00:00
Marcus Boerger 802fa95416 - Fix build 2005-11-11 16:50:08 +00:00
80390b0122 ChangeLog update 2005-11-11 06:42:02 +00:00
foobar 173fcb5e16 - Added note about --enable-gcov being strictly for developers only! 2005-11-10 08:06:08 +00:00
foobar 9b7a28e9a2 fix configure help 2005-11-10 08:04:57 +00:00
foobar 3e1bb4edf3 - Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER) 2005-11-10 07:49:40 +00:00
ccb6e91baf ChangeLog update 2005-11-10 06:44:26 +00:00
foobar 9d766b59b2 - Fix the ccache detection. 2005-11-09 19:55:25 +00:00
18267e2f7f ChangeLog update 2005-11-09 06:51:38 +00:00
foobar b60b2ed349 Cleanup the code coverage files 2005-11-09 05:41:09 +00:00
foobar 2cf0ce2925 - Change paths to be relative
#
# Derick, don't forget to move the .re file into this same directory!
#
# This was the 2nd last piece of making the code-coverage thing to work
# properly with VPATH builds. Once Derick moves the parse_date.re
# in the same directory where the generated file lives, it's done.
#
# Just copying it by hand in your sources in the meantime and doing
# "./configure --enable-gcov && make lcov" will produce data in lcov_html/
#
2005-11-08 22:45:55 +00:00
foobar cf69b66c13 - Moved gen_php_cov functionality into the Makefile. Doing 'make lcov'
will run the test suite and create the code coverage HTML files.
# no need for some hairy checks whether PHP has the support
# since the lcov target will not exist if it doesn't :)
2005-11-08 20:27:08 +00:00
foobar 72fd0627eb nuke #line directives. 2005-11-08 20:25:11 +00:00
foobar b947d6b0d3 More files to have #line directives stripped for release 2005-11-08 20:21:35 +00:00
foobar 2434baffdb - Fix #line paths 2005-11-08 20:12:09 +00:00
foobar ee7f3b47d4 - Fixed --enable-gcov to work with VPATH builds too 2005-11-08 16:43:09 +00:00
foobar a2bd750581 - Make sure parse_date.c is free of #line directives in releases 2005-11-08 15:54:20 +00:00
foobar 3392f566c3 - Use the source file as output filename instead of stdout 2005-11-08 12:35:01 +00:00
foobar 4352fa69d4 - use the target file name as output file instead of stdout 2005-11-08 12:34:16 +00:00
Dmitry Stogov 84bcd9ac96 Fixed bug #35142 (SOAP Client/Server Complex Object Support) 2005-11-08 08:36:50 +00:00
158e80bed4 ChangeLog update 2005-11-08 06:44:26 +00:00
foobar 2d9c625cf1 - Make sure the generated files have relative paths in the #line directives 2005-11-08 00:02:50 +00:00
Marcus Boerger c1869299c7 - heredoc handling in -a mode 2005-11-07 19:12:37 +00:00
Marcus Boerger 66a9b0b6ae - Fix Bug #32223 weird behaviour of pg_last_notice 2005-11-07 12:56:23 +00:00
Dmitry Stogov 32fe5f2c3b Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension is compiled as shared) 2005-11-07 12:24:20 +00:00
Dmitry Stogov 4e744e2b42 Fixed bug #35091 (SoapClient leaks memory) 2005-11-07 10:07:55 +00:00
f797d89878 ChangeLog update 2005-11-07 06:58:18 +00:00
foobar 0977376369 - Do the LTP thing properly 2005-11-06 22:44:05 +00:00
foobar e4c8e1dc85 - Fixed minor memory leak triggered by: -dzlib.output_compression=1 -m 2005-11-06 22:41:51 +00:00
foobar 8c633a099f - Revert bad patch. This is wrong way to handle leak in "php -m" 2005-11-06 22:07:12 +00:00
Marcus Boerger f53de944df - MFB Add tests 2005-11-06 12:27:11 +00:00
Marcus Boerger 1626dba133 -MFB Fix parameter parsing 2005-11-06 12:01:42 +00:00
Derick Rethans dba96fb9e4 - E_STRICT is not part of E_ALL, so the lines were wrong here. 2005-11-06 11:08:50 +00:00
Marcus Boerger ff72c376c2 - MFB Fix tests expectations 2005-11-06 10:53:39 +00:00
4c788e7703 ChangeLog update 2005-11-06 06:44:24 +00:00
Rasmus Lerdorf 65bb007a3e MFB - This isn't a DOM thing anymore, just libxml 2005-11-05 22:41:09 +00:00
Rasmus Lerdorf f16fb8484d MFB - We don't need the simplexml requirement here anymore 2005-11-05 22:32:55 +00:00
Ilia Alshanetsky c4ee761db1 MFB51: Fixed bug #31971 (ftp_login fails on some SSL servers) 2005-11-05 22:02:40 +00:00
2a121811b8 ChangeLog update 2005-11-05 06:44:56 +00:00
Rui Hirokawa 02e44183bb fixed garbled multibyte characters. 2005-11-05 04:47:29 +00:00
22ae5cdfd0 ChangeLog update 2005-11-04 06:46:21 +00:00
Marcus Boerger ce939c2cc5 - Add missing check flag 2005-11-03 22:04:35 +00:00
Marcus Boerger e2ea55ccbe - Tray fixing #35088 2005-11-03 21:58:42 +00:00
Marcus Boerger 3243167b45 - Add missing check 2005-11-03 21:28:16 +00:00
foobar 6352110b7f - Fixed bug #35078 (configure does not find ldap_start_tls_s) 2005-11-03 20:41:05 +00:00
Michael Wallner 36d3c24c6e - MFB44: #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect integer
parameter on Windows)
2005-11-03 15:01:31 +00:00
2b9167e089 ChangeLog update 2005-11-03 06:46:29 +00:00
foobar 0c2f3ea24e - Fix bad usage of php_checkuid() 2005-11-02 21:26:08 +00:00
Derick Rethans 9d0664976f - Fixed posix_mknod() checks and warnings. 2005-11-02 15:50:06 +00:00
Michael Wallner ab95f1981c - sapi_header_op(SAPI_HEADER_(REPLACE|ADD), {NULL, 0, 0}) caused HTTP response splitting
- sapi_send_headers() already takes care of default_content_type (left over of fix for bug #29983)
2005-11-02 14:27:02 +00:00
971bebd6e3 ChangeLog update 2005-11-02 06:44:42 +00:00
Rob Richards 8de7ff8c91 optimize sxe_add_registered_namespaces
add only first encountered prefixes to namespace arrays
update test
2005-11-01 23:21:29 +00:00
Ilia Alshanetsky c1a09f6399 MFB51: Fixed minor memory leak triggered by: -dzlib.output_compression=1 -m 2005-11-01 23:02:52 +00:00
foobar aeb5830c20 MFB: fixed test 2005-11-01 22:42:03 +00:00
Marcus Boerger 8088087b0b - Update docu 2005-11-01 21:46:33 +00:00
Marcus Boerger d73184b6ba - The iterator base interface is Traversable not IteratorAggregate 2005-11-01 21:17:51 +00:00
Marcus Boerger 169411d040 - Get rid of several wanrings 2005-11-01 20:41:59 +00:00
Frank M. Kromann cb34f4e3d3 Fix #35037. Selecting a uniqueidentifier would return unknown data type when used with freetds. 2005-11-01 18:14:52 +00:00
foobar 60084a7507 *** empty log message *** 2005-11-01 17:04:29 +00:00
Marcus Boerger 35d80e39d2 - Allow to recive derived SplFileInfo/SplFileObject instances 2005-11-01 16:54:44 +00:00
Marcus Boerger 00d5138e93 - Allow parameter parsing implementation raise an error early where more
information is available. And add ability to prevent double errors by
  returning "".
- Implement parameter parsing C which checks for a class name, if the value
  on input is not NULL then the pointer must be the zend_class_entry of the
  required base class.
# Do the KISS approach, looking at the code it isn't that easy does it?
2005-11-01 16:53:29 +00:00
foobar f57932aee0 MFB51: nuke typo 2005-11-01 16:22:04 +00:00
foobar bd7f131a41 - Hiding bugs is not the purpose of the regression tests. 2005-11-01 14:36:13 +00:00
Sebastian Bergmann 5d671dd4b2 Add an additional field $frame['object'] to the result array of debug_backtrace() that contains a reference to the respective object when the frame was called from an object. This revised patch has been reviewed by Dmitry and Zeev. 2005-11-01 13:18:34 +00:00
Marcus Boerger 78456eb9a2 - Test no namespace case, too 2005-11-01 11:55:13 +00:00
Marcus Boerger 9956744821 - Handle default namespaces
# Another time it shows xml is far from being simple
2005-11-01 11:53:14 +00:00
Marcus Boerger 2e67d648fc - WS: Make function detection work in my editor 2005-11-01 11:12:27 +00:00
Dmitry Stogov d846b5382d Fixed SIGSEGV 2005-11-01 11:11:19 +00:00
Sebastian Bergmann e094954bd1 Allow bison 2.1. 2005-11-01 10:31:15 +00:00
Sebastian Bergmann 621c6fb266 Revert. 2005-11-01 07:20:54 +00:00
35d4f32c84 ChangeLog update 2005-11-01 06:48:05 +00:00
Brian France 3130689708 MFB: Fixed phpize build (default PHP_OPENSSL to no if not set) 2005-11-01 00:46:44 +00:00
Ilia Alshanetsky b8665d4169 MFB51: Additional open_basedir/safe_mode checks. 2005-10-31 23:45:50 +00:00
Marcus Boerger 15f4a227e0 - Make SimpleXMLIterator implement Countable 2005-10-31 20:29:34 +00:00
Marcus Boerger 6b4a4afe8c - Implement count interface 2005-10-31 20:06:28 +00:00
Rob Richards 9c982bb62c check node type before accessing ns - prevent corruption under compact mode 2005-10-31 19:51:40 +00:00
Marcus Boerger 1b7db10076 - We don't need those 2005-10-31 19:47:00 +00:00
Dmitry Stogov 372d59b648 Fixed bug #35017 (Exception thrown in error handler may cause unexpected behavior) 2005-10-31 19:29:48 +00:00
Marcus Boerger 2aadbbfca6 - Add functions to check for registered/in use namespaces 2005-10-31 19:09:13 +00:00
cad0ffbc99 ChangeLog update 2005-10-31 06:47:46 +00:00
Marcus Boerger cd5a60d36d - Fix memleaks 2005-10-30 22:55:21 +00:00
Marcus Boerger a415bcc5d9 - Bugfix #35028 XML object fails FALSE test 2005-10-30 20:37:22 +00:00
Ilia Alshanetsky 2eed561d10 MFB51: Improve iconv skip conditions 2005-10-30 18:08:17 +00:00
Ilia Alshanetsky 61c8e857e4 MFB51: Fixed bug #35022, #35019 (Regression in the behavior of key/current
functions).
2005-10-30 18:04:20 +00:00
Marcus Boerger 7c25bdfe67 - Fix mode handling 2005-10-30 17:17:44 +00:00
Marcus Boerger f93d64e8ce - Add docu 2005-10-30 16:07:29 +00:00
Marcus Boerger 82aa412cf8 - Fix unicode expectations 2005-10-30 14:00:45 +00:00
Ilia Alshanetsky 1321658d91 MFB51: Fixed bug #35014 (array_product() always returns 0). 2005-10-30 13:46:34 +00:00
Marcus Boerger e1ce1262ce - Add new test 2005-10-30 13:01:01 +00:00
322fe69078 ChangeLog update 2005-10-30 06:38:30 +00:00
1c8e0d6662 ChangeLog update 2005-10-30 05:43:38 +00:00
Marcus Boerger b4ad6bbc82 - Protect against some edge case that is currently imossible, but will be 2005-10-30 00:38:39 +00:00
Marcus Boerger 378d5b764f - Simplify & speedup, once more 2005-10-30 00:35:55 +00:00
Marcus Boerger b5c08eab91 - Simplify & speedup 2005-10-30 00:20:35 +00:00
Marcus Boerger 29be6e9b51 - Fix attribute handling when using xpath expressions that lead to attributes 2005-10-29 21:16:17 +00:00
Marcus Boerger 5303f42825 - Use var_dump() and fix test expectations 2005-10-29 21:01:03 +00:00
Marcus Boerger bf0f844521 - Add new example 2005-10-29 20:38:30 +00:00
Marcus Boerger a5a9cd2f0f - Attribues don't have children 2005-10-29 20:37:59 +00:00
Marcus Boerger 9ee8a78cef - Add new example 2005-10-29 16:38:49 +00:00
Marcus Boerger b4762f13f1 - Change var_dump to include all that is reachable, incl. @attributes
- Adapt tests and add new one
2005-10-29 16:12:57 +00:00
Marcus Boerger 7ae517c131 - It's better to use our own strtol here 2005-10-29 15:49:28 +00:00
Marcus Boerger bdb7ff4c2e - Increase buffer for 64 bit systems 2005-10-29 15:48:14 +00:00
Marcus Boerger dd702a23dc - Fix stupid unicode warnings 2005-10-29 15:44:37 +00:00
Marcus Boerger 5c4d1edef3 - Add AppendIterator::getIteratorIndex
- Add AppendIterator::getArrayIterator
2005-10-29 15:37:57 +00:00
Marcus Boerger feafd25b0d - Add class SplTempFileObject 2005-10-29 15:15:22 +00:00
Marcus Boerger 86cbff9538 - Allow to specify ma memory usage for temp stream 2005-10-29 15:09:12 +00:00
Marcus Boerger 6e70cdabad - Register temp and memory stream here 2005-10-29 14:29:59 +00:00
Marcus Boerger ef3b427e5c - Fix PECL Bug #5772; FETCH_FUNC broken for mixed case function names
# Mhhh, now wez and me did it in different branches only because i forgot
# to commit and MFH too
2005-10-29 11:10:34 +00:00
6b20d46781 ChangeLog update 2005-10-29 05:40:50 +00:00
Sebastian Bergmann 805cc1d659 Add an additional field $frame['object'] to the result array of debug_backtrace() that contains a reference to the respective object when the frame was called from an object. Patch has been reviewed by Andi, Zeev, and Marcus. I will coordinate with Ilia on merging it to the PHP_5_1 branch after PHP 5.1.0 has been released. 2005-10-28 20:08:25 +00:00
Frank M. Kromann 82c00c179d Make sure haystack_len is initialized before it's used 2005-10-28 19:29:29 +00:00
Frank M. Kromann 8fc3fd1d7a Adding missing function declarations to fix win32 build 2005-10-28 19:21:46 +00:00
Antony Dovgal 04ebdfa967 fix #35003 (Warning: PDOStatement::fetch(): column 0 data was too large for buffer and was)
this is just a quick fix, the real one will follow after the weekend from Wez
2005-10-28 15:01:47 +00:00
Dmitry Stogov 0fe9266d9e Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms) 2005-10-28 14:44:41 +00:00
Dmitry Stogov 05bd788e23 Fixed bug #34879 (str_replace, array_map corrupt negative array indexes) 2005-10-28 13:48:15 +00:00
Dmitry Stogov 6ca72e6ea5 Fixed bug #34982 (array_walk_recursive() modifies elements outside function scope) 2005-10-28 10:06:53 +00:00
Dmitry Stogov 44e9370026 Fixed bug #34982 (array_walk_recursive() modifies elements outside function scope) 2005-10-28 09:57:50 +00:00
Dmitry Stogov 9cb1032718 Fixed bug #34725 (CLI segmentation faults during cleanup in ZTS if ext/pcre is DSO) 2005-10-28 08:31:01 +00:00
Dmitry Stogov 2b5cd0e756 Unicode support 2005-10-28 08:07:17 +00:00
Dmitry Stogov 3c166ac947 Fixed test (unicode support) 2005-10-28 07:31:21 +00:00
Dmitry Stogov 3c6c6d2a9a $id:$ tatgs are removed from generated files to avoid committing of Zend/zend_vm_opcodes.h without real changes. 2005-10-28 06:05:41 +00:00
cefc6bb11b ChangeLog update 2005-10-28 05:42:07 +00:00
Rob Richards a953be4fff fix crash setting attr from foreign doc (throws exception)
add test
2005-10-27 23:49:38 +00:00
Antony Dovgal 4329fff15f forgot to commit new pdo_attr_ function 2005-10-27 19:38:36 +00:00
Dmitry Stogov 804e3b4f5b Fixed SIGSEGV 2005-10-27 19:25:07 +00:00
Antony Dovgal a22b830c9c add MySQL options and corresponding constants 2005-10-27 17:33:43 +00:00
Antony Dovgal 7038c647e1 - free S->stmt
- return correct value from the cursor_closer
- make sure S->stmt is NULL'ed
2005-10-27 17:25:31 +00:00
Ilia Alshanetsky cbeef6084b MFB51: Fixed memory leak on error 2005-10-27 14:14:33 +00:00
Pierre Joye 0a160d3459 - MFB #34980, divisor and offset never passed correctly (s/float/double/) 2005-10-27 11:07:39 +00:00
Derick Rethans 19c7917e35 - Update package files. 2005-10-27 09:36:26 +00:00
Derick Rethans 50e247999d - Fixed a crash when a non-array option was passed in combination with the
callback filter.
2005-10-27 09:27:34 +00:00
e90bbb8640 ChangeLog update 2005-10-27 05:38:05 +00:00
Dan Scott 0a7164c970 Add test for PDO::ATTR_CASE. 2005-10-26 23:46:52 +00:00
Antony Dovgal 5c5e74581b make compilers happy 2005-10-26 22:46:51 +00:00
Antony Dovgal 5f7baf7312 fix #34996 (ImageTrueColorToPalette() crashes when ncolors is zero) 2005-10-26 21:35:56 +00:00
Antony Dovgal 21b1f3279b Unicode related patchset
fixes two problems:
- wrong offset counting and ..
- OCI_NEED_DATA error when reading unicode CLOBs (fixes PECL bug #5719)
2005-10-26 18:52:00 +00:00
Ilia Alshanetsky 14082e0e09 MFB51: Additional tweaks to the patch for bug #34249. 2005-10-26 15:08:42 +00:00
Derick Rethans 04d1624be9 - Make it compile when inside the PHP source tree. 2005-10-26 15:05:22 +00:00
Derick Rethans 35a0866735 - Allow settable default flags for the filters. 2005-10-26 14:37:08 +00:00
Antony Dovgal 0fb9af4eac fix #34977 (Compile failure on MacOSX due to use of varargs.h) 2005-10-26 13:49:19 +00:00
Derick Rethans bcf6e4057a - Update package.xml files. 2005-10-26 13:23:16 +00:00
Derick Rethans a3997030fa - Implemented this like the comment says, otherwise it will ofcourse modify
both instances of this variable name...
2005-10-26 13:20:52 +00:00
foobar f2e946c79c Fix configure 2005-10-26 11:33:17 +00:00
foobar 4d9e40f8dd Fix indent 2005-10-26 11:33:05 +00:00
Dan Scott 52f9772049 Correct non-standard SQL. Standard SQL would define "DEFAULT NULL" -- but
that is the default value if the DEFAULT clause is omitted anyways.
2005-10-26 08:32:25 +00:00
Derick Rethans c07f4ff8b6 - More ZTS fixes. 2005-10-26 07:56:16 +00:00
Derick Rethans 9f28be05e3 - Fixed ZTS mode
- Added input_name_to_filter() function.
2005-10-26 07:48:51 +00:00
810520b20b ChangeLog update 2005-10-26 05:40:59 +00:00
Marcus Boerger ff5ae1d0de - Make the code a bit clearer 2005-10-25 23:11:26 +00:00
Marcus Boerger 9b584a1499 - api was changed, also we are here in api 3.*, not 2 anymore 2005-10-25 19:42:55 +00:00
Marcus Boerger 578f36cc4a - zend_is_callable_ex() was changed 2005-10-25 19:38:49 +00:00
Marcus Boerger c72d91afd7 - Make zend_is_callable_ex() return the class netry if available 2005-10-25 19:38:09 +00:00
Michael Wallner c8fd741ef0 fix bug #34965 tidy is not binary safe 2005-10-25 17:57:30 +00:00
Antony Dovgal aad3dcd493 use correct enum type for the arg 2005-10-25 16:03:11 +00:00
Ilia Alshanetsky 85aaa8e388 Fixed bug #34968 (bz2 extension fails on to build on some win32 setups). 2005-10-25 15:52:08 +00:00
Michael Wallner 3fa81199ad - fix the fix 2005-10-25 15:35:22 +00:00
Michael Wallner b680d05c8e - add test case too 2005-10-25 15:17:11 +00:00
Michael Wallner a31744ee55 - fix bug #34821 zlib encoders fail on widely varying binary data on windows 2005-10-25 15:13:55 +00:00
Antony Dovgal a80a5b8cda apply workaround for the leak only when GLIBC is used 2005-10-25 14:56:48 +00:00
Michael Wallner 6cb40d4c48 - thread safe SSL crypto locks, fixes bug #33760 2005-10-25 14:29:07 +00:00
Ilia Alshanetsky 21f852eeb2 MFB51: Do not run tests if iconv extension is unavailable. 2005-10-25 14:23:22 +00:00
Antony Dovgal e90fd61a77 fix problem with garbage appearing in hostnames 2005-10-25 08:19:11 +00:00
Derick Rethans bc6dba17e4 - Fixed segfault in case an empty parameter was passed. 2005-10-25 07:54:13 +00:00
91abf74e88 ChangeLog update 2005-10-25 05:47:13 +00:00
foobar c87c580e4e fix build 2005-10-24 22:45:54 +00:00
Antony Dovgal b7267ff12b fix #34970 (ldap configuration issues) 2005-10-24 20:24:05 +00:00
Rolland Santimano 654da3c826 - strip_tags(), str[c]spn(), strpbrk(), strrchr(), strrpos(), strtok() 2005-10-24 14:51:17 +00:00
Rolland Santimano 37d12b82b3 - Unicode impl of strrchr() 2005-10-24 14:35:02 +00:00
Dmitry Stogov 3cad8e2fb4 Fixed bug #34950 (Unable to get WSDL through proxy) 2005-10-24 07:43:48 +00:00
Dmitry Stogov d464599515 Unicode support (bug #31341) 2005-10-24 07:17:16 +00:00
Dmitry Stogov 47893ed920 Reverted fix for bug #34934. The bug marked as bogus. 2005-10-24 07:01:43 +00:00
40e866b25e ChangeLog update 2005-10-24 05:39:02 +00:00
Marcus Boerger f7459bad30 - Fix issue with entities in attributes 2005-10-23 23:41:20 +00:00
Marcus Boerger d78da85370 - Add new test 2005-10-23 23:25:46 +00:00
Antony Dovgal 85e1d03261 fix #34938 (dns_get_record() doesn't resolve long hostnames and leaks) 2005-10-23 18:31:36 +00:00
Ilia Alshanetsky 6a271cc9c9 MFB51: Fixed memory leak on error. 2005-10-23 15:29:38 +00:00
28bf1e93f4 ChangeLog update 2005-10-23 05:43:21 +00:00
Wez Furlong 58f42f04ad merge VCWD_ACCESS bugfix to head.
Test suite is unusable in HEAD, so I guess it works here too.
2005-10-22 17:26:16 +00:00
Rolland Santimano a948324778 - php_u_stristr: Remove leading back-slash ... sheesh 2005-10-22 13:36:55 +00:00
Rolland Santimano 68487a234e - php_u_stristr: s/codepts/codepoints/ - make Jani happy 2005-10-22 13:32:51 +00:00
Rolland Santimano 03b7fe7666 - Unicode impl of strpbrk() 2005-10-22 13:25:00 +00:00
Rolland Santimano c36ac8de3d - php_u_stristr: Code comments 2005-10-22 05:52:53 +00:00
bc35d8c56c ChangeLog update 2005-10-22 05:39:36 +00:00
Marcus Boerger 581d856af7 - Do not include because of implementing an interface if parent implements
the interface already
2005-10-21 23:42:56 +00:00
Antony Dovgal aff2ed53ca fix ws 2005-10-21 15:54:46 +00:00
Dmitry Stogov 02090106d8 Fixed bug #34934 (offsetExists is not called from array_key_exists) 2005-10-21 15:20:30 +00:00
Antony Dovgal d6f6d9f840 fix possible crash in dns_get_record()
cleanup code a bit
(partly fixes #34938)
2005-10-21 13:48:07 +00:00
Dmitry Stogov de047ae0a5 Fixed bug #31341 (escape on curly inconsistent) 2005-10-21 13:22:10 +00:00
Dmitry Stogov 45699741e1 Fixed fgetcsv() and fputcsv() inconsistency. 2005-10-21 12:14:11 +00:00
Dmitry Stogov 5fd04023dc Fixed bug #34782 (token_get_all() gives wrong result) 2005-10-21 09:33:04 +00:00
Dmitry Stogov 6ef4239827 Fixed bug #29268 (__autoload() not called with Reflection->getClass()) 2005-10-21 08:03:39 +00:00
de96385160 ChangeLog update 2005-10-21 05:42:08 +00:00
foobar 8918f84242 Proper news 2005-10-20 19:35:14 +00:00
Rolland Santimano 5ca019aad3 - Unicode impl of stristr() 2005-10-20 19:25:54 +00:00
Ilia Alshanetsky 37015ffcfa MFB51: Fixed tests to work with ZTS builds 2005-10-20 19:22:55 +00:00
Antony Dovgal 5feaae6a4c use proper constants 2005-10-20 16:54:19 +00:00
Antony Dovgal 0bd9c3d109 use constants instead of their values 2005-10-20 16:50:43 +00:00
Antony Dovgal fc834fef2f copy/paste typo 2005-10-20 16:46:44 +00:00
Ilia Alshanetsky cc918f8c69 Fixed test for cygwin installs 2005-10-20 14:42:36 +00:00
Dmitry Stogov 81b506bdd0 Removed unnecesary local variable 2005-10-20 11:31:59 +00:00
Dmitry Stogov 5372281b01 Fixed bug #34893 (PHP5.1 overloading, Cannot access private property) 2005-10-20 09:47:31 +00:00
Dmitry Stogov 0fe08e9b67 Fixed bug #34712 (zend.ze1_compatibility_mode = on segfault) 2005-10-20 08:56:02 +00:00
Dmitry Stogov 22130a2b74 Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects correctly) 2005-10-20 08:15:13 +00:00
Dmitry Stogov 2507a54429 Fixed bug #31177 (menory leaks and corruption because of incorrect refcounting) 2005-10-20 07:23:58 +00:00
Dmitry Stogov 05975d1457 Added forgotten tests 2005-10-20 07:03:45 +00:00
1bc48cc521 ChangeLog update 2005-10-20 05:34:50 +00:00
John Coggeshall 5259aa2943 Implementing C-level Code coverage (--enable-gcov).
o Requires LTP 1.4+ and libgcov
2005-10-20 00:18:23 +00:00
Ilia Alshanetsky 222fa05e1c Fixed -m memory leak 2005-10-19 21:57:35 +00:00
Derick Rethans d095243b99 - MF51: Fixed bug #34874 and #33546 (Problems with lone daynames). 2005-10-19 21:11:15 +00:00
Ilia Alshanetsky 50686f4d7c Fixed bug #29983 (PHP does not explicitly set mime type & charset). 2005-10-19 20:30:38 +00:00
Rolland Santimano 8ed78ae796 - Unicode impl of str[c]spn() 2005-10-19 19:10:13 +00:00
Ilia Alshanetsky d0f62c960f Fixed bug #34623 (Crash in pdo_mysql on longtext fields). 2005-10-19 14:11:25 +00:00
Ilia Alshanetsky 087145d953 Change E_ERROR to E_WARNING when more_entropy flag is off on Cygwin. 2005-10-19 13:41:36 +00:00
Dmitry Stogov 9e9cee5c9d Fixed test 2005-10-19 12:48:07 +00:00
foobar 972a29d93c - Fixed error messages and tests 2005-10-19 11:18:16 +00:00
Antony Dovgal 4aaf47e7bc remove undef HAVE_OCI_STMT_PREPARE2 2005-10-19 09:11:22 +00:00
Dmitry Stogov 050d36d8af Fixed memory leak in ZTS mode 2005-10-19 07:55:05 +00:00
Derick Rethans ff43c2eea5 - Improve error messages a bit. 2005-10-19 07:21:35 +00:00
87a5b40d28 ChangeLog update 2005-10-19 05:43:51 +00:00
Antony Dovgal 65e6b4fafa initialize SG(request_info).auth_digest to NULL and prevent segfaults 2005-10-18 23:51:36 +00:00
Ilia Alshanetsky cddb5c624a Fixed bug #34905 (Digest authentication does not work with Apache 1). 2005-10-18 23:14:47 +00:00
Ilia Alshanetsky 090ef86983 Do not set authorizer unless safe_mode or open_basedir are being used. 2005-10-18 22:50:43 +00:00
Antony Dovgal f1272dee51 nuke unused var and silence warnings 2005-10-18 14:50:20 +00:00
Ilia Alshanetsky 8f6a90297a MFB51: Fixed bug #34899 (Fixed sqlite extension compile failure). 2005-10-18 14:34:00 +00:00
Antony Dovgal 096cb8c2de use php_error_docref() instead of php_error() everywhere 2005-10-18 13:51:20 +00:00
Antony Dovgal 00ee8a036c typo 2005-10-18 13:39:51 +00:00
Derick Rethans 9e6588d6f0 - Allow mime_content_type() to work with even a slightly broken mime magic
file.
2005-10-18 13:02:11 +00:00
Antony Dovgal 37bc8289b9 fix mime_magic problems with ZTS 2005-10-18 12:41:13 +00:00
Antony Dovgal 5561b8a9ab fix bug #34902 (mysqli::character_set_name() - undefined method) 2005-10-18 10:01:08 +00:00
8e86d3ce2b ChangeLog update 2005-10-18 05:36:34 +00:00
Dan Scott 887901c35c Apply patch for #34900, sight unseen. 2005-10-18 01:01:32 +00:00
Rolland Santimano a9ce7d32e4 - Unicode impl of stripos() 2005-10-17 19:50:13 +00:00
Rob Richards 176e782079 only need context set once 2005-10-17 19:47:23 +00:00
Rolland Santimano b277b1d1c0 - Unicode impl of strrpos() 2005-10-17 17:07:44 +00:00
Ilia Alshanetsky b154fa6e7c Properly fixed bug #34456 (original patch completely reverted). 2005-10-17 15:29:55 +00:00
Derick Rethans 194e2dd081 - MF51: Fixed bug #29361 (var_export() producing invalid code). 2005-10-17 15:03:12 +00:00
Ilia Alshanetsky ee5282ad63 Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case is
being used).
2005-10-17 14:29:20 +00:00
Dmitry Stogov bc446eec5b Fixed bug #34873 (Segmentation Fault on foreach in object) 2005-10-17 08:01:07 +00:00
Derick Rethans 086875b107 - Make sure that typehints for classes can only accept "= NULL" as default
value.
2005-10-17 07:03:33 +00:00
60eff57dda ChangeLog update 2005-10-17 05:45:46 +00:00
Ilia Alshanetsky 21979641ca Further URL validations in safe_mode/open_basedir configs. 2005-10-17 02:42:17 +00:00
foobar 0465f487a4 - Silence unnecessary output 2005-10-16 20:41:02 +00:00
Marcus Boerger c49a1999cb - Add ability to access private properties of base classes
- Add ability to specify fully qualified name for properties
- ReflectionClass::getInterfaces89 now returns associative array
2005-10-16 16:13:55 +00:00
9ef2886e63 ChangeLog update 2005-10-16 05:47:08 +00:00
Derick Rethans df0184f25a - MF51: Fixed timezone guessing on Windows. 2005-10-15 18:14:40 +00:00
Derick Rethans 1f5660526a - MF51: Updated timezone database to version 2005.14. 2005-10-15 18:14:11 +00:00
Derick Rethans a1527fdaf3 - Changed type hints so that they take "= NULL" as default value. 2005-10-15 12:54:19 +00:00
Derick Rethans a923f3d6f0 - Fixed folding markers. 2005-10-15 12:50:20 +00:00
7c1e029f34 ChangeLog update 2005-10-15 05:36:00 +00:00
Antony Dovgal cc85fdf510 add test for bug #34873 2005-10-14 21:50:46 +00:00
Ilia Alshanetsky 0ec88c52cd MFB51: ZTS fix 2005-10-14 15:38:56 +00:00
b513f306d0 ChangeLog update 2005-10-14 05:45:27 +00:00
Ilia Alshanetsky 1c8c3c063b Fixed test failure 2005-10-13 21:26:08 +00:00
Rob Richards 5abf267c11 move constants to class 2005-10-13 21:19:14 +00:00
Rob Richards e6dbb50a40 insure stream usage 2005-10-13 20:17:18 +00:00
Rob Richards 214cdf0d5a bump libxml min version to 2.6.11 2005-10-13 20:16:39 +00:00
Marcus Boerger 91ac79530d - SPL example was changed, so change PDO test accordingly 2005-10-13 19:48:07 +00:00
Marcus Boerger 533b61cf3b - Add ability to bypass key() surrounding and make that default 2005-10-13 19:45:29 +00:00
foobar 40af0645b9 proper quoting, breaking, etc. 2005-10-13 19:28:47 +00:00
Marcus Boerger bd6cbd6a0e - MFB Do not try to autoload the class, use internal only 2005-10-13 18:41:04 +00:00
Antony Dovgal 956dea1e37 correct it one more time (grrr) 2005-10-13 15:22:20 +00:00
Antony Dovgal c387f9b359 correct the fix 2005-10-13 15:18:37 +00:00
Antony Dovgal 3c6d14bd0b fix #34856 (configure fails to detect libiconv's type) 2005-10-13 15:13:29 +00:00
Antony Dovgal db520f01b1 fix #34855 (ibase_service_attach() segfault on AMD64) 2005-10-13 12:58:22 +00:00
foobar 27d2fe07ff MF51:- Fixed bug #34850 (--program-suffix and --program-prefix not included in man page names) 2005-10-13 10:04:17 +00:00
9e2fdf2af0 ChangeLog update 2005-10-13 05:40:53 +00:00
Marcus Boerger 722613aeb8 - Use pcre_cache_entry* rather than pcre* directly for refcounting
# This prevents a theoretical crash when using too many regexes
2005-10-12 22:52:09 +00:00
Marcus Boerger 56325bc275 - Drop one cache related function which is not really neccessary 2005-10-12 22:45:15 +00:00
Marcus Boerger eb48d356bd - Add/expose function to compile and access pcre_cache_entry structs 2005-10-12 22:37:30 +00:00
Antony Dovgal 34d511ab9d MF51: fix bug #34581 (crash with mod_rewrite) 2005-10-12 21:31:49 +00:00
Derick Rethans 569f8afa2c - Apperently you can't store NULL pointer values into Zend hashes - god know
why not - so we won't store those in the cache anymore.
2005-10-12 19:49:35 +00:00
Ilia Alshanetsky fd2365ae3c Fixed bug #34758 (PDO_DBLIB did not implement rowCount()). 2005-10-12 15:02:35 +00:00
Antony Dovgal 4dc417469d fix compile warnings again 2005-10-12 14:43:55 +00:00
Antony Dovgal 2791fea1b5 MF51: make GCC happy and improve CS a bit 2005-10-12 14:30:34 +00:00
Antony Dovgal e371613f9c nuke unused vars 2005-10-12 14:03:26 +00:00
Rob Richards 5466fe38ed use spprintf where appropriate 2005-10-12 13:57:14 +00:00
Antony Dovgal dd14ae2327 MF51: fix TS build 2005-10-12 13:33:33 +00:00
Dmitry Stogov 1bedfbeb24 Unicode support 2005-10-12 12:13:54 +00:00
Dmitry Stogov 7adf1a259c Fixed unicode support for strip_tags() 2005-10-12 11:00:47 +00:00
Dmitry Stogov 8ac7004ea7 Unicode support 2005-10-12 10:12:15 +00:00
bfee08f77f ChangeLog update 2005-10-12 05:45:26 +00:00
Rob Richards 9c9d49379f Fixed Bug #27908 (xml default_handlers not being called)
Fix memleak when entitydecls are parsed
remove old ifdefs
2005-10-12 03:20:13 +00:00
foobar b233ce0dd8 - Removed confusing dot. 2005-10-11 18:58:27 +00:00
foobar 205e9957c8 fix test 2005-10-11 18:12:01 +00:00
Ilia Alshanetsky 9c5a8bac1c Fixed bug #33167 (Possible crash inside pg_fetch_array()). 2005-10-11 16:18:40 +00:00
Ilia Alshanetsky 2bebbe7773 Fixed bug #34742 (ftp wrapper failures caused from segmented command transfer). 2005-10-11 14:33:14 +00:00
Antony Dovgal 492a1e4124 MF51: fix #34757 (iconv_substr() gives "Unknown error" when offset > string length) 2005-10-11 13:59:18 +00:00
Dmitry Stogov 5d4cd1a71a Fixed compilation on Windows 2005-10-11 11:39:01 +00:00
Dmitry Stogov e00b9ab746 Fixed bug #32455 (wrong setting property to unset value) 2005-10-11 10:16:03 +00:00
Dmitry Stogov 866908ca97 Fixed bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash) 2005-10-11 06:46:18 +00:00
2892b13bb9 ChangeLog update 2005-10-11 05:45:37 +00:00
Marcus Boerger 68f663eaf8 - Provide const RegExIterator::USE_KEY and actually use it in the test 2005-10-11 00:18:32 +00:00
Marcus Boerger ac92e5988c - Add (Recursive)RegExIterator 2005-10-10 23:58:42 +00:00
Marcus Boerger d1ff98a560 - Register new class 2005-10-10 21:45:09 +00:00
Marcus Boerger f9f2e8fa56 - Finalize work on SplFileInfo and derived for now (add missing get*Info())
- Update docu
2005-10-10 21:06:54 +00:00
Antony Dovgal 20b8eb26fe MF51: use proper macros and vars instead of strlen() 2005-10-10 20:16:35 +00:00
Antony Dovgal 870a19056f MF51: fix #34818 2005-10-10 20:14:31 +00:00
Derick Rethans d9a3cfd931 - Make sure the tzcache' dtor doesn't cleanup cached misses in the lookup
tables.
2005-10-10 16:41:40 +00:00
George Schlossnagle bb09dad9d0 remove potentially bogus test 2005-10-10 16:02:20 +00:00
Dmitry Stogov 89df282855 Fixed XML Schema error 2005-10-10 15:40:43 +00:00
Ilia Alshanetsky 42663f639d Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object). 2005-10-10 14:43:51 +00:00
Ilia Alshanetsky f14cf0f7d8 Fixed bug #34802 (Fixed crash on object instantiation failure). 2005-10-10 14:30:05 +00:00
Antony Dovgal 5ec88f863e MF51: fix #34810 (mysqli::init() and others use wrong $this pointer without checks) 2005-10-10 12:59:47 +00:00
Dmitry Stogov 98294fbf3f Fixed bug #34786 (2 @ results in change to error_reporting() to random value) 2005-10-10 10:54:45 +00:00
Dmitry Stogov d3105c7ef6 MFH 2005-10-10 10:50:35 +00:00
Antony Dovgal 28ce7290e9 update changelog 2005-10-10 10:48:38 +00:00
foobar 9f8c7e0850 Fix copypastetypo 2005-10-10 10:28:21 +00:00
foobar 3cce2dc2ee Fix copypastetypo 2005-10-10 10:27:27 +00:00
Antony Dovgal f15f20ffa2 fix #33383 (crash when retrieving empty BLOBs) 2005-10-10 10:16:58 +00:00
foobar 2d5f21c2fb - Fix build for distros where the header files are under */include/freetds/ 2005-10-10 09:50:24 +00:00
Dmitry Stogov 9ac7051043 Fixed bug #34467 (foreach + __get + __set incosistency) 2005-10-10 09:50:20 +00:00
Marcus Boerger 623df3a859 - Fix logic 2005-10-10 06:06:12 +00:00
foobar 146b1a3928 fix test 2005-10-10 05:56:53 +00:00
e63632d234 ChangeLog update 2005-10-10 05:36:24 +00:00
Rob Richards 551d6c5505 PHP_CONFIG_FILE_PATH needs to use strlen() due to Win build 2005-10-10 02:26:13 +00:00
foobar acaa301798 MFB 2005-10-09 20:44:26 +00:00
foobar f51f365fcf Fix properly 2005-10-09 20:38:28 +00:00
foobar 1b5c95e4ee - Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared) 2005-10-09 20:33:09 +00:00
Ilia Alshanetsky 47bf5f068c Fixed bug #34777 (Crash in dblib when fetching non-existent error info). 2005-10-09 18:59:27 +00:00
Andrey Hristov 1483b322f4 MFB 2005-10-09 17:57:37 +00:00
Marcus Boerger d4190c0513 - Add 'overwrites' info to method dump
# Right now we have to compute that information because it is not available
2005-10-09 17:14:15 +00:00
Marcus Boerger 8f4f012a2c - Apply workaround for test until someone fixes the issue (which is unrelated to pg_*()) 2005-10-09 16:05:01 +00:00
Marcus Boerger 6355dc71df - Make test check for PlPgSQL before using it 2005-10-09 15:57:40 +00:00
Marcus Boerger 362ea7143e - Add new test 2005-10-09 15:13:25 +00:00
Marcus Boerger c124fa566c Bugfix #34704 (Infinite recursion due to corrupt JPEG) (Tim Starling) 2005-10-09 14:11:44 +00:00
Dmitry Stogov c8f43c67d0 Fixed bug #34788 (SOAP Client not applying correct namespace to generated values) 2005-10-09 12:42:06 +00:00
Dmitry Stogov 3ea64d3377 Fixed fault message formatting 2005-10-09 11:31:51 +00:00
Dmitry Stogov f60b382906 Fixed bug #34787 (SOAP Client not handling boolean types correctly) 2005-10-09 11:06:09 +00:00
Marcus Boerger b3fb938ada - Fix potential SEGV with overloaded objects 2005-10-09 09:55:30 +00:00
204dfa9bad ChangeLog update 2005-10-09 05:41:35 +00:00
Marcus Boerger c188afdd03 - Add ReflectionMethod::getPrototype()
- Add some usefull information to the method dump
  . From where it was inherited
  . The prototype
2005-10-08 23:37:31 +00:00
Pierre Joye d8b5fb88cd - add compression mode argument to imagepng
(MFH to 5.1?)
2005-10-08 19:29:04 +00:00
Marcus Boerger 033ffc206d - Add new example directorytree_size.php
- Improve SplFileInfo:
  . add function getFilename()
  . add function getPath()
-Improve RecursiveTreeIterator
  . add const BYPASS_CURRENT to bypass current instead of getting its
    string representation
  . make key() return the parent key() which calls inner iterators key()
- Improve RecursiveDirectoryIterator
  . add consts CURRENT_AS_FILEINFO, KEY_AS_FILENAME, NEW_CURRENT_AND_KEY
  . make current() return getFilename() or getFileInfo() depending on flags
  . make key()     return getPathname() or getFilename() depending on flags
- Improve DirectoryIterator
  . make __construct() accept flags as second parameter
- Update docu
2005-10-08 18:57:17 +00:00
Marcus Boerger 7b330f195b - Add new class SplFileInfo
. Make DirectoryIterator inherit it
  . Make SplFileObject inherit it
2005-10-08 15:55:04 +00:00
Derick Rethans d35d37e74c - Fixed bug #34676: missing support for strtotime("midnight") and
strtotime("noon").
2005-10-08 14:30:15 +00:00
5b7fee64f5 ChangeLog update 2005-10-08 05:34:18 +00:00
Marcus Boerger babb2d5337 - Add new test 2005-10-07 23:23:00 +00:00
Marcus Boerger d6af3d268d - Prevent notices from showing up if inner's current() does not return a string 2005-10-07 23:14:49 +00:00
Derick Rethans f70499f83a - Make the Windows guessing routines actually return the guessed timezone. 2005-10-07 20:31:57 +00:00
George Schlossnagle 0315733264 Test simple derivation via restriction 2005-10-07 15:06:09 +00:00
Derick Rethans 5b9d65e873 - Change parameter name because NetWare expands "tzname" as a macro to
something else.
2005-10-07 13:33:13 +00:00
Rob Richards b2515629af maintain BC for PECL 2005-10-07 13:26:11 +00:00
Dmitry Stogov 3b6f181dd8 Fixed bug #34766 (possible crash on HTTP redirection) 2005-10-07 11:55:53 +00:00
Dmitry Stogov e9f91abfef Fixed memory leak 2005-10-07 10:06:45 +00:00
Dmitry Stogov 5d4a602eaa Reverted last George patches 2005-10-07 08:21:37 +00:00
Derick Rethans 83bb14d2ff - Fixed bug #34771 (strtotime() fails with 1-12am/pm). 2005-10-07 08:05:10 +00:00
Derick Rethans 0993034101 - Synced timezonemap with latest data. 2005-10-07 07:57:43 +00:00
Marcus Boerger 8217f84488 - C vs. C++ fix
# I do too much C++ and too much languages anyway, right now actively:
# C, C++, Java, PHP, Peral
2005-10-07 07:37:37 +00:00
cc29cff0fd ChangeLog update 2005-10-07 05:40:21 +00:00
George Schlossnagle 90de6c8216 Permit correct usage of inherited encoders (from restriction/extension
"base" directives) for xml response decoding.
2005-10-07 05:14:31 +00:00
George Schlossnagle 6ca9ed38e4 support complex types in restrictions and extensions 2005-10-06 22:30:08 +00:00
Frank M. Kromann 3afe5200cc Fix Win32 build by adding missing function declaration. 2005-10-06 21:40:30 +00:00
Marcus Boerger a27f5b0665 - Fix issue (endless loop) with temp/memory streams 2005-10-06 21:30:56 +00:00
Ilia Alshanetsky 37a1bb6f52 Added missing safe_mode checks. 2005-10-06 20:37:25 +00:00
Johannes Schlüter 7e85bac9ec - Fix #34557 php -m exits with "error" 1 2005-10-06 20:29:13 +00:00
Marcus Boerger 6453e19d2b - Fix test in unicode mode 2005-10-06 20:17:11 +00:00
Marcus Boerger 00692252e8 - Use run-tests.ph -u rather then defining the ini settings one by one 2005-10-06 19:51:47 +00:00
Marcus Boerger ed2043353f - Show whether we execute unicode or native tests 2005-10-06 19:51:03 +00:00
Marcus Boerger 93a27ebb60 - MFB dynamic lookup of PDOException base 2005-10-06 19:32:27 +00:00
Marcus Boerger 7d2a02feb6 - BC: php objects convert to int/double 1 with notice 2005-10-06 19:11:01 +00:00
Marcus Boerger 86164a5b94 - Show the test finishes/dos2unix 2005-10-06 19:05:10 +00:00
Marcus Boerger f78cdd9550 - Fix test 2005-10-06 19:02:20 +00:00
Marcus Boerger cfed9e4e74 - Fix test 2005-10-06 19:01:40 +00:00
Marcus Boerger df7f8a9df5 - Fix test
- Convert to unicode
2005-10-06 18:52:51 +00:00
Rob Richards 9b912f6806 use sizeof instead of define 2005-10-06 18:47:47 +00:00
Marcus Boerger b9211d24e7 - Any php object converts to boolean as true 2005-10-06 18:46:01 +00:00
Marcus Boerger 74e172d5b2 - Add new test 2005-10-06 18:41:01 +00:00
Marcus Boerger 206008bf77 - Fix test 2005-10-06 18:37:19 +00:00
Marcus Boerger f1d1c5e282 - Add new test 2005-10-06 18:32:28 +00:00
Derick Rethans 61eae75ec3 - Fixed Windows build (patch by Mike) 2005-10-06 13:03:31 +00:00
Marcus Boerger d376ba48ea - WS 2005-10-06 09:39:32 +00:00
Marcus Boerger 8fc1043685 - Fix redir tests, test count, faillog
# Everything should work again now
2005-10-06 09:29:32 +00:00
Dmitry Stogov f27aedcce2 Cleanup 2005-10-06 08:18:20 +00:00
Dmitry Stogov 362f3fd7ea Fixed compilation error 2005-10-06 06:27:27 +00:00
93dcfb79de ChangeLog update 2005-10-06 05:34:43 +00:00
Marcus Boerger ea2f242df1 - MFB use new functions 2005-10-06 00:38:55 +00:00
Marcus Boerger 2e2ba68d81 - Fix faillog and make it understand/handle redirected tests 2005-10-06 00:35:08 +00:00
Rob Richards 67be950883 fix buffer lengths passed to snprintf 2005-10-05 22:35:11 +00:00
Marcus Boerger 8b14aded85 - MFB Missing constants 2005-10-05 21:57:45 +00:00
Antony Dovgal 5e72a7c750 fix fwrite() and fgets() in unicode mode 2005-10-05 21:46:28 +00:00
Rob Richards 699084da71 these should have remained ints 2005-10-05 19:52:58 +00:00
Rob Richards 76324c5f7c - speed and memory usage optimizations
- implement readInnerXml, readOuterXml and readString: requires libxml 2.6.20
- add encoding and options paramters to open and XML methods
   options from libxml extension may be passed
   i.e. LIBXML_XINCLUDE to perform xinclude during read
2005-10-05 19:41:57 +00:00
Marcus Boerger 6ccd7ef74d - Update cast_object handlers 2005-10-05 19:12:44 +00:00
Marcus Boerger 38e65a872f - Update example 2005-10-05 19:10:22 +00:00
Marcus Boerger 7c083fcc07 - Have __toString() be called if available in all places an object is used
as a string.
#
# Note that "Object #<id>" is no longer afallback for debugging purpose use
# var_dump, which was made for debugging. If you used this to grab the id
# of an object you can never rely on this. For object storage look at SPL's
# ObjectStorage class.
#
# Note the signature change in the cast handler:
#
# int (*cast_t)(zval *readobj, zval *writeobj, int type, int should_free TSRMLS_DC);
# int (*cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
2005-10-05 19:02:27 +00:00
Marcus Boerger 12dbad3a5c - Fix warnings 2005-10-05 18:57:40 +00:00
Derick Rethans e8f96db932 - MF51: Windows Timezone guessing code 2005-10-05 18:38:30 +00:00
Antony Dovgal 6f4fe0e7ff fix bugs #34743 & #34118 (fseek/fread unicode related problems in HEAD)
patch by Alex
2005-10-05 17:18:06 +00:00
Rob Richards 285df9fa6e fix ZTS build 2005-10-05 16:39:37 +00:00
Ilia Alshanetsky f10effd288 Missing safe_mode/open_basedir checks for file uploads. 2005-10-05 14:32:19 +00:00
Derick Rethans 85f1a3f3b0 - Update package files. 2005-10-05 12:25:32 +00:00
Rolland Santimano 07ff8d5632 - strip_tags(): some fixes, still AWiP 2005-10-05 12:16:02 +00:00
Derick Rethans 1451c14684 - Remove README, everything is implemented now. 2005-10-05 11:46:18 +00:00
Antony Dovgal 2cf16cf942 fix test 2005-10-05 09:00:14 +00:00
Dmitry Stogov 408337fc18 Fixed throwing exceptions derived from SoapFault 2005-10-05 07:01:48 +00:00
f20435d2b5 ChangeLog update 2005-10-05 05:43:31 +00:00
Ilia Alshanetsky 86401de381 MFH: Fixed possible INI setting leak via virtual() in Apache 2 sapi. 2005-10-05 00:42:54 +00:00
Antony Dovgal f3e70f5b8c fix #34723 (array_count_values() strips leading zeroes) 2005-10-04 20:47:48 +00:00
Derick Rethans 17bc1d09e8 - Implemented user level data filter.
- Fixed a memory leak.
2005-10-04 14:47:30 +00:00
Derick Rethans 6f9c13f222 - Add a function that returns whether a specific input variable exists or not. 2005-10-04 13:42:52 +00:00
Antony Dovgal d98fb9b27a MFB5.1: fix #32179 (xmlrpc_encode() segfaults with recursive references) 2005-10-04 12:07:24 +00:00
Dmitry Stogov 7f89924239 Unicode support 2005-10-04 07:59:14 +00:00
Marcus Boerger 31d9d6c5b5 - MFB Add optional deps for SPL 2005-10-04 07:48:43 +00:00
Dmitry Stogov c8aa7f6088 Fixed compilation error (gcc-4). 2005-10-04 06:33:10 +00:00
61bf77f29c ChangeLog update 2005-10-04 05:38:47 +00:00
Antony Dovgal 1f62b7e105 nuke warning 2005-10-03 23:47:55 +00:00
Antony Dovgal 8ced962510 MFB5.1: include the header, eliminate warning 2005-10-03 23:43:43 +00:00
foobar 1ce96bd69f Generated files are included like this.. 2005-10-03 20:20:50 +00:00
foobar 686cbaf078 Add include path to the timelib headers 2005-10-03 20:20:20 +00:00
Marcus Boerger 6d703c5967 - In a conditional statement "a ? b ? c", a and b MUST have the same type
# We should make this an inline function to prevent unnecessary calls to
# get classentry or requir that class_entry must return a valid class_entry
# which we do iirc anyway.
2005-10-03 19:24:09 +00:00
Marcus Boerger ebcafe58d3 - Fix ZTS Build 2005-10-03 19:13:13 +00:00
Marcus Boerger 83a8e3d2a8 - Add easy way to test in unicode mode 2005-10-03 18:15:54 +00:00
Marcus Boerger 070ed30039 - Throw an exception if an illegal string value is being used in ArrayObject::offsetSet() 2005-10-03 17:58:47 +00:00
Rolland Santimano 11d1574211 - Unicode impl of strip_tags() 2005-10-03 17:00:00 +00:00
Marcus Boerger a0674235e3 - Really allow SXE being shared by not using anything from it directly in SPL 2005-10-03 16:04:50 +00:00
Marcus Boerger 272ff777c5 - Add missing test from base
- Change require to require_once (found by kevin)
2005-10-03 15:06:06 +00:00
Ilia Alshanetsky 63cd70e920 GLOBALS protection for extract() function. 2005-10-03 14:01:36 +00:00
Marcus Boerger 94274df4e0 - Add more sorting funcs to ArrayObject/Iterator 2005-10-03 13:34:01 +00:00
Marcus Boerger fcbb1d572e - Make prefixing more generic 2005-10-03 13:29:30 +00:00
Antony Dovgal eca0493e05 update changelog 2005-10-03 13:05:48 +00:00
Antony Dovgal cc96f31ac7 fix PECL bug #5571 (oci_new_connect() not closed by oci_close()) 2005-10-03 13:02:14 +00:00
Marcus Boerger 12c2b1f128 - Add sorting to ArrayObject/Iterator 2005-10-03 12:55:11 +00:00
Marcus Boerger 4d09d0b819 - Allow uncached global functions too 2005-10-03 12:34:57 +00:00
Marcus Boerger 0d5550eb06 - Add propper casting 2005-10-03 12:14:47 +00:00
foobar 6330fcb55e fix BLOAT news 2005-10-03 12:07:19 +00:00
Johannes Schlüter 9147629f59 - Add --rclass and --rextension arguments to CLI 2005-10-03 11:54:46 +00:00
Derick Rethans f027a065a7 - Only load external database when it is newer. 2005-10-03 11:34:27 +00:00
Derick Rethans b75871d017 - Allow an external Timezone Database to be used. 2005-10-03 11:15:21 +00:00
Marcus Boerger a964956aa1 - Update 2005-10-03 10:17:02 +00:00
Marcus Boerger 086912dfff - Allow to use currnet() and key() in __toString() 2005-10-03 10:08:56 +00:00
Marcus Boerger 59557385ac - Make reflection class pointers available for others 2005-10-03 10:04:33 +00:00
Dmitry Stogov db13ecd5aa MFH (Bug #34643 wsdl default value) 2005-10-03 09:52:54 +00:00
Marcus Boerger 748d497764 - Rewrite flags as hex values 2005-10-03 09:39:35 +00:00
Marcus Boerger b1fc84f584 - Fix issue with RecursiveArrayIterator::getChildren() 2005-10-03 09:12:39 +00:00
Dmitry Stogov cdb1746ac3 Fixed bug #34678 (__call(), is_callable() and static methods) 2005-10-03 09:10:28 +00:00
Dmitry Stogov eedbae57ae Fixed bug #34358 (Fatal error: Cannot re-assign $this) 2005-10-03 08:21:20 +00:00
Rolland Santimano 8658708456 levenshtein(), similar_text() 2005-10-03 06:19:51 +00:00
Rolland Santimano eea40f95d8 - Unicode impl of similar_text() 2005-10-03 06:14:10 +00:00
c3948bf457 ChangeLog update 2005-10-03 05:36:27 +00:00
Ilia Alshanetsky 19b334a08a Fixed memory leak. 2005-10-03 03:53:57 +00:00
Marcus Boerger f28eec269c - Add new example 2005-10-02 23:12:12 +00:00
Marcus Boerger b18ffb406e - Simplify SPL checks for PDOException base 2005-10-02 20:36:02 +00:00
Marcus Boerger 3e0c56aac2 - Fix PDOException base
- MFH PDO::getAvailableDrivers()
- Fix compiler warnings
2005-10-02 20:32:17 +00:00
Marcus Boerger a39841e57d - Allow to check for default statment class 2005-10-02 18:45:59 +00:00
Marcus Boerger 8ece2140cb - Add ability to change default statement class for PDO::execute()/query() 2005-10-02 18:32:05 +00:00
Pierre Joye 9688e4017b - remove gdttf 2005-10-02 18:31:37 +00:00
Pierre Joye 918b48839b - ft1 support remove, #2, gdttf.* 2005-10-02 18:06:13 +00:00
Pierre Joye 9c6a41fbdb - drop freetype1 support 2005-10-02 18:01:51 +00:00
Marcus Boerger eedd7b36d2 - Add new example 2005-10-02 17:32:36 +00:00
Derick Rethans da5e9633d0 - MF51: timelib_config.h should stay too. 2005-10-02 16:31:03 +00:00
Derick Rethans f763cd1e7f - MF51: removed parse_date.c from .cvsignore file. 2005-10-02 16:01:42 +00:00
b4cdb85693 ChangeLog update 2005-10-02 05:37:49 +00:00
Andrei Zmievski 1454bdfea4 *** empty log message *** 2005-10-02 03:10:33 +00:00
Marcus Boerger bfaf987363 - MFB spl/simplexml integration (when sxe is shared) 2005-10-01 15:55:27 +00:00
Derick Rethans 2eaf85c481 - MF51: Implemented better timezone guessing algorithm. 2005-10-01 15:07:20 +00:00
7db47e291b ChangeLog update 2005-10-01 05:42:39 +00:00
Pierre Joye 00953d1a15 - MFB: #33125, alpha emulation broken 2005-09-30 20:58:41 +00:00
Rolland Santimano 2dc1c72917 - substr_replace(): call correct funcn for string conversion 2005-09-30 13:19:15 +00:00
Rolland Santimano 8ec9f097b6 - Unicode impl of levenshtein() 2005-09-30 06:20:47 +00:00
65c78bef64 ChangeLog update 2005-09-30 05:38:16 +00:00
Ilia Alshanetsky a36e2bd05a Fixed possible crash and/or memory corruption in import_request_variables()
Fixed potential GLOBALS overwrite via import_request_variables().
2005-09-29 16:30:15 +00:00
Rolland Santimano c893c70275 - Unicode impl of strtok() 2005-09-29 11:05:30 +00:00
Dmitry Stogov 4dd3b9436a Fixed wrong array autodetection 2005-09-29 10:00:59 +00:00
Rolland Santimano 6f06e93237 - Updated addslashes(): add codepoints directly rather than with zend_codepoint_to_uchar() 2005-09-29 09:33:38 +00:00
581f6068bd ChangeLog update 2005-09-29 05:41:36 +00:00
Rob Richards b4f80a9416 add dsp file 2005-09-29 01:05:17 +00:00
Edin Kadribasic 0ea9eb4313 Update php4 build file, compile against istantclient 2005-09-28 22:31:45 +00:00
Ilia Alshanetsky 146517684d Fixed possible GLOBALS variable override when register_globals are ON.
Fixed possible register_globals toggle via parse_str().
2005-09-28 22:31:29 +00:00
Rolland Santimano c775c4cf83 - Updated substr_replace() to use:
- zend_get_unified_string_type()/convert_to_explicit_type() for type conversion
  - u_countChar32() for counting codepoints
2005-09-28 14:58:31 +00:00
Rolland Santimano a8a918db85 {add,strip}slashes() 2005-09-28 12:25:34 +00:00
Dmitry Stogov eb48c25451 Fixed bug #34453 (parsing http://www.w3.org/2001/xml.xsd exception) 2005-09-28 11:23:32 +00:00
Rolland Santimano 227791e5af - Unicode impl of {add,strip}slashes() 2005-09-28 09:22:08 +00:00
Derick Rethans 01520328e6 - Implemented input_filters_list() function to return all supported filters. 2005-09-28 09:10:45 +00:00
Marcus Boerger b2633c34d5 - Add missing .cvsignore 2005-09-28 07:10:38 +00:00
21ac01fae2 ChangeLog update 2005-09-28 07:05:48 +00:00
9997f8e9f8 ChangeLog update 2005-09-28 06:31:02 +00:00
Andrei Zmievski a3946eb636 strrev() walkthrough 2005-09-27 19:56:39 +00:00
Dmitry Stogov a7c91fec3a Fixed bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called) 2005-09-27 18:08:26 +00:00
Andrei Zmievski 34308558ac Unicode fixes. 2005-09-27 17:50:00 +00:00
Dmitry Stogov b94dc286e7 Fixed bug #34643 (wsdl default value has no effect) 2005-09-27 15:24:47 +00:00
Ilia Alshanetsky 6d2e7a84ca Fixed bug #32937 (open_basedir looses trailing / in the limiter).
Patch by Adam Conrad
2005-09-27 15:07:38 +00:00
Dmitry Stogov 9323d00a65 MFH 2005-09-27 08:50:23 +00:00
Marcus Boerger 3568f4839b - Need to rename in expectations, too 2005-09-27 08:46:53 +00:00
Marcus Boerger 04f21fab77 - Rename test to be consistent 2005-09-27 08:41:23 +00:00
Marcus Boerger cb969bf938 - Add new tests 2005-09-27 08:37:37 +00:00
Marcus Boerger c3f9de41ab - BFN 2005-09-27 08:25:34 +00:00
Dmitry Stogov f94344d7fd Changed __toString() behavior to call it in all necessary places 2005-09-27 07:59:18 +00:00
9964afb00f ChangeLog update 2005-09-27 05:33:02 +00:00
Ilia Alshanetsky 200d5924cf Allow substr_compare() to take a negative offset to facilitate start of the
comparison from the end of string.
2005-09-26 23:08:10 +00:00
Ilia Alshanetsky 6495d65c5c Touch generated file 2005-09-26 19:32:17 +00:00
Ilia Alshanetsky 94d1e56360 Update bundled libsqlite3 to version 3.2.7 2005-09-26 19:31:41 +00:00
Derick Rethans 74c7eb7723 - Implemented callback filter. 2005-09-26 18:38:49 +00:00
Marcus Boerger 179ab26968 - Reset global pointer to NULL after mem free (required for apache 1.3) 2005-09-26 17:54:57 +00:00
Antony Dovgal dce4c522af the last 64bit fix 2005-09-26 16:48:24 +00:00
Derick Rethans c319c60125 - Implement validate_ip filter for IPv4. 2005-09-26 13:45:38 +00:00
Dmitry Stogov 1b1b864941 Unicode support 2005-09-26 07:23:49 +00:00
Derick Rethans 12945df662 - Implemented validate_url filter. 2005-09-26 06:57:05 +00:00
3c4a9c9f43 ChangeLog update 2005-09-26 05:32:43 +00:00
Antony Dovgal 28205f28ef 2nd part of previous fix 2005-09-25 23:49:13 +00:00
Antony Dovgal bf69d23a21 more 64-bit fixes 2005-09-25 23:46:28 +00:00
Antony Dovgal de50d0275c fix 64bit issues caused by wrong "long" usage 2005-09-25 21:44:32 +00:00
Antony Dovgal 5ec597013e fix arguments-by-ref with 5.x (problem appeared after the last 4.x compat patch)
make sure username_len is always initialized
2005-09-25 18:24:52 +00:00
Marcus Boerger a2cbf80002 - Make code more readable, fix issue with parameter parsing introduced with
unicode update
2005-09-25 18:06:08 +00:00
Ilia Alshanetsky 6e37a621f8 Fixed bug #34321 (Possible crash in filter code). 2005-09-25 13:26:19 +00:00
Marcus Boerger 7e1763a115 - Implement RecursiveIteratorIterator::setMaxDepth()/getMaxDepth() 2005-09-25 12:01:31 +00:00
7ae48d8182 ChangeLog update 2005-09-25 05:43:30 +00:00
Marcus Boerger da8c0af034 - Rename here too 2005-09-24 23:48:26 +00:00
foobar 6fe5050c45 fix typo 2005-09-24 23:22:44 +00:00
Marcus Boerger 8c131ac952 - Serializeable was renamed to Serializable long ago 2005-09-24 23:18:14 +00:00
Edin Kadribasic c752d6b2ad MFB: Allow php extensions to use php_escape_shell_cmd() and php_escape_shell_arg(), needed for mbstring 2005-09-24 15:22:57 +00:00
Edin Kadribasic c4e65a4a2d MFB: Build PDO and SQLite as shared 2005-09-24 15:15:13 +00:00
Pierre Joye 97bad74c0f - #33220, fix infinite loop while loading invalid gif, this patch fixes
at least many cases (nlopess)
2005-09-24 14:37:49 +00:00
Edin Kadribasic dc866850f7 MFB: sqlite3.h is a generated file 2005-09-24 14:22:02 +00:00
Edin Kadribasic 8e6b7667c6 MFB: Declare functions used by driver as PDO_API in php_pdo_driver.h 2005-09-24 14:19:24 +00:00
1ccdcabf65 ChangeLog update 2005-09-24 05:35:43 +00:00
Derick Rethans 47236d7fc7 - Implemented filter_int, filter_float and filter_bool. 2005-09-23 23:09:47 +00:00
Marcus Boerger 6265c1623f - Remove unused variable 2005-09-23 23:02:29 +00:00
Marcus Boerger 23d0387eae - WS 2005-09-23 22:55:10 +00:00
Marcus Boerger 4a430a093a - WS fix 2005-09-23 22:49:57 +00:00
Andrei Zmievski cd43b7dda7 substr() sample case 2005-09-23 21:24:31 +00:00
Antony Dovgal 57c6acb932 fix test 2005-09-23 10:34:02 +00:00
Antony Dovgal 244563283a fix tests to work with HEAD and its new E_* values 2005-09-23 10:28:23 +00:00
Antony Dovgal 76d773ae1d remove double EXPECT tag 2005-09-23 09:39:59 +00:00
Antony Dovgal 520288bbe6 add new tests 2005-09-23 09:39:29 +00:00
Antony Dovgal b97af6c1c0 MF5.1:
- store current value of error_reporting only if it's not stored yet
- reset old_error_reporting to NULL only it points to the tmp_var at current opline
2005-09-23 09:38:37 +00:00
foobar be3a2c634d - Improved the fix for #21306 a bit 2005-09-23 08:13:57 +00:00
Dmitry Stogov 14a0d82f42 MFH 2005-09-23 07:16:06 +00:00
3c581e752b ChangeLog update 2005-09-23 05:33:26 +00:00
Antony Dovgal 47ed27c6bb fix #32081 (mysqli_real_connect(): mysqli.default_socket in php.ini has no effect) for real 2005-09-22 20:14:15 +00:00
Antony Dovgal 57e146e652 bump API number 2005-09-22 19:13:52 +00:00
Antony Dovgal 78fe744753 fix #33771 (error_reporting falls to 0 when @ was used inside try/catch block) 2005-09-22 19:03:04 +00:00
Antony Dovgal 0b57661b2d .. and the fix 2005-09-22 16:42:21 +00:00
Antony Dovgal 6a956b3d43 fix Win32 builds for PHP_4_4
(patch by Edin)
2005-09-22 16:25:59 +00:00
Derick Rethans 9000038bd2 - Changed variable handling code so that filter flags work for the unsafe_raw
filter.
- Added better support for \0 characters.
- Added utility function to HTML encode low/high characters.
- Added support for encode low/high flags to the string and special_chars
  filter.
- Added support for strip and encoding flags to the unsafe_raw filter.
2005-09-22 14:32:28 +00:00
Edin Kadribasic 0a4395a360 MFB: Fix building of extensions that inlcude extname/header.h 2005-09-22 13:18:14 +00:00
Antony Dovgal 22d9a9bb86 prepare to release 1.1.1 2005-09-22 12:15:03 +00:00
Derick Rethans 66e3c106d1 - Removed ALLOW_SIGN filter flag, as this will always be allowed.
- Added ALLOW_SCIENTIFIC flag for the FS_NUMBER_FLOAT filter.
- Implemented string, encoded, special_chars, unsafe_raw, email, url,
  number_int, number_float and magic_quotes filters.
2005-09-22 10:06:57 +00:00
517a4152ce ChangeLog update 2005-09-22 05:45:59 +00:00
Marcus Boerger a28c82fceb - Fixed Bug #34590 User defined PDOStatement class can't implement methods 2005-09-21 22:53:50 +00:00
Marcus Boerger d9ed9945cb - MFB 2005-09-21 18:49:37 +00:00
Dmitry Stogov af0dd442f3 Fixed memory corruption 2005-09-21 15:54:42 +00:00
Dmitry Stogov 18c1c3a82f Allow fopen() make HTTPS requests throug HTTP proxies 2005-09-21 15:04:48 +00:00
Ilia Alshanetsky ac43306e72 MFB: fixed compiler warnings 2005-09-21 13:23:12 +00:00
Ilia Alshanetsky db186add45 Fixed bug #34565 (mb_send_mail does not fetch mail.force_extra_parameters) 2005-09-21 13:15:20 +00:00
Marcus Boerger d376c1e4a5 - Fix Bug #34243 ReflectionClass::getDocComment() returns no result 2005-09-21 09:56:35 +00:00
Derick Rethans 772af6a3cf - Fixed definition in correct file. (Patch by Nuno) 2005-09-21 08:40:52 +00:00
Derick Rethans c3c9df5ed6 - Moved the FREE_OP to after the execution of the included file, or eval
statement so that it is safe to access this information in the overridden
  zend_execute() function, which is what Xdebug does.
2005-09-21 08:12:34 +00:00
51953f7bd1 ChangeLog update 2005-09-21 05:35:49 +00:00
Johannes Schlüter 01f01cdb48 - Remove HTML fragments from phpcredits() in CLI mode 2005-09-20 22:17:34 +00:00
foobar 6f0648dab6 - Fixed bug #21306 (catch bailouts of write handler during RSHUTDOWN) 2005-09-20 20:56:21 +00:00
Ilia Alshanetsky 75555bc472 Allow overloading of PDO constructor. 2005-09-20 19:52:05 +00:00
Marcus Boerger 97bedcc064 - Provide helper function to avoid TSRM issues with exception base and root 2005-09-20 18:46:15 +00:00
Derick Rethans bc0308b2e4 - Moved constants to private .h file
- Added comments to filter stubs as per discussion with Ilia
- Renamed regexp to validate_regexp filter
- Added stubs for validate_url, validate_email and validate_ip filters.
- Implemented "string" (stripped) filter
2005-09-20 15:01:42 +00:00
Stanislav Malyshev 961d12fa2d fix crash on restarting static PHP having session modules loaded 2005-09-20 14:05:16 +00:00
Marcus Boerger da0e46b251 - Synch utest with test 2005-09-20 09:21:11 +00:00
Dmitry Stogov 140b23620b ZTS fix 2005-09-20 06:17:30 +00:00
ebc7bb3a00 ChangeLog update 2005-09-20 05:45:47 +00:00
Ilia Alshanetsky 71f9416fda MFB: remove PDO_ prefix 2005-09-20 00:46:07 +00:00
Wez Furlong ed6fa70f49 use PDO:: class constants 2005-09-20 00:45:16 +00:00
Ilia Alshanetsky 3953b14024 Make PDO use class constants 2005-09-20 00:33:42 +00:00
Marcus Boerger 2c6cf58a96 - Add eytension consts to extension output (Johannes)
- Fix WS in output
2005-09-19 20:29:33 +00:00
Marcus Boerger 1bb2a74ee0 - Fix filename 2005-09-19 19:03:38 +00:00
Antony Dovgal c6e6b44b82 MF5.0: add new test 2005-09-19 18:59:50 +00:00
Dmitry Stogov b45944a5b3 Fixed access to uninitialized value 2005-09-19 18:47:36 +00:00
Marcus Boerger b4271e8f3f - Fix filename in docu 2005-09-19 18:28:01 +00:00
Marcus Boerger 97948f29a9 - Add deprecated/compatibility class for BC 2005-09-19 18:25:23 +00:00
Marcus Boerger 2568c8a0cb - More TSRM fixes 2005-09-19 18:17:39 +00:00
Marcus Boerger a3aa58fdea - Fix building with 5.0 2005-09-19 18:05:00 +00:00
Dmitry Stogov b3ec0a78c9 MFH (removed unnecesary call to zval_ptr_dtor) 2005-09-19 17:50:11 +00:00
Dmitry Stogov a106b48982 Fixed access to memory that is already freed (in case of __call() method) 2005-09-19 16:28:43 +00:00
Dmitry Stogov 9f9043864c Fixed parameter passing incompatibilities.
Now it is possible to call array_pop(explode("&","1&2&3")) again.
2005-09-19 16:01:56 +00:00
Dmitry Stogov f6a20bad6e Unicode support 2005-09-19 07:49:13 +00:00
Dmitry Stogov 4d8290d000 Unicode support 2005-09-19 07:23:47 +00:00
Dmitry Stogov 9fc1de0181 Fixed test file 2005-09-19 06:11:12 +00:00
baf70abbf9 ChangeLog update 2005-09-19 05:45:53 +00:00
Ilia Alshanetsky e9fac07169 Add blame :) 2005-09-19 03:21:34 +00:00
Marcus Boerger 8663b3a191 - Update docu: new slides are available 2005-09-18 17:51:37 +00:00
Marcus Boerger d9604967ff - Observer/Subject have been renamed 2005-09-18 17:44:50 +00:00
Marcus Boerger eede773730 - Add missing docu 2005-09-18 17:39:12 +00:00
Marcus Boerger 7a9c654f83 - Derick changed the test but forgot to make the code use E_RECOVERABLE_ERROR 2005-09-18 17:32:52 +00:00
Marcus Boerger 02038b4ac4 - Rename 'CachingRecursiveIterator' to 'RecursiveCachingIterator' so that
all of those follow the naming scheme 'Recursive<*>Iterator'
2005-09-18 16:51:24 +00:00
Marcus Boerger 445e382454 - Move RecursiveArrayIterator into .c
- Add ability to control iterator class of ArrayObject
- Implement option to make CachingIterator cache all read elements
- Implement ArrayAccess to CachingIterator to access cached elements
- Update docu
- Update tests
2005-09-18 11:34:36 +00:00
Edin Kadribasic 9250fda033 MFB 2005-09-17 22:07:20 +00:00
720fbd9a5f ChangeLog update 2005-09-17 05:42:43 +00:00
Antony Dovgal 1b1c0e3c78 check class_entry of this_ptr in Reflection API, so we won't get an alien this_ptr
when called statically in a function that is called statically too (without being
declared as static)
2005-09-16 20:20:46 +00:00
foobar cc20c52449 Please, only add entries for fixed bugs if they are ONLY fixed in HEAD! 2005-09-16 19:43:46 +00:00
Dmitry Stogov 746e88e3d5 Fixed bug #34478 (Incorrect parsing of url's fragment (#...)) 2005-09-16 15:47:42 +00:00
Dmitry Stogov 213a1768a2 Fixed tests 2005-09-16 15:24:50 +00:00
Dmitry Stogov a5c84dde62 MFH 2005-09-16 15:24:09 +00:00
Marcus Boerger 35c85a23f1 - MFB 2005-09-16 15:23:37 +00:00
Dmitry Stogov af3476a982 Fixed bug #34518 (Unset doesn't separate container in CV) 2005-09-16 14:40:49 +00:00
Dmitry Stogov 3c76f253e8 MFH (overriding of protected static property) 2005-09-16 13:42:31 +00:00
0993ab6ad9 ChangeLog update 2005-09-16 05:40:54 +00:00
Derick Rethans 74929f352c - Fixed bug #34052 (date('U') returns %ld not unix timestamp). 2005-09-15 19:10:13 +00:00
Derick Rethans c41ae5f4b0 - Added tests. 2005-09-15 16:20:06 +00:00
Derick Rethans 0f391bb0b3 - Add E_RECOVERABLE.
#- Thought I did this before already actually...
2005-09-15 16:19:48 +00:00
Marcus Boerger 50301ddc98 - Rename file class again by popular demmand: calling it SplFileObject now
# Any other idea about the name? Or should i come up with a renaming plan
# for the upcoming versions? :-)
2005-09-15 14:07:39 +00:00
foobar 1a1f97ee7e MFB 2005-09-15 13:20:24 +00:00
8d78d4cf18 ChangeLog update 2005-09-15 05:48:00 +00:00
Marcus Boerger 5f437cd590 - Changed in version 5.1 2005-09-15 03:52:58 +00:00
Marcus Boerger 849fb07201 - MFB 2005-09-15 03:48:38 +00:00
Marcus Boerger 8aa7f36a3b - Rename Observer to SplObserver
- Rename Subject to SplSubject
- Move SPL constants to class constants
- Update docu
2005-09-15 03:31:37 +00:00
Rasmus Lerdorf 868c4b72df Add FS_STRIPPED alias 2005-09-15 03:16:09 +00:00
Marcus Boerger acae6a3810 - Improve error message 2005-09-14 18:21:11 +00:00
Andrei Zmievski 883149c516 *** empty log message *** 2005-09-14 18:01:41 +00:00
foobar bbfba9977f Silence warnings under Solaris 2005-09-14 17:57:22 +00:00
foobar 45e1606796 Silence some crap if bison does not exist 2005-09-14 15:52:49 +00:00
Ilia Alshanetsky f7a4a852df Fix error detection for queries such as OPTIMIZE 2005-09-14 15:34:42 +00:00
Derick Rethans 6e3d5a9e22 - Rename icu_loc* to i18n_loc*
- Added i18n_strtotitle (name is not sure yet) - work in progress.
2005-09-14 14:56:01 +00:00
eb0fb96526 ChangeLog update 2005-09-14 05:40:11 +00:00
foobar bfdf52964e ext/oracle is no more 2005-09-13 21:40:33 +00:00
Andrei Zmievski 1d9f5e1360 *** empty log message *** 2005-09-13 21:07:46 +00:00
Andrei Zmievski 387e353009 Fix for Unicode access. 2005-09-13 21:04:07 +00:00
Andrei Zmievski 687f8a33d5 *** empty log message *** 2005-09-13 20:24:02 +00:00
Andrei Zmievski d746f59f35 Commit work in progress. 2005-09-13 16:21:47 +00:00
Ilia Alshanetsky a383bd062c Make key() and current() take argument by value. 2005-09-13 13:22:49 +00:00
foobar 279d2bc311 Cleanup the configure mess, preparing for making unicode OPTIONAL 2005-09-13 09:50:53 +00:00
Antony Dovgal d94f338cf4 fix #34450 (Segfault when calling mysqli_close() in destructor) 2005-09-13 09:19:58 +00:00
67739f4a64 ChangeLog update 2005-09-13 05:42:49 +00:00
Sara Golemon 87bcf776f7 Plug leak of 1/2 bytes when converting from string/unicode 2005-09-12 17:42:43 +00:00
foobar e720736a4f - Fixed build with phpize 2005-09-12 17:14:20 +00:00
Ilia Alshanetsky 58fda11b15 Fixed bug #34456 (Possible crash inside pspell extension).
# Patch by Nuno Lopes
2005-09-12 15:26:48 +00:00
Dmitry Stogov 0a54602089 Fixed bug #34199 (if($obj)/if(!$obj) inconsistency) 2005-09-12 11:48:28 +00:00
Dmitry Stogov 03c6efab67 Additinal fix for bug #34277 (array_filter() crashes with references and objects) 2005-09-12 09:58:35 +00:00
Derick Rethans 161777af26 - Reimplement SORT_LOCALE_STRING with ICU locales. 2005-09-12 09:53:23 +00:00
Dmitry Stogov 1e32cdbb7d Fixed bug #34449 (ext/soap: XSD_ANYXML functionality not exposed) 2005-09-12 08:23:49 +00:00
Dmitry Stogov f4a3454c52 Fix for exceptions in __sleep() 2005-09-12 07:14:54 +00:00
Dmitry Stogov b81255d4fd ZTS fix 2005-09-12 06:31:54 +00:00
3c3f298f18 ChangeLog update 2005-09-12 05:43:21 +00:00
6ad8a44ab9 ChangeLog update 2005-09-11 05:43:58 +00:00
Wez Furlong 37ace0651b merge other PDO fixes from 5.1 branch.
Allow pdo_sqlite to build against 5.0 and 5.1 too.
2005-09-11 05:08:49 +00:00
Wez Furlong d84239ae87 touch file 2005-09-11 05:04:43 +00:00
Wez Furlong 434fa24dfa Merge changes from 5.1 branch.
Add compat header that allows PDO head to compile against PHP 5.0 and PHP 5.1.
2005-09-11 05:04:00 +00:00
Wez Furlong 739c0680d0 actually reset the statement when closeCursor() is called. 2005-09-11 04:59:41 +00:00
6bb7ca6c56 ChangeLog update 2005-09-10 05:40:02 +00:00
Rolland Santimano 05e365bab3 - str_pad(): Use u_countChar32() for codepoint counting, eumalloc/eurealloc() for Unicode mallocs. 2005-09-09 19:07:18 +00:00
Antony Dovgal 4c8425e9ba new test 2005-09-09 14:08:03 +00:00
Antony Dovgal 98899d1083 fix problem appearing when binding empty values 2005-09-09 14:00:03 +00:00
Derick Rethans 0c6c0eaa51 - Added Rollands latest upgrades. 2005-09-09 09:54:16 +00:00
Dmitry Stogov 3c2e00f903 Fixed huge memory leaks in ZTS mode 2005-09-09 08:19:56 +00:00
Dmitry Stogov ce0c17aa95 MFH (is_sublass_of("A","B") should call __autoload() for "A" and "B") 2005-09-09 06:47:18 +00:00
a7357c5910 ChangeLog update 2005-09-09 05:35:59 +00:00
Ilia Alshanetsky 5754b7321a Allow retrieval of query parse errors from SQLite.
# Patch by Nuno Lopes
2005-09-08 21:07:26 +00:00
Dmitry Stogov 0638374ec9 Avoid unnecessary copying/freeing 2005-09-08 16:15:16 +00:00
Ilia Alshanetsky 1e13bca414 Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()). 2005-09-08 14:49:58 +00:00
Derick Rethans 9d04a8e369 - Make ord() work on binary strings too. 2005-09-08 14:07:40 +00:00
Antony Dovgal 034e794fe9 use "connections" instead of "links" everywhere to avoid possible confusion 2005-09-08 13:16:24 +00:00
Dmitry Stogov b0b0f8147d Fixed craches in substr_replace() 2005-09-08 12:40:01 +00:00
Antony Dovgal fb8258e8b7 fix phpinfo() output for iconv extension
(convert unicode values to string before outputting them)
2005-09-08 11:48:07 +00:00
Dmitry Stogov 49c3b14f53 Unicode support for PHP constants 2005-09-08 11:10:34 +00:00
Rob Richards d1cf2c5ffe add save options parameter 2005-09-08 10:34:37 +00:00
Rob Richards 65f96ca6f2 add additional constants
remove un-needed ifdefs
2005-09-08 10:33:57 +00:00
Dmitry Stogov a082983adb catch operator shouldn't call __autoload () too 2005-09-08 10:32:28 +00:00
Dmitry Stogov 90b45fcbbd Fixed crash on AIX 2005-09-08 06:18:47 +00:00
fdb78c1816 ChangeLog update 2005-09-08 05:37:56 +00:00
Rolland Santimano a441e78984 - Unicode impl of substr_replace() 2005-09-08 05:05:36 +00:00
Derick Rethans f872d3346c - Fix buglett with date() that cause truncated strings to be returned when
Unicode is turned on.
2005-09-07 19:09:27 +00:00
Dmitry Stogov 7eeb91187b Fixed memory allocation bug 2005-09-07 15:34:50 +00:00
Antony Dovgal 324080065d new test 2005-09-07 15:27:09 +00:00
Ilia Alshanetsky 2195f7ec74 Upgraded sqlite2 lib to 2.8.16 2005-09-07 15:10:15 +00:00
Antony Dovgal 49cf0eff6a add Andi & Wez as lead maintainers and make myself lead too 2005-09-07 13:05:51 +00:00
Antony Dovgal 984f303713 I doubt that all these people are going to develop it in PECL,
so remove them and fix those complains about non-existing users.
2005-09-07 12:44:19 +00:00
Antony Dovgal 8137d9a075 prepare to PECL release 2005-09-07 12:40:38 +00:00
Edin Kadribasic adcc19f9ec Support for Windows (Michael Wallner) 2005-09-07 11:16:57 +00:00
Antony Dovgal ec8531cfb1 don't try to fetch resource when there is 0 args 2005-09-07 08:58:32 +00:00
Dmitry Stogov 18e259480e Fixed unicode support for substr_count() 2005-09-07 07:00:03 +00:00
1e72f205b6 ChangeLog update 2005-09-07 05:33:15 +00:00
Antony Dovgal 1287891c3b removed __FUNCTION__ (by popular demand) 2005-09-06 21:44:53 +00:00
Antony Dovgal 4a2b8cb6d0 fix credits 2005-09-06 21:42:26 +00:00
Edin Kadribasic b5a5b22cbb Sync windows build and link against instant client libs 2005-09-06 21:38:16 +00:00
Edin Kadribasic e18b812ba6 Remove utf-8 chars 2005-09-06 21:30:28 +00:00
Antony Dovgal 726f3e3881 workaround for some b0rked compilers 2005-09-06 21:11:19 +00:00
Antony Dovgal e0ed2b45ff new tests 2005-09-06 19:33:18 +00:00
Antony Dovgal 3df94e1112 Updated OCI8 driver
This updated fixes (this list is not complete):
-------------------
#33915 - crash in _oci_close_session
#26393 - Segfault during request shutdown in _oci_close_session() (oci8.c:2443)

#32741 - hang on ociexecute() with collections (only with 10g, works with 9i)
#32325 - can't retrieve collection using OCI8
#33583 - Apache1.3.33 Segmentation fault with php5 & OCI_New_Collection

#32361 - connection oci_connect stay persist after process the php
#29013 - multiple logins cause handles become invalid
#28944 - OCITypeByName: OCI-21522 with two connections

Fixed by connection handling rewrite.

#32140 - NVARCHAR columns are truncated
#31042 - oci_fetch_* sets field value to false
#27156 - OCIFetchInto returns false as column value when column contains >1 umlaut

Fixed by multiplying buffer size by 3.

#33866 - OCIlogon do not returns conn resource for account with expired paswd
#33365 - logon fails when password expires

Fixed by adding new oci_password_change() call syntax.

#33159 - DB-connect via webserver fails after DB-restart ORA-24327
#30808 - oci8 cannot connect after restarting DB
#30127 - lost oracle connection. need restart apache.
#29902 - oci8 doesn't disconnect sessions, overloads oracle server
#29779 - (the same issue with the Oracle server going offline)
#26829 - Killed Oracle Sessions openned with OCIPLogon()

Fixed by adding oci8.ping_interval option.

#32988ext/oci8: OCI doesn't support DB external authentication

Fixed by adding support of external credentials (turned off by default).

Added new INI options:
----------------------
oci8.ping_interval
oci8.max_persistent
oci8.persistent_timeout
oci8.privileged_connect
oci8.statement_cache_size
oci8.default_prefetch
oci8.old_oci_close_semantics

See the updated docs for the detailed descriptions.

Major changes:
--------------
- connection handling algorithm rewritten. That should add stability and fix all non-reproducible crashes etc;
- extension refactored and divided into several files to improve readability and to make it easier to maintain;
- added support of statement caching;
- added support of privileged connections using external credentials;
- added new INI options to manage persistent connections;
- fixed oci_close() to close connections correctly.
2005-09-06 19:31:59 +00:00
Derick Rethans 8774e8e1aa - Updated the framework, cleaned up some code.
#- Basically the only real thing left is the body for the filters.
2005-09-06 18:46:37 +00:00
7c0f7fa845 ChangeLog update 2005-09-06 05:42:57 +00:00
Rolland Santimano 8404034552 Pointer arithmetic with char * rather than void * 2005-09-05 16:37:45 +00:00
foobar 7036ac440c touch 2005-09-05 16:20:56 +00:00
foobar 80079e61a5 - Fixed bug #34311 (unserialize() crashes with characters above 191 dec) 2005-09-05 16:19:35 +00:00
Rolland Santimano 8d5d2125d0 - Unicode impl of str_pad() 2005-09-05 10:55:35 +00:00
f1c781bc87 ChangeLog update 2005-09-05 05:37:47 +00:00
Frank M. Kromann 6e6def1e77 MFB: Fix for #34369
Add extra parameter to mssql_connect to force a new connection
2005-09-05 05:05:34 +00:00
Marcus Boerger 5deac4859e - Add missing docu tag 2005-09-04 18:57:21 +00:00
Marcus Boerger 4cba6ac94d - Update docu 2005-09-04 18:51:50 +00:00
Edin Kadribasic 856b81ff0c touch 2005-09-04 00:58:49 +00:00
Edin Kadribasic baecb3d18d MFB 2005-09-04 00:58:21 +00:00
Edin Kadribasic 0161d1bfd1 MFB 2005-09-03 23:52:56 +00:00
1365bee427 ChangeLog update 2005-09-03 05:39:11 +00:00
foobar 3cfa505102 MFB: - Fixed bug #34307. We were not calling on_modify handler to set the default
value in case setting the one from .ini file failed. (Andrei)
2005-09-02 21:08:11 +00:00
Marcus Boerger a826dd2918 - Fix docu 2005-09-02 19:16:43 +00:00
Marcus Boerger 03136fc95d - Update docu 2005-09-02 19:15:30 +00:00
Ilia Alshanetsky 3ed0413de5 Resolved bug #34240.
# Thanks to xuefer at 21cn dot com for providing it.
2005-09-02 17:25:10 +00:00
Rob Richards 9a95a98628 Fix crash: handler name not length needs to be passed to php_error_docref 2005-09-02 15:38:22 +00:00
Derick Rethans 5169c32573 - Added date_time_set, date_date_set and date_isodate_set() functions, and
setTime, setDate and setISODate() methods.
2005-09-02 14:57:42 +00:00
foobar 7d92b356d9 revert 2005-09-02 14:08:09 +00:00
foobar 51ec5ca6da Check the status properly 2005-09-02 13:50:39 +00:00
Derick Rethans 42fe62541e - Update timezone database to version "2005m". 2005-09-02 12:31:41 +00:00
Derick Rethans 9495b782b2 - Added comments into the database file, so that we can more easily spot
changes.
2005-09-02 11:39:42 +00:00
Derick Rethans 31f3f81c82 - MF51: Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day). 2005-09-02 09:41:08 +00:00
Derick Rethans e4fd549af9 - Fixed bad MF51. 2005-09-02 09:39:21 +00:00
foobar f52a9e84ed - Moved pfpro, ovrimos and mcve to PECL
# Pierre will create the packages for these
2005-09-02 09:10:01 +00:00
foobar 1496355faf MFB: Always return something, even if it succeeds :) 2005-09-02 08:26:05 +00:00
Dmitry Stogov 59d2e3f3aa Fixed bug #34260 (Segfault with callbacks (array_map) + overloading) 2005-09-02 07:46:30 +00:00
Rob Richards acfde98e6e Fix key length so params passed by array can be retrieved by getParameter() 2005-09-02 06:37:29 +00:00
df01d7678a ChangeLog update 2005-09-02 05:33:21 +00:00
foobar d61c1eeeba MFB 2005-09-02 05:18:30 +00:00
Ilia Alshanetsky 5f1aa243c3 Fixed bug #34331 (php crashes when variables_order is empty). 2005-09-01 19:14:54 +00:00
foobar ec0b4f91f4 - Fixed bug #34307 (OnUpdateStringUnempty INI options can be set as empty) 2005-09-01 14:42:54 +00:00
George Schlossnagle fbd6ce4db5 Resolution to http://pecl.php.net/bugs/bug.php?id=5193 for all drivers. 2005-09-01 14:39:58 +00:00
foobar 08b695a3e8 - Revert -a to -A change, bad idea: It disables EXISTING lines too! 2005-09-01 14:33:37 +00:00
George Schlossnagle 23a74267d9 protect against underflow - refs http://pecl.php.net/bugs/bug.php?id=5193 2005-09-01 14:31:34 +00:00
Dmitry Stogov bd307bc0bd Fixed bug #34137 (assigning array element by reference causes binary mess) 2005-09-01 13:21:04 +00:00
Dmitry Stogov 176a76dbec MFH 2005-09-01 13:03:48 +00:00
Derick Rethans 06562e3e8e - Fixed bug #33414 (Comprehensive list of incorrect days returned after
strtotime() / date() tests).
2005-09-01 12:41:43 +00:00
foobar 24a101a23b If it is added in 5.1, is it still news for PHP 6? 2005-09-01 12:00:25 +00:00
Dmitry Stogov cbd1c89e81 Fixed bug #34277 (array_filter() crashes with references and objects) 2005-09-01 11:58:41 +00:00
Dmitry Stogov f61b9bac52 Fixed bug #34310 (foreach($arr as $c->d => $x) crashes) 2005-09-01 10:55:05 +00:00
Dmitry Stogov 7b7551085b Support for class constants and static members for internal classes 2005-09-01 10:05:01 +00:00
foobar 3991ed8bf6 Bump up libxml2 version requirement to >= 2.6.8 2005-09-01 08:25:32 +00:00
525374ba69 ChangeLog update 2005-09-01 05:40:39 +00:00
Ilia Alshanetsky f376178101 Fixed bug #34001 (pdo_mysql truncates numberic fields at 4 chars) 2005-09-01 01:56:36 +00:00
foobar 805bb588d9 Fixed bug #34323 2005-08-31 22:29:24 +00:00
Andrei Zmievski 674469245f Further work on Unicode support in file uploads. 2005-08-31 20:42:14 +00:00
Rob Richards af7f90f6c7 make sxe_properties_get respect namespace scope 2005-08-31 17:00:22 +00:00
foobar 39e0c382df Update credits 2005-08-31 15:01:13 +00:00
foobar f35af61ef8 Moved to PECL 2005-08-31 14:55:13 +00:00
Derick Rethans 447425d9f1 - Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number). 2005-08-31 14:31:45 +00:00
foobar 315cdad9b0 - Fixed bug #34306 (wddx_serialize_value() crashes with long array keys) 2005-08-31 14:30:46 +00:00
foobar 847e50e560 Added test for bug #34310 2005-08-31 09:16:50 +00:00
Marcus Boerger 8a3ea48eef - run-tests-config.php was never used and now renamed 2005-08-31 06:58:25 +00:00
4ae827de7f ChangeLog update 2005-08-31 05:40:14 +00:00
George Schlossnagle c2e9f5d9a5 Set port even if host is localhost.
Should resolve 34072
2005-08-31 03:48:01 +00:00
Ilia Alshanetsky 50fb7a8261 Added optional parameter to http_build_query() to allow specification of
string separator.
2005-08-31 01:19:40 +00:00
Ilia Alshanetsky 4f1520912c Fixed bug #32589 (possible crash inside imap_mail_compose() function). 2005-08-30 22:02:43 +00:00
Johannes Schlüter cb1f66441e News 2005-08-30 20:02:47 +00:00
George Schlossnagle 26fd380b1d this is the number of params, not the top index 2005-08-30 19:59:11 +00:00
George Schlossnagle 6a687a1fad this is the number of params, not the top index (otherwise unix_socket doesnt work 2005-08-30 19:55:54 +00:00
Marcus Boerger 9ce645e2fa - run-tests2.php was renamed into server-tests.php (missing part) 2005-08-30 18:41:42 +00:00
Marcus Boerger 0165ab6251 - Adds module registering a function to struct zend_internal_function.
(Johannes)
# This information is by reflection API and error messages.
2005-08-30 18:27:17 +00:00
Derick Rethans cbe8be6a17 - Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9). 2005-08-30 09:17:56 +00:00
Marcus Boerger 650c3d2094 - Fix const speling (correct in branshes where did it vanish here) 2005-08-30 07:27:06 +00:00
Dmitry Stogov 93c08f1c8b Fixed possible memory leak 2005-08-30 07:19:59 +00:00
Dmitry Stogov c75b5a798f Fixed unicode support bug 2005-08-30 07:19:05 +00:00
e5ec8d0c74 ChangeLog update 2005-08-30 05:42:02 +00:00
Marcus Boerger 51e3db28ea - Fix #34299: ReflectionClass::isInstantiable() returns true for abstract classes 2005-08-29 22:11:53 +00:00
Sara Golemon f3b177eb30 allocate_new_resource() handles the malloc() for us. Don't leak by mallocing twice. 2005-08-29 21:53:34 +00:00
foobar 2f400cc199 Clean away PECled exts and added date.timezone setting 2005-08-29 14:46:00 +00:00
Dmitry Stogov 7999c0c3d4 Fixed SIGSEGV 2005-08-29 06:51:51 +00:00
Dmitry Stogov a3b7eb2284 Fixed gcc 4 compatibility 2005-08-29 06:51:14 +00:00
7c8af3ec49 ChangeLog update 2005-08-29 05:39:09 +00:00
Ilia Alshanetsky 019aec0a6c touch 2005-08-28 16:57:30 +00:00
Ilia Alshanetsky bb38017142 Upgrade sqlite lib to 3.2.5 2005-08-28 16:57:01 +00:00
Rob Richards 4509fb9d5d Fixed bug #34276 (setAttributeNS doesn't work with default namespace)
Add test
2005-08-28 16:22:03 +00:00
c99873641b ChangeLog update 2005-08-28 05:33:19 +00:00
foobar bc1f800a72 - Fixed bug #34284 (CLI phpinfo showing html on _SERVER["argv"]) 2005-08-28 01:02:54 +00:00
foobar fc97c0212e - Fixed bug #34221 (Compiling xmlrpc as shared fails other parts) 2005-08-28 00:43:29 +00:00
Rolland Santimano c7ad26fbf4 - Unicode impl of substr_count() 2005-08-27 19:14:05 +00:00
8ada9a9aa7 ChangeLog update 2005-08-27 05:35:34 +00:00
Marcus Boerger 271f5d04ec - Check for static libs, too 2005-08-26 15:24:26 +00:00
Derick Rethans cdcf566a21 - Fixed a bug where stream_get_meta_data() did not return the "uri" element for
files opened with tmpname().
2005-08-26 12:50:06 +00:00
Rolland Santimano c81d6d6cfd - Updated strrev() to handle base+combining sequences 2005-08-26 10:21:07 +00:00
300cb0ff89 ChangeLog update 2005-08-26 05:36:54 +00:00
Ilia Alshanetsky c1e661ce70 MFH: Fixed bug #34214 (base64_decode() does not properly ignore whitespace) 2005-08-26 03:32:53 +00:00
Rob Richards de9e0c588f Fix URI escaping 2005-08-26 02:29:32 +00:00
Marcus Boerger b5ad2a4b20 - Bugfix #34257 lib64 not handled correctly in ming extension 2005-08-25 20:49:49 +00:00
Dmitry Stogov fc03492c0b Fixed memory leaks 2005-08-25 13:53:38 +00:00
foobar 0ed53849a5 MFB 2005-08-25 12:26:12 +00:00
Derick Rethans d468a854f9 - Fixed bug #34087 for real. 2005-08-25 09:46:31 +00:00
Sara Golemon 23b729dc15 sizeof(char) != sizeof(UChar) Don't tell ucnv_toUnicode it has more space than it really does 2005-08-25 08:59:24 +00:00
Dmitry Stogov b01df7d793 Fixed access to uninitialized variables 2005-08-25 07:56:15 +00:00
Dmitry Stogov fe88b03b99 ZTS fix 2005-08-25 06:50:16 +00:00
e992d178bc ChangeLog update 2005-08-25 05:43:45 +00:00
Andrei Zmievski d6a80f841d *** empty log message *** 2005-08-24 21:04:33 +00:00
Andrei Zmievski d0d6a1f16f - Require declare(encoding=...) to come before any opcodes. Read source
comments for more info.
- Op arrays now know which script encoding they were compiled from.
- Use this information to intelligently convert inline HTML blocks to
  the output encoding. Currently it opens and closes a new converter for
  each block, but we can optimize it.
2005-08-24 20:42:09 +00:00
Andrei Zmievski 64dbc03c93 Fix ZTS. 2005-08-24 17:16:14 +00:00
Derick Rethans c4d08b15f0 - Make it compile in ZTS mode
#- *untested*
2005-08-24 17:10:25 +00:00
Ilia Alshanetsky 0408e53679 Remainder of the 34191 bug fix. 2005-08-24 16:19:47 +00:00
Derick Rethans e87054dbec - Fix test. 2005-08-24 14:17:58 +00:00
Derick Rethans e226f0f87f - Fixed bug #34087 (strtotime() does not work with date format "Y/m/d").
- Make use of YYMAXFILL.
- Added support for using a . as hour/minute/second separator.
2005-08-24 13:47:28 +00:00
Dmitry Stogov 47539d32d0 Fixed boolean encoding (from 0/1 to false/true) to support some buggy soap SDKs.
Fixed support for missing nillable elements of sequnces.
2005-08-24 11:46:27 +00:00
Dmitry Stogov 5820ee959e Fixed return-by-reference from internal functions 2005-08-24 10:41:51 +00:00
Johannes Schlüter a221a9742a - Fix alphabetic order and add missing class 2005-08-24 10:16:45 +00:00
85989c29be ChangeLog update 2005-08-24 05:33:46 +00:00
Andrei Zmievski ec65bc1039 Implement Unicode support for strncasecmp(). 2005-08-23 22:05:22 +00:00
Andrei Zmievski d50b264e22 *** empty log message *** 2005-08-23 22:03:47 +00:00
foobar 36ee721519 Test for bug #34214 2005-08-23 21:39:39 +00:00
Andrei Zmievski 291c282cce Damn. 2005-08-23 21:08:35 +00:00
Andrei Zmievski e3ec5efc5e - Rewrite zend_u_binary_strncmp() to work on codepoint level. Calling
u_strCompare() doesn't help because it assumes that the input lengths
  specify the number of UChar's.
- Change zend_u_binary_strcmp() to use u_strCompare() (and it's fine to
  use it here, since we work with whole strings here).
2005-08-23 20:11:59 +00:00
Andrei Zmievski 2a8a18b22c Fix verbosity for var_inspect(). 2005-08-23 17:22:54 +00:00
Andrei Zmievski df3a14953e This was so embarassingly silly. 2005-08-23 16:37:24 +00:00
Dmitry Stogov 8f6f97a77d Unicode support 2005-08-23 12:53:31 +00:00
Derick Rethans 411e8e154d - Added .cvsignore file. 2005-08-23 11:41:00 +00:00
Dmitry Stogov f4b8f4e958 Unicode support cleanup 2005-08-23 09:33:46 +00:00
Dmitry Stogov 24743055a3 Changed is_a() and is_subcalls_of() functions to not call __autoload() (in the same way as "instanceof" operator). 2005-08-23 07:23:30 +00:00
Dmitry Stogov cfe1dcb6e9 Unicode support for strncasecmp() 2005-08-23 06:51:11 +00:00
Derick Rethans 377c3b3584 - Fixed another little buglet in the spprintf() formatters. 2005-08-23 06:48:55 +00:00
a02b4ebd63 ChangeLog update 2005-08-23 05:45:43 +00:00
Andrei Zmievski 26d10c5c76 Unicode support for strcasecmp(). 2005-08-22 22:17:19 +00:00
Ilia Alshanetsky 739c7d3869 Make dba extension support BerkleyDB 4.3. 2005-08-22 19:59:19 +00:00
Andrei Zmievski ce0001996b We should use u_memcpy() whenever possible, to simplify code. 2005-08-22 17:48:17 +00:00
Dmitry Stogov 641e6f11e4 Now fread() returns bool(false) on error instead of empty string 2005-08-22 16:42:39 +00:00
Dmitry Stogov 83bd44f1fd Don't apply "unicode" filters in non-unicode mode 2005-08-22 14:48:25 +00:00
Derick Rethans 8deeef8805 - Fixed typo. 2005-08-22 14:16:07 +00:00
Dmitry Stogov e404ee456b Fixed unicode support for ltrim() 2005-08-22 14:14:10 +00:00
Dmitry Stogov ab2e9bc9bd Unicode support 2005-08-22 13:32:46 +00:00
Dmitry Stogov 6b622046dc zend_is_callable() and zend_make_callable() were changed to return readable function name as zval (instead of string). 2005-08-22 12:22:16 +00:00
Dmitry Stogov 6fad26469c Fixed memory leak 2005-08-22 06:56:26 +00:00
65ece9ef3e ChangeLog update 2005-08-22 05:37:21 +00:00
Ilia Alshanetsky c8dedc16a8 Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). 2005-08-21 16:02:25 +00:00
074d82cbe0 ChangeLog update 2005-08-21 05:33:38 +00:00
056084632b ChangeLog update 2005-08-20 05:39:48 +00:00
Andrei Zmievski 87f0bee331 Unicode support for strcmp()/strncmp(). 2005-08-19 23:15:36 +00:00
Andrei Zmievski d84da736d7 *** empty log message *** 2005-08-19 22:58:40 +00:00
Andrei Zmievski da4721427a *** empty log message *** 2005-08-19 22:33:39 +00:00
Andrei Zmievski 19e890651f *** empty log message *** 2005-08-19 22:01:21 +00:00
Andrei Zmievski 23086f5f1c Unicode support for ord() and chr(). 2005-08-19 22:00:21 +00:00
Andrei Zmievski fbcad1b63e This file should be used to keep track of extension upgrade progress.
Please add completed functions to the list.
2005-08-19 17:54:08 +00:00
Andrei Zmievski 676a3cf46e Use RETVAL_ASCII_STRINGL() here. 2005-08-19 17:53:03 +00:00
foobar 1b2e69a808 Proper NEWS language that everyone should be able to understand.. 2005-08-19 15:18:49 +00:00
Dmitry Stogov 90393d675f Unicode support 2005-08-19 13:20:16 +00:00
Dmitry Stogov 0475054c7c Unicode support 2005-08-19 11:56:03 +00:00
Rolland Santimano 973e98f51e - Unicode capable impl() of strrev() 2005-08-19 10:59:19 +00:00
Dmitry Stogov 80079885bb Quick fix (API was changed) 2005-08-19 10:55:05 +00:00
Dmitry Stogov b0e24970bb Unicode support cleanup 2005-08-19 10:54:26 +00:00
Dmitry Stogov d90d6c5d2b nstanceof operator shouldn't call __autoload() 2005-08-19 08:11:16 +00:00
Dmitry Stogov 2b5ebdde1d ZTS fix 2005-08-19 07:49:41 +00:00
Dmitry Stogov 974b209f78 ZTS fix 2005-08-19 07:26:13 +00:00
dec714885d ChangeLog update 2005-08-19 05:37:01 +00:00
Andrei Zmievski fd05d40cbe Rework range() to be able to work on binary strings and also on Unicode
code points. Binary strings are not interpreted as numeric.
2005-08-18 22:51:46 +00:00
Andrei Zmievski 0b036a8fdc Use u_totitle() instead of u_toupper() in ucwords(). 2005-08-18 22:37:22 +00:00
Andrei Zmievski fe71ae29d9 - Implement zend_codepoint_to_uchar().
- Rename and fix zend_get_unified_string_type() so that it does not
  allow mixing of binary and Unicode types.
2005-08-18 22:33:23 +00:00
Wez Furlong 07e355fc9c mf 5.1 2005-08-18 20:18:25 +00:00
Dmitry Stogov 8a749ee333 Suppoer for unicode exception messages 2005-08-18 15:42:46 +00:00
Dmitry Stogov 74dafa95d1 Unicode support for extract() 2005-08-18 15:14:08 +00:00
Antony Dovgal e27521e578 fix memleak 2005-08-18 15:13:15 +00:00
Ilia Alshanetsky 6ebfbd15d5 Fixed bug #34156 (memory usage remains elevated after memory limit is reached) 2005-08-18 15:02:10 +00:00
foobar 03cec74a0d Nuked EOLs from error messages 2005-08-18 13:34:04 +00:00
foobar dde3f89dd4 Nuked EOL from error message 2005-08-18 12:56:36 +00:00
foobar b385e0ad39 Nuke EOLs from error messages 2005-08-18 12:54:32 +00:00
foobar 98ce7bf37b - Removed EOL from error message 2005-08-18 12:40:17 +00:00
foobar 4985dd8da3 - Removed EOLs from error messages 2005-08-18 12:37:24 +00:00
foobar 45ed0b936b - Removed EOL from error message 2005-08-18 12:34:13 +00:00
Dmitry Stogov 3658f1fb7b Unicode support 2005-08-18 11:47:03 +00:00
Dmitry Stogov 474ff091a2 var_export() should escape \ and ' characters. 2005-08-18 11:13:50 +00:00
Dmitry Stogov dd7f14dd47 Fixed tests 2005-08-18 10:53:55 +00:00
Dmitry Stogov 0f026c9fb7 Unicode support 2005-08-18 10:18:40 +00:00
Dmitry Stogov 1865a48752 *** empty log message *** 2005-08-18 07:34:49 +00:00
Dmitry Stogov e56f9d2eea Unicode support 2005-08-18 07:16:52 +00:00
Dmitry Stogov 09a3c92df7 We don't need EMPY_STRING here. This function is execuited in non-unicode context only. 2005-08-18 06:33:44 +00:00
Dmitry Stogov 704b4d7b61 Fixed tests 2005-08-18 06:32:39 +00:00
Rolland Santimano fd4e6da642 - Removed 'proto' from description of internal funcns: ucfirst()/ucwords() 2005-08-18 05:53:46 +00:00
3d75fd980a ChangeLog update 2005-08-18 05:51:13 +00:00
Ilia Alshanetsky 9fc26c42c2 Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2). 2005-08-18 01:11:13 +00:00
Andrei Zmievski cac4e22635 *** empty log message *** 2005-08-17 23:12:24 +00:00
Rolland Santimano 412dac1576 Unicode-capable impl of ucwords() 2005-08-17 20:29:00 +00:00
Marcus Boerger 26d72ec348 - Fix TSRM 2005-08-17 20:02:45 +00:00
Marcus Boerger f8fa3c696a - Please use the maintainer switch
# It is very annoying to having to rebuild php completley several time
# a day just because a few here are lazy.
2005-08-17 19:52:03 +00:00
Andrei Zmievski 10fa6de30c *** empty log message *** 2005-08-17 18:16:44 +00:00
Andrei Zmievski 042bb6a306 Disallow mixing binary and Unicode types when T specifiers are used. 2005-08-17 18:15:18 +00:00
Andrei Zmievski 202bb697fd Fix bin2hex() to work on binary data and return strings of correct type. 2005-08-17 17:39:04 +00:00
Rolland Santimano ed370daef5 Unicode impl of ucfirst() 2005-08-17 17:33:19 +00:00
Andrei Zmievski 3d8b32a0e3 - Introduce 'y' specifier for functions expecting binary data.
- convert_to_binary() now uses convert_to_string() in non-Unicode mode.
2005-08-17 17:30:02 +00:00
Dmitry Stogov 8c33fcf7ce Unicode mode doesn't allow non-unicode properties 2005-08-17 17:07:52 +00:00
foobar cbb14bec35 Fix ZTS build 2005-08-17 17:02:46 +00:00
foobar 99e8386c27 News for PHP 6, nuked old news. 2005-08-17 16:57:15 +00:00
Andrei Zmievski eee20001fd Bump up Zend version to 3.0.0
# I think the changes made due to Unicode support justify it.
2005-08-17 16:43:11 +00:00
Andrei Zmievski 62ce334b73 *** empty log message *** 2005-08-17 16:31:36 +00:00
Dmitry Stogov 263d919a20 Unicode support for range() 2005-08-17 15:12:03 +00:00
Dmitry Stogov 21c6c8c8fe Proper handling of unicode strings with \0 in the middle 2005-08-17 15:11:41 +00:00
Dmitry Stogov 0df66e7eaa Unicode support 2005-08-17 14:16:05 +00:00
Dmitry Stogov 6d62ccc769 Unicode support 2005-08-17 14:01:06 +00:00
Dmitry Stogov 48def9a6ad Unicode support 2005-08-17 13:10:04 +00:00
Dmitry Stogov f4ea6b0656 Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54 seg fault) 2005-08-17 11:57:10 +00:00
Dmitry Stogov 3509630024 trim() should accept objects with __toString() method 2005-08-17 11:36:32 +00:00
Rolland Santimano c98838037e php_u_trim_range(): Alloc UChar32 units rather than UChar 2005-08-17 10:26:02 +00:00
Dmitry Stogov 9854402cb7 Unicode support 2005-08-17 10:24:38 +00:00
Dmitry Stogov 8c63822f0d Fixed implode() bugs 2005-08-17 07:59:31 +00:00
foobar 5cf36ea50f Fix EOLs under winblows 2005-08-17 07:52:17 +00:00
Rolland Santimano 616089e772 Updated implode() impl as per Andrei's comments
[http://news.php.net/php.cvs/33457]
2005-08-17 07:14:12 +00:00
Zeev Suraski 63c6feaff7 Add SoapClient::__setSoapHeaders() 2005-08-17 07:04:50 +00:00
edb7d19f58 ChangeLog update 2005-08-17 05:32:47 +00:00
Ilia Alshanetsky e7ad6720fa Provide a common handler for "close".
Macro the name validation.
2005-08-16 23:10:36 +00:00
Marcus Boerger 5085c21d7e - TSRM Fix 2005-08-16 20:22:33 +00:00
Marcus Boerger 4a43e9c812 - TSRM Fix 2005-08-16 20:15:21 +00:00
Andrei Zmievski 06c3c85e19 md5() and md5_file() should return binary strings when raw_output is
set.
2005-08-16 19:45:00 +00:00
Andrei Zmievski c79fbfe6f3 And here 2005-08-16 19:43:23 +00:00
Andrei Zmievski b477936661 And here. 2005-08-16 18:22:22 +00:00
Andrei Zmievski 9bd026e6b4 Fix it here too 2005-08-16 18:21:04 +00:00
Andrei Zmievski 250726f95b Z_UNI* are the right macros to use. 2005-08-16 18:10:40 +00:00
Marcus Boerger a5f023a829 - Prevent E_STRICT from ending up as exception 2005-08-16 18:09:27 +00:00
Derick Rethans 1ee41e0d92 - Fixed a couple of bugs in the new smart_str macros, and allow them to
allocate two extra bytes (so that we can pad them with two \0's for UTF-16)
- Fixed usage of smart_str's in the PAD and INS_STRING macros.
2005-08-16 18:02:41 +00:00
Antony Dovgal 5adc3ce7c6 nuke unused vars 2005-08-16 16:57:59 +00:00
Dmitry Stogov 27f39c6826 Unicode support 2005-08-16 16:29:16 +00:00
Dmitry Stogov d0944d74f4 Unicode support 2005-08-16 15:09:51 +00:00
Dmitry Stogov 903406ef8f Unicode support 2005-08-16 14:33:02 +00:00
Ilia Alshanetsky b3d7ae9399 Fixed bug #34148 (+,- and . not supported as parts of scheme). 2005-08-16 14:10:13 +00:00
Rolland Santimano 3b4b22a8fc Unicode capable impl of implode() 2005-08-16 12:04:13 +00:00
Dmitry Stogov 8063984f4b Fixed memory leak 2005-08-16 10:49:38 +00:00
Dmitry Stogov f79fed6286 Unicode support 2005-08-16 10:18:43 +00:00
Dmitry Stogov 7b7a4aac86 Unicode support 2005-08-16 09:25:04 +00:00
Dmitry Stogov 238a40418b Unicode support 2005-08-16 09:11:00 +00:00
Rolland Santimano bc87019a80 Updated calls to php_trim() to provide arg for returned string type 2005-08-16 06:04:59 +00:00
Rolland Santimano c1b8eda121 php_trim() takes extra arg to determine string type to be returned 2005-08-16 06:02:56 +00:00
c746cfb753 ChangeLog update 2005-08-16 05:37:39 +00:00
Ilia Alshanetsky 99dd2d008f Input validation part 2. 2005-08-16 00:25:21 +00:00
foobar 88d0b2aa9f Fail gracefully if icu-config is not found 2005-08-15 23:36:52 +00:00
Ilia Alshanetsky 3ee4d80fc3 MFH: Chunk the output 2005-08-15 23:24:47 +00:00
Antony Dovgal 760313346a eliminate compile warning 2005-08-15 23:01:42 +00:00
foobar 58168205d4 This is like a virus..spread everywhere :) 2005-08-15 22:34:37 +00:00
foobar 81ed6ea1c2 DONE 2005-08-15 22:33:46 +00:00
foobar f8e4528a3d These are not defined anymore 2005-08-15 22:31:59 +00:00
foobar 077e356572 Goodbye PEAR 2005-08-15 22:30:40 +00:00
Pierre Joye 68a952af7b - if questions, rtfm 2005-08-15 22:18:15 +00:00
foobar a219e9801b Nuke PEAR 2005-08-15 22:17:04 +00:00
Pierre Joye cfa0568600 - add a little doc to redirect people to go-pear 2005-08-15 22:16:01 +00:00
Pierre Joye cd0c5e4ec4 - remove files 2005-08-15 22:08:52 +00:00
Pierre Joye 4e9d393cac - cvs delete is not recursive... 2005-08-15 22:05:55 +00:00
Pierre Joye 6467e78253 - some other (#1 out 2) 2005-08-15 22:00:26 +00:00
Pierre Joye e20284f52d - these files are outdated, /pear-core is the repository for pear and
respectivelly /pear for other pacakges.
  The install procedure has to be changed as well, as planed. (#1 out 2)
2005-08-15 21:59:06 +00:00
Marcus Boerger a24a21ecf0 - No c comment (+ old non unicode way not needed any longer) 2005-08-15 19:16:30 +00:00
Johannes Schlüter c5d862c254 - Fix leak with explode of empty unicode string 2005-08-15 19:12:59 +00:00
Dmitry Stogov 909e0a1c4e Unicode support 2005-08-15 17:29:07 +00:00
Rob Richards bbe63287e7 Fixed bug #34103 (line numbering not maintained in dom document) 2005-08-15 17:13:15 +00:00
Dmitry Stogov 82a504721e Unicode support 2005-08-15 16:13:02 +00:00
Ilia Alshanetsky 7cd5109184 input validation. 2005-08-15 16:01:43 +00:00
Dmitry Stogov a655a60999 Fixed memory leak 2005-08-15 14:41:31 +00:00
Dmitry Stogov e47587e189 Fixed several unicode related bugs 2005-08-15 14:39:18 +00:00
Dmitry Stogov 08fe0d1da3 Test engine is improved to support unicode mode 2005-08-15 14:37:55 +00:00
Dmitry Stogov 7061405249 Fixed trim()'s memory leak in unicode mode 2005-08-15 08:11:35 +00:00
Dmitry Stogov 0bdfac1169 Tests are fixed according to new var_dump()/pront_r() format (to pass in non-unicode mode) 2005-08-15 07:55:41 +00:00
Dmitry Stogov fbf8880292 Fixed var_dump() identation bug 2005-08-15 07:19:10 +00:00
Dmitry Stogov fceb6086b2 Fixed another print_r() bug 2005-08-15 07:12:52 +00:00
Dmitry Stogov feff569e96 Fixed print_r() in unicode mode. 2005-08-15 06:34:20 +00:00
de360b9d6d ChangeLog update 2005-08-15 05:41:46 +00:00
Marcus Boerger bc4202473e - Simplify and make work in all modes 2005-08-14 21:26:01 +00:00
Marcus Boerger b7e23d00c6 - Need to terminate [v]uspprintf() with two \0 2005-08-14 21:04:52 +00:00
Ilia Alshanetsky 383673b508 Fixed build. 2005-08-14 20:24:34 +00:00
Marcus Boerger 5e298240d6 - Where did my backslash vanish? 2005-08-14 20:12:51 +00:00
Marcus Boerger d0c6d77b9e - Handle different cases of the actual strings correctly 2005-08-14 20:11:05 +00:00
Marcus Boerger 8b9c131f55 - Initial support of easy way to generate unicode strings: [v]uspprinf()
# Same semantics as [v]spprintf, only it prints unicode strings instead of
# native strings. Atm it has a little problem since it length doesn't take
# the difference between UTF-16 code points vs units into account. But as
# long as no 4 byte codes are involved it should already run everything.
2005-08-14 17:14:42 +00:00
Marcus Boerger 444befd82b - Treat class_name in the exact same manner as prop_name before 2005-08-14 15:19:45 +00:00
Marcus Boerger cdd5e86cc2 - If prop_name is printed as unicode then class_name needs to be treated
in the exact same manner
2005-08-14 15:18:46 +00:00
Marcus Boerger a19585eb49 - Show classname very needed
- No 3rd " which doesn't help parsing
# Does the class name need to be printed as u"<name>" ?
2005-08-14 15:08:38 +00:00
Wez Furlong 7d44da10b6 tidy up implicit_mode handling; spotted by Nuno
There's probably a much more efficient way to do this than the current strchr stuff.
2005-08-14 13:48:29 +00:00
Johannes Schlüter 9ce521ec03 - Fix tab-completion in unicode mode and for constants. 2005-08-14 13:09:34 +00:00
6373103906 ChangeLog update 2005-08-14 05:35:00 +00:00
foobar 4414846b18 fix protos 2005-08-14 02:03:02 +00:00
foobar a8cf2db6dd Missed some "de" to "un" changes 2005-08-14 01:17:52 +00:00
foobar f73c6be9b7 - consistency fix, part 1/inf 2005-08-14 00:46:51 +00:00
Marcus Boerger b3b53b6640 - ntive is better than standard (Andrei) 2005-08-13 21:18:47 +00:00
Wez Furlong b282b4d1ec a bit of pedantic ws 2005-08-13 19:22:03 +00:00
Wez Furlong 77b183386c unicode enable COM parameters (but not method/property names yet) 2005-08-13 19:03:58 +00:00
Wez Furlong 57ae2f99b7 Fixup config.w32.
Implement unicode_decode() and unicode_encode(), as described in README.UNICODE.

Still need to decide how to handle errors here, since there is no error return,
and a conversion error is not necessarily fatal.
2005-08-13 13:43:31 +00:00
Wez Furlong 227a6d154b could have sworn that I did this already 2005-08-13 12:33:00 +00:00
Marcus Boerger ff1d752b81 - IS_STRING does not necessarily mean ascii so 'standard' is better
# Maybe we call them legacy strings
2005-08-13 10:19:31 +00:00
Marcus Boerger acca0d32b0 Add is_unicode(), is_binary() and is_buffer() 2005-08-13 10:16:04 +00:00
87ed16b368 ChangeLog update 2005-08-13 05:32:26 +00:00
Wez Furlong c2d2151654 make the icu library detection more friendly.
Also note that we can only probe for libraries after we've set up the
implicit php_build path.
2005-08-13 02:47:24 +00:00
Wez Furlong c2909b377b vs.net 2005 introduces 64-bit time_t.
I can't say that I think this is a great idea, but it does highlight a couple
of dodgy areas where we assume that ints and longs are the same thing as
time_t's.  Let's try to ensure that we declare structure fields and function
parameters with the correct type when we're talkingabout time_t's, to avoid
possibly nasty problems with passing the wrong sized thing around.
2005-08-13 02:23:29 +00:00
Marcus Boerger 7c14b0169a - Unicode
# We probably might want to move spprintf.c/h into Zend now
2005-08-13 01:31:14 +00:00
Marcus Boerger fe273229b7 - This might already be defined 2005-08-13 00:37:08 +00:00
Wez Furlong 8b7d070358 what they totally screw up on one hand, MS compilers almost compensate with on
the other.
2005-08-12 23:59:59 +00:00
Wez Furlong 45412770a2 sizeof(time_t) !== sizeof(int)
also, sizeof(timelib_sll) != sizeof(int)

We get loads of truncation errors int this code when we assign 64 values into smaller ints.
2005-08-12 23:46:42 +00:00
Wez Furlong f6276a2b8a zts fixes 2005-08-12 23:32:31 +00:00
Antony Dovgal 6bd0350af8 make valgrind and gcc happy 2005-08-12 23:21:29 +00:00
Antony Dovgal 29573483de initialize key type when adding next index 2005-08-12 22:53:13 +00:00
Antony Dovgal b40db3bcb8 allow default_charset & default_mimetype to be changed during runtime 2005-08-12 21:46:14 +00:00
Antony Dovgal d09b1b1e89 shut up warnings 2005-08-12 20:58:28 +00:00
Antony Dovgal df39154c83 nuke unused variables 2005-08-12 20:58:05 +00:00
Wez Furlong 4375c3fd7a /GB option is the default; remove it.
Add compiler version checks, as vs.net 2005 has dropped support for /YX and /GB
options, and deprecated ANSI stdio (in favour of more secure, non-standard
versions).
2005-08-12 20:05:19 +00:00
Antony Dovgal 363d0aa028 fix fgetc() & compile warnings 2005-08-12 19:27:45 +00:00
Antony Dovgal 9ab69a286b fix typo noticed by Nuno 2005-08-12 19:02:22 +00:00
Antony Dovgal 0714953a44 change ["var_name":private"] -> ["var_name:private"]
* I'm also not sure we want ["var_name:public"], but I left it as is.
2005-08-12 18:54:18 +00:00
Andrei Zmievski c699b51a0e Update. 2005-08-12 18:14:26 +00:00
Antony Dovgal 969c533b83 fix compile warnings 2005-08-12 18:03:55 +00:00
Andrei Zmievski 3abcd65161 *** empty log message *** 2005-08-12 17:29:21 +00:00
Andrei Zmievski 13a179d837 Add unicode macros for when Zend memory manager is disabled. 2005-08-12 17:14:21 +00:00
Antony Dovgal e458e45486 fix array_merge() adding one superfluous byte to the key 2005-08-12 16:49:20 +00:00
Antony Dovgal 079a748d3c fix php_u_trim() and compile warnings 2005-08-12 16:46:38 +00:00
foobar 02a8c3e50f MFB: - Fixed bug #33326 (Cannot build extensions with phpize on Macosx). 2005-08-12 15:16:52 +00:00
Dmitry Stogov af9ce19ef8 Fixed user function call in unicode mode 2005-08-12 14:58:29 +00:00
Dmitry Stogov 96a24404ce Unicode support 2005-08-12 14:57:58 +00:00
Dmitry Stogov 1015995a7c Fixed typo (ZVAL_LONG() -> ZVAL_DOUBLE()) 2005-08-12 14:57:10 +00:00
Dmitry Stogov fd469eb361 Unicode support 2005-08-12 14:11:16 +00:00
Sebastian Bergmann 52b001cc05 ZTS fixes. 2005-08-12 14:08:28 +00:00
foobar 3aad9e2048 MFB 2005-08-12 13:54:47 +00:00
Dmitry Stogov 369d59c20b Fixed str_repeat() bug 2005-08-12 13:41:15 +00:00
Dmitry Stogov 239f84c215 Fixed incorrect variable parsing in non-unicode mode 2005-08-12 13:27:38 +00:00
Dmitry Stogov e1627558ed Unicode support 2005-08-12 13:09:58 +00:00
Dmitry Stogov 3e7ab37d9f Unicode support 2005-08-12 12:59:20 +00:00
Dmitry Stogov 9c544c0695 Fixed support fot provate properties in unicode mode. 2005-08-12 12:58:41 +00:00
Dmitry Stogov f39c77dda0 Fixed SIGSEGV 2005-08-12 12:14:31 +00:00
Edin Kadribasic 95e4b75811 Added --enable-static-icu / --disable-static-icu windows configure
options that allow you to pick weather you want to link against static
or DLL version of the ICU library.
2005-08-12 11:37:44 +00:00
Dmitry Stogov 21c1109e0c Unicode support 2005-08-12 11:29:33 +00:00
Sebastian Bergmann 6b98cc4ef5 Patch by Michael Wallner, signed off by Edin Kadribasic. 2005-08-12 10:10:41 +00:00
foobar 3ed4aee952 - Some minor fixes 2005-08-12 09:10:04 +00:00
foobar 55c4c70753 more tabs 2005-08-12 09:05:21 +00:00
Sebastian Bergmann 6ad189f82a ZTS fixes. 2005-08-12 05:58:02 +00:00
31993aa76a ChangeLog update 2005-08-12 05:46:36 +00:00
Andi Gutmans 2233736cf6 - Add unicode INI settings 2005-08-12 05:30:02 +00:00
Ilia Alshanetsky f0bf07f2ad Fixed build, zend_error_noreturn was being defined twice. 2005-08-12 02:11:03 +00:00
foobar 8814b83419 No more versions here 2005-08-12 00:17:26 +00:00
foobar 735b138e56 No tabs in config* files! 2005-08-12 00:15:03 +00:00
foobar e24f745d23 - No more zend_multibyte.* 2005-08-12 00:10:28 +00:00
foobar 45ce16454f Not used 2005-08-12 00:08:28 +00:00
foobar 680a00ea48 Nuke unused code 2005-08-12 00:06:43 +00:00
foobar 4b8025987f - Unused 2005-08-12 00:06:15 +00:00
foobar 65210db48c Nuked unneeded multibyte stuff 2005-08-12 00:01:44 +00:00
foobar 8429f174b8 fix test 2005-08-11 23:50:04 +00:00
foobar 3eaa48b58f fix skip conditions 2005-08-11 23:45:13 +00:00
Andrei Zmievski 264cec8be6 Unicode support. 2005-08-11 23:36:07 +00:00
Andrei Zmievski b80cb7bd2f Unicode support 2005-08-11 23:35:03 +00:00
foobar 39072c42c4 missing entry 2005-08-11 22:59:57 +00:00
Antony Dovgal b58f366c5c MF5.1: fix #34078 (Reflection API problems in methods with boolean or null default values)
(andrei said to sara a few hours ago you may commit whatever you want until 9pm) (c) helly
if there are any problems with this patch - please tell me, I'll revert it immediately
2005-08-11 21:32:57 +00:00
Marcus Boerger ef36d692cd - Johannes did a great work on the shell
# Now he wants to maintain CLI ?-)
2005-08-11 20:45:27 +00:00
Marcus Boerger a4e1032836 - For internal classes we must auto generate the abstract class flags.
# Actually providing the flags while registering the class is not possible
# since that would require a major API change.
2005-08-11 20:32:01 +00:00
d5bf30a281 ChangeLog update 2005-08-11 05:39:41 +00:00
Frank M. Kromann f3030472de avoid version changes for future versions 2005-08-11 03:21:50 +00:00
Frank M. Kromann 64433c46ca rename dll's to php6 2005-08-11 03:16:08 +00:00
Marcus Boerger 95064517d3 - Support non static class loader methods 2005-08-11 01:19:11 +00:00
Wez Furlong b1ca475703 Probable fix for #34054. 2005-08-10 23:48:22 +00:00
Rasmus Lerdorf c95107492d MFB minor consistency cleanup 2005-08-10 23:35:51 +00:00
Ilia Alshanetsky 46ef5b1708 Fixed bug #34068 (Numeric string as array key not cast to integer in
wddx_deserialize()).
2005-08-10 22:36:20 +00:00
Marcus Boerger 601b8fd2e5 - Register new classes with spl_classes() 2005-08-10 22:01:15 +00:00
Marcus Boerger 20de5cc091 - Implement SplObjectStorage as announced during OSCON
# This class starts naming of new classes in Spl by prefix Spl as dicussed.
# The class reduces object storage complexity from O(n) to O(1) which is
# not possible in user space.
2005-08-10 21:56:01 +00:00
Marcus Boerger 1434e56f6d - WS 2005-08-10 21:53:53 +00:00
Marcus Boerger 9e38d04a7c - Add RecursiveFilterIterator
- Derive ParentIterator from RecursiveIterator
# Actually brought up by a user. It is of course better to filter first and
# do the recursion only for accepted values. Otherwise you would iterate
# children and possibly recurse into them just to ignore them later anyway.
2005-08-10 19:48:48 +00:00
Dmitry Stogov b0207d34a1 Fixed bug #34062 (Crash in catch block when many arguments are used) 2005-08-10 13:11:53 +00:00
Dmitry Stogov b0d3aec8ad Fixed bug #25359 (array_multisort() doesn't work in a function if array is global or reference) 2005-08-10 12:02:14 +00:00
Dmitry Stogov c52d7cb530 Fixed bug #34064 (arr[] as param to function in class gives invalid opcode) 2005-08-10 10:39:28 +00:00
Antony Dovgal c48f944a04 fix build 2005-08-10 10:28:18 +00:00
Marcus Boerger aa53dcddab - Support sttaic class loader methods 2005-08-10 08:31:57 +00:00
Dmitry Stogov b03e53836e Fixed bug #33940 (array_map() fails to pass by reference when called recursively) 2005-08-10 08:23:39 +00:00
Dmitry Stogov 655e19326d Fixed bug #29253 (array_diff with $GLOBALS argument fails) 2005-08-10 07:43:16 +00:00
Dmitry Stogov 604751ab87 Fixed bug #34045 (Buffer overflow with serialized object) 2005-08-10 06:37:27 +00:00
Dmitry Stogov 73c8a340cf Fixed test file (.inc.php -> .php) 2005-08-10 06:36:25 +00:00
d1d605e80f ChangeLog update 2005-08-10 05:38:30 +00:00
Marcus Boerger af2e8a3db5 - PEAR uses .php not .inc.php 2005-08-09 21:11:42 +00:00
Derick Rethans cef2cd485a - Fixed TSRM issue.
- Added guessed timezone to phpinfo() output.
- Initialize is_dst in some cases.
- Corrected some test cases.
2005-08-09 21:07:54 +00:00
Johannes Schlüter 69303b58a4 - Added option to strstr() and stristr() to get a particular haystack component 2005-08-09 20:49:19 +00:00
Ilia Alshanetsky fde8b6006e Missing patch bit. 2005-08-09 17:58:02 +00:00
Andrei Zmievski 2ae8d36a3c Remove old internal.h file. 2005-08-09 17:29:44 +00:00
foobar 1620ddcb95 reword 2005-08-09 15:07:18 +00:00
Ilia Alshanetsky 430dea8ef8 News and constants for parse_url(). 2005-08-09 14:40:59 +00:00
Ilia Alshanetsky ebc108124b Added option to parse_url() to retrieve a particular URL component. 2005-08-09 14:17:28 +00:00
Ilia Alshanetsky 726e1efe86 Added curl_setopt_array(), allowing setting of multiple cURL options.
Added CURLINFO_HEADER_OUT to facilitate request retrieval.
2005-08-09 14:14:55 +00:00
Derick Rethans a480ec36e7 - Fixed buildconf for PHP 6. 2005-08-09 09:52:45 +00:00
Sebastian Bergmann 77dfdccdd4 MFB: Sync with config.m4. 2005-08-09 09:46:52 +00:00
Derick Rethans 8f43323dee - Changing the API numbers, which might be a bit premature, but it allows
to differentiate between different branches.
- Bumbed the version number to 6.0.0-dev. I know we didn't discuss this yet,
  but I feel it should be 6.0. See mail to the mailinglist.
2005-08-09 08:47:58 +00:00
foobar 147ede8f37 UN 2005-08-09 08:08:20 +00:00
b10c43905e ChangeLog update 2005-08-09 05:39:37 +00:00
13711 changed files with 357708 additions and 1633045 deletions

No files matched your search

+89 -195
View File
@@ -1,39 +1,17 @@
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])
set $eg = ((zend_executor_globals) (*((void ***) $tsrm_ls))[executor_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
portable way of accessing executor_globals
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
@@ -55,6 +33,55 @@ document dump_bt
dumps the current execution stack. usage: dump_bt executor_globals.current_execute_data
end
define printztype
____printz_type $arg0
printf "\n"
end
document printztype
prints the type name of a zval type
end
define ____printz_type
set $type = $arg0
if $type == 0
printf "NULL"
end
if $type == 1
printf "long"
end
if $type == 2
printf "double"
end
if $type == 3
printf "bool"
end
if $type == 4
printf "array"
end
if $type == 5
printf "object"
end
if $type == 6
printf "string"
end
if $type == 7
printf "resource"
end
if $type == 8
printf "constant"
end
if $type == 9
printf "const_array"
end
if $type == 10
printf "unicode string"
end
if $type > 10
printf "unknown type %d", $type
end
end
define printzv
set $ind = 1
____printzv $arg0 0
@@ -68,34 +95,30 @@ define ____printzv_contents
set $zvalue = $arg0
set $type = $zvalue->type
printf "(refcount=%d", $zvalue->refcount__gc
if $zvalue->is_ref__gc
printf ",is_ref"
end
printf ") "
printf "(refcount=%d) ", $zvalue->refcount
if $type == 0
printf "NULL"
end
____printz_type $type
if $type == 1
printf "long: %ld", $zvalue->value.lval
printf ": %ld", $zvalue->value.lval
end
if $type == 2
printf "double: %lf", $zvalue->value.dval
printf ": %lf", $zvalue->value.dval
end
if $type == 3
printf "bool: "
if $zvalue->value.lval
printf "true"
printf ": true"
else
printf "false"
printf ": false"
end
end
if $type == 4
printf "array(%d): ", $zvalue->value.ht->nNumOfElements
printf "(%d): ", $zvalue->value.ht->nNumOfElements
if ! $arg1
printf "{\n"
set $ind = $ind + 1
____print_ht $zvalue->value.ht 1
____print_ht $zvalue->value.ht 0
set $ind = $ind - 1
set $i = $ind
while $i > 0
@@ -107,7 +130,6 @@ define ____printzv_contents
set $type = 0
end
if $type == 5
printf "object"
____executor_globals
set $handle = $zvalue->value.obj.handle
set $handlers = $zvalue->value.obj.handlers
@@ -117,7 +139,7 @@ define ____printzv_contents
set $zobj = zend_objects_get_address($zvalue)
end
if $handlers->get_class_entry == &zend_std_object_get_class
set $cname = $zobj->ce.name
set $cname = $zobj->ce.name.s
else
set $cname = "Unknown"
end
@@ -145,20 +167,19 @@ define ____printzv_contents
set $type = 0
end
if $type == 6
printf "string(%d): ", $zvalue->value.str.len
____print_str $zvalue->value.str.val $zvalue->value.str.len
printf "(%d): \"%s\"", $zvalue->value.str.len, $zvalue->value.str.val
end
if $type == 7
printf "resource: #%d", $zvalue->value.lval
printf ": #%d", $zvalue->value.lval
end
if $type == 8
printf "constant"
end
if $type == 9
printf "const_array"
end
if $type > 9
printf "unknown type %d", $type
if $type == 10
printf "(%d): [%p]", $zvalue->value.str.len, $zvalue->value.str.val
end
if $type > 10
end
printf "\n"
end
@@ -194,9 +215,8 @@ define ____print_const_table
set $i = $i - 1
end
if $p->nKeyLength > 0
____print_str $p->arKey $p->nKeyLength
printf " => "
if $p->nKeyLength > 0
printf "\"%s\" => ", $p->key.arKey.s
else
printf "%d => ", $p->h
end
@@ -214,10 +234,13 @@ define print_const_table
end
define ____print_ht
set $ht = (HashTable*)$arg0
set $ht = $arg0
set $obj = $arg1
set $p = $ht->pListHead
while $p != 0
set $zval = *(zval **)$p->pData
set $i = $ind
while $i > 0
printf " "
@@ -225,23 +248,24 @@ define ____print_ht
end
if $p->nKeyLength > 0
____print_str $p->arKey $p->nKeyLength
printf " => "
if $obj && $p->key.arKey.s[0] == 0
if $p->key.arKey.s[1] == '*'
printf "\"protected %s\" => ", $p->key.arKey.s+3
else
set $n = 1
while $n < $p->nKeyLength && $p->key.arKey.s[$n] != 0
set $n = $n + 1
end
printf "\"private %s::%s\" => ", $p->key.arKey.s+1, $p->key.arKey.s+$n+1
end
else
printf "\"%s\" => ", $p->key.arKey.s
end
else
printf "%d => ", $p->h
end
if $arg1 == 0
printf "%p\n", (void*)$p->pData
end
if $arg1 == 1
set $zval = *(zval **)$p->pData
____printzv $zval 1
end
if $arg1 == 2
printf "%s\n", (char*)$p->pData
end
____printzv $zval 1
set $p = $p->pListNext
end
end
@@ -249,7 +273,7 @@ end
define print_ht
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 1
____print_ht $arg0 0
printf "}\n"
end
@@ -257,28 +281,6 @@ document print_ht
dumps elements of HashTable made of zval
end
define print_htptr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 0
printf "}\n"
end
document print_htptr
dumps elements of HashTable made of pointers
end
define print_htstr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 2
printf "}\n"
end
document print_htstr
dumps elements of HashTable made of strings
end
define ____print_ft
set $ht = $arg0
set $p = $ht->pListHead
@@ -292,9 +294,8 @@ define ____print_ft
set $i = $i - 1
end
if $p->nKeyLength > 0
____print_str $p->arKey $p->nKeyLength
printf " => "
if $p->nKeyLength > 0
printf "\"%s\" => ", $p->key.arKey.s
else
printf "%d => ", $p->h
end
@@ -315,113 +316,6 @@ document print_ft
dumps a function table (HashTable)
end
define ____print_inh_class
set $ce = $arg0
if $ce->ce_flags & 0x10 || $ce->ce_flags & 0x20
printf "abstract "
else
if $ce->ce_flags & 0x40
printf "final "
end
end
printf "class %s", $ce->name
if $ce->parent != 0
printf " extends %s", $ce->parent->name
end
if $ce->num_interfaces != 0
printf " implements"
set $tmp = 0
while $tmp < $ce->num_interfaces
printf " %s", $ce->interfaces[$tmp]->name
set $tmp = $tmp + 1
if $tmp < $ce->num_interfaces
printf ","
end
end
end
set $ce = $ce->parent
end
define ____print_inh_iface
set $ce = $arg0
printf "interface %s", $ce->name
if $ce->num_interfaces != 0
set $ce = $ce->interfaces[0]
printf " extends %s", $ce->name
else
set $ce = 0
end
end
define print_inh
set $ce = $arg0
set $depth = 0
while $ce != 0
set $tmp = $depth
while $tmp != 0
printf " "
set $tmp = $tmp - 1
end
set $depth = $depth + 1
if $ce->ce_flags & 0x80
____print_inh_iface $ce
else
____print_inh_class $ce
end
printf " {\n"
end
while $depth != 0
set $tmp = $depth
while $tmp != 1
printf " "
set $tmp = $tmp - 1
end
printf "}\n"
set $depth = $depth - 1
end
end
define print_pi
set $pi = $arg0
printf "[0x%08x] {\n", $pi
printf " h = %lu\n", $pi->h
printf " flags = %d (", $pi->flags
if $pi->flags & 0x100
printf "ZEND_ACC_PUBLIC"
else
if $pi->flags & 0x200
printf "ZEND_ACC_PROTECTED"
else
if $pi->flags & 0x400
printf "ZEND_ACC_PRIVATE"
else
if $pi->flags & 0x800
printf "ZEND_ACC_CHANGED"
end
end
end
end
printf ")\n"
printf " name = "
____print_str $pi->name $pi->name_length
printf "\n}\n"
end
define ____print_str
set $tmp = 0
set $str = $arg0
printf "\""
while $tmp < $arg1
if $str[$tmp] > 32 && $str[$tmp] < 127
printf "%c", $str[$tmp]
else
printf "\\%o", $str[$tmp]
end
set $tmp = $tmp + 1
end
printf "\""
end
define printzn
____executor_globals
set $ind = 0
-173
View File
@@ -1,173 +0,0 @@
ext/mysqlnd/mysqlnd.h ident
ext/simplexml/simplexml.c ident
ext/iconv/php_iconv.h ident
ext/posix/posix.c ident
ext/recode/recode.c ident
ext/skeleton/create_stubs ident
ext/phar/phar/pharcommand.inc ident
ext/phar/phar.c ident
ext/sysvmsg/sysvmsg.c ident
ext/enchant/enchant.c ident
ext/reflection/php_reflection.c ident
ext/oci8/oci8.c ident
ext/dba/libinifile/inifile.c ident
ext/dba/libflatfile/flatfile.c ident
ext/dba/libcdb/cdb_make.c ident
ext/dba/libcdb/cdb.c ident
ext/filter/filter.c ident
README.input_filter ident
run-tests.php ident
sapi/nsapi/nsapi.c ident
sapi/continuity/capi.c ident
Zend/RFCs/002.txt ident
Zend/RFCs/003.txt ident
NEWS merge=NEWS
/ext/bz2/tests/005.phpt -crlf
/ext/dom/tests/dom005.phpt -crlf
/ext/dom/tests/DOMImplementation_createDocumentType_basic.phpt -crlf
/ext/ereg/tests/009.phpt -crlf
/ext/iconv/tests/eucjp2sjis.phpt -crlf
/ext/iconv/tests/eucjp2utf8.phpt -crlf
/ext/iconv/tests/iconv_stream_filter_delimiter.phpt -crlf
/ext/iconv/tests/iconv_stream_filter.phpt -crlf
/ext/mbstring/tests/mb_split-compat-01.phpt -crlf
/ext/phar/tests/005.phpt -crlf
/ext/phar/tests/phar_commitwrite.phpt -crlf
/ext/phar/tests/phar_create_in_cwd.phpt -crlf
/ext/phar/tests/phar_mount.phpt -crlf
/ext/reflection/tests/009.phpt -crlf
/ext/reflection/tests/025.phpt -crlf
/ext/standard/tests/general_functions/highlight_heredoc.phpt -crlf
/ext/standard/tests/general_functions/parse_ini_file.phpt -crlf
/ext/standard/tests/general_functions/parse_ini_string_002.phpt -crlf
/ext/standard/tests/strings/006.phpt -crlf
/ext/standard/tests/strings/addslashes_variation2.phpt -crlf
/ext/standard/tests/strings/addslashes_variation3.phpt -crlf
/ext/standard/tests/strings/bug21453.phpt -crlf
/ext/standard/tests/strings/chop_variation3.phpt -crlf
/ext/standard/tests/strings/chunk_split_variation11.phpt -crlf
/ext/standard/tests/strings/chunk_split_variation12.phpt -crlf
/ext/standard/tests/strings/chunk_split_variation4.phpt -crlf
/ext/standard/tests/strings/crc32_variation2.phpt -crlf
/ext/standard/tests/strings/crc32_variation3.phpt -crlf
/ext/standard/tests/strings/crc32_variation4.phpt -crlf
/ext/standard/tests/strings/highlight_file.phpt -crlf
/ext/standard/tests/strings/htmlentities_html4.phpt -crlf
/ext/standard/tests/strings/lcfirst.phpt -crlf
/ext/standard/tests/strings/ltrim.phpt -crlf
/ext/standard/tests/strings/nl2br_variation2.phpt -crlf
/ext/standard/tests/strings/php_strip_whitespace.phpt -crlf
/ext/standard/tests/strings/rtrim.phpt -crlf
/ext/standard/tests/strings/sprintf_f_2.phpt -crlf
/ext/standard/tests/strings/sprintf_variation15.phpt -crlf
/ext/standard/tests/strings/strcspn_variation6.phpt -crlf
/ext/standard/tests/strings/strcspn_variation7.phpt -crlf
/ext/standard/tests/strings/strcspn_variation8.phpt -crlf
/ext/standard/tests/strings/stripos_variation1.phpt -crlf
/ext/standard/tests/strings/stripos_variation3.phpt -crlf
/ext/standard/tests/strings/stripos_variation4.phpt -crlf
/ext/standard/tests/strings/stripos_variation5.phpt -crlf
/ext/standard/tests/strings/stripos_variation6.phpt -crlf
/ext/standard/tests/strings/stripslashes_variation2.phpt -crlf
/ext/standard/tests/strings/stripslashes_variation3.phpt -crlf
/ext/standard/tests/strings/stripslashes_variation4.phpt -crlf
/ext/standard/tests/strings/stripslashes_variation5.phpt -crlf
/ext/standard/tests/strings/str_ireplace.phpt -crlf
/ext/standard/tests/strings/strnatcmp_basic.phpt -crlf
/ext/standard/tests/strings/strncasecmp_variation9.phpt -crlf
/ext/standard/tests/strings/strpos.phpt -crlf
/ext/standard/tests/strings/strrchr_variation1.phpt -crlf
/ext/standard/tests/strings/strrchr_variation2.phpt -crlf
/ext/standard/tests/strings/strrchr_variation3.phpt -crlf
/ext/standard/tests/strings/strrchr_variation4.phpt -crlf
/ext/standard/tests/strings/strrchr_variation6.phpt -crlf
/ext/standard/tests/strings/strrchr_variation7.phpt -crlf
/ext/standard/tests/strings/str_replace.phpt -crlf
/ext/standard/tests/strings/strrev_variation3.phpt -crlf
/ext/standard/tests/strings/strrev_variation4.phpt -crlf
/ext/standard/tests/strings/strripos_variation1.phpt -crlf
/ext/standard/tests/strings/strripos_variation2.phpt -crlf
/ext/standard/tests/strings/strripos_variation3.phpt -crlf
/ext/standard/tests/strings/strripos_variation4.phpt -crlf
/ext/standard/tests/strings/strripos_variation5.phpt -crlf
/ext/standard/tests/strings/strrpos_variation1.phpt -crlf
/ext/standard/tests/strings/strrpos_variation2.phpt -crlf
/ext/standard/tests/strings/strrpos_variation3.phpt -crlf
/ext/standard/tests/strings/strrpos_variation4.phpt -crlf
/ext/standard/tests/strings/strrpos_variation5.phpt -crlf
/ext/standard/tests/strings/strrpos_variation6.phpt -crlf
/ext/standard/tests/strings/strspn_variation5.phpt -crlf
/ext/standard/tests/strings/strspn_variation6.phpt -crlf
/ext/standard/tests/strings/strspn_variation7.phpt -crlf
/ext/standard/tests/strings/strspn_variation8.phpt -crlf
/ext/standard/tests/strings/strstr.phpt -crlf
/ext/standard/tests/strings/strtok_variation1.phpt -crlf
/ext/standard/tests/strings/strtok_variation3.phpt -crlf
/ext/standard/tests/strings/strtr_variation1.phpt -crlf
/ext/standard/tests/strings/strtr_variation2.phpt -crlf
/ext/standard/tests/strings/str_word_count.phpt -crlf
/ext/standard/tests/strings/trim1.phpt -crlf
/ext/standard/tests/strings/ucfirst.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation10.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation12.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation16.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation18.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation4.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation6.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation7.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation8.phpt -crlf
/ext/standard/tests/strings/vprintf_variation10.phpt -crlf
/ext/standard/tests/strings/vprintf_variation12.phpt -crlf
/ext/standard/tests/strings/vprintf_variation14.phpt -crlf
/ext/standard/tests/strings/vprintf_variation18.phpt -crlf
/ext/standard/tests/strings/vprintf_variation4.phpt -crlf
/ext/standard/tests/strings/vprintf_variation6.phpt -crlf
/ext/standard/tests/strings/vprintf_variation7.phpt -crlf
/ext/standard/tests/strings/vprintf_variation8.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation10.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation12.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation14.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation16.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation4.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation6.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation7.phpt -crlf
/ext/standard/tests/strings/vsprintf_variation8.phpt -crlf
/ext/standard/tests/strings/wordwrap.phpt -crlf
/ext/tidy/tests/010.phpt -crlf
/ext/tidy/tests/012.phpt -crlf
/ext/tidy/tests/025.phpt -crlf
/ext/tidy/tests/030.phpt -crlf
/ext/tokenizer/tests/bug26463.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation12.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation13.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation14.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation15.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation16.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation17.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation18.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation19.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation4.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation5.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation6.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation7.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation8.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation9.phpt -crlf
/ext/xml/tests/bug26614_libxml.phpt -crlf
/ext/xmlwriter/tests/004.phpt -crlf
/ext/xmlwriter/tests/OO_004.phpt -crlf
/ext/zlib/tests/005.phpt -crlf
/ext/zlib/tests/gzfile_basic2.phpt -crlf
/ext/zlib/tests/gzfile_basic.phpt -crlf
/ext/zlib/tests/gzfilegzreadfile.phpt -crlf
/ext/zlib/tests/readgzfile_basic2.phpt -crlf
/ext/zlib/tests/readgzfile_basic.phpt -crlf
/sapi/cli/tests/014.phpt -crlf
/tests/run-test/test010.phpt -crlf
/Zend/tests/bug35655.phpt -crlf
/Zend/tests/bug48930.phpt -crlf
/Zend/tests/bug61095.phpt -crlf
/Zend/tests/heredoc_017.phpt -crlf
/Zend/tests/heredoc_018.phpt -crlf
/Zend/tests/nowdoc_013.phpt -crlf
/Zend/tests/nowdoc_014.phpt -crlf
/Zend/tests/nowdoc_015.phpt -crlf
-254
View File
@@ -1,254 +0,0 @@
# General Ignores
*~
.#*
*.
*.slo
*.mk
*.mem
*.gcda
*.gcno
*.la
*.lo
*.o
*.a
*.ncb
*.opt
*.plg
*swp
*.patch
*.tgz
*.tar.gz
*.tar.bz2
.FBCIndex
.FBCLockFolder
.deps
.libs
phpt.*
core
dynlib.m4
Debug
Debug_TS
Makefile
Makefile.fragments
Makefile.objects
Release
Release_TS
Release_TSDbg
Release_TS_inline
Release_inline
ZendEngine1
_libs
acconfig.h
aclocal.m4
autom4te.cache
bsd_converted
buildconf.stamp
buildmk.stamp
confdefs.h
config.h
config.guess
config.cache
config.h.in
config.log
config.nice
config.nice.bat
config.status
config.sub
config_vars.mk
configuration-parser.c
configuration-parser.h
configuration-parser.output
configuration-scanner.c
configure
configure.bat
configure.js
conftest
conftest.c
debug.log
diff
generated_lists
include
install-sh
internal_functions.c
lcov_data
lcov_html
libs
libtool
meta_cc
meta_ccld
missing
mkinstalldirs
modules
php
php-*.tar.gz
php5.spec
php_lcov.info
php_test_results_*.txt
php_version.h
results.txt
shlibtool
stamp-h
test.php3
tmp-php.ini
want_dependencies
x64
stamp-h.in
scan_makefile_in.awk
TSRM/tsrm_config.h
Zend/zend_config.h
Zend/zend_ini_parser.c
Zend/zend_ini_parser.h
Zend/zend_ini_parser.output
Zend/zend_language_parser.c
Zend/zend_language_parser.h
Zend/zend_language_parser.output
ext/date/lib/timelib_config.h
ext/iconv/php_iconv_aliased_libiconv.h
ext/phar/phar.php
main/php_config.h
main/php_config.h.in
# Test specific Ignores
tests/*/*.diff
tests/*/*.out
tests/*/*.php
tests/*/*.exp
tests/*/*.log
tests/*/*.sh
*/tests/*.diff
*/tests/*.out
*/tests/*.php
*/tests/*.exp
*/tests/*.log
*/tests/*.sh
*/tests/*/*.diff
*/tests/*/*.out
*/tests/*/*.php
*/tests/*/*.exp
*/tests/*/*.log
*/tests/*/*.sh
*/*/tests/*.diff
*/*/tests/*.out
*/*/tests/*.php
*/*/tests/*.exp
*/*/tests/*.log
*/*/tests/*.sh
*/*/tests/*/*.diff
*/*/tests/*/*.out
*/*/tests/*/*.php
*/*/tests/*/*.exp
*/*/tests/*/*.log
*/*/tests/*/*.sh
# Extension specifc ignores
ext/*/configure.in
ext/*/ltmain.sh
ext/*/libs.mk
ext/*/build
ext/*/scan_makefile_in.awk
ext/*/Makefile.global
ext/*/acinclude.m4
ext/*/config.sub
# Extension specific
ext/iconv/scan_makefile_in.awk
ext/iconv/php_have_bsd_iconv.h
ext/iconv/php_have_ibm_iconv.h
ext/iconv/php_have_libiconv.h
ext/iconv/php_php_iconv_h_path.h
ext/iconv/php_have_glibc_iconv.h
ext/iconv/php_php_iconv_impl.h
ext/iconv/php_have_iconv.h
ext/iconv/php_iconv_supports_errno.h
ext/mbstring/libmbfl/Makefile.in
ext/mbstring/libmbfl/autoscan.log
ext/mbstring/libmbfl/config.sub
ext/mbstring/libmbfl/depcomp
ext/mbstring/libmbfl/ltmain.sh
ext/mbstring/libmbfl/stamp-h1
ext/mbstring/libmbfl/*.dll
ext/mbstring/libmbfl/*.lib
ext/mbstring/libmbfl/*.RES
ext/mbstring/libmbfl/*.res
ext/mbstring/libmbfl/*.obj
ext/mbstring/libmbfl/*.tds
ext/mbstring/libmbfl/filters/Makefile.in
ext/mbstring/libmbfl/mbfl/Makefile.in
ext/mbstring/libmbfl/mbfl/EastAsianWidth.txt
ext/mbstring/libmbfl/nls/Makefile.in
ext/mssql/#*#
ext/mssql/Makefile.global
ext/mssql/acinclude.m4
ext/mssql/config.sub
ext/mssql/configure.in
ext/mssql/ltmain.sh
ext/mysql/weztest.sqlite
ext/oci8/tests/*.tmp
ext/oci8/tests/*.vglog
ext/pdo/conftest*
ext/pdo/tests/*.db
ext/pdo/tests/*.tmp
ext/pdo_firebird/conftest*
ext/pdo_mysql/conftest*
ext/pdo_mysql/tests/*.db
ext/pdo_mysql/tests/*.tmp
ext/pdo_oci/conftest*
ext/pdo_odbc/tests/*.db
ext/pdo_odbc/tests/*.tmp
ext/pdo_odbc/tests/*.mdb
ext/pdo_pgsql/conftest*
ext/pdo_pgsql/tests/*.db
ext/pdo_pgsql/tests/*.tmp
ext/pdo_sqlite/conftest*
ext/pdo_sqlite/sqlite3.h
ext/pdo_sqlite/tests/*.db
ext/pdo_sqlite/tests/*.tmp
ext/phar/phar.phar
ext/pspell/tests/*.tmp
ext/reflection/xml
ext/reflection/html
ext/reflection/spl.chm
ext/simplexml/examples/security.new.xml
ext/spl/examples/.htaccess
ext/spl/examples/*.phps
ext/sqlite/weztest.sqlite
ext/sqlite/libsqlite/src/sqlite.h
ext/sqlite/libsqlite/src/parse.out
ext/sqlite/libsqlite/src/libsqlite.dsw
ext/sqlite3/tests/phpsql*
ext/sqlite3/tests/*.db
ext/sqlite3/tests/*.tmp
ext/standard/tests/misc/*.txt
ext/standard/tests/strings/*.txt
main/build-defs.h
main/internal_functions_cli.c
main/config.w32.h
main/stamp-h1
main/streams/build-defs.h
main/streams/stamp-h1
pear/install-pear-nozlib.phar
pear/phpize
pear/run-tests
pear/php-config
pear/scripts
sapi/apache/libphp5.module
sapi/apache2handler/libphp5.module
sapi/apache_hooks/libphp5.module
sapi/cgi/php-cgi
sapi/cli/php.1
sapi/fpm/php-fpm
sapi/fpm/php-fpm.1
sapi/fpm/init.d.php-fpm
sapi/fpm/php-fpm.conf
sapi/fpm/fpm/php-cgi
scripts/php-config
scripts/phpize
scripts/man1/*.1
win32/*.suo
win32/*.aps
win32/*.positions
win32/ext
win32/phpts.def
win32/wsyslog.h
win32/win32.dsp
win32/php.dsw
+89 -89
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.
@@ -256,10 +257,9 @@ 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.
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
-----------------------------------
+11554
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.
BIN
View File
Binary file not shown.
+142 -162
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,14 +118,45 @@ 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: dbx
PRIMARY MAINTAINER: Marc Boeren <M.Boeren@guidance.nl>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.6
COMMENT: DB abstraction for odbc, mysql, pgsql, mssql, fbsql and more, see documentation
-------------------------------------------------------------------------------
EXTENSION: fbsql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: informix
PRIMARY MAINTAINER: Danny Heijl <Danny.Heijl@cevi.be>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: ingres_ii
PRIMARY MAINTAINER: David Hénot <henot@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu>, Jouni Ahto <jouni.ahto@exdec.fi>
MAINTENANCE: Odd fixes
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: msql
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mssql
@@ -147,24 +166,18 @@ 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>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
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>
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -174,53 +187,14 @@ MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: pdo
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>
MAINTENANCE: Odd fixes
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 5.1
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
EXTENSION: pdo_dblib
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_firebird
PRIMARY MAINTAINER: Lars Westermann <lwe@php.net>
MAINTENANCE: Maintained
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>
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_odbc
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_oci
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_pgsql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_sqlite
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
EXTENSION: ovrimos
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Yasuo Ohgaki <yohgaki@php.net>
@@ -229,22 +203,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
-------------------------------------------------------------------------------
@@ -259,7 +229,7 @@ STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: simplexml
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
@@ -267,38 +237,23 @@ SINCE: 5.0
EXTENSION: soap
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Orphaned
MAINTENANCE: Maintained
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>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlreader
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
PRIMARY MAINTAINER: Dan Libby
MAINTENANCE: Orphaned
MAINTENANCE: UNKNOWN
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xmlwriter
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xsl
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>
MAINTENANCE: Maintained
@@ -311,8 +266,8 @@ SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: bcmath
MAINTENANCE: Andi Gutmans <andi@zend.com>
STATUS: Working
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: bz2
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
@@ -331,13 +286,18 @@ MAINTENANCE: Maintained
STATUS: Windows
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: cpdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: ctype
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: curl
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>, Ilia Alshanetsky <iliaa@php.net>, Pierrick Charron <pierrick@php.net>
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>,Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
@@ -353,25 +313,27 @@ MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
-------------------------------------------------------------------------------
EXTENSION: fileinfo
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
EXTENSION: fam
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: filter
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>, Pierre-Alain Joye <pajoye@php.net>, Ilia Alshanetsky <iliaa@php.net>
EXTENSION: fdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.2
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
MAINTENANCE: Odd fixes
PRIMARY MAINTAINER: Stefan Esser (sesser@php.net)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gd
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -380,35 +342,32 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gmp
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net>, Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: hwapi
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: iconv
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
-------------------------------------------------------------------------------
EXTENSION: json
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.2
EXTENSION: ircg
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
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>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -422,43 +381,68 @@ PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mhash
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>, Scott MacVicar <scottmac@php.net>
EXTENSION: mcve
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: mhash
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
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: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>, Pierre-Alain Joye <pajoye@php.net>
EXTENSION: mnogosearch
PRIMARY MAINTAINER: Sergey Kartashoff <gluke@mail.ru>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: mono
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: msession
PRIMARY MAINTAINER Mark L. Woodward <mlwmohawk@mohawksoft.com>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Working/Experimental
COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
-------------------------------------------------------------------------------
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>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: pcntl
PRIMARY MAINTAINER: Arnaud Le Blanc <lbarnaud@php.net>
MAINTENANCE: Maintained
STATUS: Working
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>, Nuno Lopes <nlopess@php.net>
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phar
PRIMARY MAINTAINER: Greg Beaver <cellog@php.net>, Marcus Börger <helly@php.net>, Steph Fox <sfox@php.net>
EXTENSION: pfpro
PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
@@ -468,23 +452,18 @@ STATUS: Working
EXTENSION: pspell
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: readline
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: reflection
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Johannes Schlüter <johannes@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: session
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
@@ -493,52 +472,53 @@ STATUS: Working
EXTENSION: shmop
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: snmp
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sockets
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
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
-------------------------------------------------------------------------------
EXTENSION: sysvmsg
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: sysvsem
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: sysvshm
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tidy
PRIMARY MAINTAINER: John Coggeshall <john@php.net>, Ilia Alshanetsky <iliaa@php.net>, Nuno Lopes <nlopess@php.net>
PRIMARY MAINTAINER: John Coggeshall <john@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: zip
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net>
EXTENSION: yaz
PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Unknown
SINCE: 4.0.1
-------------------------------------------------------------------------------
EXTENSION: zlib
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
+995 -1529
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
+11 -11
View File
@@ -3,21 +3,21 @@
# Zend
#
$(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(builddir)/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)
$(builddir)/zend_language_scanner.c: $(srcdir)/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
$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
@$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
$(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c
$(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
$(builddir)/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)
$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(builddir)/zend_language_parser.h
+20 -15
View File
@@ -5,15 +5,31 @@
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 '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 '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 $@"
@rm -rf lcov_data/
@$(mkinstalldirs) lcov_data/
@echo
-@files=`find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | uniq` ;\
for x in $$files; do \
-@find . -name \*.gcda -o -name \*.gcno -o -name \*.da | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | uniq | while read x; do \
echo -n . ;\
y=`echo $$x | sed -e 's!\.libs/!!'`; \
dir=lcov_data/`dirname $$x`; \
@@ -21,9 +37,6 @@ php_lcov.info: lcov-test
if test -f "$(top_srcdir)/$$y.c"; then \
ln -f -s $(top_srcdir)/$$y.c lcov_data/$$y.c; \
fi; \
if test -f "$(top_srcdir)/$$y.h"; then \
ln -f -s $(top_srcdir)/$$y.h lcov_data/$$y.h; \
fi; \
if test -f "$(top_srcdir)/$$y.re"; then \
ln -f -s $(top_srcdir)/$$y.re lcov_data/$$y.re; \
fi; \
@@ -33,9 +46,6 @@ php_lcov.info: lcov-test
if test -f "$(top_srcdir)/$$y.l"; then \
ln -f -s $(top_srcdir)/$$y.l lcov_data/$$y.l; \
fi; \
if test -f "$(top_srcdir)/$$y"; then \
ln -f -s $(top_srcdir)/$$y lcov_data/$$y; \
fi; \
if test -f "$(top_builddir)/$$y.c"; then \
ln -f -s $(top_builddir)/$$y.c lcov_data/$$y.c; \
fi; \
@@ -45,21 +55,16 @@ 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 $@
lcov-html: php_lcov.info
@echo "Generating lcov HTML"
@$(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" php_lcov.info
@$(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" --show-details php_lcov.info
lcov-clean:
rm -f php_lcov.info
rm -rf lcov_data/
rm -rf lcov_html/
lcov-clean-data:
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
+39 -39
View File
@@ -8,27 +8,27 @@ COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORK
all: $(all_targets)
@echo
@echo "Build complete."
@echo "Don't forget to run 'make test'."
@echo "(It is safe to ignore warnings about tempnam and tmpnam)."
@echo
build-modules: $(PHP_MODULES) $(PHP_ZEND_EX)
build-modules: $(PHP_MODULES)
libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
libphp5.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
-@$(LIBTOOL) --silent --mode=install cp libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp$(PHP_MAJOR_VERSION).so
libs/libphp5.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp5.so
install: $(all_targets) $(install_targets)
install-sapi: $(OVERALL_TARGET)
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-@if test ! -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); then \
-@if test ! -r $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME); then \
for i in 0.0.0 0.0 0; do \
if test -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); \
if test -r $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp5.$(SHLIB_DL_SUFFIX_NAME); \
break; \
fi; \
done; \
@@ -67,38 +67,37 @@ install-headers:
done; \
fi
PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1'
PHP_TEST_SHARED_EXTENSIONS = ` \
if test "x$(PHP_MODULES)" != "x"; then \
for i in $(PHP_MODULES)""; do \
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
done; \
fi; \
if test "x$(PHP_ZEND_EX)" != "x"; then \
for i in $(PHP_ZEND_EX)""; do \
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \
done; \
fi`
PHP_DEPRECATED_DIRECTIVES_REGEX = '^(define_syslog_variables|register_(globals|long_arrays)?|safe_mode|magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*='
test: all
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) -d 'open_basedir=' -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 \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -U $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
utest: all
-@if test -x $(SAPI_CLI_PATH) && test ! -z $(SAPI_CLI_PATH); then \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -u $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
ntest: all
-@if test -x $(SAPI_CLI_PATH) && test ! -z $(SAPI_CLI_PATH); then \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -N $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
@@ -109,11 +108,12 @@ clean:
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
rm -f libphp5.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/libphp5.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:
+50 -6645
View File
File diff suppressed because it is too large. Load diff
+123
View File
@@ -0,0 +1,123 @@
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 Is used to release the PHP 5.1.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
PHP_5_0 This branch is closed.
PHP_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.
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");
}
/* }}} */
-124
View File
@@ -1,124 +0,0 @@
====================
Git Commit Rules
====================
This is the first file you should be reading when contributing code via Git.
We'll assume you're basically familiar with Git, but feel free to post
your questions on the mailing list. Please have a look at
http://git-scm.com/ for more detailed information on Git.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and Git lets us do this. Thus, following
some basic rules with regards to Git usage will::
a. Make everybody happier, especially those responsible for maintaining
Git 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 those who need that.
Currently we have the following branches in use::
master The active development branch.
PHP-5.4 Is used to release the PHP 5.4.x series. It still allows for
larger enhancements.
PHP-5.3 Is used to release the PHP 5.3.x series. This is current
stable version and is open for bugfixes only.
PHP-5.2 Is used to release the PHP 5.2.x series. It is closed for
changes now.
PHP-5.1 This branch is closed.
PHP-4.4 This branch is closed.
The next few rules are more of a technical nature::
1. All changes should first go to the lowest branch (i.e. 5.3) and then
get merged up to all other branches. If a change is not needed for
later branches (i.e. fixes for features which where dropped from later
branches) an empty merge should be done.
2. 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.
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.
<max 79 characters short description>\n
\n
<long description, 79 chars per line>
\n
An Example from the git project (commit 2b34e486bc):
pack-objects: Fix compilation with NO_PTHREDS
It looks like commit 99fb6e04 (pack-objects: convert to use
parse_options(), 2012-02-01) moved the #ifdef NO_PTHREDS around but
hasn't noticed that the 'arg' variable no longer is available.
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.)
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 OpenGrok (http://lxr.php.net/) and gitweb (http://git.php.net/)
to look at PHP Git repository in various ways.
For further information on the process and further details please refer to
https://wiki.php.net/vcs/gitworkflow and https://wiki.php.net/vcs/gitfaq
Happy hacking,
PHP Team
-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
+51 -127
View File
@@ -38,61 +38,33 @@ Type specifiers
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)
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)
l - long (long)
d - double (double)
s - string (with possible null bytes) and its length (char*, int)
u - unicode (UChar*, int)
t - text (void * (char*/Uchar*), int (length), zend_uchar (IS_STRING/..))
actual type is controled by ini unicode setting
T - text (void * (char*/Uchar*), int (length), zend_uchar (IS_STRING/..))
actual type controlled by first s or u
b - boolean (zend_bool)
r - resource (zval*)
a - array (zval*)
h - array (returned as HashTable*)
o - object of any type (zval*)
O - object of specific type given by class entry (zval*, zend_class_entry)
C - class (zend_class_entry*)
z - the actual zval (zval*)
Z - the actual zval (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 'a', 'o', 'O', 'r', and 'z'). If NULL is passed, the results
pointer is set to NULL as well.
Examples
--------
@@ -102,18 +74,18 @@ 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;
}
/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
zend_class_entry *my_ce;
zend_class_entry my_ce;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
&obj, my_ce, &d) == FAILURE) {
return;
&obj, my_ce, &d) == FAILURE) {
return;
}
@@ -122,18 +94,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;
@@ -147,72 +130,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);
}
+11
View File
@@ -0,0 +1,11 @@
To install the PEAR installer, please use go-pear.
On linux:
$ lynx -source http://go-pear.org/ | php
or save the setup script under go-pear.php and run:
php go-pear.php
For more informations see the PEAR manual:
http://pear.php.net/manual/en/installation.getting.php
+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.
-285
View File
@@ -1,285 +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://windows.php.net/downloads/snaps/ the last revision)
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). Mail php-internals to announce the tag so tests/validation/check can be done prior to package it. It is especially important for RCs.
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 ``qa.git/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.
4. Update ``php.git/include/version.inc`` (x=major version number)
a. ``$PHP_x_RC`` = "5.3.0RC1"
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
5. Commit and push those changes:
a. ``git commit -a && git push origin master``
6. 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.
7. Publish the announce on www.php.net as well (for all releases, alpha, RCs or other)
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 SVN 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!
+4 -5
View File
@@ -32,12 +32,11 @@ sapi/cli/php [-c /path/to/php.ini] run-tests.php [ext/foo/tests/GLOB]
[Which "php" executable "make test" look for]
---------------------------------------------
If you are running the run-tests.php script from the command line (as above)
you must set the TEST_PHP_EXECUTABLE environment variable to explicitly
select the PHP executable that is to be tested, that is, used to run the test scripts.
You must use TEST_PHP_EXECUTABLE environment variable to explicitly
select the php executable to be used to run the tests. That can either
be the CLI or CGI executable.
If you run the tests using make test, the PHP CLI and CGI executables are
automatically set for you. "make test" executes "run-tests.php" script with the CLI binary. Some
"make test" executes "run-tests.php" script with "php" binary. Some
test scripts such as session must be executed by CGI SAPI. Therefore,
you must build PHP with CGI SAPI to perform all tests.
+14 -14
View File
@@ -1,11 +1,11 @@
[IMPORTANT NOTICE]
------------------
This is an addendum to README.TESTING with additional information
specific to server-tests.php.
specific to run-tests2.php.
server-tests.php is backward compatible with tests developed for
the original run-tests.php script. server-tests is *not* used by
'make test'. server-tests was developed to provide support for
run-tests2.php is backward compatible with tests developed for
the original run-tests.php script. run-tests2 is *not* used by
'make test'. run-tests2 was developed to provide support for
testing PHP under it's primary environment, HTTP, and can run the
PHP tests under any of the SAPI modules that are direct executables,
or are accessable via HTTP.
@@ -13,12 +13,12 @@ or are accessable via HTTP.
[New features]
----------------
* Command line interface:
You can run 'php server-tests.php -h' to get all the possible options.
You can run 'php run-tests2.php -h' to get all the possible options.
* Configuration file:
the -c argument will allow you to use a configuration file. This is
handy if you are testing multiple environments and need various options
depending on the environment.
see server-tests-config.php for details.
see run-tests-config.php for details.
* CGI Emulation:
Will emulate a CGI environment when testing with the cgi sapi executable.
* HTTP testing:
@@ -39,23 +39,23 @@ make testing work.
Some (but not all!) examples of usage:
1. run tests from the php source directory
php server-tests.php -p /path/to/php-cli
php run-tests2.php -p /path/to/php-cli
2. run tests using cgi emulation
php server-tests.php -p /path/to/php-cgi
php run-tests2.php -p /path/to/php-cgi
3. run tests over http, copying test files into document root
php server-tests.php -w -u http://localhost/test -m /path/to/htdocs/test
php run-tests2.php -w -u http://localhost/test -m /path/to/htdocs/test
4. run tests over http, php sources have been aliased in web server
php server-tests.php -w -u http://localhost/test
php run-tests2.php -w -u http://localhost/test
5. run tests using configuration file
php server-tests.php -c /path/to/server-tests-config.php
php run-tests2.php -c /path/to/run-tests-config.php
6. run tests using configuration file, but overriding some settings:
(config file must be first)
php server-tests.php -c /path/to/server-tests-config.php -w -t 3 -d /path/to/testdir
php run-tests2.php -c /path/to/run-tests-config.php -w -t 3 -d /path/to/testdir
NOTE: configuration as described in README.TESTING still works.
@@ -63,7 +63,7 @@ NOTE: configuration as described in README.TESTING still works.
----------------
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
under server-tests.
under run-tests2.
--POST--
This is not a new section, but not multipart posts are supported for testing
@@ -97,7 +97,7 @@ include:
$scriptname this is what will become SCRIPT_NAME unless you override it
$docroot the equivelant of DOCUMENT_ROOT under Apache
$cwd the directory that the test is being initiated from
$this->conf all server-tests configuration vars
$this->conf all run-tests2 configuration vars
$this->env all environment variables that will get passed to the test
+709
View File
@@ -0,0 +1,709 @@
Introduction
============
As successful as PHP has proven to be in the past several years, it is still
the only remaining member of the P-trinity of scripting languages - Perl and
Python being the other two - that remains blithely ignorant of the
multilingual and multinational environment around it. The software
development community has been moving towards Unicode Standard for some time
now, and PHP can no longer afford to be outside of this movement. Surely,
some steps have been taken recently to allow for easier processing of
multibyte data with the mbstring extension, but it is not enabled in PHP by
default and is not as intuitive or transparent as it could be.
The basic goal of this document is to describe how PHP 6 will support the
Unicode Standard natively. Since the full implementation of the Unicode
Standard is very involved, the idea is to use the already existing,
well-tested, full-featured, and freely available ICU (International
Components for Unicode) library. This will allow us to concentrate on the
details of PHP integration and speed up the implementation.
General Remarks
===============
Backwards Compatibility
-----------------------
Throughout the design and implementation of Unicode support, backwards
compatibility must be of paramount concern. PHP is used on an enormous number of
sites and the upgrade to Unicode-enabled PHP has to be transparent. This means
that the existing data types and functions must work as they have always
done. However, the speed of certain operations may be affected, due to
increased complexity of the code overall.
Unicode Encoding
----------------
The initial version will not support Byte Order Mark. Characters are
expected to be composed, Normalization Form C. Later versions will support
BOM, and decomposed and other characters.
Implementation Approach
=======================
The implementation is done in phases. This allows for more basic and
low-level implementation issues to be ironed out and tested before
proceeding to more advanced topics.
Legend:
- TODO
+ finished
* in progress
Phase I
-------
+ Basic Unicode string support, including instantiation, concatenation,
indexing
+ Simple output of Unicode strings via 'print' and 'echo' statements
with appropriate output encoding conversion
+ Conversion of Unicode strings to/from various encodings via encode() and
decode() functions
+ Determining length of Unicode strings via strlen() function, some
simple string functions ported (substr).
Phase II
--------
* HTTP input request decoding
+ Fixing remaining string-aware operators (assignment to {}, etc)
+ Comparison (collation) of Unicode strings with built-in operators
* Support for Unicode and binary strings in PHP streams
+ Support for Unicode identifiers
* Configurable handling of conversion failures
+ \C{} escape sequence in strings
Phase III
---------
* Exposing ICU API
- Porting all remaining functions to support Unicode and/or binary
strings
Encoding Names
==============
All the encoding settings discussed in this document accept any valid
encoding name supported by ICU. See ICU online documentation for the full
list of encodings.
Internal Encoding
=================
UTF-16 is the internal encoding used for Unicode strings. UTF-16 consumes
two bytes for any Unicode character in the Basic Multilingual Plane, which
is where most of the current world's languages are represented. While being
less memory efficient for basic ASCII text it simplifies the processing and
makes interfacing with ICU easier, since ICU uses UTF-16 for its internal
processing as well.
Fallback Encoding
=================
This setting specifies the "fallback" encoding for all the other ones. So if
a specific encoding setting is not set, PHP defaults it to the fallback
encoding. If the fallback_encoding is not specified either, it is set to
UTF-8.
fallback_encoding = "iso-8859-1"
Runtime Encoding
================
Currently PHP neither specifies nor cares what the encoding of its strings
is. However, the Unicode implementation needs to know what this encoding is
for several reasons, including type coersion and encoding conversion for
strings generated at runtime via function calls and casting. This setting
specifies this runtime encoding.
runtime_encoding = "iso-8859-1"
Output Encoding
===============
Automatic output encoding conversion is supported on the standard output
stream. Therefore, command such as 'print' and 'echo' automatically convert
their arguments to the specified encoding. No automatic output encoding is
performed for anything else. Therefore, when writing to files or external
resources, the developer has to manually encode the data using functions
provided by the unicode extension or rely on stream encoding filters. The
unicode extension provides necessary stream filters to make developers'
lives easier.
The existing default_charset setting so far has been used only for
specifying the charset portion of the Content-Type MIME header. For several
reasons, this setting is deprecated. Now it is only used when the Unicode
semantics switch is disabled and does not affect the actual transcoding of
the output stream. The output encoding setting takes precedence in all other
cases.
output_encoding = "utf-8"
HTTP Input Encoding
===================
To make accessing HTTP input variables easier, PHP automatically decodes
HTTP GET and POST requests based on the specified encoding. If the HTTP
request contains the encoding specification in the headers, then it will be
used instead of this setting. If the HTTP input encoding setting is not
specified, PHP falls back onto the output encoding setting, because modern
browsers are supposed to return the data in the same encoding as they
received it in.
If the actual encoding is passed in the request itself or is found
elsewhere, then the application can ask PHP to re-decode the raw input
explicitly.
http_input_encoding = "utf-8"
Script Encoding
===============
PHP scripts may be written in any encoding supported by ICU. The encoding
of the scripts can be specified site-wide via an INI directive
script_encoding, or with a 'declare' pragma at the beginning of the script.
The reason for pragma is that an application written in Shift-JIS, for
example, should be executable on a system where the INI directive cannot be
changed by the application itself. The pragma setting is valid only for the
script it occurs in, and does not propagate to the included files.
pragma:
<?php declare(encoding = 'utf-8'); ?>
INI setting:
script_encoding = utf-8
Conversion Semantics
====================
Not all characters can be converted between Unicode and legacy encodings.
Normally, when downconverting from Unicode, the default behavior of ICU
converters is to substitute the missing sequence with the appropriate
substitution sequence for that codepage, such as 0x1A (Control-Z) in
ISO-8859-1. When upconverting to Unicode, if an encoding has a character
which cannot be converted into Unicode, that sequence is replaced by the
Unicode substitution character (U+FFFD).
The conversion failure behavior can be customized:
- perform substitution as described above with a custom substitution
character
- skip any invalid characters
- stop the conversion, raise an error, and return partial conversion
results
- replace the missing character with a diagnostic character and continue,
e.g. [U+hhhh]
There are two INI settings that control this.
unicode.from_error_mode = U_INVALID_SUBSTITUTE
U_INVALID_SKIP
U_INVALID_STOP
U_INVALID_ESCAPE
unicode.from_error_subst_char = a2
The second setting is supposed to contain the Unicode code point value for
the substitution character. This value has to be representable in the target
encoding.
Note that PHP always tries to convert as much as of the data as possible and
returns the converted results even if an error happens.
Unicode Switch
==============
Obviously, PHP cannot simply impose new Unicode support on everyone. There
are many applications that do not care about Unicode and do not need it.
Consequently, there is a switch that enables certain fundamental language
changes related to Unicode. This switch is available as a site-wide, or
per-dir INI setting only.
Note that having switch turned off does not imply that PHP is unaware of
Unicode at all and that no Unicode string can exist. It only affects certain
aspects of the language, and Unicode strings can always be created
programmatically.
unicode_semantics = On
[TODO: list areas that are affected by this switch]
Unicode String Type
===================
Unicode string type (IS_UNICODE) is supposed to contain text data encoded in
UTF-16 format. It is the main string type in PHP when Unicode semantics
switch is turned on. Unicode strings can exist when the switch is off, but
they have to be produced programmatically, via calls to functions that
return Unicode type.
The operational unit when working with Unicode strings is a code point, not
code unit or byte. One code point in UTF-16 may be comprised of 1 or 2 code
units, each of which is a 16-bit word. Working on the code point level is
necessary because doing otherwise would mean offloading the processing of
surrogate pairs onto PHP users, and that is less than desirable.
The repercussions are that one cannot expect code point N to be at offset
N in the Unicode string. Instead, one has to iterate from the beginning from
the string using U16_FWD() macro until the desired codepoint is reached.
The codepoint access is one of the primary areas targeted for optimization.
Native Encoding String Type
===========================
Native encoding string type (IS_STRING) serves two purposes: backwards
compatibility when Unicode semantics switch is off, and for representing
strings in non-Unicode encodings (native encodings) when it is on. It is
processsed on the byte level.
Binary String Type
==================
Binary string type (IS_BINARY) can be used for storing images, PDFs, or
other binary data intended to be processed on a byte-level and that cannot
be intepreted as text.
Binary data type does not participate in implicit conversions, and cannot be
explicitly upconverted to other string types, although the inverse is
possible.
Printing binary data to the standard output passes it through as-is,
independent of the output encoding.
When Unicode semantics switch is off, binary string literals and binary
strings returned by functions actually resolve to IS_STRING type, for
backwards compatibility reasons.
Zval Structure Changes
======================
PHP is a type-agnostic language. Its data values are encapsulated in a zval
(Zend value) structure that can change as necessary to accomodate various types.
struct _zval_struct {
/* Variable information */
union {
long lval; /* long value */
double dval; /* double value */
struct {
char *val;
int len;
} str; /* string value */
HashTable *ht; /* hash table value */
zend_object_value obj; /* object value */
} value;
zend_uint refcount;
zend_uchar type; /* active type */
zend_uchar is_ref;
};
The type field determines what is stored in the union, IS_STRING being the only
data type pertinent to this discussion. In the current version, the strings
are binary-safe, but, for all intents and purposes, are assumed to be
comprised of 8-bit characters. It is possible to treat the string value as
an opaque type containing arbitrary binary data, and in fact that is how
mbstring extension uses it, in order to store multibyte strings. However,
many extensions and the Zend engine itself manipulate the string value
directly without regard to its internals. Needless to say, this can lead to
problems.
For IS_UNICODE type, we need to add another structure to the union:
union {
....
struct {
UChar *val; /* Unicode string value */
int32_t len; /* number of UChar's */
....
} value;
This cleanly separates the two types of strings and helps preserve backwards
compatibility. For IS_BINARY type, we can re-use the str union.
Language Modifications
======================
If a Unicode switch is turned on, PHP string literals - single-quoted,
double-quoted, and heredocs - become Unicode strings (IS_UNICODE type).
They support all the same escape sequences and variable interpolations as
previously, with the addition of some new escape sequences.
The contents of the strings are interpreted as follows:
- all non-escaped characters are interpreted as a corresponding Unicode
codepoint based on the current script encoding, e.g. ASCII 'a' (0x51) =>
U+0061, Shift-JIS (0x92 0x69) => U+4E2D
- existing PHP escape sequences are also interpreted as Unicode codepoints,
including \xXX (hex) and \OOO (octal) numbers, e.g. "\x20" => U+0020
- two new escape sequences, \uXXXX and \UXXXXXX are interpreted as a 4 or
6-hex Unicode codepoint value, e.g. \u0221 => U+0221, \U010410 =>
U+10410
- a new escape sequence allows specifying a character by its full
Unicode name, e.g. \C{THAI CHARACTER PHO SAMPHAO} => U+0E20
The single-quoted string is more restrictive than the other two types: so
far the only escape sequence allowed inside of it was \', which specifies
a literal single quote. However, single quoted strings now support the new
Unicode character escape sequences as well.
PHP allows variable interpolation inside the double-quoted and heredoc strings.
However, the parser separates the string into literal and variable chunks during
compilation, e.g. "abc $var def" -> "abc" . $var . "def". This means that the
literal chunks can be handled in the normal way for as far as Unicode
support is concerned.
Since all string literals become Unicode by default, one loses the ability
to specify byte-oriented or binary strings. In order to create binary string
literals, a new syntax is necessary: prefixing a string literal with letter
'b' creates a binary string.
$var = b'abc\001';
$var = b"abc\001";
$var = b<<<EOD
abc\001
EOD;
The binary string literals support the same escape sequences as the current
PHP strings. If the Unicode switch is turned off, then the binary string
literals generate normal string (IS_STRING) type internally, without any
effect on the application.
The string operators have been changed to accomodate the new IS_UNICODE and
IS_BINARY types. In more detail:
- The concatenation (.) operator has been changed to automatically coerce
IS_STRING type to the more precise IS_UNICODE if its operands are of two
different string types. It does not perform coersion for IS_BINARY type,
however, since binary data is not considered to be in any encoding. To
concatenate string with binary data, strings have to be cast to binary
type first. The coersion uses the conversion matrix specified later in
this document.
- The concatenation assignment operator (.=) has been changed similarly.
- The string indexing operators {}/[] have been changed to accomodate
IS_UNICODE type strings and extract the specified character. Note that
the index specifies a code point, not a byte, or a code unit, thus
supporting supplementary characters as well.
- Both Unicode and binary string types can be used as array keys. If the
Unicode switch is on, the native encoding strings are converted to
Unicode, if they are used as hash keys, but binary strings are not.
Note that this means if Unicode switch is off, then Unicode string "abc"
and native string "abc" do not hash to the same value.
- Bitwise operators and increment/decrement operators do not work on
Unicode strings. They do work on binary strings.
- Two new casting operators are introduced, (unicode) and (binary).
They use the conversion matrix specified later in this document.
- The comparison operators when applied to Unicode strings, perform
comparison in binary code point order. They also do appropriate coersion
if the strings are of differing types.
- The arithmetic operators use the same semantic as today for converting
strings to numbers. A Unicode string is considered numeric if it
represents a long or a double number in en_US_POSIX locale.
Inline HTML
===========
Because inline HTML blocks are intermixed with PHP ones, they are also
written in the script encoding. PHP transcodes the HTML blocks to the output
encoding as needed, resulting in direct passthrough if the script encoding
matches output encoding.
Identifiers
===========
Considering that scripts may be written in various encodings, we do not
restrict identifiers to be ASCII-only. PHP allows any valid identifier based
on the Unicode Standard Annex #31. The identifiers are case folded when
necessary (class and function names) and converted to normalization form
NFKC, so that two identifiers written in two compatible ways refer to the
same thing.
Numbers
=======
Unlike identifiers, we restrict numbers to consist only of ASCII digits and
do not interpret them as written in a specific locale. The numbers are
expected to adhere to en_US_POSIX or C locale, i.e. having no thousands
separator and fractional separator being (.) "full stop". Numeric strings
are supposed to adhere to the same rules, i.e. "10,3" is not interpreted as
a number even if the current locale's fractional separator is comma.
Parameter Parsing API Modifications
===================================
Internal PHP functions largely uses zend_parse_parameters() API in order to
obtain the parameters passed to them by the user. For example:
char *str;
int len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &len) == FAILURE) {
return;
}
This forces the input parameter to be a string, and its value and length are
stored in the variables specified by the caller.
There are now three new specifiers: 't', 'u', and 'T'.
't' specifier
-------------
This specifier indicates that the caller requires the incoming parameter
to be string data (IS_STRING, IS_UNICODE, IS_BINARY). The caller has to provide
the storage for string value, length, and type.
void *str;
int len;
zend_uchar type;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t", &str, &len, &type) == FAILURE) {
return;
}
if (type == IS_UNICODE) {
/* process UTF-16 data */
} else {
/* process native string or binary data */
}
For IS_STRING and IS_BINARY types, the length represents the number of
bytes, and for IS_UNICODE the number of UChar's. When converting other
types (numbers, booleans, etc) to strings, the exact behavior depends on
the Unicode semantics switch: if on, they are converted to IS_UNICODE,
otherwise to IS_STRING.
'u' specifier
-------------
This specifier indicates that the caller requires the incoming parameter
to be a Unicode UTF-16 encoded string. If a non-Unicode string is passed,
the engine creates a copy of the string and automatically convert it
to Unicode type before passing it to the internal function. No such
conversion is necessary for Unicode strings, obviously. Binary type cannot
be upconverted, and the engine issues an error in such case.
UChar *str;
int32_t len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "u", &str, &len) == FAILURE) {
return;
}
/* process UTF-16 data */
'T' specifier
-------------
This specifier is useful when the function takes two or more strings and
operates on them. Using 't' specifier for each one would be somewhat
problematic if the passed-in strings are of mixed types, and multiple
checks need to be performed in order to do anything. All parameters
marked by the 'T' specifier are promoted to the same type.
Binary type is generally speaking the most precise one. However, we do not
want to convert Unicode strings to binary ones, so an error is thrown
if the incoming list of parameters has both Unicode and binary strings in
it.
If there are no binary strings, and at least one of the strings is of
Unicode type, then all the rest of the strings are upconverted to Unicode.
Otherwise the promotion is to IS_STRING type.
void *str1, *str2;
int len1, len2;
zend_uchar type1, type2;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "TT", &str1, &len1,
&type1, &str2, &len2, &type2) == FAILURE) {
return;
}
if (type1 == IS_UNICODE) {
/* process as Unicode, str2 is guaranteed to be Unicode as well */
} else {
/* process as native string, str2 is guaranteed to be the same */
}
The existing 's' specifier has been modified as well. If a Unicode string is
passed in, it automatically copies and converts the string to the runtime
encoding, and issues a warning. If a binary type is passed-in, no conversion
is necessary.
Upgrading Existing Functions
============================
Upgrading functions to work with new data types will be a deliberate and
involved process, because one needs to consider not only the mechanisms for
processing Unicode characters, for example, but also the semantics of
the function.
The main tenet of the upgrade process should be that when processing Unicode
strings, the unit of operation is a code point, not a code unit or a byte.
For example, strlen() returns the number of code points in the string.
strlen('abc') = 3
strlen('ab\U010000') = 3
strlen('ab\uD800\uDC00') = 3 /* not 4 */
Function upgrade guidelines are available in a separate document.
Unicode Extension
=================
There will be one or more extensions that provide Unicode and i18n services
to PHP. In phase I only the conversion service is necessary. The Unicode
extension is 'ext/unicode' and its functions should be prefixed with 'unicode'
or 'icu'.
Conversion Functions
--------------------
string unicode_encode(unicode $input, text $encoding)
Takes a UTF-16 Unicode string and converts it to the the target
encoding, returning the result.
unicode unicode_decode(string $input, text $encoding)
Takes a string in the source encoding and converts it to a UTF-16
Unicode string, returning the result.
Type Conversion Matrix
======================
to | IS_STRING | IS_UNICODE | IS_BINARY
from | | |
-------------------------------------------------------------------
| | |
IS_STRING | n/a | implicit=yes | explicit=yes
| | explicit=yes | implicit=no
| | |
-------------------------------------------------------------------
| | |
IS_UNICODE | explicit=yes | n/a | explicit=yes
| implicit=no | | implicit=no
| | |
------------------------------|------------------------------------
| | |
IS_BINARY | explicit=no | explicit=no | n/a
| implicit=no | implicit=no |
| | |
explicit = casting
implicit = for concatenation, etc
IS_STRING <-> IS_UNICODE uses runtime-encoding
IS_UNICODE -> IS_BINARY converts to runtime encoding first, then to binary
Implementation Details That Need Expanding
==========================================
- Streams support for Unicode - What stream filters will we be providing?
- Conversion errors behavior - Need to define the default.
- INI files encoding - Do we support BOMs?
- There are likely to be other issues which are missing from this document
Build System
============
Unicode support in PHP is always enabled. The only configuration option
during development should be the location of the ICU headers and libraries.
--with-icu-dir=<dir> <dir> parameter specifies the location of ICU
header and library files.
After the initial development we have to repackage ICU library for our needs
and bundle it with PHP.
Document History
================
0.5: Updated per latest discussions. Removed tentative language in several
places, since we have decided on everything described here already.
Clarified details according to Phase II progress.
0.4: Updated to include all the latest discussions. Updated development
phases.
0.3: Updated to include all the latest discussions.
0.2: Updated Phase I design proposal per discussion on unicode@php.net.
Modified Internal Encoding section to contain only UTF-16 info..
Expanded Script Encoding section.
Added Binary Data Type section.
Amended Language Modifications section to describe string literals
behavior.
Amended Build System section.
0.1: Phase I design proposal
References
==========
Unicode
http://www.unicode.org
Unicode Glossary
http://www.unicode.org/glossary/
UTF-8
http://www.utf-8.com/
UTF-16
http://www.ietf.org/rfc/rfc2781.txt
ICU Homepage
http://www.ibm.com/software/globalization/icu/
ICU User Guide and API Reference
http://icu.sourceforge.net/
Unicode Annex #31
http://www.unicode.org/reports/tr31/
PHP Parameter Parsing API
http://www.php.net/manual/en/zend.arguments.retrieval.php
Authors
=======
Andrei Zmievski <andrei@gravitonic.com>
vim: set et :
+403
View File
@@ -0,0 +1,403 @@
This document attempts to describe portions of the API related to the new
Unicode functionality and the best practices for upgrading existing
functions to support Unicode.
Your first stop should be README.UNICODE: it covers the general Unicode
functionality and concepts without going into technical implementation
details.
Working in Unicode World
========================
Strings
-------
A lot of internal functionality is controlled by the unicode_semantics
switch. Its value is found in the Unicode globals variable, UG(unicode). It
is either on or off for the entire request.
The big thing is that there are two new string types: IS_UNICODE and
IS_BINARY. The former one has its own storage in the value union part of
zval (value.ustr) and the latter re-uses value.str.
Both types have new macros to set the zval value and to access it.
Z_USTRVAL(), Z_USTRLEN()
- accesses the value and length (in code units) of the Unicode type string
Z_BINVAL(), Z_BINLEN()
- accesses the value and length of the binary type string
Z_UNIVAL(), Z_UNILEN()
- accesses either Unicode or native string value, depending on the current
setting of UG(unicode) switch. The Z_UNIVAL() type resolves to char*, so
you may need to cast it appropriately.
Z_USTRCPLEN()
- gives the number of codepoints in the Unicode type string
ZVAL_BINARY(), ZVAL_BINARYL()
- Sets zval to hold a binary string. Takes the same parameters as
Z_STRING(), Z_STRINGL().
ZVAL_UNICODE, ZVAL_UNICODEL()
- Sets zval to hold a Unicode string. Takes the same parameters as
Z_STRING(), Z_STRINGL().
ZVAL_ASCII_STRING(), ZVAL_ASCII_STRINGL()
- When UG(unicode) is off, it's equivalent to Z_STRING(), ZSTRINGL(). When
UG(unicode) is on, it sets zval to hold a Unicode representation of the
passed-in ASCII string. It will always create a new string in
UG(unicode)=1 case, so the value of the duplicate flag is not taken into
account.
ZVAL_RT_STRING()
- When UG(unicode) is off, it's equivalent to Z_STRING(), Z_STRINGL(). WHen
UG(unicode) is on, it takes the input string, converts it to Unicode
using the runtime_encoding converter and sets zval to it. Since a new
string is always created in this case, the value of the duplicate flag
does not matter.
ZVAL_TEXT()
- This macro sets the zval to hold either a Unicode or a normal string,
depending on the value of UG(unicode). No conversion happens, so the
argument has to be cast to (char*) when using this macro. One example of
its usage would be to initialize zval to hold the name of a user
function.
There are, of course, related conversion macros.
convert_to_string_with_converter(zval *op, UConverter *conv)
- converts a zval to native string using the specified converter, if necessary.
convert_to_binary()
- converts a zval to binary string.
convert_to_unicode()
- converts a zval to Unicode string.
convert_to_unicode_with_converter(zval *op, UConverter *conv)
- converts a zval to Unicode string using the specified converter, if
necessary.
convert_to_text(zval *op)
- converts a zval to either Unicode or native string, depending on the
value of UG(unicode) switch
zend_ascii_to_unicode() function can be used to convert an ASCII char*
string to Unicode. This is useful especially for inline string literals, in
which case you can simply use USTR_MAKE() macro, e.g.:
UChar* ustr;
ustr = USTR_MAKE("main");
If you need to initialize a few such variables, it may be more efficient to
use ICU macros, which avoid the conversion, depending on the platform. See
[1] for more information.
USTR_FREE() can be used to free a UChar* string safely, since it checks for
NULL argument. USTR_LEN() takes either a UChar* or a char* argument,
depending on the UG(unicode) value, and returns its length. Cast the
argument to char* before passing it.
The list of functions that add new array values and add object properties
has also been expanded to include the new types. Please see zend_API.h for
full listing (add_*_ascii_string_*, add_*_rt_string_*, add_*_unicode_*,
add_*_binary_*).
UBYTES() macro can be used to obtain the number of bytes necessary to store
the given number of UChar's. The typical usage is:
char *constant_name = colon + (UG(unicode)?UBYTES(2):2);
Code Points and Code Units
--------------------------
Unicode type strings are in the UTF-16 encoding where 1 Unicode character
may be represented by 1 or 2 UChar's. Each UChar is referred to as a "code
unit", and a full Unicode character as a "code point". Consequently, number
of code units and number of code points for the same Unicode string may be
different. This has many implications, the most important of which is that
you cannot simply index the UChar* string to get the desired codepoint.
The zval's value.ustr.len contains actually the number of code units. To
obtain the number of code points, one can use u_counChar32() ICU API
function or Z_USTRCPLEN() macro.
ICU provides a number of macros for working with UTF-16 strings on the
codepoint level [2]. They allow you to do things like obtain a codepoint at
random code unit offset, move forward and backward over the string, etc.
There are two versions of iterator macros, *_SAFE and *_UNSAFE. It is strong
recommended to use *_SAFE version, since they handle unpaired surrogates and
check for string boundaries. Here is an example of how to move through
UChar* string and work on codepoints.
UChar *str = ...;
int32_t str_len = ...;
UChar32 codepoint;
int32_t offset = 0;
while (offset < str_len) {
U16_NEXT(str, offset, str_len, codepoint);
/* now we have the Unicode character in codepoint */
}
There is not macro to get a codepoint at a certain code point offset, but
there is a Zend API function that does it.
inline UChar32 zend_get_codepoint_at(UChar *str, int32_t length, int32_t n);
To retrieve 3rd codepoint, you would call:
zend_get_codepoint_at(str, str_len, 3);
If you have a UChar32 codepoint and need to put it into a UChar* string,
there is another helper function, zend_codepoint_to_uchar(). It takes
a single UChar32 and converts it to a UChar sequence (1 or 2 UChar's).
UChar buf[8];
UChar32 codepoint = 0x101a2;
int8_t num_uchars;
num_uchars = zend_codepoint_to_uchar(codepoint, buf);
The return value is the number of resulting UChar's or 0, which indicates
invalid codepoint.
Memory Allocation
-----------------
For ease of use and to reduce possible bugs, there are memory allocation
functions specific to Unicode strings. Please use them at all times when
allocating UChar's.
eumalloc(size)
eurealloc(ptr, size)
eustrndup(s, length)
eustrdup(s)
peumalloc(size, persistent)
peurealloc(ptr, size, persistent)
The size parameter refers to the number of UChar's, not bytes.
Hashes
------
Hashes API has been upgraded to work with Unicode and binary strings. All
hash functions that worked with string keys now have their equivalent
zend_u_hash_* API. The zend_u_hash_* functions take the type of the key
string as the second argument.
When UG(unicode) switch is on, the IS_STRING keys are upconverted to
IS_UNICODE and then used in the hash lookup.
There are two new constants that define key types:
#define HASH_KEY_IS_BINARY 4
#define HASH_KEY_IS_UNICODE 5
Note that zend_hash_get_current_key_ex() does not have a zend_u_hash_*
version. It returns the key as a char* pointer, you can can cast it
appropriately based on the key type.
Identifiers and Class Entries
-----------------------------
In Unicode mode all the identifiers are Unicode strings. This means that
while various structures such as zend_class_entry, zend_function, etc store
the identifier name as a char* pointer, it will actually point to UChar*
string. Be careful when accessing the names of classes, functions, and such
-- always check UG(unicode) before using them.
In addition, zend_class_entry has a u_twin field that points to its Unicode
counterpart in UG(unicode) mode. Use U_CLASS_ENTRY() macro to access the
correct class entry, e.g.:
ce = U_CLASS_ENTRY(default_exception_ce);
Formatted Output
----------------
Since UTF-16 strings frequently contain NULL bytes, you cannot simpley use
%s format to print them out. Towards that end, output functions such as
php_printf(), spprintf(), etc now have three different formats for use with
Unicode strings:
%r
This format treats the corresponding argument as a Unicode string. The
string is automatically converted to the output encoding. If you wish to
apply a different converter to the string, use %*r and pass the
converter before the string argument.
UChar *class_name = USTR_NAME("ReflectionClass");
zend_printf("%r", class_name);
%R
This format requires at least two arguments: the first one specifies the
type of the string to follow (IS_STRING or IS_UNICODE), and the second
one - the string itself. If the string is of Unicode type, it is
automatically converted to the output encoding. If you wish to apply
a different converter to the string, use %*R and pass the converter
before the string argument.
zend_throw_exception_ex(U_CLASS_ENTRY(reflection_exception_ptr), 0 TSRMLS_CC,
"Interface %R does not exist",
Z_TYPE_P(class_name), Z_UNIVAL_P(class_name));
%v
This format takes only one parameter, the string, but the expected
string type depends on the UG(unicode) value. If the string is of
Unicode type, it is automatically converted to the output encoding. If
you wish to apply a different converter to the string, use %*R and pass
the converter before the string argument.
zend_error(E_WARNING, "%v::__toString() did not return anything",
Z_OBJCE_P(object)->name);
Upgrading Functions
===================
Let's take a look at a couple of functions that have been upgraded to
support new string types.
substr()
--------
This functions returns part of a string based on offset and length
parameters.
void *str;
int32_t str_len, cp_len;
zend_uchar str_type;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "tl|l", &str, &str_len, &str_type, &f, &l) == FAILURE) {
return;
}
The first thing we notice is that the incoming string specifier is 't',
which means that we can accept all 3 string types. The 'str' variable is
declared as void*, because it can point to either UChar* or char*.
The actual type of the incoming string is stored in 'str_type' variable.
if (str_type == IS_UNICODE) {
cp_len = u_countChar32(str, str_len);
} else {
cp_len = str_len;
}
If the string is a Unicode one, we cannot rely on the str_len value to tell
us the number of characters in it. Instead, we call u_countChar32() to
obtain it.
The next several lines normalize start and length parameters to fit within the
string. Nothing new here. Then we locate the appropriate segment.
if (str_type == IS_UNICODE) {
int32_t start = 0, end = 0;
U16_FWD_N((UChar*)str, end, str_len, f);
start = end;
U16_FWD_N((UChar*)str, end, str_len, l);
RETURN_UNICODEL((UChar*)str + start, end-start, 1);
Since codepoint (character) #n is not necessarily at offset #n in Unicode
strings, we start at the beginning and iterate forward until we have gone
through the required number of codepoints to reach the start of the segment.
Then we save the location in 'start' and continue iterating through the number
of codepoints specified by the offset. Once that's done, we can return the
segment as a Unicode string.
} else {
RETURN_STRINGL((char*)str + f, l, 1);
}
For native and binary types, we can return the segment directly.
strrev()
--------
Let's look at strrev() which requires somewhat more complicated upgrade.
While one of the guidelines for upgrades is that combining sequences are not
really taken into account during processing -- substr() can break them up,
for example -- in this case, we actually should be concerned, because
reversing combining sequence may result in a completely different string. To
illustrate:
a (U+0061 LATIN SMALL LETTER A)
o (U+006f LATIN SMALL LETTER O)
+ ' (U+0301 COMBINING ACUTE ACCENT)
+ _ (U+0320 COMBINING MINUS SIGN BELOW)
l (U+006C LATIN SMALL LETTER L)
Reversing this would result in:
l (U+006C LATIN SMALL LETTER L)
+ _ (U+0320 COMBINING MINUS SIGN BELOW)
+ ' (U+0301 COMBINING ACUTE ACCENT)
o (U+006f LATIN SMALL LETTER O)
a (U+0061 LATIN SMALL LETTER A)
All of a sudden the combining marks are being applied to 'l' instead of 'o'.
To avoid this, we need to treat combininig sequences as a unit, by checking
the combining character class of each character with u_getCombiningClass().
strrev() obtains its single argument, a string, and unless the string is of
Unicode type, processes it exactly as before, simply swapping bytes around.
For Unicode case, the magic is like this:
int32_t i, x1, x2;
UChar32 ch;
UChar *u_s, *u_n, *u_p;
u_n = eumalloc(Z_USTRLEN_PP(str)+1);
u_p = u_n;
u_s = Z_USTRVAL_PP(str);
i = Z_USTRLEN_PP(str);
while (i > 0) {
U16_PREV(u_s, 0, i, ch);
if (u_getCombiningClass(ch) == 0) {
u_p += zend_codepoint_to_uchar(ch, u_p);
} else {
x2 = i;
do {
U16_PREV(u_s, 0, i, ch);
} while (u_getCombiningClass(ch) != 0);
x1 = i;
while (x1 <= x2) {
U16_NEXT(u_s, x1, Z_USTRLEN_PP(str), ch);
u_p += zend_codepoint_to_uchar(ch, u_p);
}
}
}
*u_p = 0;
The basic idea is to walk the string backwards from the end, using
U16_PREV() macro. If the combining class of the current character is 0,
meaning it's a base character and not a combining mark, we simply append it
to the new string. Otherwise, we save the location of the index and do a run
over the characters until we get to the next one with combining class 0. At
that point we append the sequence as is, without reversing, to the new
string. Voila.
Note that the code uses zend_codepoint_to_uchar() to convert full Unicode
characters (UChar32 type) to 1 or 2 UTF-16 code units (UChar type).
References
==========
[1] http://icu.sourceforge.net/apiref/icu4c/ustring_8h.html#a1
[2] http://icu.sourceforge.net/apiref/icu4c/utf16_8h.html
vim: set et ai tw=76 fo=tron21:
+172
View File
@@ -0,0 +1,172 @@
Updating your script to PHP6
============================
This document attempts to describe portions of PHP that changed or
disapeared in PHP6 and the best practices for upgrading existing
applications to support PHP6.
1. Language
1.1 Functions and function aliases
1.2 Register globals
1.3 Magic quotes
1.4 Register long arrays ($HTTP_*_VARS)
1.5 ZE1 compatibility mode
1.6 dl() function
1.7 E_ALL and E_STRICT constants
1.8 References
2. Unicode (see README.UNICODE-UPGRADES)
2. Extensions
2.1 GD
1.1 Functions and function aliases
------------------------------
<TODO: List all arguments order changes, aliases droped in php6...>
1.2 Register globals
----------------
For security reasons, register_globals has been removed from php6.
ini_get('register_globals') will always return false.
You can emulate its behavior with some minimum changes in your code.
*DISCLAIMER*
people should get a short-term solution if they are willing to run
an insecure app.
Here is an example to emulate the session related functions and
a snippet to register variables:
$_register_globals_order = strrev(ini_get("variables_order"));
$_register_globals_order_len = strlen($_register_globals_order);
for($_register_globals_i=0;$_register_globals_i<$_register_globals_order_len;$_register_globals_i++) {
switch($_register_globals_order{$_register_globals_i}) {
case "E":
extract($_ENV, EXTR_REFS|EXTR_SKIP);
break;
case "G":
extract($_GET, EXTR_REFS|EXTR_SKIP);
break;
case "P":
extract($_POST, EXTR_REFS|EXTR_SKIP);
break;
case "C":
extract($_COOKIE, EXTR_REFS|EXTR_SKIP);
break;
case "S":
extract($_SERVER, EXTR_REFS|EXTR_SKIP);
break;
}
}
unset($_register_globals_order, $_register_globals_order_len, $_register_globals_i);
function session_register($mixed) {
static $started;
if(!isset($started) || session_id() === "") {
session_start();
$started = true;
}
$array = func_get_args();
foreach($array as $mixed) {
if(is_scalar($mixed)) {
$_SESSION[$mixed] =& $GLOBALS[$mixed];
}
elseif(is_array($mixed)) {
foreach($mixed as $name) {
$ok = session_register($name);
if(!$ok) {
return false;
}
}
}
else {
return false;
}
}
return true;
}
function session_is_registered($name) {
if(is_scalar($name)) {
return isset($_SESSION[$name]);
}
return false;
}
function session_unregister($name) {
if(isset($_SESSION[$name]) && is_scalar($name)) {
unset($_SESSION[$name]);
return true;
}
return false;
}
1.3 Magic quotes
------------
1.4 Register long arrays ($HTTP_*_VARS)
-----------------------------------
register_long_arrays and the long versions of super globals had been removed.
PHP will emit E_CORE_ERROR during PHP startup if it would detect
register_long_arrays setting.
You can emulate long arrays by including the following file:
<?php
if (!ini_get('register_long_arrays')) {
$HTTP_POST_VARS =& $_POST;
$HTTP_GET_VARS =& $_GET;
$HTTP_COOKIE_VARS =& $_COOKIE;
$HTTP_SERVER_VARS =& $_SERVER;
$HTTP_ENV_VARS =& $_ENV;
$HTTP_FILES_VARS =& $_FILES;
}
?>
1.5 ZE1 compatibility mode
----------------------
ZE1 compatibility mode (PHP4 object model) was introduced to migrate from PHP4
to PHP5 in an easier way, but it never keeped 100% compatibility.
It is completly removed in PHP6, and there is no way to emulate it.
Applications should assume PHP5/PHP6 object model.
1.6 dl() function
-------------
Now dl() function is supported only in CLI, CGI and EMBED SAPI.
There is no way to emulte it. You can just check if dl() is supported by SAPI:
<?php
if (!function_exists("dl")) {
die("dl() function is required\n!");
}
?>
1.7 E_ALL and E_STRICT constants
----------------------------
Now E_ALL error reporting mask includes E_STRICT.
You can filter E_STRICT error messages using the following code:
<?php
error_reporting(error_reporting() & ~E_STRICT);
?>
1.8 References
----------
<TODO: Derick plans to clean the reference mess in php6>
2.1 GD
<TODO: gd2/ft2 only, functions droped>
+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
+112
View File
@@ -0,0 +1,112 @@
Using PHP 5 with the Zeus Web Server
-----------------------------------
Zeus fully supports running PHP in combination with our
webserver. There are three different interfaces that can be used to
enable PHP:
* CGI
* ISAPI
* FastCGI
Of the three, we recommend using FastCGI, which has been tested and
benchmarked as providing the best performance and reliability.
Full details of how to install PHP are available from our
website, at:
http://support.zeus.com/products/php.html
If you have any problems, please check the support site for more
up-to-date information and advice.
Quick guide to installing CGI/FastCGI with Zeus
-----------------------------------------------
Step 1 - Compile PHP as FastCGI.
Compile as follows:
./configure --enable-fastcgi
make
Note that PHP has many options to the configure script -
e.g. --with-mysql. You will probably want to select your usual options
before compiling; the above is just a bare minimum, for illustration.
After compilation finishes, you will be left with an executable
program called 'php'. Copy this into your document root, under a
dedicated FastCGI directory (e.g. $DOCROOT/fcgi-bin/php)
Step 2 - configure Zeus
Four stages:
- enable FastCGI
- configure FastCGI
- setup alias for FastCGI
- setup alias for PHP
1) Using the admin server, go to the 'module configuration' page for
your virtual server, and ensure that 'fastcgi' is enabled (select the
tickbox to the left).
2) While we can run FastCGI's locally, there are known problems with
some OS's (specifically, the communication between web server and
FastCGI happens over a unix domain socket, and some OS's have trouble
sustaining high connection rates over these sockets). So instead, we
are going to set up the PHP FastCGI to run 'remotely' over localhost
(this uses TCP sockets, which do not suffer this problem). Go to the
'fastcgi configuration' page, and under 'add remote fastcgi':
Add Remote FastCGI
Docroot path /fcgi-bin/php
Remote machine localhost:8002
The first entry is where you saved PHP, above.
The second entry is localhost:<any unused port>
We will start the FastCGI listening on this port shortly.
Click 'update' to commit these changes.
3) Go to the path mapping module and add an alias for FastCGI:
Add Alias
Docroot path /fcgi-bin
Filesystem directory /path/to/docroot/fcgi-bin
Alias type fastcgi
Click 'update' to commit these changes
4) Also on the path mapping module, add a handler for PHP:
Add handler
File extension php
Handler /fcgi-bin/php
Click 'update' to commit these changes
Finally restart your virtual server for these changes to take effect.
Step 3 - start PHP as a FastCGI runner
When you start PHP, it will pre-fork a given number of child processes
to handle incoming PHP requests. Each process will handle a given
number of requests before exiting (and being replaced by a newly
forked process). You can control these two parameters by setting the
following environment variables BEFORE starting the FastCGI runner:
PHP_FCGI_CHILDREN - the number of child processes to pre-fork. This
variable MUST be set, if not then the PHP will not run as a FastCGI.
We recommend a value of 8 for a fairly busy site. If you have many,
long-running PHP scripts, then you may need to increase this further.
PHP_FCGI_MAX_REQUESTS - the number of requests each PHP child process
handles before exiting. If not set, defaults to 500.
To start the FastCGI runner, execute '$ZEUSHOME/web/bin/fcgirunner
8002 $DOCROOT/fcgi-bin/php'. Substitute the appropriate values for
$ZEUSHOME and $DOCROOT; also substitute for 8002 the port you chose,
above.
To stop the runner (e.g. to experiment with the above environment
variables) you will need to manually stop and running PHP
processes. (Use 'ps' and 'kill'). As it is PHP which is forking lots
of children and not the runner, Zeus unfortunately cannot keep track
of what processes are running, sorry. A typical command line may look
like 'ps -efl | grep $DOCROOT/fcgi-bin/php | grep -v grep | awk
'{print $4}' | xargs kill'
+2 -5
View File
@@ -10,10 +10,7 @@ The Input Filter support in PHP 5 is aimed at providing the framework
through which a company-wide or site-wide security policy can be
enforced. It is implemented as a SAPI hook and is called from the
treat_data and post handler functions. To implement your own security
policy you will need to write a standard PHP extension. There is also
a powerful standard implementation in ext/filter that should suit most
peoples' needs. However, if you want to implement your own security
policy, read on.
policy you will need to write a standard PHP extension.
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
@@ -88,7 +85,7 @@ PHP_MINFO_FUNCTION(my_input_filter)
{
php_info_print_table_start();
php_info_print_table_row( 2, "My Input Filter Support", "enabled" );
php_info_print_table_row( 2, "Revision", "$Id$");
php_info_print_table_row( 2, "Revision", "$Revision$");
php_info_print_table_end();
}
-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?
+18 -2
View File
@@ -11,6 +11,8 @@ Zend
* 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.
* Clean up object->string conversion behavior wherever possible (switch(),
comparison, etc)
global
@@ -29,8 +31,6 @@ global
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).
@@ -64,6 +64,14 @@ documentation
* Add developer documentation.
* Add detailed documentation for Java extension.
ext/bz2
-------
* Add an ini directive to specify the size of decompression buffer.
The default 4k is too small for large files and also requires much time
for decompression. 40k is suitable for such files, however it may be too
much under certain environments. There should be appropriate default
settings for the various SAPI modules (e.g. apache and cli).
ext/curl
--------
* Have a warning scheme for when people use unsupported features.
@@ -96,6 +104,13 @@ ext/pcntl
* Remove all zend_extension code
* Add object callback support to pcntl_signal()
ext/pgsql
---------
For PHP 4.3.0:
* Add pg_metadata() with metadata cache feature.
* Add pg_convert() to check and convert array value for query.
* Add pg_insert/pg_update/pg_delete/pg_select for simple query.
ext/session
-----------
For PHP 4.3.0:
@@ -122,6 +137,7 @@ ext/standard
ext/wddx
--------
* See if we can support the remaining data types:
dateTime
binary
http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
+1
View File
@@ -2,3 +2,4 @@ Zend Engine
-----------
- Look at making zend_constant value member be a zval* instead of zval. (Andi)
- Implement inheritance rules for type hints. (Marcus)
- Find a keyword for the if-set-or operator (apply the patch). (Marcus, all)
+20
View File
@@ -48,6 +48,26 @@ Responsibility: Shane Caraveo & each sapi module owner
Timeframe: ? (but shouldn't be much effort, most modules are probably ok)
Component: Input Filtering
- Implement a SAPI input filter hook that will get called
just before registering a variable in the
treat_data/post_handler hooks. (done)
- Make sure this is also done in mbstring (done)
- Provide access functions, or perhaps a new
$_RAW_GET/POST/Cookie set of superglobals to get at the
unfiltered data
- Provide a .ini directive which allows people to set their
input filter to one of the built-in strip_tags,
htmlspecialchars or whatever other internal function might
be useful here.
- (The main benefit of this is to make it easier for people
to solve the XSS problem once and for all without having
to go through every line of their code and adding input
validation/filtering everywhere)
Responsibility: Rasmus
Timeframe: Yesterday
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
+9 -23
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2006, 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)
+9 -16
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2006, 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 |
+----------------------------------------------------------------------+
@@ -13,33 +13,26 @@
#ifndef TSRM_H
#define TSRM_H
#if !defined(__CYGWIN__) && defined(WIN32)
/* #ifndef WIN32 */
#ifndef WIN32
# include <tsrm_config.h>
#endif
#ifdef WIN32
# define TSRM_WIN32
# include "tsrm_config.w32.h"
#else
# include <tsrm_config.h>
#endif
#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
#ifdef _WIN64
typedef __int64 tsrm_intptr_t;
typedef unsigned __int64 tsrm_uintptr_t;
#else
typedef long tsrm_intptr_t;
typedef unsigned long tsrm_uintptr_t;
#endif
/* Only compile multi-threading functions if we're in ZTS mode */
#ifdef ZTS
+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");
+5 -6
View File
@@ -7,13 +7,11 @@
* on Windows 95/NT.
*/
#include <windows.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <direct.h>
/* struct dirent - same as Unix */
@@ -27,10 +25,10 @@ struct dirent {
/* typedef DIR - not the same as Unix */
typedef struct {
HANDLE handle; /* _findfirst/_findnext handle */
long handle; /* _findfirst/_findnext handle */
short offset; /* offset into directory */
short finished; /* 1 if there are not more files */
WIN32_FIND_DATA fileinfo; /* from _findfirst/_findnext */
struct _finddata_t fileinfo; /* from _findfirst/_findnext */
char *dir; /* the dir we are reading */
struct dirent dent; /* the dirent to return */
} DIR;
@@ -40,6 +38,7 @@ DIR *opendir(const char *);
struct dirent *readdir(DIR *);
int readdir_r(DIR *, struct dirent *, struct dirent **);
int closedir(DIR *);
int rewinddir(DIR *);
void rewinddir(DIR *);
#endif /* READDIR_H */
+1
View File
@@ -68,6 +68,7 @@ AC_DEFUN([TSRM_CHECK_ST],[
])
sinclude(threads.m4)
sinclude(TSRM/threads.m4)
AC_DEFUN([TSRM_CHECK_PTHREADS],[
-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
+6 -16
View File
@@ -1,10 +1,8 @@
#ifndef TSRM_CONFIG_COMMON_H
#define TSRM_CONFIG_COMMON_H
#ifndef __CYGWIN__
# if WINNT|WIN32
# define TSRM_WIN32
# endif
#if WINNT|WIN32
# define TSRM_WIN32
#endif
#ifdef TSRM_WIN32
@@ -52,19 +50,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-2012 The PHP Group |
| Copyright (c) 1997-2006 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-2012 The PHP Group |
| Copyright (c) 1997-2006 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 |
+380 -1289
View File
File diff suppressed because it is too large. Load diff
+31 -71
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2012 The PHP Group |
| Copyright (c) 1997-2006 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> |
+----------------------------------------------------------------------+
*/
@@ -38,14 +37,8 @@
#include <stdarg.h>
#endif
#ifdef ZTS
#define VIRTUAL_DIR
#endif
#ifndef TSRM_WIN32
#include <unistd.h>
#else
#include <direct.h>
#endif
#if defined(__osf__) || defined(_AIX)
@@ -108,7 +101,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 +111,13 @@ 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
#endif
#ifdef TSRM_WIN32
CWD_API int php_sys_stat_ex(const char *path, struct stat *buf, int lstat);
CWD_API int php_sys_stat(const char *path, struct stat *buf);
CWD_API int php_sys_lstat(const char *path, struct stat *buf);
CWD_API int php_sys_readlink(const char *link, char *target, size_t target_len);
#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
#define CWD_API
#endif
typedef struct _cwd_state {
@@ -163,7 +141,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);
@@ -186,6 +166,10 @@ CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC);
#endif
#endif
#if defined(__osf__) || defined(_AIX)
char *php_realpath_hack(char *src, char *dest);
#endif
#if HAVE_UTIME
CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC);
#endif
@@ -194,17 +178,8 @@ 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
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);
CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC);
#define REALPATH_CACHE_TTL (2*60) /* 2 minutes */
#define REALPATH_CACHE_SIZE 0 /* disabled while php.ini isn't loaded */
@@ -214,15 +189,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 {
@@ -241,16 +209,9 @@ extern virtual_cwd_globals cwd_globals;
# define CWDG(v) (cwd_globals.v)
#endif
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 +228,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)
#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,17 +255,11 @@ 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)
#define VCWD_STAT(path, buff) php_sys_stat(path, buff)
#define VCWD_STAT(path, buff) stat(path, buff)
#define VCWD_LSTAT(path, buff) lstat(path, buff)
#define VCWD_UNLINK(path) unlink(path)
#define VCWD_MKDIR(pathname, mode) mkdir(pathname, mode)
@@ -315,16 +272,19 @@ CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
#define VCWD_ACCESS(pathname, mode) access(pathname, mode)
#endif
#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
#ifdef HAVE_REALPATH
#if defined(__osf__) || defined(_AIX)
#define VCWD_REALPATH(path, real_path) php_realpath_hack(path, real_path)
#else
#define VCWD_REALPATH(path, real_path) realpath(path, real_path)
#endif
#else
#define VCWD_REALPATH(path, real_path) strcpy(real_path, path)
#endif
#if HAVE_UTIME
#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)
+29 -363
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2012 The PHP Group |
| Copyright (c) 1997-2006 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,279 +84,15 @@ TSRM_API void tsrm_win32_shutdown(void)
#endif
}
char * tsrm_win32_get_path_sid_key(const char *pathname TSRMLS_DC)
{
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)
{
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;
TSRMLS_FETCH();
SHFILEINFO sfi;
if (mode == 1 /*X_OK*/) {
DWORD type;
return GetBinaryType(pathname, &type) ? 0 : -1;
return access(pathname, 0) == 0 &&
SHGetFileInfo(pathname, 0, &sfi, sizeof(SHFILEINFO), SHGFI_EXETYPE) != 0 ? 0 : -1;
} 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);
}
}
@@ -384,22 +101,22 @@ static process_pair *process_get(FILE *stream TSRMLS_DC)
{
process_pair *ptr;
process_pair *newptr;
for (ptr = TWG(process); ptr < (TWG(process) + TWG(process_size)); ptr++) {
if (ptr->stream == stream) {
break;
}
}
if (ptr < (TWG(process) + TWG(process_size))) {
return ptr;
}
newptr = (process_pair*)realloc((void*)TWG(process), (TWG(process_size)+1)*sizeof(process_pair));
if (newptr == NULL) {
return NULL;
}
TWG(process) = newptr;
ptr = newptr + TWG(process_size);
TWG(process_size)++;
@@ -411,7 +128,7 @@ static shm_pair *shm_get(int key, void *addr)
shm_pair *ptr;
shm_pair *newptr;
TSRMLS_FETCH();
for (ptr = TWG(shm); ptr < (TWG(shm) + TWG(shm_size)); ptr++) {
if (!ptr->descriptor) {
continue;
@@ -426,12 +143,12 @@ static shm_pair *shm_get(int key, void *addr)
if (ptr < (TWG(shm) + TWG(shm_size))) {
return ptr;
}
newptr = (shm_pair*)realloc((void*)TWG(shm), (TWG(shm_size)+1)*sizeof(shm_pair));
if (newptr == NULL) {
return NULL;
}
TWG(shm) = newptr;
ptr = newptr + TWG(shm_size);
TWG(shm_size)++;
@@ -454,48 +171,23 @@ TSRM_API FILE *popen(const char *command, const char *type)
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;
process_pair *proc;
TSRMLS_FETCH();
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++;
}
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;
}
memset(&startup, 0, sizeof(STARTUPINFO));
memset(&process, 0, sizeof(PROCESS_INFORMATION));
@@ -504,7 +196,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);
@@ -516,47 +209,21 @@ 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, 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);
if (read) {
fno = _open_osfhandle((tsrm_intptr_t)in, _O_RDONLY | mode);
fno = _open_osfhandle((long)in, _O_RDONLY | mode);
CloseHandle(out);
} else {
fno = _open_osfhandle((tsrm_intptr_t)out, _O_WRONLY | mode);
fno = _open_osfhandle((long)out, _O_WRONLY | mode);
CloseHandle(in);
}
@@ -577,7 +244,7 @@ TSRM_API int pclose(FILE *stream)
}
fflush(process->stream);
fclose(process->stream);
fclose(process->stream);
WaitForSingleObject(process->prochnd, INFINITE);
GetExitCodeProcess(process->prochnd, &termstat);
@@ -605,6 +272,9 @@ TSRM_API int shmget(int key, int size, int flags)
info_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_info);
if ((!shm_handle && !info_handle)) {
if (flags & IPC_EXCL) {
return -1;
}
if (flags & IPC_CREAT) {
shm_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size, shm_segment);
info_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(shm->descriptor), shm_info);
@@ -613,10 +283,6 @@ TSRM_API int shmget(int key, int size, int flags)
if ((!shm_handle || !info_handle)) {
return -1;
}
} else {
if (flags & IPC_EXCL) {
return -1;
}
}
shm = shm_get(key, NULL);
+1 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2012 The PHP Group |
| Copyright (c) 1997-2006 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,7 +88,6 @@ 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);
@@ -99,7 +96,6 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
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);
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf);
TSRM_API int shmget(int key, int size, int flags);
TSRM_API void *shmat(int key, const void *shmaddr, int flags);
-700
View File
@@ -1,700 +0,0 @@
$Id$
UPGRADE NOTES - PHP 5.3
1. Reserved words and classes
2. Changes made to existing functions
3. Changes made to existing methods
4. Changes made to existing classes
5. Deprecated
6. Undeprecated
7. Extensions:
a. moved out to PECL and actively maintained there
b. no longer maintained
c. with changed behaviour
d. no longer possible to disable
8. Changes in SAPI support
9. Changes in INI directives
10. Syntax additions
11. Windows support
12. New in PHP 5.3:
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
=============================
1. Reserved words and classes
=============================
- **namespace** and **goto** are now reserved keywords.
- **Closure** is now a reserved class. (Used by lambda and closure.)
=====================================
2. Changes made to existing functions
=====================================
- Paths containing NULL (like /some/path\0foo.txt) are now considered invalid.
See http://news.php.net/php.internals/50191
- The HTTP stream wrapper now considers all status codes from 200 to 399 to be
successful.
- The array functions natsort(), natcasesort(), usort(), uasort(), uksort(),
array_flip(), and array_unique() no longer accept objects passed as arguments.
If you need to use them to access an object's properties, you must cast the
object to an array first.
- var_dump() output now includes private object members.
- session_start() now returns FALSE when the session startup fails.
- property_exists() now checks the existence of a property independent of
accessibility (like method_exists()).
- The $initial parameter for array_reduce can now be of any type.
- clearstatcache() no longer clears the realpath cache by default.
- realpath() is no longer system-dependent and works identically on all
platforms.
- call_user_func() now propagates $this even if the callee is the parent class.
- The filesystem functions opendir(), scandir(), and dir() now use the default
context if no context argument is passed.
- The behaviour of functions with by-reference parameters called by value has
changed. Where previously the function would accept the by-value argument, a
warning is now emitted and all by-ref parameters are set to NULL.
- There is now native support for the following math functions: asinh(),
acosh(), atanh(), log1p(), and expm1().
- In the GD extension, there is now pixelation support available through
the imagefilter() function.
- crypt() now has Blowfish and extended DES support, and crypt() features are
now 100% portable. PHP has its own internal crypt implementation which drops
into place when system support for crypt or crypt_r() is not found.
- get_cfg_var() is now able to return "array" INI options.
- Stream wrappers can now be used by the include_path INI directive.
- These functions now take new parameters:
clearstatcache(): $clear_realpath_cache and $filename.
copy(): $context
fgetcsv(): $escape
ini_get_all(): $details
json_encode(): $options
json_decode(): $depth
nl2br(): $is_xhtml
parse_ini_file(): $scanner_mode
round(): $mode
stream_context_create(): $params
strstr(), stristr(): $before_needle
sybase_connect(): $new
- And new mode option for fopen: 'n' (O_NONBLOCK)
- The new mysqlnd library necessitates using MySQL's newer 41-byte password
format. Continued use of the old 16 byte passwords will cause mysql_connect()
and other related functions to produce the following error message:
"mysqlnd cannot connect to MySQL 4.1+ using old authentication"
- The dl() function is now disabled by default, and only available under the
cli, cgi, and embed SAPIs.
- mail() now supports the logging of sent mail.
- stream_select(), stream_set_blocking(), stream_set_timeout(), and
stream_set_write_buffer() now work with user-space stream wrappers.
- getopt() accepts "long options" now on all platforms.
Optional values and using = as a separator for short options are now
supported.
===================================
3. Changes made to existing methods
===================================
- The magic methods __get(), __set(), __isset(), __unset(), and __call() should
always be public and can no longer be static. Method signatures are enforced.
- The __call() magic method is now invoked on access to private and protected
methods.
- The __toString() magic method can no longer accept arguments.
- There is a new magic method, __callStatic().
- Internal count() vs. count_elements() handler resolution rules have changed.
(This could potentially break custom PHP extensions.)
- The trailing / has been removed from SplFileInfo and other related directory
classes.
- SplFileInfo::getpathinfo() now returns information about the path name.
- There are new parameters in:
Exception::__construct(): $previous
===================================
4. Changes made to existing classes
===================================
- SplObjectStorage now has ArrayAccess support. It is also now possible to
store associative information with objects in SplObjectStorage.
=====================
4.1 New in PHP 5.3.9
=====================
- Write operations within XSLT (for example with the extension sax:output) are
disabled by default. You can define what is forbidden with the INI option
xsl.security_prefs. This option will be marked as deprecated in 5.4 again.
Use the method XsltProcess::setSecurityPrefs($options) there.
- the following new directives were added
- max_input_vars - specifies how many GET/POST/COOKIE input variables may be
accepted. default value 1000.
=============
5. Deprecated
=============
- define_syslog_variables() is deprecated.
- set_socket_blocking() is deprecated.
- call_user_method() and call_user_method_array() are now deprecated. Use
call_user_func() and call_user_func_array() instead.
- dl() is deprecated.
- The set_magic_quotes_runtime() function is now deprecated.
- mysql_listtables(), mysql_dropdb(), mysql_createdb(), mysql_list_tables(),
mysql_drop_db(), and mysql_create_db() are now deprecated.
- All ereg functions are now deprecated and emit E_DEPRECATED errors:
sql_regcase(), spliti(), split(), ereg_replace(), eregi(),
ereg_replace(), and ereg().
Use the PCRE family of functions (preg_*()) instead.
- mcrypt_generic_end() is deprecated.
- mysql_db_query() is deprecated.
- mysql_escape_string() is deprecated.
- session_register(), session_unregister(), and session_is_registered() are now
deprecated. Use the $_SESSION superglobal array instead.
- Comments starting with '#' are now deprecated in .INI files.
- The following INI directives will now emit an E_DEPRECATED warning
upon startup if they are activated:
- define_syslog_variables
- register_globals
- register_long_arrays
- safe_mode
- magic_quotes_gpc
- magic_quotes_runtime
- magic_quotes_sybase
- The is_dst parameter to mktime() is deprecated.
- Assigning the return value of "new" by reference is deprecated
- Call-time pass-by-reference has been deprecated
- Usage of {} to access string offsets is deprecated
- Passing locale category name as string to setlocale() is deprecated.
===============
6. Undeprecated
===============
- By popular request, is_a() is no longer deprecated.
==============
7. Extensions:
==============
a. moved out to PECL and actively maintained there
- fdf
- ming
- ncurses
b. no longer maintained
- dbase
- fbsql
- msql
- sybase (use sybase_ct, which is still in PHP core)
- mhash (hash has full BC layer)
- mime_magic (use fileinfo, has full BC layer)
c. with changed behaviour
- dns: dns_check_record() will now return an extra "entries" index,
containing the TXT elements.
- datetime: date/time functions will no longer use the TZ environment
variable to guess which timezone should be used.
- cURL now supports SSH
- hash: The SHA-224 and salsa hash algorithms are now supported.
- mbstring: Now supports CP850 encoding.
- oci8: Database Resident Connection Pooling (DRCP) and Fast Application
Notification (FAN) are now supported.
Oracle External Authentication is now supported (except on Windows).
The oci8 function oci_bind_by_name() now supports SQLT_AFC (aka the
CHAR datatype).
Calling oci_close() on a persistent connection, or when the variable
that references a persistent connection goes out of scope, will now
trigger a roll back of an uncommitted transaction. To avoid unexpected
behavior explicitly issue a commit or roll back as needed. The old
behavior can be enabled with the INI directive
oci8.old_oci_close_semantics.
- openssl: OpenSSL digest and cipher functions are now supported.
It is also now possible to access the internal values of DSA, RSA and
DH keys.
- session: Sessions will no longer store session-files in "/tmp" when
open_basedir restrictions apply, unless "/tmp" is explicitly added to
the list of allowed paths.
- SOAP: Now supports sending user-supplied HTTP headers.
- MySQLi: Now supports persistent connections by prepending the hostname
with "p:".
- imagepstext now rejects invalid antialiasing steps and raises a warning.
d. no longer possible to disable
- PCRE
- Reflection
- SPL
==========================
8. Changes in SAPI support
==========================
- A new "litespeed" SAPI is now available.
- FastCGI is now always enabled and can not be disabled. See sapi/cgi/CHANGES
for more details.
- A new CGI SAPI option, -T, can be used to measure execution time of a script
repeated several times.
- CGI/FastCGI now has support for .htaccess style user-defined php.ini files.
See the new user_ini.filename and user_ini.cache_ttl INI directives.
============================
9. Changes in INI directives
============================
- zend_extension_debug and zend_extension_ts have been removed. Always use the
zend_extension directive to load Zend Extensions.
- zend.ze1_compatibility_mode has been removed. If this INI directive is set to
on, then an E_ERROR is emitted at startup.
- There is now support for special sections: [PATH=/opt/httpd/www.example.com/]
and [HOST=www.example.com]. Directives set in these sections cannot be
overridden by user-defined INI files or at runtime.
- Added mbstring.http_output_conv_mimetype. This directive specifies the
regex pattern of content types for which mb_output_handler() is activated.
- It is now possible to use the full path to load modules using the "extension"
directive.
- "INI variables" can now be used almost anywhere in a php.ini file.
- It is now possible to use alphanumeric or variable indices in INI option
arrays.
- open_basedir is now PHP_INI_ALL
- Runtime tightening of open_basedir restrictions is now possible.
- The default value of session.use_only_cookies has changed to "1".
- The default value of oci8.default_prefetch has been changed from 10 to 100.
- A new directive, request_order, controls the behavior of $_REQUEST
independently of variables_order.
- A new directive, called windows.show_crt_warning, has been introduced.
This directive shows the CRT warnings when enabled. These warnings were
displayed by default until now. It is disabled by default.
- New INI directives:
- mail.add_x_header
- user_ini.filename
- user_ini.cache_ttl
- exit_on_timeout
- mysqli.allow_persistent
- mysqli.default_host
- mysqli.default_socket
- mysqli.allow_local_infile
- mysqli.cache_size
- oci8.connection_class
- oci8.events
- pdo_mysql.default_socket
- pdo_mysql.cache_size
- sqlite3.extension_dir
- mysql.default_socket
- mysql.allow_local_infile
- mysql.cache_size
- mysqlnd.collect_statistics
- mysqlnd.collect_memory_statistics
- mysqlnd.net_cmd_buffer_size
- mysqlnd.net_read_buffer_size
- mysqlnd.log_mask
====================
10. Syntax additions
====================
- NOWDOC: Similar to HEREDOC, but with single quotes:
<<<'LABEL' ...
Static HEREDOCs can be used to initialize static variables and class members
or constants:
static $foo = <<<LABEL
No variables here...
LABEL;
- HEREDOC now supports wrapping the identifier with double-quotes, to complement
the NOWDOC syntax:
<<<"LABEL" ...
- The ?: operator has been introduced:
var_dump(0 ?: 'Hello!');
- Namespaces were added:
namespace my\name;
$obj = new \my\name\MyClass;
- Dynamic access to static methods is now possible:
$foo::myFunc();
- Exceptions can now be nested:
class MyCustomException extends Exception {}
try {
throw new MyCustomException("Something happend", 112);
} catch(Exception $e) {
throw new InvalidArgumentException("You are doing it wrong!", 911, $e);
}
- Exceptions can now be handled in destructors.
- A garbage collector has been added and is enabled by default.
===================
11. Windows support
===================
- The minimum Windows version is now Windows 2000. (Windows 98, ME and NT4 are
no longer supported).
- PHP Windows binaries target i586 or later. i386 and i486 are not supported.
- Support for the IIS SAPI has been dropped. Use the FastCGI SAPI instead
(available for IIS5 and later)). FastCGI is the recommended way to use PHP
with IIS (see http://php.iis.net/).
- A new build is available based on the latest Visual C++ Compiler (VC9).
Its use is recommended with FastCGI or CLI. Apache's Windows binaries are not
compatible with VC9; however, you can use Apache Lounge's build
(http://apachelounge.com).
- The x64 binaries are for experimental usage only. They are not meant to be
used in production.
- A new site is available to download Windows releases as well as Windows-only
releases: http://windows.php.net. Windows-specific releases will be made to
fix security issues in the bundled libraries (libpng, openssl, etc.). Please
note that this site does not replace the main PHP site as a source of PHP
news, resources, or documentation.
- Windows support has been added for the following functions: getopt(),
imagecolorclosesthwb(), mcrypt_create_iv(), inet_ntop(), inet_pton(),
getmxrr(), checkdnsrr(), dns_get_record(), linkinfo(), readlink(),
symlink(), link(), fnmatch(), stream_socket_pair(), time_nanosleep(),
time_sleep_until(), and socket_create_pair().
- Crypt supports now all available algorithms on Windows (blowfish included).
- Improved portability of stat(), touch(), filemtime(), filesize() and related
functions (100% portable for the available data).
- It is now possible to create hard links on Windows using the link() function,
and symbolic links using the symlink() function. Hard links are available
as of Windows 2000 and symbolic links as of Windows Vista.
- The PDO_OCI php_pdo_oci8.dll library (for use with Oracle version 8 client
libraries) is no longer being built. Instead, use php_pdo_oci.dll (note no
'8') with Oracle 10 or 11 client libraries. Connection to other database
versions is still supported.
- For the OCI8 extension, a new library php_oci8_11g.dll is available in
addition to php_oci8.dll. Only one can be enabled at any time. Use
php_oci8.dll with Oracle 10.2 client libraries. Use php_oci8_11g.dll with
Oracle 11 client libraries. Connection to other database versions is still
supported.
- Firebird and SNMP support are no longer available on Windows. Firebird support
may be reintroduced in the future.
=====================
11.1 New in PHP 5.3.4
=====================
- open_basedir supports now symbolic links (checks the target).
- is_link and SplFileInfo symbolic links related method are now fully supported
(on Windows Vista or later).
===================
12. New in PHP 5.3:
===================
a. New libraries
- mysqlnd is a new core library shipped with PHP. It is a PHP-specific
replacement for libmysql and is recommended for all installations for
increased performance.
b. New extensions
- enchant
- fileinfo (replaces mime_magic)
- intl
- Phar
- SQLite3
c. New stream wrappers
- glob:// stream wrapper
- phar:// stream wrapper for accessing phar archives
d. New stream filters
- "dechunk" (HTTP/1.1 chunked transfer encoding)
- The bz2.decompress filter now supports concatenation
e. New functions
- Core: gc_collect_cycles()
gc_enabled()
gc_enable()
gc_disable()
class_alias()
get_called_class()
forward_static_call()
forward_static_call_array()
str_getcsv()
quoted_printable_encode()
lcfirst()
- Array: array_replace()
array_replace_recursive()
- Date: date_add()
date_sub()
date_diff()
date_parse_from_format()
date_create_from_format()
date_get_last_errors()
timezone_version_get()
- INI: parse_ini_string()
- GMP: gmp_testbit()
- Hash: hash_copy()
- IMAP: imap_gc()
imap_utf8_to_mutf7()
imap_mutf7_to_utf8()
- JSON: json_last_error()
- libxml: libxml_disable_entity_loader
- MySQLi: mysqli_fetch_all()
mysqli_get_connection_stats()
mysqli_poll()
mysqli_reap_async_query()
- Network: gethostname()
header_remove()
- OpenSSL: openssl_random_pseudo_bytes()
- PCNTL: pcntl_signal_dispatch()
pcntl_sigprocmask()
pcntl_sigwaitinfo()
pcntl_sigtimedwait()
- PCRE: preg_filter()
- SHM: msg_queue_exists()
shm_has_var()
- Streams: stream_supports_lock()
stream_context_set_default()
stream_context_get_params()
- Userspace stream wrappers:
stream_cast()
stream_set_options()
f. New global constants
- Core: E_DEPRECATED
E_USER_DEPRECATED
__DIR__
__NAMESPACE__
PHP_MAXPATHLEN
PHP_WINDOWS_VERSION_MAJOR
PHP_WINDOWS_VERSION_MINOR
PHP_WINDOWS_VERSION_BUILD
PHP_WINDOWS_VERSION_PLATFORM
PHP_WINDOWS_VERSION_SP_MAJOR
PHP_WINDOWS_VERSION_SP_MINOR
PHP_WINDOWS_VERSION_SUITEMASK
PHP_WINDOWS_VERSION_PRODUCTTYPE
PHP_WINDOWS_NT_DOMAIN_CONTROLLER
PHP_WINDOWS_NT_SERVER
PHP_WINDOWS_NT_WORKSTATION
- INI: INI_SCANNER_NORMAL
INI_SCANNER_RAW
- cURL CURLOPT_PROGRESSFUNCTION
- GD: IMG_FILTER_PIXELATE
- JSON: JSON_ERROR_NONE
JSON_ERROR_DEPTH
JSON_ERROR_STATE_MISMATCH
JSON_ERROR_CTRL_CHAR
JSON_ERROR_SYNTAX
JSON_FORCE_OBJECT
JSON_HEX_TAG
JSON_HEX_AMP
JSON_HEX_APOS
JSON_HEX_QUOT
- LDAP: LDAP_OPT_NETWORK_TIMEOUT
- libxml: LIBXML_LOADED_VERSION
- PCRE: PREG_BAD_UTF8_OFFSET_ERROR
- PCNTL: SIG_BLOCK
SIG_UNBLOCK
SIG_SETMASK
SI_USER
SI_NOINFO
SI_KERNEL
SI_QUEUE
SI_TIMER
SI_MESGQ
SI_ASYNCIO
SI_SIGIO
SI_TKILL
CLD_EXITED
CLD_KILLED
CLD_DUMPED
CLD_TRAPPED
CLD_STOPPED
CLD_CONTINUED
TRAP_BRKPT
TRAP_TRACE
POLL_IN
POLL_OUT
POLL_MSG
POLL_ERR
POLL_PRI
POLL_HUP
ILL_ILLOPC
ILL_ILLOPN
ILL_ILLADR
ILL_ILLTRP
ILL_PRVOPC
ILL_PRVREG
ILL_COPROC
ILL_BADSTK
FPE_INTDIV
FPE_INTOVF
FPE_FLTDIV
FPE_FLTOVF
FPE_FLTUND
FPE_FLTRES
FPE_FLTINV
FPE_FLTSUB
SEGV_MAPERR
SEGV_ACCERR
BUS_ADRALN
BUS_ADRERR
BUS_OBJERR
g. New classes
- Date: DateInterval
DatePeriod
- Phar: Phar
PharData
PharFileInfo
PharException
- SPL SplDoublyLinkedList
SplStack
SplQueue
SplHeap
SplMinHeap
SplMaxHeap
SplPriorityQueue
SplFixedArray
FilesystemIterator
GlobIterator
RecursiveTreeIterator
MultipleIterator
h. New methods
- Date: DateTime::diff()
DateTime::add()
DateTime::sub()
DateTime::createFromFormat()
DateTime::getLastErrors()
- DOM: DOMNode::getLineNo()
- Exception: Exception::getPrevious()
- PDO_Firebird: PDO::setAttribute()
- Reflection: ReflectionProperty::setAccessible()
ReflectionFunction::inNamespace()
ReflectionFunction::getNamespaceName()
ReflectionFunction::getShortName()
ReflectionClass::inNamespace()
ReflectionClass::getNamespaceName()
ReflectionClass::getShortName()
- SPL: DirectoryIterator::getExtension()
SplFileInfo::getExtension()
SplObjectStorage::addAll()
SplObjectStorage::removeAll()
- XSL: XSLTProcessor::setProfiling()
i. New class constants
- PDO_Firebird: PDO::FB_ATTR_DATE_FORMAT
PDO::FB_ATTR_TIME_FORMAT
PDO::FB_ATTR_TIMESTAMP_FORMAT
-23
View File
@@ -1,23 +0,0 @@
$Id$
UPGRADE NOTES - PHP 5.3.4
1. Internal API changes
========================
1. Internal API changes
========================
a. 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.
b. 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.
+4523
View File
File diff suppressed because it is too large. Load diff
+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
+4 -4
View File
@@ -14,10 +14,10 @@ libZend_la_SOURCES=\
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
zend_ini.c zend_qsort.c zend_objects.c zend_object_handlers.c \
zend_objects_API.c zend_ts_hash.c zend_stream.c \
zend_objects_API.c zend_ts_hash.c zend_stream.c zend_mm.c \
zend_default_classes.c \
zend_iterators.c zend_interfaces.c zend_exceptions.c \
zend_strtod.c zend_closures.c zend_float.c
zend_strtod.c zend_strtod.c zend_strtol.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
-42
View File
@@ -1,42 +0,0 @@
Zend Memory Manager
===================
General:
--------
The goal of the new memory manager (available since PHP 5.2) is to reduce memory
allocation overhead and speedup memory management.
The new manager's "configure" has no "--disable-zend-memory-manager" option,
but it has "--enable-malloc-mm" instead. It is enabled by default in DEBUG
build and disabled by default in RELEASE build. when enabled it allows selecting
between malloc and emalloc at runtime so you can use internal and external memory
debuggers without recompilation.
Debugging:
----------
Normal:
$ sapi/cli/php -r 'leak();'
Zend MM disabled:
$ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'
Shared extensions:
------------------
Since PHP 5.3.11 it is possible to prevent shared extensions from unloading so
that valgrind can correctly track the memory leaks in shared extensions. For
this there is the ZEND_DONT_UNLOAD_MODULES environment variable. If set, then
DL_UNLOAD() is skipped during the shutdown of shared extensions.
Tweaking:
---------
The Zend MM can be tweaked using ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment
variables. Default values are "malloc" and "256K". Dependent on target system you
can also use "mmap_anon", "mmap_zero" and "win32" storage managers.
$ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php ..etc.
+1 -1
View File
@@ -1,5 +1,5 @@
Title: Zend 2.0 Namespaces
Version: $Id$
Version: $Revision$
Status: declined
Maintainer: Stig S. Bakken <ssb@php.net>
Created: 2001-09-08
+1 -1
View File
@@ -1,5 +1,5 @@
Title: Loose type requirements for functions
Version: $Id$
Version: $Revision$
Status: draft
Maintainer: Brian Moon <brianm@dealnews.com>
Created: 2001-09-17
+16 -8
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
@@ -203,6 +195,10 @@ SOURCE=.\zend_llist.c
# End Source File
# Begin Source File
SOURCE=.\zend_mm.c
# End Source File
# Begin Source File
SOURCE=.\zend_object_handlers.c
# End Source File
# Begin Source File
@@ -231,6 +227,10 @@ SOURCE=.\zend_qsort.c
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.c
# End Source File
# Begin Source File
SOURCE=.\zend_sprintf.c
# End Source File
# Begin Source File
@@ -375,6 +375,10 @@ SOURCE=.\zend_llist.h
# End Source File
# Begin Source File
SOURCE=.\zend_mm.h
# End Source File
# Begin Source File
SOURCE=.\zend_modules.h
# End Source File
# Begin Source File
@@ -403,6 +407,10 @@ SOURCE=.\zend_qsort.h
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.h
# End Source File
# Begin Source File
SOURCE=.\zend_stack.h
# End Source File
# Begin Source File
+32 -153
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)
])
])
@@ -161,6 +129,15 @@ AC_ARG_WITH(zend-vm,
PHP_ZEND_VM=CALL
])
AC_ARG_ENABLE(zend-memory-manager,
[ --disable-zend-memory-manager
Disable the Zend memory manager - FOR DEVELOPERS ONLY!!],
[
ZEND_USE_ZEND_ALLOC=$enableval
], [
ZEND_USE_ZEND_ALLOC=yes
])
AC_ARG_ENABLE(maintainer-zts,
[ --enable-maintainer-zts Enable thread safety - for code maintainers only!!],[
ZEND_MAINTAINER_ZTS=$enableval
@@ -176,28 +153,31 @@ 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
AC_ARG_ENABLE(memory-limit,
[ --enable-memory-limit Compile with memory limit support], [
ZEND_MEMORY_LIMIT=$enableval
],[
ZEND_MULTIBYTE=no
ZEND_MEMORY_LIMIT=no
])
AC_MSG_CHECKING([virtual machine dispatch method])
AC_MSG_RESULT($PHP_ZEND_VM)
AC_MSG_CHECKING(whether to enable the Zend memory manager)
AC_MSG_RESULT($ZEND_USE_ZEND_ALLOC)
AC_MSG_CHECKING(whether to enable thread-safety)
AC_MSG_RESULT($ZEND_MAINTAINER_ZTS)
AC_MSG_CHECKING(whether to enable inline optimization for GCC)
AC_MSG_RESULT($ZEND_INLINE_OPTIMIZATION)
AC_MSG_CHECKING(whether to enable a memory limit)
AC_MSG_RESULT($ZEND_MEMORY_LIMIT)
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])
@@ -226,14 +206,22 @@ fi
test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
if test "$ZEND_USE_ZEND_ALLOC" = "yes"; then
AC_DEFINE(USE_ZEND_ALLOC,1,[Use Zend memory manager])
else
AC_DEFINE(USE_ZEND_ALLOC,0,[Use Zend memory manager])
fi
if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
CFLAGS="$CFLAGS -DZTS"
LIBZEND_CPLUSPLUS_CHECKS
fi
if test "$ZEND_MULTIBYTE" = "yes"; then
AC_DEFINE(ZEND_MULTIBYTE, 1, [ ])
if test "$ZEND_MEMORY_LIMIT" = "yes"; then
AC_DEFINE(MEMORY_LIMIT, 1, [Memory limit])
else
AC_DEFINE(MEMORY_LIMIT, 0, [Memory limit])
fi
changequote({,})
@@ -304,108 +292,6 @@ int main()
AC_MSG_RESULT(done)
dnl test for memory allocation using mmap(MAP_ANON)
AC_MSG_CHECKING(for memory allocation using mmap(MAP_ANON))
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <stdio.h>
#ifndef MAP_ANON
# ifdef MAP_ANONYMOUS
# define MAP_ANON MAP_ANONYMOUS
# endif
#endif
#ifndef MREMAP_MAYMOVE
# define MREMAP_MAYMOVE 0
#endif
#ifndef MAP_FAILED
# define MAP_FAILED ((void*)-1)
#endif
#define SEG_SIZE (256*1024)
int main()
{
void *seg = mmap(NULL, SEG_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
if (seg == MAP_FAILED) {
return 1;
}
if (munmap(seg, SEG_SIZE) != 0) {
return 2;
}
return 0;
}
], [
AC_DEFINE([HAVE_MEM_MMAP_ANON], 1, [Define if the target system has support for memory allocation using mmap(MAP_ANON)])
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
], [
dnl cross-compile needs something here
AC_MSG_RESULT(no)
])
dnl test for memory allocation using mmap("/dev/zero")
AC_MSG_CHECKING(for memory allocation using mmap("/dev/zero"))
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <stdio.h>
#ifndef MAP_ANON
# ifdef MAP_ANONYMOUS
# define MAP_ANON MAP_ANONYMOUS
# endif
#endif
#ifndef MREMAP_MAYMOVE
# define MREMAP_MAYMOVE 0
#endif
#ifndef MAP_FAILED
# define MAP_FAILED ((void*)-1)
#endif
#define SEG_SIZE (256*1024)
int main()
{
int fd;
void *seg;
fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
if (fd < 0) {
return 1;
}
seg = mmap(NULL, SEG_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
if (seg == MAP_FAILED) {
return 2;
}
if (munmap(seg, SEG_SIZE) != 0) {
return 3;
}
if (close(fd) != 0) {
return 4;
}
return 0;
}
], [
AC_DEFINE([HAVE_MEM_MMAP_ZERO], 1, [Define if the target system has support for memory allocation using mmap("/dev/zero")])
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
], [
dnl cross-compile needs something here
AC_MSG_RESULT(no)
])
AC_CHECK_FUNCS(mremap)
])
@@ -413,10 +299,3 @@ AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
])
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define if the target system has /dev/urandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
+16 -5
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
@@ -173,7 +169,6 @@ SOURCE=.\zend_exceptions.c
# Begin Source File
SOURCE=.\zend_execute.c
# ADD CPP /I "..\TSRM"
# End Source File
# Begin Source File
@@ -233,6 +228,10 @@ SOURCE=.\zend_llist.c
# End Source File
# Begin Source File
SOURCE=.\zend_mm.c
# End Source File
# Begin Source File
SOURCE=.\zend_object_handlers.c
# End Source File
# Begin Source File
@@ -261,6 +260,10 @@ SOURCE=.\zend_qsort.c
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.c
# End Source File
# Begin Source File
SOURCE=.\zend_sprintf.c
# End Source File
# Begin Source File
@@ -409,6 +412,10 @@ SOURCE=.\zend_llist.h
# End Source File
# Begin Source File
SOURCE=.\zend_mm.h
# End Source File
# Begin Source File
SOURCE=.\zend_modules.h
# End Source File
# Begin Source File
@@ -437,6 +444,10 @@ SOURCE=.\zend_qsort.h
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.h
# End Source File
# Begin Source File
SOURCE=.\zend_stack.h
# End Source File
# Begin Source File
+3 -9
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2012 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 |
@@ -19,14 +19,8 @@
/* $Id$ */
#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_API
#define ZEND_DLEXPORT
#define ZEND_DLIMPORT
@TOP@
+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"
# 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
])
-4
View File
@@ -1,9 +1,5 @@
<?php
if (function_exists("date_default_timezone_set")) {
date_default_timezone_set("UTC");
}
date_default_timezone_set('UTC');
function simple() {
$a = 0;
for ($i = 0; $i < 1000000; $i++)
+1
View File
@@ -7,6 +7,7 @@ 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
+1636
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 |
-54
View File
@@ -1,54 +0,0 @@
--TEST--
func_num_args() tests
--FILE--
<?php
function test1() {
var_dump(func_num_args());
}
function test2($a) {
var_dump(func_num_args());
}
function test3($a, $b) {
var_dump(func_num_args());
}
test1();
test2(1);
test2();
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_num_args());
}
}
test::test1(1);
var_dump(func_num_args());
echo "Done\n";
?>
--EXPECTF--
int(0)
int(1)
Warning: Missing argument 1 for test2(), called in %s on line %d
int(0)
int(2)
int(0)
Warning: Missing argument 2 for test3() in %s on line %d
int(1)
int(2)
int(1)
Warning: func_num_args(): Called from the global scope - no function context in %s on line %d
int(-1)
Done
-108
View File
@@ -1,108 +0,0 @@
--TEST--
func_get_arg() tests
--FILE--
<?php
function test1() {
var_dump(func_get_arg(-10));
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
}
function test2($a) {
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
}
function test3($a, $b) {
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
var_dump(func_get_arg(2));
}
test1();
test1(10);
test2(1);
test2();
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
}
}
test::test1(1);
var_dump(func_get_arg(1));
echo "Done\n";
?>
--EXPECTF--
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 0 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
int(10)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: Missing argument 1 for test2(), called in %s on line %d and defined in %s on line %d
Warning: func_get_arg(): Argument 0 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
int(1)
int(2)
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 0 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: Missing argument 2 for test3() in %s on line %d
int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
int(1)
int(2)
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Called from the global scope - no function context in %s on line %d
bool(false)
Done
-81
View File
@@ -1,81 +0,0 @@
--TEST--
func_get_args() tests
--FILE--
<?php
function test1() {
var_dump(func_get_args());
}
function test2($a) {
var_dump(func_get_args());
}
function test3($a, $b) {
var_dump(func_get_args());
}
test1();
test1(10);
test2(1);
test2();
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_get_args());
}
}
test::test1(1);
var_dump(func_get_args());
echo "Done\n";
?>
--EXPECTF--
array(0) {
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1)
}
Warning: Missing argument 1 for test2(), called in %s on line %d and defined in %s on line %d
array(0) {
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
array(0) {
}
Warning: Missing argument 2 for test3() in %s on line %d
array(1) {
[0]=>
int(1)
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
array(1) {
[0]=>
int(1)
}
Warning: func_get_args(): Called from the global scope - no function context in %s on line %d
bool(false)
Done
-25
View File
@@ -1,25 +0,0 @@
--TEST--
strncmp() tests
--FILE--
<?php
var_dump(strncmp("", ""));
var_dump(strncmp("", "", 100));
var_dump(strncmp("aef", "dfsgbdf", -1));
var_dump(strncmp("fghjkl", "qwer", 0));
var_dump(strncmp("qwerty", "qwerty123", 6));
var_dump(strncmp("qwerty", "qwerty123", 7));
echo "Done\n";
?>
--EXPECTF--
Warning: strncmp() expects exactly 3 parameters, 2 given in %s on line %d
NULL
int(0)
Warning: Length must be greater than or equal to 0 in %s on line %d
bool(false)
int(0)
int(0)
int(-1)
Done
-27
View File
@@ -1,27 +0,0 @@
--TEST--
strcasecmp() tests
--FILE--
<?php
var_dump(strcasecmp(""));
var_dump(strcasecmp("", ""));
var_dump(strcasecmp("aef", "dfsgbdf"));
var_dump(strcasecmp("qwe", "qwer"));
var_dump(strcasecmp("qwerty", "QweRty"));
var_dump(strcasecmp("qwErtY", "qwerty"));
var_dump(strcasecmp("q123", "Q123"));
var_dump(strcasecmp("01", "01"));
echo "Done\n";
?>
--EXPECTF--
Warning: strcasecmp() expects exactly 2 parameters, 1 given in %s on line %d
NULL
int(0)
int(-3)
int(-1)
int(0)
int(0)
int(0)
int(0)
Done
-31
View File
@@ -1,31 +0,0 @@
--TEST--
strncasecmp() tests
--FILE--
<?php
var_dump(strncasecmp(""));
var_dump(strncasecmp("", "", -1));
var_dump(strncasecmp("aef", "dfsgbdf", 0));
var_dump(strncasecmp("aef", "dfsgbdf", 10));
var_dump(strncasecmp("qwe", "qwer", 3));
var_dump(strncasecmp("qwerty", "QweRty", 6));
var_dump(strncasecmp("qwErtY", "qwer", 7));
var_dump(strncasecmp("q123", "Q123", 3));
var_dump(strncasecmp("01", "01", 1000));
echo "Done\n";
?>
--EXPECTF--
Warning: strncasecmp() expects exactly 3 parameters, 1 given in %s on line %d
NULL
Warning: Length must be greater than or equal to 0 in %s on line %d
bool(false)
int(0)
int(-3)
int(0)
int(0)
int(2)
int(0)
int(0)
Done
-63
View File
@@ -1,63 +0,0 @@
--TEST--
each() tests
--FILE--
<?php
var_dump(each());
$var = 1;
var_dump(each($var));
$var = "string";
var_dump(each($var));
$var = array(1,2,3);
var_dump(each($var));
$var = array("a"=>1,"b"=>2,"c"=>3);
var_dump(each($var));
$a = array(1);
$a [] =&$a[0];
var_dump(each($a));
echo "Done\n";
?>
--EXPECTF--
Warning: each() expects exactly 1 parameter, 0 given in %s on line %d
NULL
Warning: Variable passed to each() is not an array or object in %s on line %d
NULL
Warning: Variable passed to each() is not an array or object in %s on line %d
NULL
array(4) {
[1]=>
int(1)
["value"]=>
int(1)
[0]=>
int(0)
["key"]=>
int(0)
}
array(4) {
[1]=>
int(1)
["value"]=>
int(1)
[0]=>
string(1) "a"
["key"]=>
string(1) "a"
}
array(4) {
[1]=>
int(1)
["value"]=>
int(1)
[0]=>
int(0)
["key"]=>
int(0)
}
Done
-53
View File
@@ -1,53 +0,0 @@
--TEST--
define() tests
--FILE--
<?php
var_dump(define());
var_dump(define("TRUE"));
var_dump(define("TRUE", 1));
var_dump(define("TRUE", 1, array(1)));
var_dump(define(array(1,2,3,4,5), 1));
var_dump(define(" ", 1));
var_dump(define("[[[", 2));
var_dump(define("test const", 3));
var_dump(define("test const", 3));
var_dump(define("test", array(1)));
var_dump(define("test1", new stdclass));
var_dump(constant(" "));
var_dump(constant("[[["));
var_dump(constant("test const"));
echo "Done\n";
?>
--EXPECTF--
Warning: define() expects at least 2 parameters, 0 given in %s on line %d
NULL
Warning: define() expects at least 2 parameters, 1 given in %s on line %d
NULL
bool(true)
Warning: define() expects parameter 3 to be boolean, array given in %s on line %d
NULL
Warning: define() expects parameter 1 to be string, array given in %s on line %d
NULL
bool(true)
bool(true)
bool(true)
Notice: Constant test const already defined in %s on line %d
bool(false)
Warning: Constants may only evaluate to scalar values in %s on line %d
bool(false)
Warning: Constants may only evaluate to scalar values in %s on line %d
bool(false)
int(1)
int(2)
int(3)
Done
-48
View File
@@ -1,48 +0,0 @@
--TEST--
get_class() tests
--FILE--
<?php
class foo {
function bar () {
var_dump(get_class());
}
}
class foo2 extends foo {
}
foo::bar();
foo2::bar();
$f1 = new foo;
$f2 = new foo2;
$f1->bar();
$f2->bar();
var_dump(get_class());
var_dump(get_class("qwerty"));
var_dump(get_class($f1));
var_dump(get_class($f2));
echo "Done\n";
?>
--EXPECTF--
Strict Standards: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
Strict Standards: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
string(3) "foo"
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"
Done
-59
View File
@@ -1,59 +0,0 @@
--TEST--
get_parent_class() tests
--FILE--
<?php
interface i {
function test();
}
class foo implements i {
function test() {
var_dump(get_parent_class());
}
}
class bar extends foo {
function test_bar() {
var_dump(get_parent_class());
}
}
$bar = new bar;
$foo = new foo;
$foo->test();
$bar->test();
$bar->test_bar();
var_dump(get_parent_class($bar));
var_dump(get_parent_class($foo));
var_dump(get_parent_class("bar"));
var_dump(get_parent_class("foo"));
var_dump(get_parent_class("i"));
var_dump(get_parent_class(""));
var_dump(get_parent_class("[[[["));
var_dump(get_parent_class(" "));
var_dump(get_parent_class(new stdclass));
var_dump(get_parent_class(array()));
var_dump(get_parent_class(1));
echo "Done\n";
?>
--EXPECTF--
bool(false)
bool(false)
string(3) "foo"
string(3) "foo"
bool(false)
string(3) "foo"
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
Done
-89
View File
@@ -1,89 +0,0 @@
--TEST--
property_exists() tests
--FILE--
<?php
class foo {
public $pp1 = 1;
private $pp2 = 2;
protected $pp3 = 3;
function bar() {
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
}
}
class bar extends foo {
function test() {
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
}
}
var_dump(property_exists());
var_dump(property_exists(""));
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
var_dump(property_exists("foo","nonexistent"));
var_dump(property_exists("fo","nonexistent"));
var_dump(property_exists("foo",""));
var_dump(property_exists("","test"));
var_dump(property_exists("",""));
$foo = new foo;
var_dump(property_exists($foo,"pp1"));
var_dump(property_exists($foo,"pp2"));
var_dump(property_exists($foo,"pp3"));
var_dump(property_exists($foo,"nonexistent"));
var_dump(property_exists($foo,""));
var_dump(property_exists(array(),"test"));
var_dump(property_exists(1,"test"));
var_dump(property_exists(true,"test"));
$foo->bar();
$bar = new bar;
$bar->test();
echo "Done\n";
?>
--EXPECTF--
Warning: property_exists() expects exactly 2 parameters, 0 given in %s on line %d
NULL
Warning: property_exists() expects exactly 2 parameters, 1 given in %s on line %d
NULL
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
Warning: First parameter must either be an object or the name of an existing class in %s on line %d
NULL
Warning: First parameter must either be an object or the name of an existing class in %s on line %d
NULL
Warning: First parameter must either be an object or the name of an existing class in %s on line %d
NULL
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
Done
-34
View File
@@ -1,34 +0,0 @@
--TEST--
class_exists() tests
--FILE--
<?php
class foo {
}
var_dump(class_exists());
var_dump(class_exists("qwerty"));
var_dump(class_exists(""));
var_dump(class_exists(array()));
var_dump(class_exists("test", false));
var_dump(class_exists("foo", false));
var_dump(class_exists("foo"));
var_dump(class_exists("stdClass", false));
var_dump(class_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
Warning: class_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
bool(false)
Warning: class_exists() expects parameter 1 to be string, array given in %s on line %d
NULL
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
Done
-34
View File
@@ -1,34 +0,0 @@
--TEST--
interface_exists() tests
--FILE--
<?php
interface foo {
}
var_dump(interface_exists());
var_dump(interface_exists("qwerty"));
var_dump(interface_exists(""));
var_dump(interface_exists(array()));
var_dump(interface_exists("test", false));
var_dump(interface_exists("foo", false));
var_dump(interface_exists("foo"));
var_dump(interface_exists("stdClass", false));
var_dump(interface_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
Warning: interface_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
bool(false)
Warning: interface_exists() expects parameter 1 to be string, array given in %s on line %d
NULL
bool(false)
bool(true)
bool(true)
bool(false)
bool(false)
Done
-3
View File
@@ -1,3 +0,0 @@
<?php
/* dummy file for 014.phpt */
?>
-52
View File
@@ -1,52 +0,0 @@
--TEST--
get_included_files() tests
--FILE--
<?php
var_dump(get_included_files());
include(dirname(__FILE__)."/014.inc");
var_dump(get_included_files());
var_dump(get_included_files(1,1));
include_once(dirname(__FILE__)."/014.inc");
var_dump(get_included_files());
var_dump(get_included_files(1));
include(dirname(__FILE__)."/014.inc");
var_dump(get_included_files());
echo "Done\n";
?>
--EXPECTF--
array(1) {
[0]=>
string(%d) "%s"
}
array(2) {
[0]=>
string(%d) "%s"
[1]=>
string(%d) "%s"
}
Warning: get_included_files() expects exactly 0 parameters, 2 given in %s on line %d
NULL
array(2) {
[0]=>
string(%d) "%s"
[1]=>
string(%d) "%s"
}
Warning: get_included_files() expects exactly 0 parameters, 1 given in %s on line %d
NULL
array(2) {
[0]=>
string(%d) "%s"
[1]=>
string(%d) "%s"
}
Done
-37
View File
@@ -1,37 +0,0 @@
--TEST--
trigger_error() tests
--FILE--
<?php
var_dump(trigger_error());
var_dump(trigger_error("error"));
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
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
Warning: Invalid error type specified in %s on line %d
bool(false)
Warning: Invalid error type specified in %s on line %d
bool(false)
Warning: error in %s on line %d
bool(true)
Deprecated: error in %s on line %d
bool(true)
Done
-12
View File
@@ -1,12 +0,0 @@
--TEST--
isset() with object properties when operating on non-object
--FILE--
<?php
$foo = NULL;
isset($foo->bar->bar);
echo "Done\n";
?>
--EXPECT--
Done
-86
View File
@@ -1,86 +0,0 @@
--TEST--
builtin functions tests
--FILE--
<?php
var_dump(get_resource_type());
var_dump(get_resource_type(""));
$fp = fopen(__FILE__, "r");
var_dump(get_resource_type($fp));
fclose($fp);
var_dump(get_resource_type($fp));
var_dump(gettype(get_loaded_extensions()));
var_dump(count(get_loaded_extensions()));
var_dump(gettype(get_loaded_extensions(true)));
var_dump(count(get_loaded_extensions(true)));
var_dump(get_loaded_extensions(true, true));
define("USER_CONSTANT", "test");
var_dump(get_defined_constants(true, true));
var_dump(gettype(get_defined_constants(true)));
var_dump(gettype(get_defined_constants()));
var_dump(count(get_defined_constants()));
function test () {
}
var_dump(get_defined_functions(true));
var_dump(gettype(get_defined_functions()));
var_dump(count(get_defined_functions()));
var_dump(get_declared_interfaces(true));
var_dump(gettype(get_declared_interfaces()));
var_dump(count(get_declared_interfaces()));
var_dump(get_extension_funcs());
var_dump(get_extension_funcs(true));
var_dump(gettype(get_extension_funcs("standard")));
var_dump(count(get_extension_funcs("standard")));
var_dump(gettype(get_extension_funcs("zend")));
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
NULL
Warning: get_resource_type() expects parameter 1 to be resource, string given in %s on line %d
NULL
string(6) "stream"
string(7) "Unknown"
string(5) "array"
int(%d)
string(5) "array"
int(%d)
Warning: get_loaded_extensions() expects at most 1 parameter, 2 given in %s on line %d
NULL
Warning: get_defined_constants() expects at most 1 parameter, 2 given 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
NULL
string(5) "array"
int(%d)
Warning: get_declared_interfaces() expects exactly 0 parameters, 1 given 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
NULL
bool(false)
string(5) "array"
int(%d)
string(5) "array"
int(%d)
Done
-34
View File
@@ -1,34 +0,0 @@
--TEST--
constant() tests
--FILE--
<?php
var_dump(constant());
var_dump(constant("", ""));
var_dump(constant(""));
var_dump(constant(array()));
define("TEST_CONST", 1);
var_dump(constant("TEST_CONST"));
define("TEST_CONST2", "test");
var_dump(constant("TEST_CONST2"));
echo "Done\n";
?>
--EXPECTF--
Warning: constant() expects exactly 1 parameter, 0 given in %s on line %d
NULL
Warning: constant() expects exactly 1 parameter, 2 given 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
NULL
int(1)
string(4) "test"
Done
-1333
View File
File diff suppressed because it is too large. Load diff
-34
View File
@@ -1,34 +0,0 @@
--TEST--
func_get_arg() invalid usage
--FILE--
<?php
var_dump(func_get_arg(1,2,3));
var_dump(func_get_arg(1));
var_dump(func_get_arg());
function bar() {
var_dump(func_get_arg(1));
}
function foo() {
bar(func_get_arg(1));
}
foo(1,2);
echo "Done\n";
?>
--EXPECTF--
Warning: func_get_arg() expects exactly 1 parameter, 3 given in %s on line %d
NULL
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
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Done
-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
Strict Standards: 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
Loaded 100 of 13711 files, more files were not shown because too many files have changed in this diff. Show more