Compare commits

...
Author SHA1 Message Date
SVN Migration 88ec761548 This commit was manufactured by cvs2svn to create branch 'PECL_OPENSSL'. 2006-10-15 21:09:28 +00:00
Antony Dovgal 268984b478 fix compile warning 2006-10-15 21:09:27 +00:00
Hannes Magnusson b3a914aca8 Fix test (bug#39097) 2006-10-15 13:43:45 +00:00
Hannes Magnusson 8104df0547 Remove bogus ini entry 2006-10-14 15:06:11 +00:00
Antony Dovgal 3bd0f950da fix win32 build 2006-10-13 14:26:34 +00:00
Hannes Magnusson 942b11a581 fix test 2006-10-13 09:59:21 +00:00
Hannes Magnusson e4bdd6fcba Added missing API function declaration. 2006-10-13 09:34:34 +00:00
Ilia Alshanetsky bc59416ff2 Fixed bug #38934 (move_uploaded_file() cannot read uploaded file outside of
open_basedir).
2006-10-13 01:42:20 +00:00
Ilia Alshanetsky 8bd16e2b58 Improve open_basedir checks 2006-10-13 01:11:30 +00:00
Brian France 33879eceb3 Memory assigned to the request_rec should be allocated from apache pools
and should not be free'ed at the end of the handler phase
2006-10-12 20:02:58 +00:00
Antony Dovgal d087c87ffe MFH: use connection charset when reading LOB data 2006-10-12 10:04:12 +00:00
Dmitry Stogov e6fd66facb Make zend_memory_peak_usage() to be avalable even without --enable-memory-limit 2006-10-12 06:46:51 +00:00
Ilia Alshanetsky 8b8eb2cf88 Fixed potential use of un-initialized var (detected by Coverity) 2006-10-12 01:05:09 +00:00
Antony Dovgal 24b2efa342 fix test 2006-10-11 23:45:31 +00:00
Sara Golemon 3efc863435 BFN 2006-10-11 23:36:32 +00:00
Sara Golemon adf31588d2 MFH(r-1.96) Bugfix#38649 Optional param not initialized 2006-10-11 23:22:45 +00:00
Sara Golemon d8fc0ccfe1 MFH(r-1.38) Bugfix 38648: Don't assume all buckets are part of a brigade 2006-10-11 23:11:26 +00:00
Pierre Joye 3d3395df3a - imagecreatefrompng(emptyfile) fix entry 2006-10-11 18:27:42 +00:00
Antony Dovgal 630024d895 MFH 2006-10-11 16:11:56 +00:00
Antony Dovgal aeec5b4b68 MFH: fix #39125 (Memleak when reflecting non-existing class/method) 2006-10-11 15:52:56 +00:00
Antony Dovgal e20650616e add test 2006-10-11 14:57:52 +00:00
Ilia Alshanetsky 9809628544 s/false/null/ 2006-10-11 14:55:57 +00:00
Derick Rethans 0a3b663a1b - MFH: Change validating filters to return "null" on failure so that they can be
distinguised from the value "false" which might be valid as well.
2006-10-11 14:49:13 +00:00
Antony Dovgal 14b168fcab MFH: check filter and class names for empty strings 2006-10-11 14:46:40 +00:00
Ilia Alshanetsky a39201675f Catch empty strings right away. 2006-10-11 14:19:55 +00:00
Antony Dovgal 9b7ba01618 MFH: avoid reading str[-1], add warning when invalid format specified
add test
2006-10-11 13:15:30 +00:00
Antony Dovgal 1cc0339d40 MFH: fix crash when parsing invalid hostnames/IPs 2006-10-11 12:53:56 +00:00
Antony Dovgal 2f467baf94 MFH 2006-10-11 11:53:02 +00:00
Antony Dovgal a81eae5d01 MFH: fix segfault/leak, add test 2006-10-11 11:09:42 +00:00
Edin Kadribasic 9f5de3bb5c Sync with Unix build 2006-10-11 11:00:03 +00:00
Wez Furlong 88f9dc9639 BFN 2006-10-11 03:23:51 +00:00
Wez Furlong 20949c497b BFN 2006-10-11 03:09:55 +00:00
Wez Furlong 3028f7465d Fix for PECL #7755; use the displayable column width as the basis for our
buffer size, as the raw column size can be too small when requesting
a string representation.

Also fix up bogus error output when fetching, and another one of the test
cases to make it run against SQL Server 2005.
2006-10-11 03:07:29 +00:00
Wez Furlong 897b9ffca5 BFN 2006-10-11 02:14:09 +00:00
Wez Furlong 391ed04adb Fix for PECL bug #8944. Could also be the same problem as pecl #7775. 2006-10-11 02:10:56 +00:00
Pierre Joye ea2d32381d - don't check signature if the file is empty (valgrind reports with test
001), thx Tony for the head up
2006-10-11 00:19:12 +00:00
Ilia Alshanetsky 03641dcea4 Fixed bug #39034 (curl_exec() with return transfer returns TRUE on empty
files).
2006-10-10 23:12:59 +00:00
Antony Dovgal 7b58554f82 MFH: access mode for dbase_open() cannot be < 0 2006-10-10 23:01:23 +00:00
Antony Dovgal 5866ef42e6 add new test 2006-10-10 22:37:43 +00:00
Antony Dovgal cb90d3ce76 MFH: fix leak and typos in error messages 2006-10-10 22:22:43 +00:00
Antony Dovgal 11235cff7b missing variable initialization 2006-10-10 22:03:27 +00:00
Ilia Alshanetsky df5c300303 Fixed bug #38198 (possible crash when COM reports an exception). 2006-10-10 17:32:50 +00:00
Antony Dovgal b4974d5e68 MFH: fix #39112 (typo in error message) 2006-10-10 12:44:02 +00:00
Ilia Alshanetsky 3890ca3fcb Improve parameter parsing 2006-10-09 19:48:13 +00:00
Ilia Alshanetsky 7b77d536c3 Fixed bug #37262 (var_export() does not escape \0 character). 2006-10-09 18:08:34 +00:00
Ilia Alshanetsky 527c5a6126 Proper name for credits 2006-10-09 16:20:46 +00:00
Hannes Magnusson e94670d4d6 MFH tests 2006-10-09 16:02:34 +00:00
Antony Dovgal 20fc2d4274 improve SKIPIF condition 2006-10-09 13:20:46 +00:00
Antony Dovgal 7b2a5bf0c6 BFN 2006-10-09 09:37:10 +00:00
Antony Dovgal 3a48a290a0 MFH: fix PECL bug #8816 (issue in php_oci_statement_fetch with more than one piecewise column)
patch by jeff at badtz-maru dot com
2006-10-09 09:34:55 +00:00
Pierre Joye fa8f1151aa - fix possible segfault (see test 004) always exists and returns NULL on
error
2006-10-09 00:04:11 +00:00
Ilia Alshanetsky f850285c40 Added missing configuration checks 2006-10-08 22:38:48 +00:00
Pierre Joye 895aa7d7f7 - #39082, image* segfaults when used with only one argument
(introduced in 5.2+, no news entry)
2006-10-08 17:36:10 +00:00
Ilia Alshanetsky 98b16064b4 Added missing safety checks (Problem identified by Coverity scan) 2006-10-07 19:59:19 +00:00
Ilia Alshanetsky 12f7021e12 Added missing safety checks (Problem identified by Coverity scan) 2006-10-07 19:40:58 +00:00
Sara Golemon 34ed116e90 MFH(r-1.356) Don't assume the array elements are arrays too 2006-10-07 16:40:39 +00:00
Antony Dovgal e43519e914 BFN 2006-10-07 09:34:12 +00:00
Ilia Alshanetsky b43e18a70e Make quote() in PostgreSQL use PQescapeByteaConn() whenever possible for
binary strings.
2006-10-06 22:34:16 +00:00
Ilia Alshanetsky fab29dcbcf Make pg_escape_bytea() use PQescapeByteaConn() whenever possible. 2006-10-06 21:45:10 +00:00
Ilia Alshanetsky 7f75be9fb9 back to dev 2006-10-06 21:36:07 +00:00
Ilia Alshanetsky b1d8f7e09d Expose session storage module locater and serialization function via PHPAPI 2006-10-06 21:11:36 +00:00
Ilia Alshanetsky f815a4ef10 modulo 0 news entry 2006-10-06 21:03:35 +00:00
Antony Dovgal 3a4603b4b0 more improvements 2006-10-06 18:03:19 +00:00
Antony Dovgal d917bf084c MFH: fix #39067 (getDeclaringClass() and private properties) 2006-10-06 17:35:32 +00:00
Sara Golemon eed736d010 MFH(r-1.376): Preserve EG(return_value_ptr_ptr) when calling zend_execute_scripts()
Reapplying this since it looks like we'll be doing a PHP 5.2 RC6 after all
2006-10-06 16:50:21 +00:00
Antony Dovgal 24195cf941 re-add the test 2006-10-06 14:50:46 +00:00
Antony Dovgal 58b858287b MFH: fix #39060 (virtual_file_ex() is broken on *BSD) 2006-10-06 14:03:19 +00:00
Edin Kadribasic 2f738dd440 BFN 2006-10-06 12:53:15 +00:00
Edin Kadribasic 480e788d95 Fix for #38985 (Wez) 2006-10-06 12:23:30 +00:00
Sebastian Bergmann f74b1ec9b0 Fix ZTS build. 2006-10-06 03:48:00 +00:00
Sara Golemon fd9b7f672b Revert until 5.2's release since we're in RC stage 2006-10-06 00:02:56 +00:00
Sara Golemon 67fac322af MFH(r-1.376): Preserve EG(return_value_ptr_ptr) when calling zend_execute_scripts() 2006-10-05 23:32:52 +00:00
Antony Dovgal b37dd23c35 <tony2001> ilia: are you serious?
<ilia> tony2001: yes
2006-10-05 20:28:15 +00:00
Antony Dovgal e2999137a7 add test 2006-10-05 19:49:43 +00:00
Ilia Alshanetsky 9ebb3f127e 5.2.0RC5 2006-10-05 19:49:03 +00:00
Andrei Zmievski e779c3aa36 Increment replace count value for case-sensitive single char searches. 2006-10-05 18:23:19 +00:00
Hannes Magnusson 93909bb30e - nuke unused variable
- "prefer" two arguments
- only print "wrong parameter count" once
2006-10-05 16:02:29 +00:00
Antony Dovgal a5d86612e3 MFH: decrement ch->uses (or destroy handle) when destroying multi handle 2006-10-05 15:06:40 +00:00
Antony Dovgal 864f182def fix build with new version of c-client 2006-10-05 14:25:41 +00:00
Dmitry Stogov 58eeb00bb3 CRLF->CR 2006-10-05 12:09:58 +00:00
Edin Kadribasic e09a5c2972 Library updates 2006-10-05 11:17:56 +00:00
Edin Kadribasic a290cef01c Added PQescapeStringConn support to windows too 2006-10-05 11:13:31 +00:00
Dmitry Stogov ff3dfa94dd Allow future extensibility without binary compatibility break 2006-10-05 08:08:57 +00:00
Dmitry Stogov cb1f58e39d Fixed bug #38989 (Absolute path with slash at beginning doesn't work on win) 2006-10-05 08:03:11 +00:00
Ilia Alshanetsky 0d9f9b67b7 Fixed bug #39039 (SSL: fatal protocol error when fetching HTTPS from
servers running Google web server).
2006-10-05 00:38:02 +00:00
Ilia Alshanetsky 40765184be Added support for character sets in PDO quote() method for PostgreSQL
8.1.4 and higher.
2006-10-04 23:53:36 +00:00
Ilia Alshanetsky e8c70bfa99 Added support for character sets in pg_escape_string() for PostgreSQL
8.1.4 and higher.
2006-10-04 23:27:03 +00:00
Ilia Alshanetsky 9230cf3da6 Fixed missing open_basedir check inside chdir() function. 2006-10-04 23:19:25 +00:00
Antony Dovgal dc22b7d4a5 add test 2006-10-04 13:35:51 +00:00
Antony Dovgal 5cdb9128ae MFH 2006-10-04 13:30:53 +00:00
Antony Dovgal bb5986b8a3 MFH 2006-10-04 13:24:19 +00:00
Antony Dovgal 8d2406f448 add missing ifdef 2006-10-04 13:02:36 +00:00
Edin Kadribasic 38772455a4 Update credits 2006-10-04 12:51:33 +00:00
Rob Richards bbf89ba3a8 BFN 2006-10-04 12:04:32 +00:00
Rob Richards 7a2a383a9f fix bug #39035 (Compatibilty issue between DOM and ze1_compatibility_mode 2006-10-04 12:02:49 +00:00
Pierre Joye 201d790899 - used only in HEAD 2006-10-04 12:02:46 +00:00
Pierre Joye 7883814424 - wrong definition 2006-10-04 11:48:04 +00:00
Antony Dovgal f0bb2a0c9b fix typo 2006-10-04 11:20:14 +00:00
Antony Dovgal d8648eae57 MFH: fix #39032 (strcspn() stops on null character) 2006-10-04 11:14:32 +00:00
Pierre Joye f72c1a1224 - more tests for the last commits 2006-10-03 23:32:33 +00:00
Ilia Alshanetsky c67068b52b Shoehorn myself into the credits. 2006-10-03 22:18:08 +00:00
Ilia Alshanetsky 557838efa4 Last set of zend_hash_init() optimizations 2006-10-03 19:51:01 +00:00
Antony Dovgal 8e1c9371bb MFH: throw a warning when doing modulus by 0 (fr #39027) 2006-10-03 17:54:51 +00:00
Ilia Alshanetsky 8581c7328f optimize zend_hash_init() with known hash table sizes. 2006-10-03 17:41:47 +00:00
Hannes Magnusson 59fabbb464 MFH: compact() doesnt throw "wrong param count" 2006-10-03 16:37:51 +00:00
Ilia Alshanetsky f876d0bf2a Fixed handling of FILTER_FORCE_ARRAY 2006-10-03 15:34:50 +00:00
Hannes Magnusson 9bff1e24b5 pg_send_prepare(), pg_send_query_params() & pg_send_execute() do not throw "Wrong parameter count" 2006-10-03 15:21:47 +00:00
Pierre Joye a7ccaa5ec7 - vi folding, ws 2006-10-03 11:42:23 +00:00
Dmitry Stogov c1ad451c3e Speedup array/HashTable copying. (Matt W) 2006-10-03 11:10:33 +00:00
Dmitry Stogov 7c78500d96 Fixed bug #38942 (Double old-style-ctor inheritance) 2006-10-03 09:59:07 +00:00
Dmitry Stogov 9875fe44e2 Fixed bug #39017 (foreach(($obj = new myClass) as $v); echo $obj; segfaults) 2006-10-03 09:05:14 +00:00
Antony Dovgal 6212757595 fix test 2006-10-03 08:44:01 +00:00
Dmitry Stogov 9dcdfd993f Fixed memory leak (Nuno) 2006-10-03 07:30:46 +00:00
Dmitry Stogov 99356595df Fixed possible crash with default namespaces 2006-10-03 07:00:35 +00:00
Michael Wallner e7b80e8368 - fix (ZTS) build 2006-10-03 05:57:52 +00:00
Ilia Alshanetsky 80cecdb41f Refactor the filter extension
- Cleanup API
	- Added handling for circular references
	- Renamed functions.

# Original patch by Pierre
2006-10-03 02:16:53 +00:00
Antony Dovgal 588c45ea8d MFH: fix #38996 (PDO_MYSQL doesn't check connections for liveness) 2006-10-02 22:09:49 +00:00
Antony Dovgal b8fc77bd13 MFH: the last part of the fix for #39004 2006-10-02 20:49:23 +00:00
Andrei Zmievski 5c96544b7d Use php_error_docref() instead. 2006-10-02 20:07:14 +00:00
Andrei Zmievski 007c6ff8d9 More offset fixes. Added E_NOTICE where appropriate. 2006-10-02 19:58:15 +00:00
Andrei Zmievski c36d94aac2 Fix invalid memory access in strrpos(). 2006-10-02 19:42:42 +00:00
Antony Dovgal 9c1b3c6d88 fix the fix for #39004 2006-10-02 19:17:53 +00:00
Ilia Alshanetsky cb312d43bf Fixed bug #39004 (Fixed generation of config.nice with autoconf 2.60). 2006-10-02 15:34:38 +00:00
Antony Dovgal 9d0f642689 fix tests 2006-10-02 14:31:04 +00:00
Hannes Magnusson 8acdfd223f Rename utils.php to utils.inc 2006-10-02 14:17:47 +00:00
Antony Dovgal c356ad3b65 MFH: #39001 (ReflectionProperty returns incorrect declaring class for protected properties) 2006-10-02 12:16:35 +00:00
Antony Dovgal 2b1b2db8ec MFH: fix #39003 (__autoload() is called for type hinting) 2006-10-02 11:09:52 +00:00
Hannes Magnusson b806546e95 Fix test
#failes atm...
2006-10-02 08:36:35 +00:00
Hannes Magnusson 2e56aa6dfd Initial commit.. 2006-10-02 07:59:45 +00:00
Hannes Magnusson 39219cf7fe protos 2006-10-02 07:58:13 +00:00
Hannes Magnusson 3611a3de4a Fix protos 2006-10-02 07:44:34 +00:00
Hannes Magnusson 6a4dca06e6 Fix proto 2006-10-02 07:36:18 +00:00
Ilia Alshanetsky 154f70acf1 Fixed bug #38993 (Fixed safe_mode/open_basedir checks for
session.save_path, allowing them to account for extra parameters).
2006-10-01 20:58:02 +00:00
Rui Hirokawa bd088df90c fixed bug #37103: libmbfl headers was not installed correctly. 2006-10-01 08:34:39 +00:00
Ilia Alshanetsky 4fd88b23cc Added safety checks against integer overflow. 2006-09-30 17:12:06 +00:00
Ilia Alshanetsky 3ae8d67002 Added missing API function declaration. 2006-09-29 22:35:47 +00:00
Ilia Alshanetsky 01898e0f33 Added missing declaration of the php_get_uname() PHPAPI function. 2006-09-29 21:40:16 +00:00
Hannes Magnusson 281536e866 fix protos 2006-09-29 13:11:28 +00:00
Hannes Magnusson 30b18b7bb7 fix arginfo 2006-09-29 12:29:21 +00:00
Antony Dovgal 7df7d2b4df MFH 2006-09-29 12:18:58 +00:00
Stefan Esser abfc08dc82 If one name is disallowed don't drop all files 2006-09-29 10:05:34 +00:00
Georg Richter 67d2992fdc MFH: fixed error message 2006-09-29 08:40:10 +00:00
Antony Dovgal 5e34f6cf9e MFH 2006-09-28 23:27:59 +00:00
Ilia Alshanetsky 66bdeaddb4 Fixed a large leak inside _php_image_create_from() 2006-09-28 23:17:31 +00:00
Antony Dovgal d6eb64344d MFH 2006-09-28 23:03:56 +00:00
Antony Dovgal 478d42a3ac MFH 2006-09-28 22:33:06 +00:00
Hannes Magnusson c504e6794f add .libs to .cvsignore 2006-09-28 22:03:18 +00:00
Antony Dovgal 8c09e1ca40 fix test name 2006-09-28 22:02:04 +00:00
Hannes Magnusson 26cff956c4 Gah. these werent suppost to get committed atm
# Those do differ from -dist thought, if someone could write a line
# or two as to why they differ I would appreciate it!
2006-09-28 19:44:04 +00:00
Hannes Magnusson adcb3615f0 Remove unused ini options 2006-09-28 19:37:59 +00:00
Hannes Magnusson e3f68a64e7 Add new ini options
#feel free to add comments to it
2006-09-28 19:00:52 +00:00
Hannes Magnusson 69b7480147 bjori->Hannes 2006-09-28 17:10:14 +00:00
Ilia Alshanetsky 9e62f8b687 Added handling for virtual_file_ex() failures.
# Patch by Nuno
2006-09-28 15:48:35 +00:00
Ilia Alshanetsky e919a873cd Fixed bug #38859 (parse_url() fails if passing '@' in passwd). 2006-09-28 14:52:31 +00:00
Antony Dovgal c0326fb1ce BFN 2006-09-28 12:57:56 +00:00
Antony Dovgal 30a015a92f MFH: fix #38981 (using FTP URLs in get_headers() causes crash) 2006-09-28 12:55:15 +00:00
Antony Dovgal 40924a6f6c new tests 2006-09-28 12:03:49 +00:00
Hannes Magnusson a327a6f737 fix test 2006-09-28 12:01:52 +00:00
Antony Dovgal c119d63a9f add new tests 2006-09-28 11:44:05 +00:00
Hannes Magnusson f537599199 MFH: fix arginfo&proto 2006-09-28 11:32:30 +00:00
Rob Richards 2a452afb6d fix some compiler warnings 2006-09-28 10:11:36 +00:00
Dmitry Stogov 4705155d13 Removed unused libfcgi 2006-09-28 09:37:52 +00:00
Pierre Joye d9ae9d7cc8 - imagefill entry 2006-09-28 09:02:17 +00:00
Pierre Joye cee0a7df24 - imagefill(), infinite loop with wrong color index 2006-09-28 08:48:02 +00:00
Antony Dovgal 646cfe11e1 MFH 2006-09-28 08:26:33 +00:00
Dmitry Stogov dbae50bf13 Fixed wrong pipe detection code 2006-09-28 07:26:02 +00:00
Antony Dovgal 9c4e7a0743 initialize variable and make valgrind happy 2006-09-28 07:22:37 +00:00
Dmitry Stogov ecd52167d7 Fixed wrong return value 2006-09-28 07:16:31 +00:00
Ilia Alshanetsky 5860f47122 Fixed bug #38963 (Fixed a possible open_basedir bypass in tempnam()). 2006-09-27 23:44:13 +00:00
Antony Dovgal 47600225e1 MFH: use if() instead of ?: 2006-09-27 15:40:19 +00:00
Rob Richards bc0bdadfdb BFN 2006-09-27 10:32:49 +00:00
Rob Richards b23dfcc3ad fix bug #38949 (Cannot get xmlns value attribute)
add test
2006-09-27 10:31:24 +00:00
Antony Dovgal a13937e5a2 fix test 2006-09-27 08:44:19 +00:00
Antony Dovgal b805c9e089 MFH: fix #38961 (metaphone() results in segmentation fault on NetBSD) 2006-09-27 08:32:24 +00:00
Ilia Alshanetsky 4b286026c3 64bit fix (Possible fix for bug #38961) 2006-09-26 15:40:45 +00:00
Dmitry Stogov c3272ab020 Fixed bug #38808 ("maybe ref" issue for current() and others) 2006-09-26 10:30:51 +00:00
Dmitry Stogov a04b6ed6bc Fixed bug #38942 (Double old-style-ctor inheritance) 2006-09-26 07:55:21 +00:00
Ilia Alshanetsky cc0d254e4f Fixed bug #38891 (get_headers() do not work with curl-wrappers). 2006-09-25 16:00:43 +00:00
Ilia Alshanetsky ccc25cc3eb Fixed bug #38904 (apache2filter changes cwd to /). 2006-09-25 14:48:33 +00:00
Antony Dovgal f36b3ca9ad MFH: change CXXFLAGS along with CFLAGS as there might be C++ code 2006-09-25 11:05:49 +00:00
Pierre Joye 07b62da9f4 - #38944, freshly created archive has no comment or cdir 2006-09-25 09:00:16 +00:00
Antony Dovgal cd7f3a786d add test 2006-09-25 08:45:08 +00:00
Dmitry Stogov fa6c04c746 Removed warning about unreferenced local variable 2006-09-25 08:15:03 +00:00
Pierre Joye 85985ad895 - #38943, properties in extended class cannot be set
- use zend_object_std_init instead of a manual initialisation
2006-09-24 22:27:57 +00:00
Ilia Alshanetsky e55036a346 Fixed bug #38941 (imap extension does not compile against new version of
the imap library).
2006-09-24 18:06:37 +00:00
Rui Hirokawa b4ca4a0fab disabled mb_list_*_names() and mb_list_encodings(arg) which are introduced in PHP 5.2.0RC to reconsider/discuss the specification. 2006-09-24 07:10:54 +00:00
Antony Dovgal bc81c718c8 fix CGI build 2006-09-23 12:27:40 +00:00
Antony Dovgal 39856ab9cb MFH: fix possible segfault in #38891 2006-09-23 11:58:58 +00:00
Rui Hirokawa 46fda147a5 fixed build problem of some extensions which depend on ext/mbstring. 2006-09-23 10:55:58 +00:00
Ilia Alshanetsky be18d5f345 Restore support for unquoted -d options 2006-09-22 17:41:09 +00:00
Dmitry Stogov f7f180f930 Prevent access to dead zval 2006-09-22 13:39:32 +00:00
Ilia Alshanetsky 305423c34c Fixed test 2006-09-21 23:06:52 +00:00
Seiji Masugata 0d233db56a Updated bundled oniguruma library (used for multibyte regular expression) to 4.4.4. fixed some Segmentation Fault, and build fails in OSX(Xcode 2.4/gcc 4.0.1 problem). See #38452. 2006-09-21 16:37:20 +00:00
Rui Hirokawa 10f7a23b6f fixed compilation problem on Mac OS/X. (bug #38892,38778,38452) 2006-09-20 23:10:37 +00:00
Dmitry Stogov f5d7dac35d Added ability to make SOAP call userspace PHP<->XML converters 2006-09-20 13:42:52 +00:00
Dmitry Stogov 811634bd8a Fixed bug #38579 (include_once() may include the same file twice) 2006-09-20 07:35:59 +00:00
Ilia Alshanetsky 91c1a54d70 make input_get_args() not modify the original values. 2006-09-19 23:57:48 +00:00
Ilia Alshanetsky af993553fb array_key_exists() should not work by by-ref 2006-09-19 23:44:30 +00:00
Dmitry Stogov cd6537ed6d Fixed bugs #34065 and #38623 (throw in foreach/switch causes memory leaks) 2006-09-19 21:36:54 +00:00
Dmitry Stogov 7d14dad02e MFH: Fixed mess with CGI/CLI -d command line option (now it works with cgi; constants are working exactly like in php.ini; with FastCGI -d affects all requests). 2006-09-19 20:33:12 +00:00
Ilia Alshanetsky 2332e4f9fc Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements).
Fixed bug #36681 (pdo_pgsql driver incorrectly ignored some errors).
Fixed test for bug #38253 not to use faulty SQL that generates errors in
PostgreSQL
2006-09-19 15:45:22 +00:00
Hannes Magnusson db5dc9d5d8 fix test 2006-09-19 12:25:27 +00:00
Stefan Esser 1e8fc23095 Delete empty temporary files if file upload hook forbids the upload 2006-09-19 11:34:19 +00:00
Antony Dovgal bc60e07d57 argh.. nuke UEXPECTF 2006-09-19 09:40:00 +00:00
Antony Dovgal e1ff6fe881 support objects in array_walk*() 2006-09-19 09:35:27 +00:00
Antony Dovgal 0fe381cd70 fix tests 2006-09-19 09:07:56 +00:00
Antony Dovgal dba1f1d42f MFH: fix #34066 (recursive array_walk causes segfault)
add tests
2006-09-19 09:04:16 +00:00
Ilia Alshanetsky fe6effeeb4 Avoid generating php_errormsg twice in some instances. 2006-09-18 23:08:36 +00:00
Antony Dovgal 3bd1c646b7 add PHP version detection to this branch too, since I'm using this branch to make PECL releases 2006-09-18 21:23:42 +00:00
Hannes Magnusson de771e8cbd Add .libs to .cvsignore 2006-09-18 17:22:53 +00:00
Hannes Magnusson 6affa7d3e9 Fix tests 2006-09-18 16:12:13 +00:00
Ilia Alshanetsky c8a5e8fa7a Fixed bug #38574 (missing curl constants and improper constant detection). 2006-09-18 16:11:50 +00:00
Dmitry Stogov 8982cc0472 Small optimization of ZEND_INIT_ARRAY/ZEND_ADD_ARRAY_ELEMENT. (Nuno, Dmitry) 2006-09-18 14:23:52 +00:00
Antony Dovgal 1efae6a785 fix test (the error message is different across the systems) 2006-09-18 12:35:49 +00:00
Dmitry Stogov a16cb0b4d5 Fixed non-specialized executor 2006-09-18 12:03:10 +00:00
Ilia Alshanetsky 5aa6dcc6c8 Fixed memory leak on require() error 2006-09-18 03:29:21 +00:00
Pierre Joye 442112503a - add test for callback and input_get and input_get_args
this test fails now, the callback never worked with input_get or args
  fix already done, will be applied with the api shake up.
2006-09-17 18:03:45 +00:00
Nuno Lopes d43c9c11f4 fix compiler warnings introduced in my previous commit 2006-09-16 19:07:46 +00:00
Ilia Alshanetsky 9f217cd983 One last expand_filepath() check 2006-09-16 19:07:35 +00:00
Ilia Alshanetsky 92c3cfd81f Additional expand_filepath() checks 2006-09-16 18:30:03 +00:00
Nuno Lopes 557b583434 plug leaks that in the previous patch 2006-09-16 18:18:55 +00:00
Nuno Lopes c7101ba6d2 add missing checks around expand_filepath() 2006-09-16 18:15:25 +00:00
Ilia Alshanetsky 4c65e0e1cd Added missing validation checks around expand_filepath() 2006-09-16 18:10:32 +00:00
Nuno Lopes bfc9cd7174 fix possible crash in posix_access() 2006-09-16 17:41:57 +00:00
Nuno Lopes 868b219a28 use relative paths, so that we dont break the lcov reports 2006-09-16 14:17:36 +00:00
Rob Richards 211690374b BFN 2006-09-16 13:57:17 +00:00
Rob Richards 1819e947f9 implement workaround for bug #38823 (DOMComment->appendData does nothing)
fix bug #38850 (lookupNamespaceURI doesn't return default namespace)
add test
2006-09-16 13:54:52 +00:00
Nuno Lopes e197ecd16e fix mem leak. hash keys dont need to be strdup'ed 2006-09-16 12:05:13 +00:00
Ilia Alshanetsky 2cc1f53f3b Added a check for PQftable() function 2006-09-15 19:47:50 +00:00
Nuno Lopes e299095ca1 fix a valgrind warning. this also provides a 5x speedup in the imagefttext.phpt test, because without this patch it never got cache hits 2006-09-15 16:11:39 +00:00
Antony Dovgal c40975eda5 MFH: missing part of the fix for #38844 2006-09-15 15:42:53 +00:00
Antony Dovgal fcf4f87919 still output an error, even if there is no curl_easy_strerror() 2006-09-15 15:33:14 +00:00
Nuno Lopes fe9d3b16c5 mark some huge arrays as read-only 2006-09-15 15:11:54 +00:00
Antony Dovgal 0974e2af60 MFH: fix segfault in curl_multi_info_read() 2006-09-15 15:04:59 +00:00
Nuno Lopes 0094b08c56 remove warning. thanks Tony for noticing 2006-09-15 14:57:52 +00:00
Nuno Lopes 96b9fb0787 remove more old code and macros. also remove the module global 'inst' (not needed anymore) 2006-09-15 14:33:34 +00:00
Antony Dovgal 5111cd3af9 MFH: fix #38844 (curl_easy_strerror() is defined only since cURL 7.12.0) 2006-09-15 13:44:50 +00:00
Pierre Joye a0aabccac6 - MFH: PECL Bug #8700, zipArchive::getFromIndex() fails 2006-09-15 12:12:25 +00:00
Antony Dovgal 04da058284 MFH: fix leak when call to shutdown function fails 2006-09-15 09:12:17 +00:00
Antony Dovgal 4b257a1c0e fix leak with php -c /path -h 2006-09-15 08:18:36 +00:00
Antony Dovgal 55d900ef8e MFH: free node pointer using correct function
fixes leak in ext/dom/tests/dom_create_element.phpt
2006-09-15 07:44:20 +00:00
Antony Dovgal 99b133d7a7 MFH: fix double free(), add test 2006-09-15 07:27:22 +00:00
Dmitry Stogov ed26032176 Fixed memory leak 2006-09-15 07:11:35 +00:00
Ilia Alshanetsky 7bf39e9212 Back to dev 2006-09-14 18:04:40 +00:00
Ilia Alshanetsky b5446194ec PHP 5.2.0RC4 2006-09-14 17:49:12 +00:00
Ilia Alshanetsky 6e2add04ea Make float filter handle things like 02.324 properly 2006-09-14 17:47:00 +00:00
Nuno Lopes 4a162b71a2 add --STDIN-- support 2006-09-14 16:58:52 +00:00
Antony Dovgal 7a5306598a separate zval only when needed (fixes 035.phpt and doesn't affect SAPI filtering) 2006-09-14 15:30:13 +00:00
Rob Richards 436d75c376 BFN 2006-09-14 13:37:12 +00:00
Rob Richards 6fea033c6e fix bug #38813 (DOMEntityReference->__construct crashes when called explicitly) 2006-09-14 13:35:02 +00:00
Dmitry Stogov 806bc4e164 Reinamed variables to avoid name conflicts 2006-09-14 10:32:45 +00:00
Dmitry Stogov 2604f21fa6 Removed unused macro USE_ZEND_ALLOC 2006-09-14 09:58:27 +00:00
Dmitry Stogov 3fcfdf573d Write valid run-time value for Zend Memeory Manager 2006-09-14 08:01:48 +00:00
Dmitry Stogov 27c327b97e Added is_zend_mm() to allow runtime check for zend memory manager 2006-09-14 08:00:44 +00:00
Stanislav Malyshev 38540337a9 add for VC build 2006-09-13 17:47:20 +00:00
Stanislav Malyshev dd48748f5a fix VC build:
- update PCRE defines
- create timelib_config.h
- update .def dependencies
2006-09-13 17:33:24 +00:00
Stanislav Malyshev 286a9db9df fix fcgi build 2006-09-13 17:23:16 +00:00
Ilia Alshanetsky 01ea35a078 Fixed name 2006-09-13 15:54:51 +00:00
Ilia Alshanetsky 54032dee04 Fixed test for systems without INFILE/OUTFILE support 2006-09-13 15:52:57 +00:00
Antony Dovgal 0680cc4360 fix tests on MacOS 2006-09-13 13:59:16 +00:00
Dmitry Stogov 3b2fa0ce82 Fix memory leaks 2006-09-13 13:25:50 +00:00
Dmitry Stogov da09526eac Fix for bug #38757 (MultiPart Form Uploads fail with FastCGI) 2006-09-13 13:03:01 +00:00
Antony Dovgal e5ab519397 MFH 2006-09-13 10:44:11 +00:00
Antony Dovgal 6e0915b631 new tests 2006-09-12 20:32:39 +00:00
Antony Dovgal d1202b7986 declare oci_lob_seek() 2006-09-12 20:27:28 +00:00
Antony Dovgal 03c7bbd33b MFH: improve spelling (fixes #38780) 2006-09-12 17:26:34 +00:00
Derick Rethans ebbfc21a15 - Make passing filter flags as LONG work again.
- Make super globals filtering work again (as quick workaround).
#- Will merge to head later... need to get things sorted out first.
2006-09-12 16:10:33 +00:00
Ilia Alshanetsky f0fd70fadb Fixed bug #37779 (empty include_path leads to search for files inside /). 2006-09-12 15:47:25 +00:00
Pierre Joye bb2d53e768 - PECL Bug #8676, addFile was not updated and still used VCWD_REALPATH,
it now uses expand_filepath
2006-09-12 12:02:49 +00:00
Antony Dovgal 7800711d34 MFH: fix leak when binding a variable to the same placeholder several times 2006-09-12 11:42:44 +00:00
Dmitry Stogov 7e17f8591a Fixed bug #38772 (inconsistent overriding of methods in different visibility contexts) 2006-09-12 11:01:16 +00:00
Antony Dovgal 1a6cd5162e remove a leftover 2006-09-12 10:54:01 +00:00
Antony Dovgal 7b588b5bcd fix test 2006-09-12 10:42:32 +00:00
Ilia Alshanetsky bb9a9f2b98 Typo fix from Steph
Added note about CLI and INI search path
2006-09-11 23:11:18 +00:00
Johannes Schlüter 6415ef51e9 - MFH: Print the type of the original value 2006-09-11 21:21:43 +00:00
Ilia Alshanetsky 4bb51d165a BFN 2006-09-11 19:57:45 +00:00
Sara Golemon 93c8a45083 MFH: Bug #38687 - sockaddr local storage insufficient for all sock families 2006-09-11 19:18:07 +00:00
Johannes Schlüter 6a1b4c99c7 - MFH: Fix #37923 (Display constant value in reflection::export) 2006-09-11 17:08:42 +00:00
Ilia Alshanetsky f4a75d91d2 Fixed bug #38096 (large timeout values ignored on 32bit machines in
stream_socket_accept() and stream_socket_client()).
2006-09-11 14:52:21 +00:00
Antony Dovgal f3ae2fea43 BFN 2006-09-11 14:30:17 +00:00
Antony Dovgal d6ee9d4810 MFH: fix #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper) 2006-09-11 14:30:08 +00:00
Antony Dovgal 0a1f5d12a1 fix tests 2006-09-11 14:17:51 +00:00
Antony Dovgal 5a9f40a46a add tests 2006-09-11 14:13:25 +00:00
Ilia Alshanetsky 65c046b200 Upgrading updates from Steph 2006-09-11 14:10:18 +00:00
Antony Dovgal 6d040bf67a fix test 2006-09-11 08:08:20 +00:00
Dmitry Stogov 567a4785b3 Don't try to do safe connection close in case of FastCGI protocol error 2006-09-11 07:22:40 +00:00
Ilia Alshanetsky f739a43906 Fixed a typo 2006-09-11 01:36:20 +00:00
Hannes Magnusson 7e3c017e5a dissallowing->disallowing 2006-09-10 22:59:28 +00:00
Antony Dovgal 334c36ac7c new tests 2006-09-10 22:11:29 +00:00
Antony Dovgal 4dd2a598f3 add new test 2006-09-10 19:42:12 +00:00
Hannes Magnusson 0ce31d14f5 MFH: proots 2006-09-10 17:01:51 +00:00
Hannes Magnusson b6a5941b97 MFH: date_timezone_set() needs both arguments
MFH: throw exception in DateTimeZone::__construct() when no arguments are passed
2006-09-10 16:34:08 +00:00
Hannes Magnusson 73161f33d4 Add *.lo into .cvsignore 2006-09-10 14:03:00 +00:00
Hannes Magnusson bc8377a81c Make ReflectionFunctionAbstract abstract
- Move ReflectionFunctionAbstract::__construct to ReflectionFunction
- Move ReflectionFunctionAbstract::__toString to ReflectionFuncion
- Delcare ReflectionFunctionAbstract::__toString abstract
- fix couple of typos
2006-09-10 13:25:47 +00:00
Antony Dovgal 9fa594c2dd fix coverity issue #197
"I can't think of a reason to pass a NULL buf" (c) Wez
2006-09-10 13:01:37 +00:00
Nuno Lopes 618e62325e fix lcov processing with gcc 4.1 (some .h files were not copied) 2006-09-10 12:37:44 +00:00
Antony Dovgal 299af46146 more improvements 2006-09-10 11:44:51 +00:00
Antony Dovgal 42d4e3533e MFH: improve the script 2006-09-10 11:26:53 +00:00
Rasmus Lerdorf 935b0c88e9 Minor tweak to the file upload hooks. The MULTIPART_EVENT_FORMDATA event
was only triggering when an input filter was applied.  This simple change
makes the event also trigger when no filter is applied.  The newlength
pointer is set to NULL to let a downstream module differentiate between
the two cases.
2006-09-09 22:06:27 +00:00
Hannes Magnusson 0222d506c2 - Remove register_globals from the "different" section
- Add allow_url_include = Off
 - compatability -> compatibility and other typos
2006-09-09 21:56:58 +00:00
Hannes Magnusson 7c5119c5a9 Add E_RECOVERABLE 2006-09-09 21:43:11 +00:00
Hannes Magnusson 413de3f4a5 Removed duplicated entry 2006-09-09 21:14:05 +00:00
Hannes Magnusson ef4ff6fe9e CURL->cURL 2006-09-09 20:04:50 +00:00
Rasmus Lerdorf 3879a66876 Fix tense 2006-09-09 17:03:48 +00:00
Rasmus Lerdorf 6dbe4adbc6 One more typo 2006-09-09 17:02:56 +00:00
Rasmus Lerdorf 194230c3a6 Cleanup 2006-09-09 16:54:01 +00:00
Derick Rethans 6c18da0d2a - Update news. 2006-09-09 12:29:08 +00:00
Derick Rethans 0c8042dc49 - MFH: The .c file is generated... so updating the .re file and cleaning up WS. 2006-09-09 12:26:33 +00:00
Antony Dovgal d577b8058c MFH: fix #38759 (PDO sqlite2 empty query causes segfault) 2006-09-09 10:59:05 +00:00
Antony Dovgal 51fbffba2f MFh: fix #38721 (date_parse() invalid read) 2006-09-08 20:22:47 +00:00
Antony Dovgal 5c6f438319 implement feature request #38731 (openssl_pkey_new does not support DSA key generation)
patch by marci at balabit dot hu
2006-09-08 20:10:47 +00:00
Hannes Magnusson 267b0e9b03 Bump libxslt version to 1.1.0 (closes bug#35589) 2006-09-08 16:41:01 +00:00
Nuno Lopes b860e9a3c2 add the script to run diagnostic tests on zend_parse_parameters*() usage, per Andrei's request 2006-09-08 16:35:17 +00:00
Dmitry Stogov b0c4150967 Prevent opening of empty filename "" 2006-09-08 05:52:00 +00:00
Marcus Boerger 7e563e9215 - Fix tiny mistake 2006-09-07 21:17:13 +00:00
Michael Wallner 01ee23d980 - MFH: fix warnings 2006-09-07 14:24:42 +00:00
Ilia Alshanetsky 7f2cf9b373 Fixed memory leaks in openssl test #004 2006-09-07 14:11:06 +00:00
Antony Dovgal 88b59df262 add new tests 2006-09-07 11:48:30 +00:00
Rob Richards 36505f802c MFH: fix def file for 2.6.26 (xmlXPathCompiledEvalToBoolean required in .27) 2006-09-07 11:25:14 +00:00
Rob Richards f11c99638e MFH: update def file (2.6.26) 2006-09-06 23:49:00 +00:00
Edin Kadribasic cb5ad145ab Fixed bug #38190 (threading issues on windows 2003) 2006-09-06 21:44:45 +00:00
Pierre Joye 3f0f73beba - bump version, 5.2.0 will have zip-2.0.0-stable 2006-09-06 17:38:36 +00:00
Ilia Alshanetsky 8e86a189ec Fixed bug #38464 (array_count_values() mishandles numeric strings). 2006-09-06 17:25:57 +00:00
Pierre Joye e85a378770 - wrong cast, strlen is int 2006-09-06 17:24:41 +00:00
Nuno Lopes c55eda9f3b fix memleak of pcre study data 2006-09-06 16:30:59 +00:00
Nuno Lopes b772a83282 fix one more parameter (int*->int) 2006-09-06 15:31:48 +00:00
Nuno Lopes eee95ef3f0 MFH zend_parse_parameters() fixes 2006-09-06 15:19:41 +00:00
Pierre Joye ad58ad265b - MFH: zip_open takes only one parameter (Thx Nuno L.) 2006-09-06 13:03:55 +00:00
Antony Dovgal 37635d93e6 fix leak in pg_copy_to() when invalid resource was passed 2006-09-06 12:40:56 +00:00
Antony Dovgal 7d7f84562c do not search for empty strings with strpos() and strrpos() 2006-09-06 12:07:32 +00:00
Nuno Lopes 47713b1eb7 more int->zend_bool conversions 2006-09-06 11:54:29 +00:00
Antony Dovgal b9351ab4b1 fix leaks & uninitialized vars
add test
2006-09-06 11:34:43 +00:00
Dmitry Stogov 76d748f372 Fixed support for endpoint's URL without <path> part (Rob) 2006-09-06 11:03:45 +00:00
Dmitry Stogov 0c3c55edac Fixed php_admin* bypass by ini_restore() 2006-09-06 08:54:44 +00:00
Derick Rethans 5d6f6783ae - MFH: Added support for the full ISO week number format. (2006-W52-7) 2006-09-06 07:34:51 +00:00
Dmitry Stogov afb8af1f5f Reverted last Ilia's patch (for bug #38579).
The patch didn't fix the bug and made new one.
2006-09-06 06:37:42 +00:00
Ilia Alshanetsky bd5e8f77bd BFN 2006-09-05 15:50:37 +00:00
Ilia Alshanetsky 229137cad4 Fixed bug #38579 require_once/include_once optimization causes files to be
loaded multiple times.
2006-09-05 15:50:07 +00:00
Nuno Lopes aa6593f984 sync code and tests between HEAD and PHP_5_2 branches. what a confusion... 2006-09-05 15:23:26 +00:00
Nuno Lopes dc8895ed82 finish the cleaning. also add a new test 2006-09-05 14:55:56 +00:00
Antony Dovgal c57bfd9a66 add test 2006-09-05 14:04:41 +00:00
Antony Dovgal 52d0f82dc3 MFH: init variables 2006-09-05 13:59:26 +00:00
Nuno Lopes dadc6b8a3b remove some leftover code from the time tidy would throw exceptions 2006-09-05 13:50:22 +00:00
Nuno Lopes 4cff5db8f4 int->zend_bool where possible 2006-09-05 12:39:20 +00:00
Nuno Lopes 3ec9141f91 first fix from my new zend_parse_parameters_* checker 2006-09-05 12:30:35 +00:00
Edin Kadribasic aebc2fff07 CWD php.ini search news 2006-09-05 11:58:05 +00:00
Edin Kadribasic ef058cdd9a Search for php.ini in CWD in all sapi's *but* CLI.
This patch reverses wrong behavaiour introduced before the
release of 5.1.0.

# We should probably consider killing adding CWD php.ini lookup
# altogether.
2006-09-05 11:54:15 +00:00
Antony Dovgal 8c53ff1e80 fix leak in imap_utf8(), avoid extra strlen() call
add test
2006-09-05 11:24:49 +00:00
Antony Dovgal c622ded866 fix typo, add test 2006-09-05 10:36:24 +00:00
Nuno Lopes 731b68fbc5 fix gcc warning 2006-09-04 19:14:59 +00:00
Nuno Lopes ae77214f7f fix gcc warning 2006-09-04 18:59:01 +00:00
Ilia Alshanetsky fc60217820 Fixed bug #38693 (curl_multi_add_handle() set curl handle to null). 2006-09-04 16:31:27 +00:00
Dmitry Stogov 87eaaf494b Removed unreachable handlers 2006-09-04 13:58:54 +00:00
Dmitry Stogov 8166284cfd Fixed bug #38700 (SoapClient::__getTypes never returns) 2006-09-04 10:52:34 +00:00
Dmitry Stogov 75876d57be Fixed VIRTUAL_DIR inconsistency 2006-09-04 08:18:15 +00:00
Dmitry Stogov a5107c1803 Fixed "signed/unsigned mismatch" warning. 2006-09-04 07:26:48 +00:00
Ilia Alshanetsky 4427552b60 Fixed bug #38661 (mixed-case URL breaks url-wrappers). 2006-09-03 16:32:27 +00:00
Pierre Joye 73c5259362 - new openssl constants entry 2006-09-03 15:49:49 +00:00
Pierre Joye 532f577fe9 - add OPENSSL_VERSION_TEXT and OPENSSL_VERSION_NUMBER constants
- skip tests if openssl version < 0.9.7j (known to work)
2006-09-03 15:31:01 +00:00
Nuno Lopes 2203492799 little typo (bug #38531) 2006-09-03 11:39:45 +00:00
Johannes Schlüter 688efae2d0 - Remove version number here as already done in HEAD 2006-09-03 11:27:50 +00:00
Michael Wallner eca5331a81 - attempt to fix #38696 2006-09-03 09:09:56 +00:00
Johannes Schlüter eb958c080e - MFH: Add HAVE_REFLECTION define for win32 (by Steph) 2006-09-02 19:13:23 +00:00
Hannes Magnusson 948d84fd67 fix test 2006-09-02 15:42:00 +00:00
Nuno Lopes 5737b1e925 and add a test 2006-09-01 23:31:52 +00:00
Nuno Lopes 0f6f089698 omg. take #2 to fix the bug. sorry.. 2006-09-01 23:25:29 +00:00
Nuno Lopes c8b2f761f6 fix possible crash 2006-09-01 23:13:20 +00:00
Edin Kadribasic 8251f8b8d0 MFH: Obsolete, prepaing for new installer script 2006-09-01 20:25:32 +00:00
Nuno Lopes dc2bb45440 currently it's RC4-dev 2006-09-01 13:55:22 +00:00
Ilia Alshanetsky 73eba86360 Back to dev 2006-09-01 01:29:05 +00:00
Ilia Alshanetsky 98d26b6b18 5.2.0RC3 2006-09-01 01:06:14 +00:00
Pierre Joye d63e411e9a - MFH 2006-08-31 22:52:54 +00:00
Pierre Joye 23919d9115 - MFH 2006-08-31 22:34:32 +00:00
Antony Dovgal 78c0279bb6 add test 2006-08-31 22:19:35 +00:00
Pierre Joye 2259578afa - MFH: test for mulitple filter calls 2006-08-31 22:17:44 +00:00
Antony Dovgal 5d81cd24c9 MFH 2006-08-31 22:12:10 +00:00
Pierre Joye 5c7e3ba791 - skip these tests for RC3
- CGI does not read commandline options when it sees REQUES_METHOD
 - errors are shown two times now, to be checked post RC3
2006-08-31 20:17:03 +00:00
Pierre Joye 72820abd7b - MFH: pecl bug #8316,
empty strings are not int or float, return false (due to popular demand)
2006-08-31 18:29:29 +00:00
Antony Dovgal 75b8cd741b last portion of z/Z fixes 2006-08-31 16:15:24 +00:00
Pierre Joye 50e9994b2c - clean the auto trim (behaves like php_trim now)
- simplifies bool
- fix octal parsing
- boost int/hex/octal validate_int
2006-08-31 15:50:56 +00:00
Antony Dovgal 5bc435c4e8 fix typo in errmsg 2006-08-31 15:42:18 +00:00
Antony Dovgal 94b3210c38 ext/filter z/Z fixes 2006-08-31 15:17:23 +00:00
Antony Dovgal c2a38c607b more z/Z fixes 2006-08-31 14:41:24 +00:00
Antony Dovgal 0c482b5c64 more z/Z fixes 2006-08-31 14:21:21 +00:00
Antony Dovgal de23f39d18 MFH: z/Z problem fixes 2006-08-31 13:58:31 +00:00
Antony Dovgal 821674720a fix test 2006-08-31 13:50:11 +00:00
Antony Dovgal fb21b5d059 MFH: fix problem with mixed arguments accepted as zval* causing leaks/segfaults when converting to other types 2006-08-31 13:48:17 +00:00
Dmitry Stogov f9d9c4a6aa FastCGI environment variables must not be overriden by system environment variables 2006-08-31 13:11:58 +00:00
Dmitry Stogov 54123daa8d Show name of storage layer in case of initialization fault. 2006-08-31 11:53:57 +00:00
Antony Dovgal c4e9ee2586 minor changes in iconv_substr() to avoid zval converting 2006-08-31 11:17:47 +00:00
Antony Dovgal f74fbc1a06 fix warnings about nonextistent functions 2006-08-31 11:10:23 +00:00
Antony Dovgal de3d3ced29 no such function 2006-08-30 22:53:51 +00:00
Antony Dovgal 434d5e9be4 MFH: fix leak, add test 2006-08-30 22:34:48 +00:00
Antony Dovgal 235e3939d5 s/pinter/pointer/ 2006-08-30 22:29:24 +00:00
Antony Dovgal 1dd6ee3f6d fix segfault/leak, add test 2006-08-30 21:51:08 +00:00
Antony Dovgal 1f138e7e01 MFH: fix segfault in openssl_seal(), add test 2006-08-30 20:50:04 +00:00
Ilia Alshanetsky 26db0920d3 pcre news 2006-08-30 20:08:05 +00:00
Ilia Alshanetsky 45debc52ef Upgrade PCRE lib to 6.7 2006-08-30 20:00:23 +00:00
Ilia Alshanetsky 307b3bcbb4 Fixed bug #33770 (https:// or ftps:// do not work when --with-curlwrappers
is used and ssl certificate is not verifiable).
2006-08-30 17:49:10 +00:00
Antony Dovgal f231b76ba6 fix leak, add test 2006-08-30 16:46:59 +00:00
Antony Dovgal 644a796525 MFH: fix leak in iptcembed() 2006-08-30 16:30:14 +00:00
Antony Dovgal b6ced95187 change ini handlers to produce E_ERROR if they are called during startup 2006-08-30 16:24:40 +00:00
Antony Dovgal a8a3701ba6 fix leak 2006-08-30 16:12:43 +00:00
Antony Dovgal f8fd45a735 MFH: change E_ERROR to E_WARNING when invalid argument has been passed
make sure ini_set() doesn't reset PS(mod) and PS(serializer) to invalid values
2006-08-30 15:43:10 +00:00
Antony Dovgal 86bf55a3d8 MFH: fix #38653 (memory leak in ReflectionClass::getConstant()) 2006-08-30 10:42:49 +00:00
Hannes Magnusson d6ec9d21ec fix test 2006-08-30 09:44:53 +00:00
Derick Rethans 8388180466 - Upgrade timezone db to 2006k. 2006-08-29 20:20:05 +00:00
Ilia Alshanetsky 1b9e18d471 Corrected problems introduced by previous commit.
# Issue found by Stefan
2006-08-29 19:50:04 +00:00
Ilia Alshanetsky 5ea3080546 Fixed bug #38637 (curl_copy_handle() fails to fully copy the cURL handle). 2006-08-29 17:10:40 +00:00
Ilia Alshanetsky 7c618c40bc Finalize implode() patch 2006-08-29 14:32:16 +00:00
Antony Dovgal ffc3d4a076 fix win32 build
EG(precision) can be changed in runtime, even in php_implode() (hint: __toString()), so please think twice before optimizing
2006-08-29 12:20:18 +00:00
Rob Richards 664a7c75d4 BFN 2006-08-28 23:38:49 +00:00
Rob Richards c6b9662372 fix #38474 (getAttribute select attribute by order, even when prefixed)
add test
2006-08-28 23:36:23 +00:00
Ilia Alshanetsky 914d362176 Adjust code to avoid TSRMLS_FETCH 2006-08-28 23:33:37 +00:00
Antony Dovgal 7384c12b11 MFH: make sure ext/standard is down before ext/session (fixes #38534) 2006-08-28 19:57:57 +00:00
Antony Dovgal ecfa880820 MFH: set BG(locale_string) to NULL on shutdown (partly fixes #38534) 2006-08-28 18:58:47 +00:00
Antony Dovgal 613237188a typofix 2006-08-28 17:18:03 +00:00
Antony Dovgal 4e971e8874 MFH: fix #38199 (fclose() unable to close STDOUT and STDERR) 2006-08-28 17:15:03 +00:00
Antony Dovgal 191d68618a delete commented part, as it was done in HEAD 2006-08-28 10:59:18 +00:00
Antony Dovgal f7ba7232d8 MFH: fix #38624 (Strange warning when incrementing an object property and exception is thrown from __get method) 2006-08-28 10:27:58 +00:00
Antony Dovgal 615f2d7295 fix ZTS build 2006-08-28 09:56:28 +00:00
Hannes Magnusson 2d3056e94f MFH:
- Fixed bug #33895 (missing math constants).
 - Remove M_PI from math.c (its defined in php_math.h)
2006-08-27 19:14:43 +00:00
Ilia Alshanetsky 78d7b0bf0e Optimize the operation of implode() on non-string parameters 2006-08-27 19:06:09 +00:00
Hannes Magnusson a180abdbfd fix tests on freebsd 2006-08-27 15:06:53 +00:00
Pierre Joye 46ce362ff3 - don't rely/use VCWD_REALPATH, use expand_filepath instead
NB: that'd to be true for all this VCWD mess
2006-08-26 12:23:43 +00:00
Seiji Masugata 100742f7a2 added configure option --disable-mbregex-backtrack. 2006-08-25 16:26:50 +00:00
Pierre Joye 8e54de1d77 - bundled matches pecl 1.7.1 2006-08-25 16:03:00 +00:00
Edin Kadribasic 21ac19eb94 Fixed #37602 by olek at neurosoft dot pl 2006-08-25 12:01:57 +00:00
Seiji Masugata 99211d0444 Initial commit. Updated bundled oniguruma library (used for multibyte regular expression) to 4.3.1. 2006-08-24 17:20:58 +00:00
Seiji Masugata 74685a184f Initial commit. Updated bundled oniguruma library (used for multibyte regular expression) to 4.3.1. 2006-08-24 17:11:29 +00:00
Seiji Masugata 3ea2152839 Updated bundled oniguruma library (used for multibyte regular expression) to 4.3.1. 2006-08-24 17:03:47 +00:00
Seiji Masugata 560208b1c6 added returned value in mb_get_info( ). 2006-08-24 16:52:36 +00:00
Pierre Joye 5c8533aa76 - solve the relative path issues in TS environment 2006-08-24 16:37:14 +00:00
Antony Dovgal a5bb290f28 it's not a PEAR only issue 2006-08-24 16:00:43 +00:00
Antony Dovgal d8870f562f sys/msg.h does not exist on MacOS X 2006-08-24 13:18:24 +00:00
Antony Dovgal d221f46ab6 update version in phpinfo() 2006-08-24 13:03:04 +00:00
Antony Dovgal f6bbb02da6 bump version number 2006-08-24 12:46:54 +00:00
Antony Dovgal 567cf55085 compat fixes 2006-08-24 12:05:19 +00:00
Antony Dovgal f1b1c65413 release 1.2.2 from 5_2 branch, as HEAD doesn't have safe_mode anymore 2006-08-24 11:59:15 +00:00
Antony Dovgal fd9c8d85a6 the error message is different on different OSes and zlib versions 2006-08-24 11:30:35 +00:00
Antony Dovgal 806d9fe71b tm_yday may be 0 2006-08-24 11:27:20 +00:00
Antony Dovgal 0584dc011c MFH: fix segfault in strptime() on 64bit Linuxes, caused by the missing declaration 2006-08-24 11:06:02 +00:00
Dmitry Stogov c42b3bf689 Fixed bug #38315 (Constructing in the destructor causes weird behaviour) 2006-08-24 09:42:35 +00:00
Dmitry Stogov 92f1b46fbb Added SoapServer::setObject() method (it is a simplified version of SoapServer::setClass() method). 2006-08-24 06:18:30 +00:00
Andrei Zmievski fdd1370d99 Namespace more PCRE functions. 2006-08-23 20:39:11 +00:00
Pierre Joye 75e9e12093 - MFH: add support for entities in hexadecimal format, like &copy; can
be passed as &#169 or &#xA9; (sync with gd)
2006-08-23 20:22:31 +00:00
Antony Dovgal b7f2d8f17e MFH: fix possible crash in free_statement() 2006-08-23 19:15:57 +00:00
Dmitry Stogov 27d3021704 Fixed bug #38265 (heap corruption) 2006-08-23 13:00:48 +00:00
Pierre Joye aecbddef42 - MFH: please don't use base64 to test image files, it does not work
fix tests on 64bit platfrom
2006-08-23 12:00:54 +00:00
Antony Dovgal 6a70b05660 MFH: build ext/spl and ext/reflection as static (fixes #38556) 2006-08-23 09:47:21 +00:00
Hannes Magnusson de3393e63f Fix arginfo for SplObjectStorage 2006-08-23 09:32:24 +00:00
Antony Dovgal 41bd5790cf MFH: make run-tests to work with directories containing spaces (bug #38558)
Patch by danielc at analysisandsolutions dot com
2006-08-23 07:02:59 +00:00
Antony Dovgal a3b62c8eed add test for real 2006-08-22 20:10:50 +00:00
Antony Dovgal d5c9b41db1 fix implode() function (see http://news.php.net/php.qa/26876)
add test
2006-08-22 19:55:56 +00:00
Ilia Alshanetsky d4ff427c55 Fixed bug #38511, #38473, #38263 (Fixed session extension request shutdown
order to ensure it is shutdown before the extensions it may depend on).
2006-08-22 16:47:23 +00:00
Antony Dovgal 05a1ac2a35 MFH: fix separate TSRM build 2006-08-22 13:01:44 +00:00
Dmitry Stogov f7e99a2162 Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too low). 2006-08-22 12:04:53 +00:00
Antony Dovgal 08a9ab02ba minor improvements 2006-08-22 11:09:12 +00:00
Dmitry Stogov 7dfbf5b2e4 Fixed bug #38488 (Access to "php://stdin" and family crashes PHP on win32) 2006-08-22 06:15:26 +00:00
Dmitry Stogov 4180155a47 Fixed "win32" storage manager 2006-08-22 05:54:15 +00:00
Dmitry Stogov 3fd1e9c3db Fix "make test" on win32 2006-08-22 05:00:51 +00:00
Antony Dovgal 36dffb8e3b typo 2006-08-21 17:12:02 +00:00
Ilia Alshanetsky 8d770ee2ef Fixed bug #38535 (memory corruption in pdo_pgsql driver on error retrieval
inside a failed query executed via query() method).
2006-08-21 16:53:50 +00:00
Antony Dovgal 70e59e2999 MFH: fix PECL bug #8112 (OCI8 persistent connections misbehave when Apache process times out) 2006-08-21 16:41:13 +00:00
Ilia Alshanetsky 672da2daeb MFH: sa_len compile fix for IRIX
# Patch by Sascha
2006-08-20 18:24:11 +00:00
Ilia Alshanetsky 2a41a50216 Fixed bug #38524 (strptime() does not initialize the internal date storage
structure).
2006-08-20 18:20:07 +00:00
Ilia Alshanetsky 8405e1741f Use proper write callback 2006-08-19 16:20:08 +00:00
Antony Dovgal efbb2a4838 fix #38486 (openssl extension does not build correctly) 2006-08-18 13:02:38 +00:00
Antony Dovgal a33913d960 MFH: add a notice to fgetcsv() when delimiter or enclosure is longer than 1 char
(feature request #38496)
2006-08-18 12:50:57 +00:00
Antony Dovgal 92963d12a6 fix #38485 (bz2 extension does not compile with GCC 4.1) 2006-08-17 20:46:51 +00:00
Antony Dovgal 1f3b6ebc89 initialize static buffer with 0's 2006-08-17 14:32:35 +00:00
Ilia Alshanetsky d7209229a3 Back to dev 2006-08-17 14:04:09 +00:00
Ilia Alshanetsky c7d83d7ba3 5.2.0RC2 2006-08-17 13:44:36 +00:00
Ilia Alshanetsky 3a211712eb Increased default memory limit to 16 megabytes to accommodate for a more
accurate memory utilization measurement.
2006-08-17 13:43:08 +00:00
Ilia Alshanetsky 3d87be2674 Added skip condition for sqlite2 driver, that uses more forgiving emulated
prepared statements.
2006-08-16 14:09:56 +00:00
Rob Richards 7ded15aadd BFN 2006-08-15 22:48:07 +00:00
Rob Richards adf10989b0 fix bug #38454 (warning upon disabling handler via xml_set_element_handler)
fix bug #38427 (unicode causes xml_parser to misbehave)
add test
2006-08-15 22:47:11 +00:00
Antony Dovgal be316018fd apply correct fix for bug #38461 2006-08-15 20:30:42 +00:00
Pierre Joye 8dc61360c6 - add openssl_csr_get_subject() and openssl_csr_get_public_key() 2006-08-15 20:27:22 +00:00
Antony Dovgal 118a6a94e1 MFH: fix #38467 (--enable-versioning causes make fail on OS X) 2006-08-15 20:13:47 +00:00
Antony Dovgal f3c1722b0c MFH: don't try to use "auto", "none" and "pass" charsets returned from mbstring 2006-08-15 15:09:38 +00:00
Antony Dovgal 126b6ecd85 BFN 2006-08-15 13:19:58 +00:00
Antony Dovgal 08d398aa48 MFH: fix #38461 (setting private attribute with __set() produces segfault) 2006-08-15 13:19:13 +00:00
Antony Dovgal 3a0f857173 minor CS/WS fixes 2006-08-15 13:08:34 +00:00
Antony Dovgal 88e752c007 MFH: error message might be NULL 2006-08-15 12:27:24 +00:00
Antony Dovgal 8c170d480a MFH: OCIBreak() is not supported on Windows 2006-08-15 12:19:46 +00:00
Antony Dovgal 4ad05e0e0f add test 2006-08-15 08:58:40 +00:00
Antony Dovgal c3209b53d2 new tests 2006-08-15 08:54:15 +00:00
Michael Wallner f5ea2dfac4 MFH:
- fix leak when cloning DateTimeZone, detected by Antony
 - don't fetch objects multiple times when cloning
2006-08-15 06:53:21 +00:00
Pierre Joye 9a79a2f37c - add OPENSSL_KEYTYPE_EC constant
- openssl_pkey_get_details(), returns the key details
2006-08-15 00:38:05 +00:00
Antony Dovgal 2dbce548a8 fix previous patch 2006-08-14 21:08:16 +00:00
Antony Dovgal a3d3be5201 BFN 2006-08-14 20:11:52 +00:00
Antony Dovgal d677ad6789 fix #38451 (PDO_MYSQL doesn't compile on Solaris) 2006-08-14 20:11:31 +00:00
Nuno Lopes ddb4d1fdcc move static declaration to *.c files
mroe static/const keywording
2006-08-14 20:08:18 +00:00
Michael Wallner 8657927354 MFH: add cloning support to DateTime classes 2006-08-14 20:03:11 +00:00
Frank M. Kromann 8eaa9eae52 MFH: Cleanup before reusing failed persistant connection. Better formating of timestamp and decimal values 2006-08-14 18:40:08 +00:00
Ilia Alshanetsky b4da7e6672 Added missing file entry 2006-08-14 16:34:24 +00:00
Ilia Alshanetsky 41696eb95e Updated libsqlite in ext/pdo_sqlite to 3.3.7. 2006-08-14 16:16:42 +00:00
Ilia Alshanetsky e8f30d4502 Upgraded bunbled SQLite lib to 3.3.7 2006-08-14 16:15:29 +00:00
Nuno Lopes 0091c7e1b3 more static keywording
also remove the libtidy patch, as it is too old. users should use a newer libtify anyway
2006-08-14 15:09:08 +00:00
Pierre Joye 4b7358e4e5 - nuke unused parameter (not present in old versions) 2006-08-14 15:07:52 +00:00
Antony Dovgal f42e9f5e15 MFH: fix #38450 (constructor is not called for classes used in userspace stream wrappers) 2006-08-14 15:01:29 +00:00
Nuno Lopes 615a15d5fa a few more static keywording 2006-08-14 14:53:23 +00:00
Rob Richards c62d5fd115 BFN
fix typo
2006-08-14 11:59:24 +00:00
Rob Richards a0c941aad1 fix bug #38424 (Different attribute assignment if new or existing)
add test
2006-08-14 11:57:50 +00:00
Rob Richards 3048cd7558 fix underlying issue for bug #38438 2006-08-14 11:29:15 +00:00
Antony Dovgal 2f01ddff7f make sure USE_ZEND_ALLOC is always 1 2006-08-14 10:29:20 +00:00
Antony Dovgal cb9686b0e5 fix segfault and leak in ext/xmlrpc
add tests
2006-08-14 08:18:01 +00:00
Pierre Joye 284ce40c4a - MFH: locateName should not change the state/error, can be used to test
an entry
2006-08-13 23:43:11 +00:00
Pierre Joye 8d07735332 - MFP:
- add overwrite mode to ZipArchive::open, always starts a new archive
 - Fix safe mode checks on extract
 - Fix possible leaks when a safe mode error has been raised
2006-08-13 21:09:59 +00:00
Pierre Joye 0587fb32ba - remove package.xml, not needed in php-src but only in pecl 2006-08-13 20:27:07 +00:00
Pierre Joye a5b359096c - MFH: remove dl() usage 2006-08-13 19:34:40 +00:00
Pierre Joye 32f20cc217 - MFH: remove dl() usage 2006-08-13 19:24:17 +00:00
Ilia Alshanetsky baff4e0ab5 Fixed bug #38438 (DOMNodeList->item(0) segfault on empty NodeList) 2006-08-13 15:02:41 +00:00
Marcus Boerger 7d0b17fc67 - MFH Add link 2006-08-13 10:37:57 +00:00
Pierre Joye 9d26a88c3d - temp fix for a segfault happening when one adds two entries with
the same name
2006-08-13 00:52:59 +00:00
Nuno Lopes a16935fd42 const/static keywording 2006-08-12 19:33:54 +00:00
Pierre Joye d1ad062be8 - MFH: NL 2006-08-12 17:05:08 +00:00
Antony Dovgal 2eef59dc59 MFH: fix #38431 (xmlrpc_get_type() crashes PHP on objects) 2006-08-11 17:43:04 +00:00
Nuno Lopes c45c9748dc fix #38402: wrong proto for Array*::offsetGet() 2006-08-11 17:05:23 +00:00
Ilia Alshanetsky 5b4ecd6028 MFB: Extend safe_mode/open_basedir checks to imap_reopen() as well. 2006-08-11 15:07:29 +00:00
Antony Dovgal a6088ffc5a fix test 2006-08-11 10:35:22 +00:00
Ilia Alshanetsky 7dfae526c7 Fixed proto 2006-08-10 21:10:03 +00:00
Ilia Alshanetsky 657329b981 missing bug fixing news 2006-08-10 18:34:52 +00:00
Ilia Alshanetsky 2ce982b433 Fixed condition 2006-08-10 15:02:41 +00:00
Ilia Alshanetsky a4d2f04307 Fixed overflow on 64bit systems in str_repeat() and wordwrap().
Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or safe_mode are
enabled.

# Patches by Stefan E.
2006-08-10 14:40:13 +00:00
Ilia Alshanetsky e5fe441cbd Added support for httpOnly flag for session extension and cookie setting
functions.

# Original patch by Scott MacVicar
2006-08-10 13:50:56 +00:00
Antony Dovgal 1ec10ac8c7 typos in comments and other minor improvements 2006-08-10 13:43:18 +00:00
Antony Dovgal ae61bb7bb8 improve connection character set detection:
* output a warning if invalid character set was passed to the function
* use NLS_LANG by default
2006-08-10 12:15:58 +00:00
Nuno Lopes e43dc5c95b sync install instructions with the phpdoc xml sources 2006-08-09 23:22:49 +00:00
Antony Dovgal 830ab81bfa BFN 2006-08-09 15:27:42 +00:00
Antony Dovgal c9c05bece9 add support for NCLOBs
fix #35973 (Error ORA-24806 occurs when trying to fetch a NCLOB field)
2006-08-09 15:24:27 +00:00
Ilia Alshanetsky 43fca8a3f8 Fixed bug #38394 (PDO fails to recover from failed prepared statement
execution).
2006-08-09 14:45:00 +00:00
Antony Dovgal 946594bb6b MFH: fix #38161 (oci_bind_by_name() returns garbage when Oracle didn't set the variable) 2006-08-09 12:15:43 +00:00
Antony Dovgal e3cfc40cac fix leak on failure 2006-08-09 11:49:06 +00:00
Antony Dovgal 4c5691bd02 MFH: fix #8112 (Persistent connections misbehave when Apache process times out) 2006-08-09 10:16:50 +00:00
Michael Wallner 98d58a80c9 MFH: implement #38357 (dbase_open can't open DBase 3 dbf file) 2006-08-08 15:55:27 +00:00
Ilia Alshanetsky d58b3869a7 Fixed bug #38377 (session_destroy() gives warning after
session_regenerate_id()).
2006-08-08 14:54:49 +00:00
Antony Dovgal cf3b6416c4 tix fypo 2006-08-08 13:49:27 +00:00
Stanislav Malyshev 0617904d0a fix bug with variables clobbered by longjmp 2006-08-08 13:34:14 +00:00
Antony Dovgal 03ee807824 zend_hash_get_current_key_ex() returns string_len + 1, so we need to subtract 1 to get the real length 2006-08-08 13:12:00 +00:00
Pierre Joye 6dbb90af21 - fix compiler warnings 2006-08-08 11:56:36 +00:00
Antony Dovgal 6277ba98d9 there is no realiable way to detect memrchr() presence because of a mess in glibc
so let's use our own implementation
2006-08-08 10:54:24 +00:00
Pierre Joye 1f69ad5aa1 - compiler warnings 2006-08-08 10:36:58 +00:00
Antony Dovgal 1a4b715ef2 use memrchr/zend_memrchr instead of strrchr 2006-08-08 10:22:25 +00:00
Antony Dovgal 9596bda7fc add new test 2006-08-08 09:51:06 +00:00
Derick Rethans 5794832a72 - Added some docs here so that nobody needs to figure it out once more. 2006-08-08 09:46:46 +00:00
Antony Dovgal b8617a6183 add zend_memrchr() 2006-08-08 09:41:09 +00:00
Marcus Boerger 05206b42d8 - Speling 2006-08-08 00:40:19 +00:00
Marcus Boerger efc6ff0c39 - Test name must not be more than a single line 2006-08-07 23:28:05 +00:00
Marcus Boerger c1c2a0d294 - MFH Fixed Bug #38064 ignored constructor visibility 2006-08-07 23:24:33 +00:00
Antony Dovgal 886d302575 suppress errors from date() if no date.timezone set
don't try to look for libtool if $sys_libtool_path is empty
2006-08-07 21:27:40 +00:00
Pierre Joye f6b6f0a2f9 - should not have been commited 2006-08-07 20:28:03 +00:00
Antony Dovgal 8a3002d933 fix types of the variables 2006-08-07 20:23:35 +00:00
Ilia Alshanetsky 194b309d2d Fixed memory leak with persistent connections 2006-08-07 17:32:13 +00:00
Ilia Alshanetsky 23a7a275ed Removed extra byte 2006-08-07 16:53:12 +00:00
Dmitry Stogov f5543a428d Fixed bug #38287 (static variables mess up global vars) 2006-08-07 15:15:22 +00:00
Rob Richards ee82fb781a should be RETURN_ not RETVAL_ 2006-08-07 10:15:12 +00:00
Rob Richards 65ae8773b5 asXML() needs to return bool when serializing doc and filename is passed in
do not copy the content of the outputbuffer twice in asXML()
fix compiler warnings
2006-08-07 10:09:52 +00:00
Antony Dovgal 4b77e7f2f7 nuke unused variable 2006-08-07 09:49:53 +00:00
Marcus Boerger fdf1ee39e4 - Update 2006-08-07 08:34:40 +00:00
Marcus Boerger e038500be3 - Fix bug #38290 2006-08-07 07:57:12 +00:00
Antony Dovgal 6c75d82997 use -O0 with --enable-debug 2006-08-06 20:46:02 +00:00
Antony Dovgal b9b1984646 fix test 2006-08-06 20:17:51 +00:00
Antony Dovgal 1a58ec5156 add test 2006-08-06 20:10:19 +00:00
Christian Stocker 42982ac3a1 Fix #38354 (Unwanted reformatting of XML when using AsXML) 2006-08-06 19:38:45 +00:00
Antony Dovgal 07b5c8fe2a MFH: fix #38347 (Segmentation fault when using foreach with an unknown/empty SimpleXMLElement) 2006-08-06 17:41:51 +00:00
Antony Dovgal 861c55b417 long -> int 2006-08-06 14:09:58 +00:00
Marcus Boerger 444f1f2da3 - MFH Fix cvs access through SplFileObject 2006-08-06 13:47:51 +00:00
Antony Dovgal 218aa04f79 avoid extra strlen() call 2006-08-06 13:27:46 +00:00
Antony Dovgal a1a42253d9 fix PECL bug #7827
add small optimization
2006-08-05 20:56:43 +00:00
Antony Dovgal 3eea546142 MFH 2006-08-05 13:17:50 +00:00
Ilia Alshanetsky 305f597696 Improved fix for bug #37671 2006-08-04 22:13:59 +00:00
Antony Dovgal 8e4334159c revert previous patch 2006-08-04 20:55:00 +00:00
Ilia Alshanetsky b20b73cdb1 Fixed bug #37265 (Added missing safe_mode & open_basedir checks to
imap_body()).
2006-08-04 20:31:19 +00:00
Antony Dovgal d17c2ec46d add new test 2006-08-04 15:01:37 +00:00
Antony Dovgal afcbbe2b86 MFH: fix #38322 (reading past array in sscanf() leads to arbitary code execution) 2006-08-04 11:50:15 +00:00
Antony Dovgal 00bc797b68 fix test 2006-08-04 08:11:47 +00:00
Derick Rethans 2e55464f80 - There is a 2.3 now as well. 2006-08-04 06:48:20 +00:00
Antony Dovgal 60ea962aa3 fix leak in php_sapi_filter() 2006-08-03 19:35:23 +00:00
Ilia Alshanetsky 499ca00476 Fixed bug #38303 (spl_autoload_register() supress all errors silently). 2006-08-03 14:49:11 +00:00
Antony Dovgal 5cff1c6e7e MFH: fix #38276 (file_exists() works incorrectly with long filenames on Windows) 2006-08-03 14:17:58 +00:00
Dmitry Stogov 58c2278284 Added version specific registry keys to allow different configurations for different php version. 2006-08-03 13:54:05 +00:00
Dmitry Stogov c946b4d1b2 In addtion to path to php.ini, PHPRC now may specify full file name 2006-08-03 11:04:52 +00:00
Antony Dovgal bc8f1bc4f0 make it consistent 2006-08-03 10:57:41 +00:00
Antony Dovgal c173c26b64 MFH: improve error message 2006-08-03 10:53:15 +00:00
Dmitry Stogov 29e1530cd7 Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs 2006-08-03 09:56:50 +00:00
Antony Dovgal 6112a1266a fix test 2006-08-02 23:29:17 +00:00
Antony Dovgal 5f6145b0fd fix ZTS build 2006-08-02 22:03:47 +00:00
Ilia Alshanetsky 4eecfca79c Fixed bug #38213, #37611, #37571 (wddx encoding fails to handle certain
characters).
2006-08-02 15:44:33 +00:00
Ilia Alshanetsky e79e9fade6 Expose the xml_utf8_encode function. 2006-08-02 15:21:54 +00:00
Antony Dovgal e5635a81af init variable, eliminate compile warning 2006-08-02 10:04:11 +00:00
Antony Dovgal 0c4ef446e2 MFH: fix #38289 (segfault in session_decode() when _SESSION is NULL) 2006-08-02 09:16:52 +00:00
Antony Dovgal e17320651c MFH: implement my own FR #36995
add missing ifdefs
2006-08-01 22:42:11 +00:00
Michael Wallner a5ddba6f80 - update test 2006-08-01 16:49:17 +00:00
Michael Wallner efa04c8a22 MFH: use library error message on time string parse failure 2006-08-01 16:45:40 +00:00
Ilia Alshanetsky 7f52671781 Fixed bug #38168 (Crash in pdo_pgsql on missing bound parameters). 2006-08-01 16:31:29 +00:00
Michael Wallner 68613beb3e MFH:
- fix leaks on multiple calls to DateTime::__construct()
 - throw exception on unparseable time strings in DateTime::__construct()
2006-08-01 15:55:03 +00:00
Ilia Alshanetsky 2b5a53d6b6 Fixed memory leak on unused bound name parameters. 2006-08-01 15:06:01 +00:00
Michael Wallner 5f7750c6e6 MFH:
- OO fixes:
  . no is_ref for objects in PHP5+
  . initialize objects when created with the `new` operator
  . check for proper initialization in child classes
 - fix typo: transistion -> transition
 - add test
2006-08-01 13:28:28 +00:00
Antony Dovgal ad3ad9bb79 MFH: fix #38269 (fopen wrapper doesn't fail on invalid hostname with curlwrappers enabled) 2006-08-01 13:28:03 +00:00
Antony Dovgal 1bf915ca2d improve error message on Win32 2006-08-01 12:08:25 +00:00
Antony Dovgal d14b107e5b BFN 2006-08-01 12:04:20 +00:00
Antony Dovgal bf41e955ed BFN 2006-08-01 08:32:59 +00:00
Antony Dovgal 52e6ede06e MFH: fix #38278 (session_cache_expire()'s value does not match phpinfo's session.cache_expire) 2006-08-01 08:32:07 +00:00
Ilia Alshanetsky c6ace95236 Fixed bug #37445 (Fixed crash in pdo_mysql resulting from premature object
destruction).
2006-07-31 20:18:11 +00:00
Ilia Alshanetsky 624e5f83c8 Fixed tests from being always skipped. 2006-07-31 20:14:40 +00:00
Dmitry Stogov 1354aa9ef4 Prevented possible double call in case of fault 2006-07-31 15:31:01 +00:00
Dmitry Stogov 53025ca377 Fixed crash in SoapClient::__setSoapHeaders() 2006-07-31 13:41:34 +00:00
Christian Stocker 88dfe8cfd9 return false instead of null, if it's an invalid document 2006-07-31 13:05:35 +00:00
Christian Stocker 197396c14e make a NEWS entry about
- Fixed XSLTProcessor::importStylesheet() to return TRUE on success
2006-07-31 12:56:52 +00:00
Christian Stocker e53c538151 return true, if xsl import did work 2006-07-31 12:50:42 +00:00
Antony Dovgal f5b5d34a27 MFH: fix #37581 (oci_bind_array_by_name clobbers input array when using SQLT_AFC, AVC) 2006-07-31 10:30:23 +00:00
Ilia Alshanetsky 610b633096 Fixed compiler warning. 2006-07-31 03:41:20 +00:00
Pierre Joye 6394756dae - #36732 entry
- move openssl bug fixes
2006-07-31 00:41:45 +00:00
Pierre Joye 3786f956e6 - #36732, add req_extensions support to openssl_csr_new and _sign
(ben at psc dot edu)
- fix leaks in openssl_csr_new and sign
2006-07-31 00:33:42 +00:00
Antony Dovgal aa1ced04cb MFH: fix #38173 (Freeing nested cursors causes OCI8 to segfault) 2006-07-30 20:51:24 +00:00
Pierre Joye fb1c592640 - group openssl entries 2006-07-30 17:10:06 +00:00
Pierre Joye 769174c2dc - #28382, add support for x509 extensions 2006-07-30 17:03:13 +00:00
Pierre Joye 5def392ce1 - 38261: openssl_x509_parse leaks with invalid certs 2006-07-30 16:26:20 +00:00
Antony Dovgal 71df07ac9a improve checks and fix #38251 2006-07-30 11:54:17 +00:00
Antony Dovgal d056376bba MFH: fix compile warnings (#38257) 2006-07-30 11:34:02 +00:00
Antony Dovgal 168f53b72b fix bug #38253 (PDO produces segfault with default fetch mode)
add test
2006-07-30 11:19:56 +00:00
Georg Richter 0ba0abbd40 Added testcase for bug #37090 2006-07-30 11:03:30 +00:00
Pierre Joye 509761f96d - silent compiler warnings (signess) 2006-07-30 09:18:07 +00:00
Andrei Zmievski 3d7a1c3972 Make array_merge(_recursive) handle binary keys safely. (Patch by Matt W) 2006-07-30 03:31:18 +00:00
Pierre Joye 3a75600dbb - MFH: make the test more obvious and add an explanation 2006-07-29 23:03:56 +00:00
Pierre Joye 3fe91ed83f - vi happiness++ 2006-07-29 22:52:49 +00:00
Antony Dovgal 9d3233651d improve test 2006-07-29 22:41:20 +00:00
Pierre Joye 47db124cda - #38255, fails on array as well 2006-07-29 22:39:34 +00:00
Pierre Joye 9de24788d6 - entry for #37820 and leak 2006-07-29 22:30:22 +00:00
Pierre Joye 06bd78d720 - forgot the tests 2006-07-29 22:27:55 +00:00
Pierre Joye 46b3f37810 - fix leak when the key is not a valid key (like false or an array) 2006-07-29 22:10:50 +00:00
Seiji Masugata 603846c985 fix tests. 2006-07-29 17:11:09 +00:00
Pierre Joye 5317b7050b - #8315, flaot is affected too 2006-07-29 12:43:21 +00:00
Pierre Joye ab5c3f184b - #8315, NULL character stops the validation 2006-07-29 01:26:55 +00:00
Hannes Magnusson 3ca96c8043 Fix DateTime::RSS
Update tests
2006-07-28 16:32:31 +00:00
Ilia Alshanetsky 0de5728c82 cleanup of the phpinfo() output. 2006-07-28 14:27:03 +00:00
Ilia Alshanetsky 726dee9ee3 ext/standard/info.c ext/standard/info.h 2006-07-28 14:23:35 +00:00
Ilia Alshanetsky 3a78dce032 Cleanup phpinfo() output 2006-07-28 13:59:06 +00:00
Antony Dovgal a76b852989 fix test 2006-07-28 13:47:56 +00:00
Antony Dovgal 29a7498965 MFH: disable --leak-check 2006-07-28 12:58:59 +00:00
Antony Dovgal a28a95c11a MFH: patch for #37846 (wordwrap() wraps incorrectly)
by Dmitry Kononov <ddk at krasn dot ru>
2006-07-28 12:23:18 +00:00
Ilia Alshanetsky 4c2d752fb1 Fixed a bug in the filter extension that prevented magic_quotes_gpc from
being applied when RAW filter is used.
2006-07-27 18:14:55 +00:00
Ilia Alshanetsky cfda15ffc1 Binary safe multipart request handling 2006-07-27 17:04:15 +00:00
Ilia Alshanetsky 7ba86d078f Fixed bug #38236 (Binary data gets corrupted on multipart/formdata POST). 2006-07-27 15:37:56 +00:00
Ilia Alshanetsky 96324fb67f An improved fix for bug #38224 2006-07-27 15:33:16 +00:00
Ilia Alshanetsky bcc8854eaa make C++ compilers happy 2006-07-27 14:13:30 +00:00
Ilia Alshanetsky dcb4b314bf removed debug code 2006-07-27 14:05:03 +00:00
Ilia Alshanetsky e5a1182304 Fixed bug #38224 (session extension can't handle broken cookies). 2006-07-27 14:00:13 +00:00
Ilia Alshanetsky af48ecfc87 Fixed bug #38229 (strtotime() does not parse YYYY-MM format). 2006-07-27 13:00:00 +00:00
Antony Dovgal 92f4cc359f MFH: fix leak in php_local_infile_init() handler 2006-07-27 10:53:15 +00:00
Dmitry Stogov a98e5c674f Fixed bug #38234 (Exception in __clone makes memory leak) 2006-07-27 10:44:03 +00:00
foobar 7625313f9c MFH: - Added PHP_VERSION_ID == PHP_VERSION as integer. 2006-07-27 08:53:16 +00:00
Dmitry Stogov ee97ffd887 Fixed bug #38047 ("file" and "line" sometimes not set in backtrace from inside error handler) 2006-07-27 08:20:38 +00:00
Antony Dovgal ddb577b9b8 fix test on 64bit machines 2006-07-27 08:11:47 +00:00
Antony Dovgal 97ef557b97 initialize var 2006-07-27 08:00:54 +00:00
Antony Dovgal bbf2ab4d45 fix build with Intel C Compiler 2006-07-27 07:39:30 +00:00
foobar f58da213ff MFH: - Fixed bug #37164 (snmp_set_oid_numeric_print() misbehaves)
MFH:   . Renamed the function to snmp_set_oid_output_format() which describes
MFH:     it's behaviour better. Old one was left as an alias for it.
MFH:   . Added 2 new constants: SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC
MFH: - Fixed some memleaks
2006-07-27 05:17:34 +00:00
foobar 60562a6312 update credits 2006-07-27 01:21:27 +00:00
foobar 0e7e000d56 MFH:- Fix build with ext/date/lib with shared extensions 2006-07-27 01:20:09 +00:00
foobar 0bf6b23cb8 MFH: fix phpize build 2006-07-27 01:18:55 +00:00
Ilia Alshanetsky b0ea656129 Fixed compiler warnings. 2006-07-27 00:36:55 +00:00
foobar 67a82e5106 MFH: - Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2 compatibility issue) 2006-07-26 23:57:43 +00:00
Pierre Joye a7768dd36f - readability 2006-07-26 23:23:55 +00:00
Pierre Joye e321c90522 - fix test 2006-07-26 23:22:53 +00:00
Ilia Alshanetsky 7b409b2276 Improved fix for bug #38132 2006-07-26 23:18:41 +00:00
Dmitry Stogov 30f4d3f959 Fixed bug #38220 (Crash on some object operations) 2006-07-26 15:29:27 +00:00
Antony Dovgal e1dfc4259f eliminate compilation warnings on AIX 2006-07-26 13:22:06 +00:00
foobar d8cd2d24d5 fix news 2006-07-26 12:07:13 +00:00
Antony Dovgal 4038877d85 turn Off Zend MM and check for leaks when running tests through valgrind 2006-07-26 11:11:11 +00:00
Antony Dovgal 5e0f6ea7db nuke unused variable 2006-07-26 10:31:08 +00:00
Pierre Joye 9db0e7cc3a - 38212 & 38214 2006-07-26 10:06:10 +00:00
Pierre Joye bc11170217 - #38214, gif interlace never works 2006-07-26 10:03:09 +00:00
Dmitry Stogov e447baafa1 Fixed bug #38211 (variable name and cookie name match breaks script execution) 2006-07-26 09:24:26 +00:00
Pierre Joye 40c059b8fc - MFH: mv 38179.phpt to bug38179.phpt 2006-07-26 08:59:55 +00:00
Antony Dovgal a0371df33f MFH: fix compile warning on Solaris, getloadavg() is in sys/loadavg.h there 2006-07-26 08:57:44 +00:00
Pierre Joye 206ec1a06b - MFH #38212, Segfault on invalid imagecreatefromgd2part() parameters 2006-07-26 08:53:30 +00:00
Dmitry Stogov 3688c103b5 Fixed crash of DEBUG version on SPARC CPU because of unaligned pointers. 2006-07-26 08:07:11 +00:00
Antony Dovgal 65626296da MFH: fix bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too much memory) 2006-07-26 08:03:48 +00:00
Antony Dovgal 7987bba743 improve connection timeout check (implements FR #38210) 2006-07-26 06:59:40 +00:00
Hannes Magnusson d5ec319367 MFH: Update protos & arginfo for memory_get_usage() & memory_get_peak_usage() 2006-07-25 16:41:04 +00:00
Antony Dovgal 9cd119859d forgot to remove .cvsignore 2006-07-25 15:54:03 +00:00
Michael Wallner 799ec9975b - ws 2006-07-25 14:44:53 +00:00
Ilia Alshanetsky e11e2a137c Fixed bug #38132 (ReflectionClass::getStaticProperties() retains \0 in key
names).
2006-07-25 14:06:52 +00:00
Dmitry Stogov 356facf4af Changed memory_get_usage() and memory_get_peak_usage(). Optional boolean argument allows get memory size allocated by emalloc() (by default) or real size of memory allocated from system. 2006-07-25 13:40:05 +00:00
Antony Dovgal 0a95528fc0 news entry 2006-07-25 13:24:53 +00:00
Antony Dovgal ddf19dc81c move ext/hwapi to PECL 2006-07-25 13:24:19 +00:00
Antony Dovgal a5aae5c45b ext/filepro moved to PECL 2006-07-25 12:52:18 +00:00
Ilia Alshanetsky bd581ab476 Fixed bug #38194 (ReflectionClass::isSubclassOf() returns TRUE for the
class itself).
2006-07-25 12:34:38 +00:00
Antony Dovgal e5f71c36af MFH: check g_hash for NULL before resetting it 2006-07-25 10:36:19 +00:00
Uwe Schindler d6337819ba MFH: Fix compilation with TSRM (now correct) 2006-07-25 09:20:32 +00:00
Uwe Schindler c1da9dbc8b revert shitty whitespace patch (forgot to reconfigure my editor after reinstallation) 2006-07-25 09:19:38 +00:00
Antony Dovgal cff6e2b446 initialize variable 2006-07-25 09:06:55 +00:00
Uwe Schindler c1ddf2c2ed Fix compilation with TSRM 2006-07-25 08:42:54 +00:00
Derick Rethans c3e5ee1840 - Fixed typo. 2006-07-25 06:49:38 +00:00
Marcus Boerger 195417eb4d - MFH Update tests 2006-07-24 23:41:09 +00:00
Marcus Boerger 5da6415bfe - MFH Correctly handle binary proeprty names which are not mangled 2006-07-24 23:40:57 +00:00
Marcus Boerger 4da92e63af - MFH Yet another problematic case with mangled properties 2006-07-24 22:36:21 +00:00
Ilia Alshanetsky 7fdcd281c6 back to dev 2006-07-24 18:53:01 +00:00
Ilia Alshanetsky 5e24aedf46 5.2.0RC1 2006-07-24 18:51:31 +00:00
Pierre Joye 6cf345f571 - #38179 and zip entry 2006-07-24 18:30:53 +00:00
Andrei Zmievski 8474838a9a +1 for keys 2006-07-24 18:18:33 +00:00
Marcus Boerger d0f2f6cd04 - MFH zend_unmangle_property_name(), drop zend_unmangle_property_name_ex() 2006-07-24 18:03:45 +00:00
Marcus Boerger 519ed8e13b - Better fix for #34505 and related, drop zend_unmangle_property_name_ex() 2006-07-24 17:58:32 +00:00
Pierre Joye 53d297a7ea - this one was not in 2006-07-24 17:26:24 +00:00
SVN Migration 664d102aa6 This commit was manufactured by cvs2svn to create branch 'PHP_5_2'. 2006-07-24 16:58:59 +00:00
Michael Wallner 467e129ce5 - note about allow_url_include 2006-07-24 12:15:28 +00:00
Dmitry Stogov b9ba07f7a0 Documentation fix 2006-07-24 12:15:07 +00:00
Dmitry Stogov 3b7386acea Fixed memory leaks detection 2006-07-24 08:15:26 +00:00
Dmitry Stogov a49e04477f Test for bug #38146 (Cannot use array returned from foo::__get('bar') in write context) 2006-07-24 07:43:49 +00:00
Ilia Alshanetsky 60b2f49762 Fixed compiler warning. 2006-07-24 03:58:41 +00:00
foobar 1a8d655fec fix build and typo after another lazy ass who does not test before commit: Dmitry 2006-07-24 00:01:02 +00:00
foobar 25f06142c2 MFH: cleanup after lazy people 2006-07-23 23:55:46 +00:00
foobar 93c0ddb2f3 MFH: fix compile failure and remove unnecessary TSRMLS_FETCH calls 2006-07-23 23:50:43 +00:00
Pierre Joye 261beb0326 - #38179, imagecopy, palette to truecolor must use alpha channel too 2006-07-23 21:41:12 +00:00
Marcus Boerger 43fa4e015b - This was reintroduced by Zeev
# I could need help in writing this file. Actually i know why i didn't want
# to start it in the first place.
2006-07-23 18:51:23 +00:00
Andrei Zmievski bb430b3737 Gah. 2006-07-22 16:58:39 +00:00
Andrei Zmievski d827c76379 Matt should be happy now. 2006-07-22 16:58:06 +00:00
Stefan Esser cfac29e20e Added RFC1867 fileupload processing hook. 2006-07-22 16:38:29 +00:00
foobar 2b8ad5a0af MFH:- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo) 2006-07-22 15:41:42 +00:00
Rob Richards 40e08311e5 MFH: enable by default 2006-07-22 15:33:02 +00:00
Nuno Lopes ff591e2cf0 more const keywording 2006-07-22 15:22:56 +00:00
Nuno Lopes 5e7efb5ec9 dont create images in the php source root. output them instead 2006-07-22 15:15:53 +00:00
Pierre Joye 4219fe6c66 - hopla, before I got more conflicts ;)
(fix compiler warnings with latest const char changes)
2006-07-22 12:59:15 +00:00
Nuno Lopes 083b13335e use const keyword where possible 2006-07-22 12:49:36 +00:00
Pierre Joye 3ce212ccae - silent compiler warnings (char/unsigned char) 2006-07-22 09:39:24 +00:00
Pierre Joye 0714c1a3d5 - api shake #1, parse_pararameter has to be changed too 2006-07-22 09:09:06 +00:00
Pierre Joye 697f4e1f08 - API Shake up #1, use input type as first argument in input_get_args
(INPUT_GET/POST)
2006-07-22 08:58:03 +00:00
Andrei Zmievski 1223119155 MFH 2006-07-21 23:54:19 +00:00
Marcus Boerger a6f8252f9b - MFH Update docu 2006-07-21 21:55:43 +00:00
Marcus Boerger 6a738f6b5b - MFH Match code with docu 2006-07-21 21:26:11 +00:00
Marcus Boerger 85963e6300 - MFH Update RegexIterator, Docu & Tests 2006-07-21 20:14:31 +00:00
Dmitry Stogov 33a1a4d39a Changed error message (E_ERROR -> E_NOTICE) in case of indirect modification of overloaded property. 2006-07-21 10:32:17 +00:00
Dmitry Stogov 9a98904ddd Fixed wrong "type" argument to read_property() handler 2006-07-21 08:39:30 +00:00
Marcus Boerger 45d09c71ba - Synch RegexIterator with HEAD 2006-07-20 22:54:21 +00:00
Marcus Boerger 6fb763c4f9 - MFH Clean up (after consulting Andrei)
. Change the handlers SPL uses to php_pcre_*_impl(pcre_cache_entry*,....)
  . All refactored funcs (match, split, replace, grep) use the above
  . Change (zend|php)_error() to php_error_docref()
  . Move from old to new param parsing api
  . Fix memleaks in unicode mode
2006-07-20 22:53:07 +00:00
Edin Kadribasic 163e1fd41c Lib update 2006-07-20 22:21:27 +00:00
Seiji Masugata 3e1c05170e Initial commit. Updated bundled oniguruma library (used for multibyte regular expression) to 4.2.0. 2006-07-20 15:56:29 +00:00
Derick Rethans 150d058008 - MFH: Rename date classes to DateTime and DateTimeZone 2006-07-20 15:49:02 +00:00
Seiji Masugata e95f9a0eeb Updated bundled oniguruma library (used for multibyte regular expression) to 4.2.0. 2006-07-20 15:45:07 +00:00
Pierre Joye d6c2c283ed - make boolean logical filter works like int/float and php itself
- add more tests for boolean input
2006-07-20 12:58:13 +00:00
Antony Dovgal f59a139f61 rephrase 2006-07-20 10:47:37 +00:00
foobar 68ae270793 MFH: simplify 2006-07-20 10:11:15 +00:00
foobar 34ae4eafd0 update 2006-07-20 10:09:09 +00:00
foobar 479055a85b MFH 2006-07-20 10:07:29 +00:00
Antony Dovgal 3003cd2473 MFH: use E_WARNING on recursion and add null to the result to keep it valid 2006-07-20 09:33:28 +00:00
Antony Dovgal 60720d285f MFH: ZTS fix 2006-07-20 09:19:02 +00:00
Antony Dovgal ad8445a828 add missing .cvsignore 2006-07-20 08:58:49 +00:00
Antony Dovgal 3e308d3a6b MFH: add recursion protection to json_encode() and new tests 2006-07-20 08:56:57 +00:00
Antony Dovgal 0b97d2bd60 fix segfault, add test 2006-07-20 08:24:31 +00:00
Antony Dovgal 074feedc2b MFH 2006-07-20 07:40:49 +00:00
Antony Dovgal 926961192f MFH 2006-07-20 07:30:22 +00:00
Antony Dovgal efe0314db6 break; break; -> break; 2006-07-20 07:20:23 +00:00
Pierre Joye 92b6f24241 - fix tests for PI with libxml 2.6.24+, a new line is now added 2006-07-19 18:50:51 +00:00
Ilia Alshanetsky 221ac1b9e5 Extension news 2006-07-19 16:20:02 +00:00
Ilia Alshanetsky cdfe00b801 Fixed compiler warnings and enable Json by default. 2006-07-19 16:17:15 +00:00
foobar a90c48fb48 un*uck NEWS 2006-07-19 13:54:56 +00:00
foobar 92f080a0a3 Missing file.. 2006-07-19 13:45:43 +00:00
Michael Wallner 46f21b8a32 MFH: added error_get_last() function 2006-07-19 12:25:46 +00:00
Dmitry Stogov f7c99da2fe Fixed bug #37144 (PHP crashes trying to assign into property of dead object) 2006-07-19 09:55:19 +00:00
Antony Dovgal e8241e59ac no need to fetch name and free it immediately after that 2006-07-19 08:35:55 +00:00
Antony Dovgal 28c9afe35d fix tests 2006-07-19 08:26:50 +00:00
Antony Dovgal 4e8a4a4235 MFH: increase refcount when adding zval to the result array 2006-07-19 07:18:34 +00:00
Antony Dovgal f61572e645 fix compile warnings 2006-07-19 06:57:21 +00:00
Antony Dovgal ca7875ab83 fetch tsrm_ls, don't use it uninitialized 2006-07-19 06:32:52 +00:00
Ilia Alshanetsky 480104a456 Fixed memory leak 2006-07-18 22:42:28 +00:00
Antony Dovgal c204ff0258 MFH: fix build on platforms without mremap() 2006-07-18 15:41:58 +00:00
Antony Dovgal a390c84dc5 news entry 2006-07-18 14:58:42 +00:00
Antony Dovgal 9e905c3de7 MFH: add gmp_nextprime()
patch by ants dot aasma at gmail dot com
2006-07-18 14:54:32 +00:00
Derick Rethans 9ccbb28696 - Enable all new date functions and classes 2006-07-18 12:38:05 +00:00
Antony Dovgal b45268a07a fix test 2006-07-18 09:22:32 +00:00
Dmitry Stogov 29ed52ffa4 New memory manager 2006-07-18 09:06:33 +00:00
Antony Dovgal 7f9a43653c fix logic 2006-07-18 09:00:10 +00:00
Antony Dovgal 7a089a43af MFH: fix DVAL_TO_LVAL() on AIX with old gcc 2006-07-18 08:17:28 +00:00
Ilia Alshanetsky fea4eeb845 Added possible failure note. 2006-07-18 00:09:01 +00:00
Marcus Boerger 34cfec2536 - MFH Fix #38125 undefined reference to spl_dual_it_free_storage 2006-07-17 21:11:33 +00:00
Michael Wallner c0fcaa7acb - fix bug #37945 pathinfo() cannot handle argument with special characters
like german "Umlaute"
2006-07-17 20:36:47 +00:00
Pierre Joye 2a06ce8518 - #38112, add test and use MAX_LWZ_BITS instead of the value 2006-07-17 14:30:21 +00:00
Pierre Joye cb41a19f28 - sync tests with HEAD 2006-07-17 12:54:09 +00:00
Nuno Lopes 46c036cd4d make valgrind trace child processes. useful for the PCNTL extension (fork()), for example 2006-07-17 11:43:48 +00:00
Nuno Lopes 7a38509835 new test 2006-07-17 11:39:13 +00:00
Nuno Lopes 0433d29020 now they are really equivalent.. 2006-07-17 10:48:11 +00:00
Antony Dovgal 7c24d8fbee typofix 2006-07-17 10:08:17 +00:00
Dmitry Stogov d68797945a Fixed memory leaks in ZTS mode. 2006-07-17 07:20:12 +00:00
Antony Dovgal f3f44275f4 MFH 2006-07-17 06:45:08 +00:00
Seiji Masugata 1d6182a907 added option parameter mb_strrpos( ). 2006-07-17 04:48:17 +00:00
Ilia Alshanetsky cd0e0124c9 Don't use regex where none is needed. 2006-07-17 03:57:31 +00:00
Marcus Boerger 109c89c848 - MFH Typo 2006-07-16 23:48:34 +00:00
Marcus Boerger f2623f0b50 - MFH Update docu 2006-07-16 23:46:12 +00:00
Marcus Boerger 55f0596fab - MFH:
. Upgrade RegexIterator capabilities, see docu
  . Update docu
  . Add test (which fails right now: iterator_049.phpt)
  . Add tests for new functionality
2006-07-16 21:12:32 +00:00
Marcus Boerger bf4c9ef686 - MFH: Little bit refactoring: Two new PHPAPI functions:
. php_pcre_match
  . php_pcre_split
2006-07-16 21:09:30 +00:00
Nuno Lopes 717ca4ef55 new tests. almost 90% of code coverage 2006-07-16 19:35:09 +00:00
Marcus Boerger bd760162e6 - MFH Correct test name 2006-07-16 17:34:37 +00:00
Christian Stocker 2dbcfcb8cb improved code (after suggestion by helly) 2006-07-16 16:04:09 +00:00
Antony Dovgal e79591b081 fix test 2006-07-16 15:59:08 +00:00
Christian Stocker dc8ba6f475 Added DOMNode::getNodePath() for getting an XPath for a node. 2006-07-16 15:03:53 +00:00
Pierre Joye 17f6ae66ce - #38112, corrupt GIF segfaults, test will follow 2006-07-16 11:07:31 +00:00
Marcus Boerger dc571fa9e2 - MFH Fixed Bug #29538 number_format and problem with 0 2006-07-16 10:50:58 +00:00
Marcus Boerger f03f2c5eae - MFH Pathinfo allows to get filename (Toby S, Christian S) 2006-07-16 10:37:24 +00:00
Marcus Boerger 9c30e20bd6 - MFH Implement todo: SplFileObject: ability to set the CSV separator per object 2006-07-15 15:08:41 +00:00
Marcus Boerger bb3c702162 - MFH Fix issue with SplFileObject and directories 2006-07-15 13:01:59 +00:00
Marcus Boerger 31a8d6a6b3 - MFH array_fill_keys, better unicode support, use new param parsing API 2006-07-15 12:14:07 +00:00
Marcus Boerger 87c64280b0 - MFH Added array_fill_keys(). (Marcus, Mathew W) 2006-07-15 10:21:10 +00:00
Antony Dovgal 54dba635a3 rephrase the error message (fixes #38106) 2006-07-14 20:44:04 +00:00
Nuno Lopes 3876158e8f fix test with some aspell versions 2006-07-14 16:14:05 +00:00
Antony Dovgal 19a9052d6e fix build 2006-07-13 17:03:35 +00:00
Ilia Alshanetsky ab6d4d411a Fixed test for systems where set_charset() method is unavailable. 2006-07-13 15:42:43 +00:00
Ilia Alshanetsky 9c125eeb27 Fixed compiler warnings. 2006-07-13 15:05:30 +00:00
Antony Dovgal 4902fc6c25 MFH: fix #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger than the actual length)
add tests
2006-07-13 12:00:17 +00:00
Ilia Alshanetsky 1784db8087 Fixed compiler warnings. 2006-07-13 00:13:19 +00:00
Antony Dovgal a9469060e5 MFH: init variables and get rid of annoying warnings 2006-07-12 21:17:30 +00:00
Antony Dovgal 9d57621235 MFH: initialize EG(exit_status) in ZTS mode 2006-07-12 18:10:56 +00:00
Michael Wallner 33dbaff1ed MFH: add note why replace is 0, so that I don't wonder again in 2 months
why session_regenerate_id() sends the session cookie twice
2006-07-12 15:28:44 +00:00
Antony Dovgal f9070e626a bailout on error and don't try to create fields of unknown type
add test
2006-07-12 13:08:38 +00:00
Antony Dovgal 69d6fe45c8 it's usually good idea to initialize variables
especially if you rely on their values
2006-07-12 12:38:49 +00:00
Antony Dovgal 3cce465528 fix invalid read - no need to compare strings if haystack is "" or shorter than needle
add test
2006-07-12 12:33:48 +00:00
Antony Dovgal 8a35e9d014 fix #38072 (boolean arg for mysqli_autocommit() is always true on Solaris) 2006-07-12 09:51:47 +00:00
Antony Dovgal 1f09c0b9d5 fix TSRM build 2006-07-12 09:33:37 +00:00
Dmitry Stogov c48a2e38f4 Fixed bug #38067 (Parameters are not decoded from utf-8 when using encoding option) 2006-07-12 08:59:40 +00:00
Hartmut Holzgraefe 3fe315c652 MFH new test cases 2006-07-12 08:01:44 +00:00
Dmitry Stogov b6d2c54059 Destructors call order is changed (Fixed bug #36759 - Objects destructors are invoked in wrong order when script is finished) 2006-07-12 07:55:17 +00:00
Dmitry Stogov 8bb047ee97 Fixed bug #36759 (Objects destructors are invoked in wrong order when script is finished). 2006-07-12 07:54:00 +00:00
Marcus Boerger 39a4078b8c - Reorder and add missing 2006-07-12 07:34:28 +00:00
Hartmut Holzgraefe e796974f6f fixed C&P errors in groups handling, activated groups feature 2006-07-12 07:01:04 +00:00
Hartmut Holzgraefe aca6460346 MFH 2006-07-11 23:45:28 +00:00
Hartmut Holzgraefe ae749049f5 MFH make sure that embedded database is correctly initialized 2006-07-11 23:43:55 +00:00
Hartmut Holzgraefe 61e9783154 debug output was breaking all tests 2006-07-11 23:42:58 +00:00
Hartmut Holzgraefe 3e099a5983 MFH test for ping and kill methods 2006-07-11 23:35:38 +00:00
Ilia Alshanetsky d21628f993 Fixed test 2006-07-11 22:13:53 +00:00
Antony Dovgal 7ff8061d0a add new tests by Ligaya Turmelle 2006-07-11 21:28:38 +00:00
Antony Dovgal 40b87ec99f MFH: /tmp is often a symlink, use /bin instead 2006-07-11 21:20:20 +00:00
Antony Dovgal 24d3381b10 fix typo, add new test 2006-07-11 16:33:25 +00:00
Dmitry Stogov a602a3eef5 Nuke signed/unsigned compiler warnings 2006-07-11 14:35:50 +00:00
Dmitry Stogov ee1dc90d1e Nuke signed/unsigned compiler warnings 2006-07-11 14:24:18 +00:00
Antony Dovgal b491930ef6 fix segfault in jdmonthname(), add test 2006-07-11 14:16:26 +00:00
Antony Dovgal 5e93a7df9a eliminate compile warnings 2006-07-11 12:37:00 +00:00
Antony Dovgal 3aaf62d159 there is no Unicode in 5_2 2006-07-11 12:15:11 +00:00
Dmitry Stogov 631a00a0a0 Fixed memory leak in case of exception in iterator callbacks in 'foreach(new Iterator()...' (spl/tests/iterator_047.phpt). 2006-07-11 08:52:28 +00:00
Ilia Alshanetsky 190c186fb8 apache2handler sapi is no longer experimental 2006-07-11 00:15:30 +00:00
Hartmut Holzgraefe c1b67d83cc (MFH) "transaction" tests should test commit, too, not only rollback 2006-07-10 16:29:50 +00:00
Dmitry Stogov fbd3ef09ed Fixed memory leaks in ext/spl/tests/fileobject_003.phpt 2006-07-10 15:47:58 +00:00
Hartmut Holzgraefe 836e74ebee MFH 2006-07-10 14:06:13 +00:00
Dmitry Stogov 83ac79600e Fixed bug #37947 (zend_ptr_stack reallocation problem) 2006-07-10 14:02:40 +00:00
Antony Dovgal d9d23050d1 MFH: fix mysqli_*_free_storage() funcs to conform with their prototypes 2006-07-10 13:02:43 +00:00
Dmitry Stogov 26c7981ccf Another fix for #38019 2006-07-10 12:46:28 +00:00
Antony Dovgal 3113fa9440 MFH: initialize vars 2006-07-10 11:26:22 +00:00
Dmitry Stogov 26499be68f Fixed bug #38055 (Wrong interpretation of boolean parameters) 2006-07-10 10:33:43 +00:00
Dmitry Stogov 690e86fdb2 Fixed bug #38019 (segfault extending mysqli class) 2006-07-10 10:05:20 +00:00
Dmitry Stogov 795a482a48 Fixed bug #38005 (SoapFault faultstring doesn't follow encoding rules) 2006-07-10 07:41:33 +00:00
Hartmut Holzgraefe 098d3d2b02 MFH 2006-07-10 07:39:35 +00:00
Dmitry Stogov 1cfb8af265 Fixed test 2006-07-10 07:26:17 +00:00
Dmitry Stogov c389a653f7 Fixed bug #38004 Parameters in SoapServer are decoded twice 2006-07-10 07:21:41 +00:00
Marcus Boerger f66cd50510 - BFN 2006-07-10 00:36:47 +00:00
Marcus Boerger 704eced26b - MFH Fixed Bug #37667 (Object is not added into array returned by __get) 2006-07-10 00:36:28 +00:00
Marcus Boerger 71efa5b435 - MFH Fixed bug #37816 (ReflectionProperty does not throw exception when accessing protected attribute) 2006-07-10 00:18:53 +00:00
Marcus Boerger c5ff44688a - MFH Fix logic 2006-07-09 23:30:19 +00:00
Ilia Alshanetsky ff08705591 Removed pointless declarations 2006-07-09 23:28:28 +00:00
Marcus Boerger d6b489fb32 - Add new entry 2006-07-09 22:58:36 +00:00
Marcus Boerger 21858220b2 - MFH It appears i am the maintainer 2006-07-09 22:49:16 +00:00
Marcus Boerger ec11b44e84 - BFN 2006-07-09 22:45:32 +00:00
Marcus Boerger dd5cbcd24c - Fixed Bug #37811 define not using toString on objects 2006-07-09 22:45:11 +00:00
Marcus Boerger c514ee0c9b - MFH Fix issue with comparing objects with objects 2006-07-09 18:03:42 +00:00
Marcus Boerger 2f0e80afac - BFN 2006-07-09 17:53:55 +00:00
Marcus Boerger e9be807267 - MFH Add new test 2006-07-09 17:04:27 +00:00
Marcus Boerger fa57959f47 - MFH:
. Fix comparision edgecases involving objects (Tony, Marcus)
  . Use ZVAL_LONG() where appropriate
2006-07-09 16:58:05 +00:00
Marcus Boerger d5811fc08a - MFH Fix test 2006-07-09 16:56:22 +00:00
Marcus Boerger d26b539c61 - MFH DualIterator 2006-07-09 10:24:32 +00:00
Marcus Boerger 5fee10735f - MFH Add spl_object_hash() 2006-07-09 10:22:27 +00:00
Marcus Boerger 0fd2b96204 - MFH Add test 2006-07-08 12:25:57 +00:00
Nuno Lopes c26991a9eb MFH 2006-07-08 00:13:17 +00:00
Nuno Lopes 8b139b654d static + const keywords 2006-07-07 23:32:14 +00:00
Hannes Magnusson 147840dd93 MFH: ReflectionFunction::isDisabled() 2006-07-07 11:55:23 +00:00
Ilia Alshanetsky 89635eb158 E_ERROR > E_RECOVERABLE_ERROR 2006-07-06 23:13:18 +00:00
Antony Dovgal 91f9af4360 add test 2006-07-06 16:14:56 +00:00
Sara Golemon 86bbbbdce4 MFH (def.h rev:1.121, execute.h rev:1.120)
Silence FETCH_OBJ_IS / undefined notices
2006-07-06 15:32:07 +00:00
Ilia Alshanetsky 278dc574f2 E_ERROR > E_RECOVERABLE_ERROR 2006-07-05 17:38:14 +00:00
Antony Dovgal d90263437c add test for bug #38003 2006-07-05 13:31:17 +00:00
Antony Dovgal 0c05e6da00 fix tests 2006-07-05 11:55:59 +00:00
Antony Dovgal 058b529ae7 oops.. fix copy/paste typo 2006-07-05 11:54:08 +00:00
Antony Dovgal 4c26ed263d BFN 2006-07-05 11:49:37 +00:00
Antony Dovgal 0f8f945418 MFH: fix bug #38003(in classes inherited from mysqli it's possible to call private constructors from invalid context) 2006-07-05 11:48:30 +00:00
Antony Dovgal c4c96c042e MFH: export zend_std_get_constructor() 2006-07-05 11:41:25 +00:00
Antony Dovgal 859ab9a4cf MFH: improve error messages 2006-07-05 11:39:00 +00:00
Edin Kadribasic e84a7de005 apache2filter on windows news 2006-07-05 10:18:25 +00:00
SVN Migration 1b0a789ab9 This commit was manufactured by cvs2svn to create branch 'PHP_5_2'. 2006-07-05 10:12:43 +00:00
Ilia Alshanetsky f0178f71ee Eliminate some compiler warnings 2006-07-04 20:12:38 +00:00
Derick Rethans d060a6e8a2 - MFH: Updated timezonedb to version 2006.7.
- MFH: Fixed test cases because of new constant values for the formats.
2006-07-04 18:13:58 +00:00
Hannes Magnusson 612e75442f mfh 2006-07-04 15:37:34 +00:00
Hannes Magnusson 1d6e7e3d93 MFH: Fix protos&arginfo 2006-07-04 15:33:57 +00:00
Dmitry Stogov d550c270ce Fixed memory leak 2006-07-04 07:26:53 +00:00
Dmitry Stogov acb1e07980 Changed priority of PHPRC environment variable on win32 to be higher then value from registry. 2006-07-04 06:35:49 +00:00
Hannes Magnusson a32fb32781 Make everyone happy 2006-07-03 22:42:03 +00:00
Ilia Alshanetsky 4a0d670f43 Fixed test 2006-07-03 21:58:46 +00:00
John Coggeshall 42c462c755 Adding Apache2Filter news 2006-07-03 16:55:57 +00:00
John Coggeshall 3a0791c99b Reimplementation of the way Apache 2 Filter works. Instead of ripping the
source from a file (thus bypassing any previous filters in the chain). This
implementation wraps Zend's internal stream mechanism, allowing ZE to read
from Apache's streams instead.
2006-07-03 16:51:38 +00:00
Hannes Magnusson 87bc74ea7a fix tests 2006-07-03 16:03:51 +00:00
Nuno Lopes 919d737505 more testing 2006-07-03 14:46:44 +00:00
Nuno Lopes 9990b3f431 new tests and fix the locales test where the pt local isnt available. 2006-07-03 13:04:45 +00:00
Ilia Alshanetsky 1b2cc459c6 Fixed bug #37987 (invalid return of file_exists() in safe mode). 2006-07-02 13:51:40 +00:00
Hannes Magnusson 7af33194e5 MFH: arginfo fixes 2006-07-02 00:11:06 +00:00
Nuno Lopes b7311e9173 fixed segfaults and such things within the new assert02.phpt test 2006-07-01 12:21:07 +00:00
Nuno Lopes 7961207d6b add const keywords 2006-07-01 11:35:34 +00:00
Hannes Magnusson 6910275d51 MFH reference fixes 2006-06-30 18:17:38 +00:00
Antony Dovgal bdd4183fba news 2006-06-30 10:55:06 +00:00
Antony Dovgal a518b450fd MFH: add error messages to disk_free_space() & disk_total_space() (feature request #37971) 2006-06-30 10:53:11 +00:00
Ilia Alshanetsky 9048ae292c Fixed test for situations where pspell_clear_session() is unavailable. 2006-06-29 22:54:31 +00:00
Antony Dovgal 6c37c9fa0a fix test on AIX and Solaris 2006-06-29 22:45:19 +00:00
Ilia Alshanetsky 70f2bcf763 Fixed test 2006-06-29 22:42:25 +00:00
Hannes Magnusson 1c530aa7cb Fix test on linux 2006-06-29 22:10:47 +00:00
Hannes Magnusson 3fd28953c6 mfh 2006-06-29 15:01:31 +00:00
Hannes Magnusson 77b307021d fix test 2006-06-29 14:53:50 +00:00
Hannes Magnusson 7a6fe06e4b url->URL 2006-06-29 14:40:49 +00:00
Hannes Magnusson bcd06ef1b6 Bug #37961 (url should be URL) 2006-06-29 14:31:56 +00:00
Antony Dovgal b8f97db580 MFH: make sure we won't get into endless loop 2006-06-29 09:03:27 +00:00
Antony Dovgal 6a43f6805c add new tests 2006-06-29 09:00:33 +00:00
Ilia Alshanetsky 24ac7931cd Improved safe_mode check for the error_log() function. 2006-06-28 22:08:42 +00:00
Antony Dovgal 5ca11825d1 BFN 2006-06-28 15:04:28 +00:00
Antony Dovgal 0212ec6c71 MFH: fix #37931 (possible crash after database restart when using persistent connections) 2006-06-28 15:03:33 +00:00
Nuno Lopes e8a3530d50 new tests (001.phpt is just a rename from the older one)
increases coverage from 20% to 70%
2006-06-28 14:36:23 +00:00
Ilia Alshanetsky 58c82af64d Improved the error reporting in SOAP extension on request failure. 2006-06-27 23:32:56 +00:00
Nuno Lopes 38e47dd0bb add new tests. bump code coverage to more than 80% 2006-06-27 22:43:26 +00:00
Hannes Magnusson 297a3d8e4c arginof fixes 2006-06-27 22:14:18 +00:00
Hannes Magnusson 52fd069ff4 Fix arg info (php6 features) 2006-06-27 21:42:16 +00:00
Antony Dovgal 41ada4ba9b add new tests 2006-06-27 21:10:04 +00:00
Nuno Lopes 29b0798cc8 revert per Derick request 2006-06-27 21:00:03 +00:00
Antony Dovgal badf27fb2a MFH: no need to throw E_ERROR here 2006-06-27 19:58:43 +00:00
Nuno Lopes 5c97837ca2 add a couple of static and const keywords, to let the compiler optimize better
will MFB in a hour, or so
2006-06-27 19:48:01 +00:00
Antony Dovgal 7dec2a7354 more tests 2006-06-27 15:55:06 +00:00
Antony Dovgal 5f024dcc16 more date() tests 2006-06-27 15:08:16 +00:00
Antony Dovgal ac4f8071c5 BFN 2006-06-27 08:28:24 +00:00
Antony Dovgal 6c52ec1319 MFH: fix #37920 (compilation problems on z/OS) 2006-06-27 08:27:10 +00:00
Hannes Magnusson aaa1d62614 MFH: fix/add SKIPIF 2006-06-27 00:09:43 +00:00
Hannes Magnusson 000957818e MFH: fix test 2006-06-26 23:42:59 +00:00
Antony Dovgal 8058f9fd11 add new tests 2006-06-26 23:35:22 +00:00
Antony Dovgal e24fe395a2 MFH: zero-terminate strings produced with FORCE_DEFLATE 2006-06-26 23:22:58 +00:00
Antony Dovgal 3d97f45bc4 don't try to inflate empty strings (and stop segfaulting!) 2006-06-26 22:53:10 +00:00
Hannes Magnusson fd1679e7f0 nuke obsolete arginfo 2006-06-26 22:47:31 +00:00
Hannes Magnusson e06665c961 MFH: argument info 2006-06-26 22:41:22 +00:00
Hannes Magnusson c9c2c0e1f8 MFH: test for bug #37244 2006-06-26 22:20:27 +00:00
Antony Dovgal 3d63ca3edc add new tests, improve the old ones 2006-06-26 22:17:18 +00:00
Antony Dovgal 5d2d2fd5a3 MFH: detect empty mode string and avoid off-by-one 2006-06-26 21:13:46 +00:00
Hannes Magnusson ec420c3df8 Updated protos & vim folding 2006-06-26 18:48:56 +00:00
Hannes Magnusson 5326a8b2bc MFH: argument info for php_user_filter
Add tests
2006-06-26 17:23:39 +00:00
Hannes Magnusson 223d122cae MFH: use the ZEND_ACC_DEPRECATED flag rather than custom warnings 2006-06-26 16:33:39 +00:00
Hannes Magnusson d258bcd951 MFH: Removed obsolete arginfo include 2006-06-26 14:11:17 +00:00
Hannes Magnusson ae1ec65637 Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML() 2006-06-26 13:41:52 +00:00
Dmitry Stogov de85c9cd70 Fixed bug #37862 (Integer pointer comparison to numeric value) 2006-06-26 13:23:46 +00:00
Rasmus Lerdorf 862c4d2345 MFH: fix sapi_getenv() leak 2006-06-26 13:15:20 +00:00
Hannes Magnusson 563c920c24 MFH http_build_query() & parse_url() news
# Patch by helgi thormar
2006-06-25 23:22:40 +00:00
Antony Dovgal 0b073cd34c improve test file
don't forget to test invalid parameters etc.
2006-06-25 21:21:59 +00:00
Hannes Magnusson a5d56bb9f5 Added image_type_to_extension()
# Was suppost to be in 5.0beta#3... :)
2006-06-25 21:12:49 +00:00
Hannes Magnusson d836ff68c8 WS fix 2006-06-25 21:08:28 +00:00
Hannes Magnusson 7b6bf33b03 MFH: image_type_to_mime_type() 2006-06-25 21:06:39 +00:00
Marcus Boerger 97062cade9 - MFH Fix ReflectionObject::getProperties() + dyn properties 2006-06-24 18:55:15 +00:00
Antony Dovgal 87dd729187 plug leak 2006-06-23 13:53:43 +00:00
Ilia Alshanetsky f1d09682fb Change E_ERROR to E_RECOVERABLE_ERROR 2006-06-23 11:37:53 +00:00
Antony Dovgal 1fdd8d7b2a MFH: fix typo and bug #37886 2006-06-23 08:26:15 +00:00
Michael Wallner 68421695ac - use %zu to format size_t 2006-06-23 07:30:26 +00:00
Antony Dovgal 1757bf8822 fix typo 2006-06-22 21:24:23 +00:00
Antony Dovgal 6ccc1d1fb5 MFH: add wrappers for timelib_day_of_week_ex() 2006-06-22 21:04:32 +00:00
Antony Dovgal 47b41a5d6c MFH:
don't try to parse empty string, return false immediately
(fixes off-by-one)
2006-06-22 18:44:31 +00:00
Ilia Alshanetsky 0d708dc358 Fixed compiler warnings. 2006-06-21 15:19:23 +00:00
Antony Dovgal 4b674fb7b0 MFH: improve check for stream mode, add tests 2006-06-21 14:38:28 +00:00
Antony Dovgal 8c30a7f8a6 MFH: don't try to read or write from/to a stream if it was open in different mode (leads to segfault in libbz2) 2006-06-21 13:12:37 +00:00
Antony Dovgal e7439fa200 MFH: fix invalid read with bzopen("","") and prevent filename from being empty (which causes endless loop somewhere is libbz2) 2006-06-21 12:43:27 +00:00
Ilia Alshanetsky f496f5014a Removed pointless callbacks. 2006-06-20 22:39:15 +00:00
Nuno Lopes b7bca610dd make sure the test outputs what we want 2006-06-20 21:49:16 +00:00
Hannes Magnusson 437494ddf7 Bug fix news... 2006-06-20 19:35:52 +00:00
Hannes Magnusson 748b589925 Renamed to bug37864.phpt 2006-06-20 19:33:31 +00:00
Hannes Magnusson 1332a14cfc MFH 2006-06-20 19:32:59 +00:00
Antony Dovgal 959af2a28d don't leave garbage in tmp dir 2006-06-20 18:55:46 +00:00
Hannes Magnusson 3674994be5 MFH: test for file_get_contents leaking on empty file 2006-06-20 18:48:56 +00:00
Hannes Magnusson c4154145df MFH: plug memleak 2006-06-20 18:09:50 +00:00
Hannes Magnusson c14ba0f124 MFH: Missing header include 2006-06-20 18:04:25 +00:00
Antony Dovgal 5ffbb85103 MFH: init variables 2006-06-20 13:28:11 +00:00
Antony Dovgal 3ff986ecf7 init vatiables 2006-06-20 13:26:01 +00:00
Antony Dovgal eaf4ea2e74 MFH: nuke unused variables and init variables when needed 2006-06-20 13:21:16 +00:00
Antony Dovgal 44005b7986 fix test 2006-06-20 13:14:29 +00:00
Antony Dovgal 8df36aaf32 fix test 2006-06-20 13:06:50 +00:00
Antony Dovgal 20a379fa7d MFH: initialize pointers 2006-06-20 12:55:26 +00:00
Ilia Alshanetsky 0406556da4 Added missing ifdef block.
# Thanks Mike
2006-06-19 23:52:39 +00:00
Antony Dovgal ba8f17e483 MFH: display oci8 version in phpinfo() 2006-06-19 18:21:28 +00:00
Antony Dovgal 33616195b9 MFH: plug leak in CGI SAPI when running scripts with query string in console 2006-06-19 17:49:26 +00:00
Antony Dovgal c458d1347b fix tests 2006-06-19 17:33:44 +00:00
Antony Dovgal 8b99387569 BFN 2006-06-19 16:59:05 +00:00
Antony Dovgal 3ce8ccb6f2 fix #37848 (ext/odbc compile failure) 2006-06-19 16:13:15 +00:00
Michael Wallner f4106441cb - Fix Bug #37780 memory leak trying to execute a non existing file (CLI) 2006-06-19 14:52:34 +00:00
Antony Dovgal 20ee84dea6 MFH: fix #37807 (segmentation fault during SOAP schema import) 2006-06-19 11:43:45 +00:00
Antony Dovgal cd7d7039ac MFH: add missing ifdef and avoid "unused variable" warning 2006-06-19 11:39:02 +00:00
Ilia Alshanetsky 3b7be889d8 Added posix_initgroups() function. 2006-06-19 02:19:13 +00:00
Hannes Magnusson aae5df3ffd MFH: arg ifno 2006-06-17 13:06:06 +00:00
Hannes Magnusson c6080567e2 Fix test 2006-06-17 12:51:02 +00:00
Nuno Lopes 6509311ebb plug memory leak in sapi_putenv, by using setenv(), that doesnt need any malloc 2006-06-17 11:08:05 +00:00
Nuno Lopes aa48814378 change the timezone used (per Derick request)
add one string I missed yesterday. Now every strotime() rule is covered
2006-06-17 10:30:23 +00:00
Nuno Lopes ca6e1bbcda new tests. the .re file coverage increases to 96%. really good :) 2006-06-16 22:46:57 +00:00
Seiji Masugata ee23aba678 changed GINIT definition. 2006-06-16 16:45:46 +00:00
Rasmus Lerdorf 6bfeea9eb9 MFH: Backported allow_url_include from HEAD. This directive allows
separate control of URL handling in includes/requires allowing sites to
enable allow_url_fopen without enabling remote includes.
2006-06-16 14:09:01 +00:00
Stefan Esser 6320ee11cf MFH: Only care about wrong flex version, when needed. 2006-06-16 08:01:03 +00:00
Dmitry Stogov 6c310f9c0a New crypt() implementation for win32 which is about 10 times faster and has more friendly license. 2006-06-16 05:57:18 +00:00
foobar 4793980a8f Fix build. (gmp_nextprime() was added in PHP 6!) 2006-06-16 00:14:35 +00:00
Rasmus Lerdorf 8ab6f3fd39 MFH: Optimize the other string conversion functions here to just create
raw text nodes.
2006-06-15 22:45:30 +00:00
Rasmus Lerdorf 12022014fa MFH:
I don't think the call to xmlNodeSetContentLen() is needed here and
it is causing performance problems because it tries to parse the blob
and create a subtree.  Because we are escaping the string anyway, we
are never going to get a subtree, but the entity parsing that is done
by xmlNodeSetContentLen() is killing performance on large blobs of
text.  On one recent example it took a couple of minutes to parse
whereas if we just create a text node like this and set the contents
to the raw string it is down to milliseconds.
2006-06-15 20:49:05 +00:00
Dmitry Stogov 1dbaae2795 Added automatic module globals management 2006-06-15 18:33:09 +00:00
Nuno Lopes c3ed91477a fix bug #37800: preg_replace() limit parameter odd behaviour
#this is a regression in PHP_5_2 and HEAD branches only
2006-06-15 15:33:25 +00:00
Hannes Magnusson 954acfe261 MFH: Revert array type hinting 2006-06-15 15:31:54 +00:00
Dmitry Stogov 60328ea7c3 Added automatic module globals management 2006-06-15 14:06:35 +00:00
Dmitry Stogov ada4e506a7 MFH: Added automatic module globals management. 2006-06-15 14:03:21 +00:00
foobar d3c3a54b4e fix news. gaps left intentionally.. 2006-06-15 13:07:37 +00:00
Hannes Magnusson f0d98ad3de MFH: argument info.. 2006-06-14 21:36:10 +00:00
Nuno Lopes a943d234f5 fix memory leak uncovered by the pcre_extra.phpt test 2006-06-14 17:52:56 +00:00
Nuno Lopes a7bc286638 more tests (and fix 2 from yesterday) 2006-06-14 17:37:53 +00:00
Nuno Lopes 7406f3771a remove the pcre_dfa_exec.c file, as it is needed (we dont expose that API) 2006-06-14 16:26:22 +00:00
Nuno Lopes 45a2bdaf73 missing newline 2006-06-14 16:16:02 +00:00
Ilia Alshanetsky 18870e3afc E_ERROR -> E_RECOVERABLE_ERROR 2006-06-14 16:04:13 +00:00
Christian Stocker d7fd19b7ff MFH
Fix a segfault, when an unknown type was given and support all known xpath object types
2006-06-14 09:42:35 +00:00
Nuno Lopes e607e2ab9a also ignore lcov generated files 2006-06-13 22:02:57 +00:00
Nuno Lopes c93dc5d873 add new tests, increasing coverage by about 10% 2006-06-13 21:55:38 +00:00
Marcus Boerger 9660548a22 - MFH Arginfo fix (Hannes) 2006-06-13 20:57:35 +00:00
Ilia Alshanetsky b8bee35259 Removed unused variables. 2006-06-13 20:19:37 +00:00
Dmitry Stogov eb8c558966 Removed warnings 2006-06-13 14:22:46 +00:00
Dmitry Stogov 5a73f8f13f Removed warning 2006-06-13 13:55:12 +00:00
Stefan Esser 7bbf35320d MFH: Added hook for compile_string() 2006-06-13 12:57:48 +00:00
Ilia Alshanetsky 3ff5fb0631 Fixed compiler warning 2006-06-12 23:28:32 +00:00
Ilia Alshanetsky d74f9ff550 Improved performance of the implode() function on associated arrays by
200-300%.
2006-06-11 21:55:49 +00:00
Ilia Alshanetsky 66141bd5d1 Fixed ZTS build 2006-06-11 20:47:34 +00:00
Hannes Magnusson dd2c03ca48 MFH: fix typo 2006-06-11 20:12:17 +00:00
Hannes Magnusson 21b0f60332 MFH: argument infos 2006-06-11 20:03:05 +00:00
Ilia Alshanetsky f1fb77d1aa Make zend_print_zval_r_ex() use the write callback function. 2006-06-11 16:28:24 +00:00
Ilia Alshanetsky f876b800a2 Fully print array() in phpinfo(). 2006-06-11 16:27:16 +00:00
Hannes Magnusson 3104233019 MFH: arginfo, protos, vim folding 2006-06-11 01:42:17 +00:00
Hannes Magnusson 50de3fd1ce MFH: fix test 2006-06-11 00:18:30 +00:00
Ilia Alshanetsky 37d88ca5a0 Improved performance of str_replace() when doing 1 char to 1 char or 1 char
to many chars replacement by 30-40%.
2006-06-10 15:29:06 +00:00
Hannes Magnusson 13fe33c2df MFH
- Created new abstract class, ReflectionFunctionAbstract implementing Reflector
- Moved all methods from ReflectionFunction (except export, invoke & invokeArgs)
- ReflectionFunction now inherits everything from ReflectionFunctionAbstract
    and implements its own export, invoke & invokeArgs methods
- ReflectionMethod now extends ReflectionFunctionAbstract and implements
    its own export, invoke & invokeArgs methods.
- Removed stdClass typehint from ReflectionClass::isInstance
- Removed stdClass typehint from ReflectionClass::set/getValue
2006-06-10 00:40:57 +00:00
Rasmus Lerdorf 50cc487b21 MFH: Patch from Nuno 2006-06-09 23:47:10 +00:00
Michael Wallner 76838bcd54 - sync with apache2handler 2006-06-09 16:29:35 +00:00
Michael Wallner 96724797c8 BFN: - Fixed bug #37720 (merge_php_config scrambles values). (Mike,
pumuckel at metropolis dot de)
2006-06-09 15:17:39 +00:00
Michael Wallner 2e9ec84ce2 MFH: fix bug #37720 (merge_php_config scrambles values) 2006-06-09 15:13:39 +00:00
Ilia Alshanetsky 6654a07e73 Update credits 2006-06-08 22:04:52 +00:00
Derick Rethans ddd8fd3e3d - Fixed bug #37747 (strtotime segfaults when given "nextyear"). 2006-06-08 16:27:05 +00:00
Dmitry Stogov 2a7d16f8fd Proper fix for bug #37707 ("clone $x" must call __clone() enven if result value is not used) 2006-06-08 08:56:27 +00:00
Dmitry Stogov 6e24feb80d Wrap "wrong" unreachable code with "#if 0" 2006-06-08 08:37:51 +00:00
Marcus Boerger 44ba014c5f - MFH Add arginfo (hannes) 2006-06-07 22:39:22 +00:00
Rasmus Lerdorf 76bff5194c Put the TODO back 2006-06-07 21:14:04 +00:00
Rasmus Lerdorf 658762a0b5 Get rid of useless function calls 2006-06-07 21:09:52 +00:00
Ilia Alshanetsky 402de0146e Bug fixing news 2006-06-07 13:44:08 +00:00
Ilia Alshanetsky 8d4bb9ca74 Fixed bug #37707 clone without assigning leaks memory
# Based on a patch by Nuno
2006-06-07 13:41:49 +00:00
Antony Dovgal 9123bee257 MFH:
fix Unicode LOB problems using callbacks to read LOBs
using chunk_size*X buffer should speed up LOB reading a bit

many thanks to Massimo Squillace <msquillace at sogei dot it> for the patch.
2006-06-07 13:36:51 +00:00
Marcus Boerger e0844e09bd - MFH iterator_apply() 2006-06-07 09:44:42 +00:00
Marcus Boerger 64c353ab79 - MFH zend_fcall_info_*() and parameter parsing option 'f'
# Right now i see this as the best option but we might shuffle code around
# later if someone comes up with a better solution.
2006-06-07 09:43:54 +00:00
Marcus Boerger 1f93575c88 - MFH Add ReflectionClass::getInterfaceNames() 2006-06-07 09:26:11 +00:00
Marcus Boerger de39078f7b - Regenerated after zend_vm_def.h change 2006-06-07 09:22:08 +00:00
Marcus Boerger 5cdefd07cd - MFH Fix issue with interfaces being inherited multiple times 2006-06-07 09:21:06 +00:00
Ilia Alshanetsky a9c6e4be1e Fixed bug #37709 (Possible crash in PDO::errorCode()). 2006-06-07 03:33:16 +00:00
Antony Dovgal e5c8f8c59b yet another dummy clone_obj handler to fix problems created by ze1 compat mode 2006-06-06 22:05:56 +00:00
Antony Dovgal a07500042d implement a dummy clone_obj handler for ze1 compat mode
(fixes segfault on every XMLReader instantiation)
2006-06-06 21:44:34 +00:00
Michael Wallner d6212d96f4 - only try to fetch stream context options if context is set 2006-06-06 21:38:03 +00:00
Antony Dovgal 928c20942b plug a leak in ext/spl/tests/iterator_047.phpt 2006-06-06 20:11:35 +00:00
Antony Dovgal f6a400bd9f revert by Andi's request 2006-06-06 14:17:21 +00:00
Antony Dovgal 2f26d8d7ae MFH: don't leak when decoding failed 2006-06-06 14:09:12 +00:00
Rob Richards 704ed9625c nuke unused call 2006-06-06 12:08:11 +00:00
Rob Richards d6a526d66b restore missing ze1 compat code 2006-06-06 12:05:30 +00:00
Antony Dovgal e8d568ea8d fix test 2006-06-06 11:33:59 +00:00
Antony Dovgal 8204511d71 MFH: do not allow to implement the same interface twice
add tests
2006-06-06 10:03:01 +00:00
Ilia Alshanetsky 6ab23efb3a Fixed bug #37705 (Semaphore constants not available). 2006-06-05 22:52:11 +00:00
Antony Dovgal 073ee1397a MFH: no need to check if non-existing include_path complies with open_basedir setting 2006-06-05 22:39:50 +00:00
Edin Kadribasic 8b764bd08c Fixed bug #35886 (nlopes) 2006-06-05 22:19:36 +00:00
Antony Dovgal 1b602e85d1 fix leak appearing on phpinfo() when there are no PDO modules available 2006-06-05 22:08:16 +00:00
Zeev Suraski 66b90c7052 Final ze1_compat restoration - it was mostly done by hand, so if anybody
spots any (new) problems, let me know.  Test wise, the same tests that
failed before are failing now.
2006-06-05 16:53:21 +00:00
Zeev Suraski b1683ea891 ze1 restoration 2006-06-05 16:25:25 +00:00
Zeev Suraski 51d495850a Restore ZE1 compatibility mode (Zend Engine part - the modules patches
will follow later today)
2006-06-05 13:58:52 +00:00
Antony Dovgal 163f0da75a BFN 2006-06-05 09:57:17 +00:00
Stanislav Malyshev 1ebb0590bd improve .dsp build 2006-06-05 09:02:28 +00:00
Antony Dovgal a588f2dc60 MFH: fix OCIPasswordChange() parameters (patch by pholdaway at technocom-wireless dot com)
prevent username, password and new password from being empty
2006-06-05 07:35:32 +00:00
Stanislav Malyshev 0c518a03a9 fix .dsp build 2006-06-04 18:03:25 +00:00
Ilia Alshanetsky 63a658ee7a Fixed bug #37671 (MySQLi extension fails to recognize BIT column). 2006-06-04 14:56:34 +00:00
Marcus Boerger ac2a29913c - Add missing classes 2006-06-04 10:47:22 +00:00
Marcus Boerger 37f5474ce9 - MFH Use engine call to register interfaces (steph) 2006-06-04 10:34:22 +00:00
Marcus Boerger 6c0f166794 - Fix function flag check 2006-06-04 10:27:28 +00:00
Marcus Boerger dfd2295849 - Use engine call to register interfaces (steph) 2006-06-04 10:26:55 +00:00
Johannes Schlüter 2f418134ff MFH 2006-06-03 22:02:02 +00:00
Andrei Zmievski 5735927d86 I swear it wasn't me. 2006-06-03 18:56:44 +00:00
Rob Richards a86232d9bb MFH: add setIdAttribute, setIdAttributeNS and setIdAttributeNode functionality 2006-06-02 16:17:25 +00:00
Dmitry Stogov 6c61aeb012 SAPI globals are destroied at this point and reporting errors about memory leaks can cause crash. 2006-06-02 13:30:55 +00:00
Ilia Alshanetsky 5b5e7a4de9 Fixed compiler warning 2006-06-01 22:42:22 +00:00
Michael Wallner 6e2ff39e3e - Fix bug #37630: MySQL extensions should link against thread safe client libs if built with ZTS 2006-06-01 19:14:48 +00:00
Michael Wallner 57cdfc58d2 - fix order 2006-06-01 19:11:59 +00:00
Michael Wallner c0505439c3 - Fixed bug #37363 (PDO_MYSQL does not build if no other mysql extension is
enabled)
2006-06-01 15:14:45 +00:00
Antony Dovgal 17ad6e2ebf apply correct fix 2006-06-01 14:31:22 +00:00
Antony Dovgal fbeb246a3a no need to do TSRMLS_FETCH() twice 2006-06-01 14:06:23 +00:00
Antony Dovgal 112f263591 MFH: suppress_errors is used only on Win32, no need to look for it on other systems 2006-06-01 14:03:49 +00:00
Antony Dovgal 0675e5eabb MFH: nuke unused variable 2006-06-01 13:45:26 +00:00
Antony Dovgal 48098f0774 fix tests 2006-06-01 13:17:36 +00:00
Antony Dovgal 210335909a MFH: no need to fetch trsm_ls when it's already available 2006-06-01 12:25:38 +00:00
Antony Dovgal ff59351416 add new tests 2006-06-01 11:57:49 +00:00
Antony Dovgal 29be5946f9 MFH: throw a warning when using invalid offset types with strings 2006-06-01 11:56:44 +00:00
Ilia Alshanetsky 378d5d4e34 spelling corrections 2006-05-31 23:06:50 +00:00
Andrei Zmievski b8ebfce9af Revert accidentally committed internal patch 2006-05-31 21:48:43 +00:00
Antony Dovgal d5be48711a MFH: add expected warning to the test 2006-05-31 20:40:11 +00:00
Derick Rethans c116ecf207 - There was nothing wrong here, bug report #37595 is bogus.
- Added a new test case to demonstrate a longer plain text.
2006-05-31 20:09:07 +00:00
Antony Dovgal c188ec09eb add more tests 2006-05-31 18:47:21 +00:00
Andrei Zmievski 1f04ac91b0 MFB 2006-05-31 17:18:08 +00:00
Antony Dovgal 8f78a2727b add tests for E_STRICT that will become E_FATAL in PHP 6 2006-05-31 14:54:52 +00:00
Dmitry Stogov 8df40bdb31 Keeping consistent arg_stack during arguments freeing (Exception from destructor may use inconsistent arg_stack for backtrace). 2006-05-31 13:01:57 +00:00
Dmitry Stogov 51e52e20ef Support for nested exceptions and fatal errors in destructors 2006-05-31 12:59:31 +00:00
Antony Dovgal 47edd8a303 MFH: fix #37595 (mcrypt_generic calculates data length in wrong way) 2006-05-31 12:06:36 +00:00
Andi Gutmans 42f32bfa4b - Fix typo 2006-05-31 03:43:17 +00:00
Marcus Boerger 4703e96853 - Add new tests 2006-05-30 23:11:33 +00:00
Marcus Boerger d87de86823 - Switch back to old severities and still keep bugfix for
#37632 (Protected method access problem)
# It wasn't really my intention to change the severity. We simply didn't
# have tests for that.
2006-05-30 23:10:28 +00:00
Antony Dovgal 9246ba2a82 more test fixes, this time support Oracle 10 2006-05-30 22:34:16 +00:00
Antony Dovgal c1272d8972 fix tests 2006-05-30 22:27:32 +00:00
Antony Dovgal 2817ddccf5 fix test 2006-05-30 21:54:42 +00:00
Antony Dovgal bc5b8eabea MFH 2006-05-30 21:38:12 +00:00
Marcus Boerger 2d7d2aebe6 - MFH WS 2006-05-30 19:41:04 +00:00
Sara Golemon 79b21ec4cf MFH: Minor fixes (bjori) 2006-05-30 19:06:22 +00:00
Michael Wallner 258351c30a - fix bug #37635 (parameter of pcntl signal handler is trashed) 2006-05-30 17:40:52 +00:00
Seiji Masugata c314888c29 added mb_stristr( ), mb_strrichr( ). 2006-05-30 15:47:53 +00:00
Seiji Masugata 731584c076 added mb_strstr( ), mb_strrchr( ). 2006-05-30 15:45:35 +00:00
Seiji Masugata 42aadabfcb added mb_stripos( ), mb_strripos( ). 2006-05-30 15:43:09 +00:00
Seiji Masugata 7314771a35 added mb_list_encodings_alias_names( ), mb_list_mime_names( ). 2006-05-30 15:40:39 +00:00
Seiji Masugata 91dd8376bd added option parameter mb_list_encodings( ). 2006-05-30 15:38:22 +00:00
Hannes Magnusson 91d4ef33ef MFH: Play nice, use 4digit years in DATE_RSS 2006-05-30 15:14:22 +00:00
Ilia Alshanetsky 5186ee9c59 Added memory_get_peak_usage() function for retrieving peak memory usage of
a PHP script.
2006-05-30 14:51:20 +00:00
Hannes Magnusson 61fc424321 MFH: Fixed DATE_COOKIE, DATE_RSS & tests 2006-05-30 14:46:46 +00:00
Antony Dovgal bb4c7ff0e9 MFH: don't require libociei, this allows us to build ext/oci8 against basiclite OIC package 2006-05-30 13:16:48 +00:00
Derick Rethans 9a9cd86f38 - Now as text and not HTML. 2006-05-30 13:14:51 +00:00
Derick Rethans fb92e33b5d - MFH: Fixed bug #37616: DATE_RFC822 does not product RFC 822 dates. (Patch by
Hannes Magnusson)
2006-05-30 13:12:21 +00:00
Antony Dovgal e4a3732c91 no need to call zend_is_callable() if callable is known to be invalid
free fname on failure and plug possible leak
2006-05-30 09:46:59 +00:00
Ilia Alshanetsky a400d8908d Convert E_ERROR to E_RECOVERABLE_ERROR 2006-05-30 02:40:33 +00:00
Antony Dovgal 43b660b6ea MFH: no need to check it for not-NULL 2006-05-29 21:31:49 +00:00
Antony Dovgal 82d326bdea MFH: there is no ce at this point, revert this line to its previous state 2006-05-29 21:28:29 +00:00
Antony Dovgal 70c643f5f0 fix tests 2006-05-29 21:08:02 +00:00
Antony Dovgal fb696afd10 add test 2006-05-29 20:31:48 +00:00
Antony Dovgal 8ca3826a28 MFH: return NULL in case of error 2006-05-29 20:26:32 +00:00
Marcus Boerger aa40595644 - BFN 2006-05-29 20:07:39 +00:00
Marcus Boerger 1b172b1371 - MFH Bugfix #37632 (Protected method access problem) 2006-05-29 20:06:43 +00:00
Antony Dovgal 9e1b944989 MFH: improve sed expressions 2006-05-29 18:12:55 +00:00
Michael Wallner 3b407d143b - Fixed bug #36949 (invalid internal mysqli objects dtor) 2006-05-29 16:53:56 +00:00
Antony Dovgal aed81da3fa BFN 2006-05-29 11:00:32 +00:00
Antony Dovgal be0fc2b801 MFH: fix #37531 (oci8 persistent connection corruption) 2006-05-29 10:59:30 +00:00
Antony Dovgal ec68882101 add test 2006-05-29 10:42:54 +00:00
Antony Dovgal be0b8c71bc initialize srcstream 2006-05-29 10:39:59 +00:00
Antony Dovgal 1a63feffd1 MFH: prevent resource leaking when passing invalid stream resource as second argument 2006-05-29 10:24:49 +00:00
Georg Richter 10ed7a1e0a Fix for bug #37620 2006-05-29 05:38:50 +00:00
Michael Wallner 7ac96de039 - news entry for apache2handler ap_set_content_type() fix 2006-05-28 20:34:10 +00:00
Michael Wallner d724f9cfb1 MFH: 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:32:00 +00:00
Ilia Alshanetsky 1ad21d9b12 Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for recurssion
limit support).
2006-05-28 15:33:56 +00:00
Marcus Boerger 5f63b5c4ee - Revert until there is an ok for the full patch 2006-05-27 20:16:53 +00:00
Marcus Boerger ca6a202160 - WS 2006-05-27 19:06:06 +00:00
Marcus Boerger 493f39da2d - MFH: Fix bug #37212 (Access to protected property of common base class)
By adding "zend_class_entry *ce" to struct zend_property_info;
2006-05-27 18:39:53 +00:00
Johannes Schlüter ccfc0d9d99 - MFH Fix #37614 (Class name lowercased in error message) 2006-05-27 18:23:48 +00:00
Marcus Boerger 26145c2e0c - WS/CS 2006-05-27 18:04:13 +00:00
Rob Richards a7aa62ded1 MFH: add C14N() and C14NFile() methods to perform XML canonicalization
add test
2006-05-26 18:23:50 +00:00
Dmitry Stogov 10371b034a Fixed bug #37523 (namespaces added too late, leads to missing xsi:type attributes. incompatibility with libxml2-2.6.24) 2006-05-26 09:02:35 +00:00
Marcus Boerger 1d5f721fd9 - MFH Sync error messages and simplify error message generation code 2006-05-26 00:36:13 +00:00
Pierre Joye 59ddb74938 - fix leaks in openssl context options 2006-05-26 00:32:07 +00:00
Ilia Alshanetsky b882f9f37e Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters) 2006-05-25 22:54:16 +00:00
Edin Kadribasic 58962c7371 Missing definition, patch by Steph Fox 2006-05-25 18:47:21 +00:00
Michael Wallner 3dcef1b9be - implement standard http stream wrapper options, fixes bug #34180
- skip empty headers in on_header_available()
2006-05-25 12:41:35 +00:00
Antony Dovgal 99e13c50f9 MFH: remove debug output and fix bug #37589 2006-05-25 11:46:38 +00:00
Marcus Boerger 7110650668 - Update test 2006-05-25 10:46:53 +00:00
Marcus Boerger a681fcb006 - Update update news and sync with NEWS 2006-05-25 10:20:56 +00:00
Antony Dovgal 9dd24c6d87 fix error messages when converting objects to other types
add new function
MFB will follow soon
2006-05-25 10:01:06 +00:00
Marcus Boerger ec79dd793d - MFH Bugfix 37587 2006-05-25 09:59:25 +00:00
Dmitry Stogov 93851ebf11 Fixed bug #37278 (SOAP not respecting uri in __soapCall) 2006-05-25 08:14:28 +00:00
Dmitry Stogov 26ccde4da9 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:46:25 +00:00
Antony Dovgal 43c79a616e reorder 2006-05-25 07:31:47 +00:00
Dmitry Stogov 630def46f7 Fixed bug #37496 (FastCGI output buffer overrun) 2006-05-25 06:40:04 +00:00
Ilia Alshanetsky 53988d8cf5 Fixed bug #37563 (array_key_exists performance is poor for &$array). 2006-05-24 23:14:08 +00:00
Antony Dovgal 755caecfc9 fix test 2006-05-24 23:04:58 +00:00
Edin Kadribasic f2a48add80 BFN 2006-05-24 22:04:57 +00:00
Edin Kadribasic 740d39454b Initialize windows globals, fixes #37428 2006-05-24 22:00:15 +00:00
Antony Dovgal c53dbdbe75 BFN 2006-05-24 21:24:29 +00:00
Antony Dovgal 4cb3d18276 fix #37418 (tidy module crashes CLI version of PHP) 2006-05-24 21:22:13 +00:00
Antony Dovgal fb32c077a2 fix #37499 (CLI segmentation faults during cleanup (only with sybase-ct extension enabled)) 2006-05-24 20:21:02 +00:00
Dmitry Stogov a953a1abda Fixed CGI tests. 2006-05-24 13:28:59 +00:00
Dmitry Stogov 6fe36adf0c Fixed bug #37256 (php-fastcgi dosen't handle connection abort) 2006-05-24 09:42:21 +00:00
Dmitry Stogov 07b8d051fa Fixed bug #37341 ($_SERVER in included file is shortened to two entries, if $_ENV gets used). 2006-05-24 07:55:19 +00:00
Marcus Boerger 1448086b22 - MFH Add more tests from Ligaya Turmelle 2006-05-23 23:47:44 +00:00
Ilia Alshanetsky cd8c7a3e09 Fixed handling of extremely long paths inside tempnam() function. 2006-05-23 23:22:04 +00:00
Marcus Boerger 59d2ce8258 - MFH Fix feof() 2006-05-23 22:31:25 +00:00
Marcus Boerger 200c627aeb - MFH Sync with head (namespace prefix handling) 2006-05-23 22:24:44 +00:00
Marcus Boerger f88a172959 - MFH Handle NULL in C argument parsing correct 2006-05-23 22:22:11 +00:00
Marcus Boerger 64701cf42b - MFH Bugfix #37565 2006-05-23 21:58:44 +00:00
Marcus Boerger 8d4eea74d5 - Fix double error raising issue 2006-05-23 21:50:29 +00:00
Sebastian Bergmann 3e7df40852 MFH: Add bison 2.2 to the list of supported versions. 2006-05-23 11:11:16 +00:00
Marcus Boerger c1b749f491 - Update 2006-05-22 19:04:19 +00:00
Rob Richards c384b34ae9 MFH: add registerNodeClass() method
- update attribute isID functionality
 - add test
2006-05-22 17:12:26 +00:00
Rob Richards 3997d6663b MFH: move document property struct from xml_common.h 2006-05-22 17:09:05 +00:00
Ilia Alshanetsky e2c6d3edae E_ERROR > E_RECOVERABLE_ERROR 2006-05-22 14:22:26 +00:00
Dmitry Stogov 302c53fc5d Fixed bug #37496 (FastCGI output buffer overrun) 2006-05-22 09:22:20 +00:00
Antony Dovgal 52cb01a933 fix typo 2006-05-22 06:49:48 +00:00
Antony Dovgal 095162c3d4 re-enable OCILobRead2() support 2006-05-22 04:17:42 +00:00
Marcus Boerger e3f89f116a - MFH
. 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 18:13:37 +00:00
Marcus Boerger 7577130156 - MFH improve error messages 2006-05-21 18:10:31 +00:00
Marcus Boerger 1be624e7ba - MFH Sync vm generation with head
- Regenerate vm
2006-05-21 18:00:14 +00:00
Ilia Alshanetsky 24f3d55f3c Added control character checks for cURL extension's open_basedir/safe_mode
checks.
2006-05-21 16:31:57 +00:00
Ilia Alshanetsky 38d7ea305c Added a note about E_RECOVERABLE_ERROR being a part of E_ALL. 2006-05-21 15:50:31 +00:00
Marcus Boerger e145343b57 - MFH Handle corrupt base64 data in data: url 2006-05-21 13:37:19 +00:00
Marcus Boerger abcee63635 - Update 2006-05-21 09:12:34 +00:00
Marcus Boerger 290ed55060 - MFH Improved error message 2006-05-20 21:02:44 +00:00
Marcus Boerger 96916c95e8 - MFH Sync with head fixes part of an issue with iterator_(to_array|count) 2006-05-20 21:01:42 +00:00
Antony Dovgal 25eca319fa MFH: attempt to fix OCILobRead2() related problems 2006-05-20 13:46:59 +00:00
Marcus Boerger 10ab729e88 - MFH Add new tests 2006-05-20 11:35:38 +00:00
Marcus Boerger cd4ab2f6fe - MFH Use correct version 2006-05-20 09:12:28 +00:00
Marcus Boerger 397c88ae74 - MFH Add new tests 2006-05-20 09:08:35 +00:00
Dmitry Stogov cdb0ed7587 Fixed random crashes in ZTS mode becouse of uninitialized EG(modified_ini_directives). 2006-05-19 15:31:25 +00:00
Derick Rethans ab8329ec31 - Fixed bug #37514 (strtotime doesn't assume year correctly). 2006-05-19 14:52:30 +00:00
Michael Wallner bea595aef9 - nuke compiler warnings 2006-05-19 14:19:27 +00:00
Antony Dovgal ab9429900a fix test 2006-05-19 10:57:48 +00:00
Antony Dovgal 6557578657 MFH: initialize factory 2006-05-19 10:24:05 +00:00
Antony Dovgal c13ba99551 add new tests by Ligaya Turmelle 2006-05-19 07:44:24 +00:00
Dmitry Stogov 14f6b9149d Optimized zend_try/zend_catch macroses (eliminated memcpy()) 2006-05-19 06:09:15 +00:00
Ilia Alshanetsky 95875d9966 Fixed bug #37505 (touch() truncates large files). 2006-05-19 02:51:00 +00:00
Marcus Boerger 55041d6f3d - MFH Add new test 2006-05-18 22:52:04 +00:00
Marcus Boerger 69079a7537 - MFH Add new test 2006-05-18 22:42:05 +00:00
Marcus Boerger aa0172a4da - MFH Fix bug #37510 session_regenerate_id changes session_id() even on failure 2006-05-18 22:12:26 +00:00
Marcus Boerger 5e5327a7e0 - MFH Add new test 2006-05-18 21:59:05 +00:00
Edin Kadribasic 51ed0ebad8 Use heap insted of stack for recursion in hope of avoid stack overflow crashes 2006-05-18 21:50:51 +00:00
Marcus Boerger e33afedd96 - You shall not use %v in 5.*
# Even though it is there it is only meant for pecl dev to ease their pain
2006-05-18 21:48:33 +00:00
Edin Kadribasic 52566bba75 Give exe files 8MB stack (same default as on Linux) instead of Windows default 1MB 2006-05-18 21:46:12 +00:00
Marcus Boerger 20ac90bac8 - Update 2006-05-18 21:45:38 +00:00
Marcus Boerger 7d79686f45 - MFH Fixed CachingIterator issues with string conversion/__toString()
Partly by adding new mode TOSTRING_USE_INNER
2006-05-18 21:42:58 +00:00
Antony Dovgal 80d7ac0e9e there is no %v in 5.2 2006-05-18 21:24:04 +00:00
Antony Dovgal 749f4ac2ab MFH: fix #37487 (oci_fetch_array() array-type should always default to OCI_BOTH) 2006-05-18 13:21:08 +00:00
Antony Dovgal 557b7fbec5 fix tests 2006-05-17 20:13:05 +00:00
Marcus Boerger 9c8b47d15e - Fix oversight and drop E_STRICT in 5.x series 2006-05-17 19:07:45 +00:00
Rob Richards 0b3b1448d0 BFN 2006-05-17 16:37:01 +00:00
Rob Richards 6f95fa95cc add tests 2006-05-17 16:36:21 +00:00
Rob Richards aebc5833a9 Synch from HEAD
- Fix bug #37456 (DOMElement->setAttribute() loops forever)
- update iterators for engine change merged from HEAD
2006-05-17 16:35:50 +00:00
Antony Dovgal 6783be767a change argument name, it should be "object" not "property" 2006-05-17 14:28:21 +00:00
Ilia Alshanetsky 4fd736fbe9 Bug fixing news 2006-05-17 13:28:29 +00:00
Ilia Alshanetsky 21724432de Fixed bug #35512 (Lack of read permission on main script results in
E_WARNING rather then E_ERROR).
2006-05-17 13:27:51 +00:00
Antony Dovgal e2afb33e87 fix skip reason 2006-05-17 10:12:36 +00:00
Marcus Boerger 09b741ff47 - MFH Proto fix/add 2006-05-17 00:07:28 +00:00
Marcus Boerger 216049bb27 - MFH '_' is valid in test blocks 2006-05-16 23:05:49 +00:00
Antony Dovgal 1f02fad528 fix test 2006-05-16 22:59:32 +00:00
Ilia Alshanetsky ccad354535 Make filters without a resource throw E_RECOVERABLE_ERROR rather then
E_ERROR
2006-05-16 14:11:52 +00:00
Antony Dovgal 1feef82dc4 new mkdir tests 2006-05-16 13:06:06 +00:00
Antony Dovgal 3a830a30f4 fix #37395 (recursive mkdir() fails to create nonexistent directories in root dir) 2006-05-16 13:05:02 +00:00
Marcus Boerger 26a67b8925 - MFH Fixed Bug #37457 (Crash when an exception is thrown in accept() method of FilterIterator) 2006-05-16 08:21:08 +00:00
Ilia Alshanetsky cccb406ee8 Disable realpath cache when open_basedir or safe_mode are enabled on a
per-request basis.
2006-05-16 00:39:32 +00:00
Dmitry Stogov be4c37919b Added test 2006-05-15 16:44:54 +00:00
Sebastian Bergmann c412cfe311 My bad. 2006-05-15 16:08:18 +00:00
Sebastian Bergmann a70d189c04 Fugbix NEWS entries. 2006-05-15 16:03:41 +00:00
Sebastian Bergmann d7138e1e5d Fugbix typo. 2006-05-15 16:01:24 +00:00
Dmitry Stogov dd5b835147 *** empty log message *** 2006-05-15 15:38:46 +00:00
Dmitry Stogov 963c7fa016 Optimized require_once/include_once (eliminated fopen() on second usage) 2006-05-15 15:31:27 +00:00
Dmitry Stogov 14cad8fdc3 Optimized shutdown sequence to iterate only over modified ini directives 2006-05-15 14:52:35 +00:00
Dmitry Stogov b5cd968ffc - Removed source compatibility with libfcgi
- Optimized access to FastCGI environment using HashTable instead of linear search
- 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:31 +00:00
Derick Rethans 7975b4eb0e - MFH: Fixed windows compile error. 2006-05-15 08:54:16 +00:00
Antony Dovgal bb82fb0530 MFH: disable OCILobRead2() support on Win32 2006-05-15 08:34:40 +00:00
Marcus Boerger da438af187 - Update 2006-05-14 19:58:04 +00:00
Marcus Boerger 8886be7041 - Add some update notes 2006-05-14 19:23:19 +00:00
Marcus Boerger 9249d05bdd - We have it now fully RFC compliant 2006-05-14 19:20:21 +00:00
Marcus Boerger 5d43fe49f7 - MFH No need to have this controlled by allow_url_fopen 2006-05-14 19:15:31 +00:00
Marcus Boerger 0c40fb7ef2 - Readd that E_RECOVERABLE_ERROR, dropping it is a bad idea 2006-05-14 18:50:02 +00:00
Marcus Boerger 3fd2c5e217 - Do not include E_RECOVERABLE_ERROR to the default mode E_ALL 2006-05-14 18:45:10 +00:00
Marcus Boerger 3577115118 - MFH Add strict compliant RFC2397 support (no //) 2006-05-14 18:40:12 +00:00
Derick Rethans 74dfa9f0ba MFH:
- Implemented Dmitry's const patch.
- Added support for "weekday" as relative item.
- Fixed bug #37368 (Incorrect timestamp returned for strtotime()).
2006-05-14 17:36:05 +00:00
Ilia Alshanetsky 4ab6eb3d19 MFH: Fixed bug #36630 (umask not reset at the end of the request). 2006-05-14 16:06:48 +00:00
Marcus Boerger ad16c0a375 - Update 2006-05-14 02:00:04 +00:00
Marcus Boerger 653d895ecb - Update 2006-05-14 01:55:27 +00:00
Marcus Boerger 5b44266a5f - MFH RFC2397 decoding 2006-05-14 01:42:03 +00:00
Marcus Boerger 0c09d4cb63 - MFH RFC 2397 meta data handling 2006-05-14 01:06:09 +00:00
Pierre Joye fc06fb4a07 - initial commit
Please fill it :)
2006-05-14 00:29:08 +00:00
Rasmus Lerdorf 6fb0bf80ea Switch to a signed int for now. Will look at moving to a long throughout
the code here.
2006-05-13 21:50:28 +00:00
Marcus Boerger 2100a86198 - MFH Initial support for RFC2397 2006-05-13 17:58:58 +00:00
Marcus Boerger a4af2a9d16 - MFH add support for --EXPECTHEADERS-- 2006-05-13 14:01:58 +00:00
Marcus Boerger d45250a058 - MFH code layout for __toString() use in parameter parsing api 2006-05-13 10:37:45 +00:00
Rob Richards 8d1427dd98 MFH: add doXInclude property to allow processor to perform XIncludes 2006-05-12 18:53:40 +00:00
Ilia Alshanetsky aa19f65f56 Download pear phar file when making a distribution package 2006-05-12 14:54:10 +00:00
Derick Rethans 07d0f0cf01 - MFH: Tests for BC breaking changes. 2006-05-12 10:02:31 +00:00
Antony Dovgal 046b34955c MFH: fix #37416 (iterator_to_array() hides exceptions thrown in rewind() method) 2006-05-12 09:42:56 +00:00
Sebastian Bergmann ec7b8e2b1c Bump version. 2006-05-12 05:36:09 +00:00
Marcus Boerger b3c3c6de14 - Missing __toString() pieces 2006-05-12 00:21:00 +00:00
Marcus Boerger a5f8d2899c - Update 2006-05-11 22:58:14 +00:00
Marcus Boerger 7bbab02633 - MFH
. Fix iterator based access
  . Add new attribute ATTR_DEFAULT_FETCH_MODE: $bdh->setAttribute()
  . Add new fetch mode: FETCH_PROPS_LATE, this fills object member
    variables after calling the constructor (fixes #36428).
2006-05-11 22:43:44 +00:00
Antony Dovgal 7412202c43 no need to destroy the zval here 2006-05-11 22:41:37 +00:00
Antony Dovgal ca923a2cae fix test 2006-05-11 22:17:53 +00:00
Marcus Boerger bf9f762b4d - MFH: add new test 2006-05-11 22:17:42 +00:00
Dmitry Stogov 1f41b288e9 Fixed bug #37306 (max_execution_time = max_input_time) 2006-05-11 22:10:31 +00:00
Ilia Alshanetsky b8c7ecc061 Fixed bug #37413 (Rejected versions of flex that don't work). 2006-05-11 22:04:51 +00:00
Edin Kadribasic bbf97549b8 Remove pecl includes (Steph), except pdo_odbc which will remain broke 2006-05-11 21:43:59 +00:00
Marcus Boerger 7a5240e846 - MFH missing bits and pieces of the partial sync with head
# This time i added:
# ZEND_FE_RESET_VARIABLE
# ZEND_FE_RESET_REFERENCE
# and dapted parser,compiler,executor,interfaces to handle these flags
# their purpose is to be able to pass whetehr foreach is done by ref to
# the current() handler so that it can error out in case it is not capable
# to comply to the requested return signature/protocol/semantics (weyp).
2006-05-11 21:07:39 +00:00
Marcus Boerger b636a534c1 - Drop second superflous zval_ptr_dtor in string arg parsing 2006-05-11 21:03:14 +00:00
Marcus Boerger 05273a73d8 - Fix test 2006-05-11 21:01:04 +00:00
Antony Dovgal 8ee1c45a3b fix test 2006-05-11 15:43:28 +00:00
Antony Dovgal 085e0fc51f fix segfault when passing objects where strings are expected 2006-05-11 15:10:36 +00:00
Seiji Masugata 9b05e15e8a fixed all mbstring setting information doesn't return in mb_get_info( ). 2006-05-11 14:42:12 +00:00
Antony Dovgal bc4e9efef7 add new test 2006-05-11 14:18:34 +00:00
Marcus Boerger 38ff4bba17 - MFH Add missing ZEND_API declarations 2006-05-11 08:11:45 +00:00
Marcus Boerger ac3c882bb6 - Use of E_RECOVERABLE_ERROR 2006-05-11 08:06:22 +00:00
Marcus Boerger f7776502b5 - MFH Fix error mode handling 2006-05-11 07:56:36 +00:00
Rasmus Lerdorf ed7ed1189b This spelling mistake finally annoyed me enough to fix it. 2006-05-11 03:47:55 +00:00
Antony Dovgal 37ed02b199 change it to be consistent with the others 2006-05-10 22:57:50 +00:00
Marcus Boerger 288da2242e - Fix tests 2006-05-10 22:46:16 +00:00
Marcus Boerger 23b97b2530 - Update tests after MFH 2006-05-10 22:38:35 +00:00
Marcus Boerger de9fa58e0b - No more ze1 2006-05-10 22:36:49 +00:00
Marcus Boerger 3746ccb627 - Hardcoded error mode was changed to 8191 2006-05-10 21:46:59 +00:00
Marcus Boerger 9745215cf8 - MFH tests 2006-05-10 21:19:37 +00:00
Rasmus Lerdorf 4df7ab403c Add input_filter hook call in getenv() 2006-05-10 21:19:32 +00:00
Marcus Boerger d76c516176 - Missing __ToString() sync 2006-05-10 21:13:22 +00:00
Marcus Boerger f16bdce284 - Enforece rule of disallowing throw in __toString() 2006-05-10 21:12:48 +00:00
Rasmus Lerdorf cbb11e018a Now that ext/filter is bundled, we should be defining these in one place 2006-05-10 21:10:45 +00:00
Marcus Boerger 5efe53c596 - MFH add E_RECOVERABLE as default 2006-05-10 20:00:26 +00:00
Marcus Boerger 0dacd6d5c0 - ze1 cleanup (bjori) /thx 2006-05-10 19:41:34 +00:00
Rob Richards 1048c9cd52 Synch with HEAD 2006-05-10 19:38:35 +00:00
Marcus Boerger 848c5c7695 - Missing __tostring() conversion snippets 2006-05-10 19:36:47 +00:00
Marcus Boerger 168c0ead9e - Missed my name 2006-05-10 19:20:34 +00:00
Frank M. Kromann 815d3169ba Fix win32 build 2006-05-10 18:32:50 +00:00
Andrei Zmievski 9e0e89c5cf Rename RegExIterator -> RegexIterator.
Also rename recursive one.
2006-05-10 16:50:57 +00:00
Rob Richards f064d19f40 - Update after api changes 2006-05-10 14:39:10 +00:00
Antony Dovgal f7eec29f84 fix tests 2006-05-10 14:04:52 +00:00
Antony Dovgal 8a03fc5ef3 add missing parts of E_RECOVERABLE merge 2006-05-10 14:04:18 +00:00
Antony Dovgal 0f93228cb7 add missing ZEND_API to the implementation 2006-05-10 14:00:36 +00:00
Antony Dovgal 4f37b2f354 nuke extra semi-colon 2006-05-10 13:49:27 +00:00
Ilia Alshanetsky 91bd50d1b0 Fixed bug #37394 (substr_compare() returns an error when offset equals
string length).
2006-05-10 13:07:15 +00:00
Rob Richards aa38b5572e Synch with HEAD
add readInnerXML, readOuterXML, readString, and setSchema functionality
  allow parser options to be passed when loading reader
  optimization: use xmlTextReader const functions for string properties
  add test
2006-05-10 12:04:46 +00:00
Andrey Hristov ac97b77ed9 Don't allocate 2 chunks of memory when one can fit. Reduces memory
fragmentation. There is one more place that fragments memory but it will
complicate the ongoing Unicode upgrade of mysqli so leaving it away for now.
2006-05-10 11:53:13 +00:00
Antony Dovgal 0881dbd101 MFH: fix #37392 (Unnecessary call to OCITransRollback() at the end of request) 2006-05-10 10:07:28 +00:00
Marcus Boerger 83310cba5b - MFH news 2006-05-10 09:27:23 +00:00
Andrei Zmievski ee68b99571 *** empty log message *** 2006-05-10 02:47:21 +00:00
Marcus Boerger edfe649c6b - MFH Constructors in interfaces 2006-05-10 01:23:55 +00:00
Marcus Boerger 43217a3225 i- ZE1_compat tests are no longer necessary 2006-05-10 00:41:23 +00:00
Marcus Boerger 3a3e310e2e - MFH: SplFileObject improvements
. FILE_OBJECT_READ_AHEAD: allow to read ahead
  . FILE_OBJECT_SKIP_EMPTY: allow to skip empty lines (includes read ahead)
  . FILE_OBJECT_READ_CSV:   allow to read as csv
2006-05-10 00:31:04 +00:00
Marcus Boerger 982822be93 - Fix iterators part and add tests 2006-05-10 00:29:42 +00:00
Marcus Boerger 9afb3e041b - Update after api changes
- MFH
  . ArrayIterator/ArrayObject: function lookup caches and array functions
  . Added RegExIterator, RecursiveRegExIterator
  . Added (full) caching support for CachingIterator
2006-05-10 00:03:38 +00:00
Marcus Boerger 77c1b56cd7 - Update after api changes 2006-05-10 00:00:13 +00:00
Marcus Boerger 11f26c2c2a - Tweak version check 2006-05-09 23:54:48 +00:00
Marcus Boerger 0de69fe97d - MFH pcre_get_compiled_regex_cache() support 2006-05-09 23:53:40 +00:00
Marcus Boerger 637a40423c - MFH as discussed
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
  . zend_get_error_exception()   -> zend_get_error_exception(TSRMLS_D)
  . added E_RECOVERABLE_ERROR
  . added ZEND_TOSTRING_FUNC_NAME
  . added __tostring function cache to zend_class_entry
  . added ZEND_NAMED_ME
  . modified ZEND_ME_MAPPING to support method flags
  . added ZEND_MN
  . method entries now use prefix "zim_" instead of "zif_"
  . drop EG(ze1_compatibility_mode)
  . changed cast handler, now without (int should_free):
    typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
  . changed get_iterator, now receives whether value is by ref:
    zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
  . added zend_objects_store_add_ref_by_handle
  . added zend_objects_store_del_ref_by_handle
  . convert_to_explicit_type(pzv, type)
2006-05-09 23:53:23 +00:00
Ilia Alshanetsky 57184454e9 Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). 2006-05-09 22:00:08 +00:00
Andrei Zmievski 5a8b4e72ce *** empty log message *** 2006-05-09 19:37:00 +00:00
Andrei Zmievski f9de2cc142 MFH 2006-05-09 18:29:26 +00:00
Georg Richter d2dd99ded5 removed unused macro parameter 2006-05-09 11:26:09 +00:00
Edin Kadribasic 0ca7a98800 Update news 2006-05-08 20:18:34 +00:00
Georg Richter d94467f7e8 moved zend_class_entry variables to mysqli.c 2006-05-08 16:19:43 +00:00
Brian France 39441f79e6 MFH: Add implementation of curl_multi_info_read 2006-05-08 15:29:28 +00:00
Andrey Hristov 818d2b7aee tweaks and optimizations
#tested on 32b and 64b
2006-05-08 15:06:51 +00:00
Ilia Alshanetsky 79ebfe382b Fixed memory leaks when working with cursors in PDO PostgreSQL driver. 2006-05-08 14:33:00 +00:00
Pierre Joye 3bad805e35 - more CS 2006-05-08 12:06:59 +00:00
Pierre Joye 4428076eae - MFH: #37360, bad gif size 2006-05-08 11:50:47 +00:00
Pierre Joye 570511c9b2 - CS (spaces > tabs) 2006-05-08 11:12:49 +00:00
Rasmus Lerdorf 65de977ea0 INSTALL_HEADERS takes absolute filenames there in the second arg.
This makes pecl/mailparse build again
2006-05-07 16:56:07 +00:00
Pierre Joye 52619b8427 - #37346, invalid colormap format 2006-05-07 16:37:40 +00:00
Ilia Alshanetsky 0423be06b5 Fixed bug #37348 (make PEAR install ignore open_basedir). 2006-05-07 16:32:40 +00:00
Marcus Boerger c018b83003 - MFH %v for s[np]printf 2006-05-07 12:40:17 +00:00
Edin Kadribasic 18eb480dd2 MFH: Added pg_field_table() as per req: #36750 2006-05-07 00:28:32 +00:00
Edin Kadribasic 12a5d2b547 Enable parallel build against Apache 2.2 libs and headers 2006-05-07 00:09:20 +00:00
Edin Kadribasic ff27860a66 Enable separate build dir for SAPIs, the same way it is possible for EXTENSIONs 2006-05-07 00:04:56 +00:00
Ilia Alshanetsky 7e8409de8c Fixed bug #37244 (Added strict flag to base64_decode() that enforces
RFC3548 compliance).
2006-05-06 22:47:14 +00:00
Ilia Alshanetsky 89e3ac9531 Creation of the 5.2 branch 2006-05-06 21:58:03 +00:00
SVN Migration 608baa409a This commit was manufactured by cvs2svn to create branch 'PHP_5_2'. 2006-05-05 15:49:42 +00:00
Michael Wallner 55f0daf65d - treat interfaces and classes gracefully in print_inh 2006-05-05 15:49:41 +00:00
Michael Wallner 78d11cbc70 - add print_inh (prints a very simple class tree, ie. extensible)
- add print_pi (prints property_info)
- add ____print_str (print strings binary safely, for hash keys etc)
2006-05-05 15:14:37 +00:00
Dmitry Stogov b096a5de17 Fixed bug #37313 (sigemptyset() used without including <signal.h>). (jdolecek) 2006-05-05 07:05:34 +00:00
Antony Dovgal 25de341259 plug a leak 2006-05-04 22:48:29 +00:00
Antony Dovgal ef0d7e3f58 MFH: several minor fixes: nuke compile warnings etc. 2006-05-04 19:00:11 +00:00
Sara Golemon 7e6beb9f28 Note addition of new class constants 2006-05-04 00:21:51 +00:00
Ilia Alshanetsky 5649f24524 Back to dev 2006-05-03 23:31:43 +00:00
Ilia Alshanetsky 87583528c6 go with 5.1.4 2006-05-03 23:30:02 +00:00
Sara Golemon 3c831fef01 News entry for exporting PDO::PARAM_EVT_* constants 2006-05-03 22:44:37 +00:00
Sara Golemon 91999f1175 mfh(r-1.129) Expose PARAM_EVT_* constants 2006-05-03 21:58:38 +00:00
Pierre Joye 3a7aee2472 - remove debug part
nota bene, there is still work in this area, but this is a start
2006-05-03 21:37:16 +00:00
Pierre Joye 1192667679 - add test for multipart POST
- also first example of the POST_RAW section
2006-05-03 21:35:26 +00:00
Pierre Joye 9e4283227d - add support for POST_RAW, allow to pass raw POST data
- add support for TEST_PHP_CGI_EXECUTABLE env variable, it is now possible
  to set both TEST_PHP_EXECUTABLE and CGI
2006-05-03 21:33:44 +00:00
Antony Dovgal 24f0701867 MFH: plug leak 2006-05-03 19:40:58 +00:00
Antony Dovgal 43db0fce03 more POST+array tests 2006-05-03 19:02:12 +00:00
Dmitry Stogov f03fe1c09d Fixed bug #37205 (incompatibility with mod_fastcgi) 2006-05-03 15:39:16 +00:00
Ilia Alshanetsky c10762e967 Prepare news file for release 2006-05-03 13:32:46 +00:00
Ilia Alshanetsky fd2726641b Revert previous optimization if preparation for 5.1.4 2006-05-03 13:32:10 +00:00
Dmitry Stogov 0c6f5f5810 Fixed bug #37291 (FastCGI now longer works with isapi_fcgi.dll) 2006-05-03 13:25:37 +00:00
Dmitry Stogov 79fd560e5e Fixed incompatibility with isapi_fcgi.dll 2006-05-03 13:19:57 +00:00
Dmitry Stogov efad37874b Fixed bug #37276 (problems witch $_POST array) 2006-05-03 11:24:29 +00:00
Pierre Joye dbf2a5c65c - document the --with-pdo-sqlite[=dir] 2006-05-03 11:12:54 +00:00
Rob Richards ed33d232e0 BFN
re-order news
2006-05-03 08:44:32 +00:00
Rob Richards f57c75112d Fix bug #37277 (cloning Dom Documents or Nodes does not work)
Proper fix for bug #36859
add test
2006-05-03 08:43:04 +00:00
Dmitry Stogov a34755e9cf MFH 2006-05-03 06:36:02 +00:00
Dmitry Stogov 7941dcf544 typo 2006-05-02 15:50:04 +00:00
Dmitry Stogov ab5a8b2ae3 Fixed possible crash in highlight_string() (proper place) 2006-05-02 15:49:26 +00:00
Ilia Alshanetsky e95addcbfa Attempt to increase smart_str performance through the use of larger
default buffers. Biased micro benchmarks show it makes sense :P
2006-05-02 13:52:24 +00:00
Dmitry Stogov 8d1cc50067 Fixed ossible crash in highlight_string(). 2006-05-02 07:19:00 +00:00
Wez Furlong 30f98ae77b set min pdo dep to 1.0.3, which will be the new pecl release 2006-05-02 02:43:11 +00:00
Wez Furlong 7614368f8a prep for pecl release 2006-05-02 02:32:40 +00:00
Wez Furlong c1555236c9 tweak for better compatibility when building as SCE.
(library order is important)
2006-05-02 00:59:22 +00:00
Marcus Boerger 6f1a0f67ff - Make SplTempFileObject work in 5.1 2006-05-01 16:02:07 +00:00
Wez Furlong 299fe2554f add note about ssl context options. 2006-05-01 01:10:33 +00:00
Wez Furlong 8f87235107 Add two new context options for ssl:
"capture_peer_cert" and "capture_peer_cert_chain"

If true, the peer certificate and peer certificate chain respectively will be
captured and made available in the ssl context variables "peer_certificate" and
"peer_certificate_chain" respectively.  The certificates are exposed as x509
certificate resources and can be inspected using the existing openssl extension
functions.

This allows applications to perform extended validation.
2006-04-30 23:43:46 +00:00
Marcus Boerger f3a123a9db - After 5.1.3 follows 5.1.4, 5.2 requires a new branch, preferable from
this point of development (ilia will do so)
2006-04-30 14:30:05 +00:00
Wez Furlong ea2037a2d3 fix PECL #6544 2006-04-30 01:42:53 +00:00
Wez Furlong 07e11dcc4d Fix #36632 2006-04-30 01:27:33 +00:00
Wez Furlong aa5dbc8c92 Fix #35552 2006-04-30 00:52:28 +00:00
Frank M. Kromann fa94d911df Revert patch for pdb files. No need to have it twice! 2006-04-29 14:33:46 +00:00
Frank M. Kromann 6ba807db50 Add new configure option --enable-pdb-files
This will generate .pdb files for debugging
2006-04-29 06:24:38 +00:00
Dmitry Stogov ff452441e2 Proper fix for bug #37205 2006-04-27 11:39:32 +00:00
Moriyoshi Koizumi 522ce80071 - MFH: fix bug #37176 (iconv_strpos() fails to find a string) 2006-04-27 00:50:54 +00:00
Dmitry Stogov e0beb7fc71 Revert wrong fix 2006-04-26 17:48:27 +00:00
Ilia Alshanetsky 0c54f6f72b Restore dev 2006-04-26 16:07:11 +00:00
Ilia Alshanetsky 3566fe4afd Remove soap cache news 2006-04-26 14:31:33 +00:00
Edin Kadribasic fc4614d1d2 BFN 2006-04-26 14:23:51 +00:00
Ilia Alshanetsky ca2efe468d Go with 5.1.3 2006-04-26 14:08:26 +00:00
Ilia Alshanetsky 7775550245 Prepare the news file for release 2006-04-26 13:56:57 +00:00
Dmitry Stogov bbda630ed9 Fixed bug #37205 (Serving binary content/images fails with "comm with server aborted" FastCGI err) 2006-04-26 11:08:10 +00:00
Edin Kadribasic af11e1d592 Correctly import external data (#33292) 2006-04-26 09:31:23 +00:00
Antony Dovgal d18cd00657 fix tests 2006-04-25 22:09:46 +00:00
Antony Dovgal 0a38d6bd8c remove nonexistent tag 2006-04-25 12:49:59 +00:00
Antony Dovgal 896a5216d7 fix possible substr_compare() crash
add new tests
2006-04-25 12:48:42 +00:00
Michael Wallner b1de3647cf -improve last entry 2006-04-25 08:43:29 +00:00
Antony Dovgal 90b3dadc4e fix #37191 (chmod takes off sticky bit when safe_mode is On) 2006-04-25 08:41:02 +00:00
Michael Wallner 1c02dff74a - Fixed bug #37192 (cc fails on hash_adler.c:32) 2006-04-25 08:34:25 +00:00
Dmitry Stogov 5b973c86ee iFixed compilation on Solaris 2006-04-24 09:53:57 +00:00
Andrei Zmievski c86e96db11 Typo. 2006-04-23 19:56:53 +00:00
Ilia Alshanetsky 033c07972f Fixed typos 2006-04-23 16:40:05 +00:00
Ilia Alshanetsky a1bbdf831c Fixed bug #37162 (wddx does not build as a shared extension).
#Patch By: jdolecek at NetBSD dot org
2006-04-23 16:02:05 +00:00
Antony Dovgal b81e20f8e8 bah.. no UEXPECT in this branch.. 2006-04-22 23:47:25 +00:00
Antony Dovgal 658b22ad6e add test for #37158 2006-04-22 23:46:42 +00:00
Antony Dovgal 2765fdfa46 BFN 2006-04-22 19:16:36 +00:00
Antony Dovgal ea53739d30 MFB: don't segfault if an exception has been thrown from the fetch handler 2006-04-22 19:10:53 +00:00
Wez Furlong 8663f1644d fix for #37158 2006-04-22 17:17:40 +00:00
Wez Furlong 64de59d9a7 avoid unterminated loop when closing the statement. 2006-04-22 16:35:18 +00:00
Ilia Alshanetsky ee103a7c39 Back to dev 2006-04-20 23:09:20 +00:00
Antony Dovgal 32872b157e there is no %v in 5_1 2006-04-20 22:49:20 +00:00
Ilia Alshanetsky 50e1a51e5c Prepare for RC3 2006-04-20 21:11:29 +00:00
Michael Wallner f7a6327728 - Fix reading stream filters never notified about EOF 2006-04-20 17:43:18 +00:00
Dmitry Stogov bdef85af21 Fixed bug #37138 (__autoload tries to load callback'ed self and parent) 2006-04-20 07:30:38 +00:00
Ilia Alshanetsky 09dec62672 Fixed tokenizer tests 2006-04-20 01:06:58 +00:00
Nuno Lopes 227ca46fb7 fix build with newer libtidy versions on windows
# first commit on php-src. whatch out :)
2006-04-19 21:47:20 +00:00
John Coggeshall 974dc0f5b4 Fixing static builds on windoze machines for our current lib version 2006-04-19 20:57:30 +00:00
Dmitry Stogov 68906dbe62 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/SoapServer 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 wsdl 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:48:54 +00:00
Antony Dovgal 9ea8d8dbf6 MFH: fix typo 2006-04-19 08:43:29 +00:00
Ilia Alshanetsky 7315288591 Restore dev so win32 snaps can build 2006-04-18 23:47:10 +00:00
Ilia Alshanetsky 1c0d8a536a Fixed bug #29476 (sqlite_fetch_column_types() locks the database forever). 2006-04-18 14:30:16 +00:00
Dmitry Stogov 349bcd7443 Fixed bug #37083 (Frequent crashs in SOAP extension with new WSDL caching code in multithread WS). (Andrei, Dmitry) 2006-04-18 13:07:59 +00:00
Dmitry Stogov d19c105819 Fixed SUN_LEN calculation 2006-04-18 06:59:19 +00:00
Dmitry Stogov 73e4913cca Fixed memory leaks 2006-04-18 06:58:43 +00:00
Ilia Alshanetsky 101d925baa Commit the actual fix 2006-04-18 00:31:45 +00:00
Ilia Alshanetsky 76419e13aa Fixed Bug #36872 (session_destroy() fails after call to
+  session_regenerate_id(true)).
2006-04-17 23:28:02 +00:00
foobar 5fd0994495 BFN 2006-04-17 22:14:32 +00:00
foobar 92da3229d4 MFH: Fixed bug #37103 (libmbfl headers not installed) 2006-04-17 22:13:56 +00:00
Sara Golemon 3ef88178e8 MFH(r-1.55) Fix 'soft line break' handling in convert.quoted-printable-decode 2006-04-17 19:26:04 +00:00
Andrei Zmievski cfaf6406d7 Some encodings were assumed to be default and, thus, were not made
persistent.
2006-04-17 16:08:08 +00:00
Dmitry Stogov 7330c32329 Fixed several bugs in new "caching WSDL in memory" code
Re-enabled disk cache
2006-04-17 13:16:02 +00:00
Ilia Alshanetsky 74672b86b4 Fixed a typo in the previous patch.
# Thanks Tony
2006-04-16 17:40:33 +00:00
Ilia Alshanetsky 79d8f014da Fixed bug #37045 (Fixed check for special chars for http redirects). 2006-04-16 16:54:49 +00:00
Antony Dovgal 29254a477d fix #37062 (compile failure on ARM architecture)
if ARM is big endian - don't define IEEE_LITTLE_ENDIAN
2006-04-15 12:54:14 +00:00
Antony Dovgal f233299f96 make it consistent with the other ones =) 2006-04-14 21:06:11 +00:00
Antony Dovgal 522a5e128f ok, let's make this test to work on all systems
currently it fails at least on Linux PPC and Solaris, probably because of different strncmp/strncasecmp implementations.
2006-04-14 20:30:11 +00:00
Marcus Boerger 011266f7e1 - MFH Fix properties access to children() result 2006-04-14 15:19:45 +00:00
Antony Dovgal 7c42ddb8e0 fix #37077 (stream_socket_server() leaks when the port is not allowed) 2006-04-14 10:00:55 +00:00
Dmitry Stogov 874a22101f Fixed calling header functions through __call() 2006-04-14 09:11:29 +00:00
Dmitry Stogov 67abcb58c3 Fixed bug #36513 (comment will be outputed in last line) 2006-04-13 13:48:28 +00:00
Antony Dovgal af429910ef AIX #define's accept as naccept
add a workaround
2006-04-13 13:21:43 +00:00
Antony Dovgal 65fcbcbdc0 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:10 +00:00
Dmitry Stogov f897cff480 Fixed bug #37054 (SoapClient Error Fetching http headers) 2006-04-13 08:18:36 +00:00
Dmitry Stogov 851801a795 Fixed test 2006-04-13 06:04:28 +00:00
Antony Dovgal 46e0ede425 fix test title 2006-04-12 22:20:52 +00:00
Johannes Schlüter 9047558fe3 - MFH: Fix bug #37060 (Type of retval of Countable::count() is not checked) 2006-04-12 19:30:52 +00:00
Antony Dovgal 5751903b1b fix #37059 (oci_bind_by_name() doesn't support RAW and LONG RAW fields)
add tests
2006-04-12 19:21:35 +00:00
Antony Dovgal 2d2f1cf0c6 oops.. I didn't want to commit this.. 2006-04-12 18:01:35 +00:00
Antony Dovgal 2e461783d0 correct fix for bug #37055 2006-04-12 17:59:32 +00:00
Antony Dovgal a6e4f11cb1 add test 2006-04-12 15:18:38 +00:00
Antony Dovgal 195271dd23 fix #37057 (xmlrpc_decode() may produce arrays with numeric strings which are unaccessible) 2006-04-12 15:13:57 +00:00
Antony Dovgal bac1fda336 fix #37055 (incorrect reference counting for persistent OCI8 connections) 2006-04-12 13:37:51 +00:00
Antony Dovgal d23c1d763b fix #37053 (html_errors with internal classes produces wrong links) 2006-04-12 12:49:39 +00:00
Dmitry Stogov f23d01ad4d Fixed bug #37046 (foreach breaks static scope) 2006-04-12 11:37:50 +00:00
Dmitry Stogov 6e762e648c Fixed bug #37002 (Have to quote literals in INI when concatenating with vars) 2006-04-12 09:51:54 +00:00
Andrei Zmievski 6a4faee367 MFH 2006-04-11 21:33:46 +00:00
Antony Dovgal 47cb31b7df add default timezone to the tests 2006-04-11 19:34:14 +00:00
Derick Rethans 4043f77e36 - MFH: Fixed bug #37017 (strtotime fails before 13:00:00 with some time zones
identifiers). (Derick)
- MFH: Fixed bug #36988 (mktime freezes on long numbers). (Derick)
- MFH: Implemented better error and warning handling that is also used for the
  date_parse() function.
- MFH: Fixed problems with "T" in front of a time string was seen as a time
  zone string.
- MFH: Fixed a problem were 5 and 6 character timezone abbreviations where not
  correctly parsed.

Experimental support (All MFH):
- 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.
2006-04-11 18:03:52 +00:00
Ilia Alshanetsky 4bab5226b2 Fixed test 2006-04-10 23:48:10 +00:00
Marcus Boerger 45b64e7a99 - Coverity issue 59 2006-04-10 23:23:09 +00:00
Marcus Boerger 6ea747d8e4 - MFH Iterators from overloaded objects are allowed to not have keys... 2006-04-10 23:16:29 +00:00
Marcus Boerger 6c89fd2d63 - MFH Coverity fix 49 2006-04-10 22:49:29 +00:00
Marcus Boerger 8bbf3a00dc - MFH Fix potenbtioal SEGV 2006-04-10 19:51:55 +00:00
Marcus Boerger 3438469b84 - MFH Fix condition 2006-04-10 18:23:24 +00:00
Dmitry Stogov 07d7750487 Fixed bug #36908 (wsdl default value overrides value in soap request). 2006-04-10 13:29:48 +00:00
Dmitry Stogov fabd954200 Fixed test 2006-04-10 12:50:02 +00:00
Dmitry Stogov 64e7be9b5a Fixed possible crash in interactive mode 2006-04-10 12:26:53 +00:00
foobar 12346d64eb MFH: fix typo 2006-04-10 12:17:36 +00:00
foobar 276171f871 MFH: - Determine the shared/link lib suffixes in one macro. 2006-04-10 12:16:17 +00:00
foobar 22a8c3113b MFH: - Fixed bug #36909 (ld: Undefined symbols: _lchown) 2006-04-10 11:56:18 +00:00
foobar 8cd558757f MFH: - Silence some PCRE compile warnings 2006-04-10 11:55:14 +00:00
Dmitry Stogov c261351a97 ZTS fix 2006-04-10 10:11:06 +00:00
foobar 3110d15a00 update credits 2006-04-10 09:49:18 +00:00
foobar 5241090585 Fix NEWS 2006-04-10 09:41:45 +00:00
Andrei Zmievski 06ef71fe3d Speed up SoapClient/SoapServer constructors by caching WSDL structures
in memory. All WSDL files will be cached, unless turned off via an
option to the constructor.
2006-04-09 23:35:51 +00:00
Edin Kadribasic 1e33c4cc85 Fixed bug #36935 2006-04-09 23:14:47 +00:00
Ilia Alshanetsky 8afc859b55 *** empty log message *** 2006-04-09 17:57:27 +00:00
Wez Furlong f83cfb77bf be aware of PDO_ATTR_EMULATE_PREPARES 2006-04-09 08:17:50 +00:00
Wez Furlong b9f85f37cc Fixed Bug #36602: persistent connections don't work with MySQL 5.0.3+.
Fixed PECL Bug #6262; correctly fallback to emulated statements
when the server version is too old.

Also include code to default to using emulated prepared statements, as these
can take advantage of the query cache.  Since it's a bit late in the release
process to spring this on the masses, the default has not been changed.  The
code is included so that it doesn't get lost.
2006-04-09 08:11:31 +00:00
Wez Furlong 687e6ffc58 Add "ATTR_EMULATE_PREPARES" general attribute to replace the custom
attributes employed by mysql and postgres drivers.
No functional change.
2006-04-09 08:05:01 +00:00
Wez Furlong bb5f3aa012 This completes the fix for PECL #5827; we need to gobble up result sets in the
stmt dtor too.
2006-04-09 06:49:07 +00:00
Wez Furlong 0f4137fbd9 fix for PECL Bug #5827.
We're responsible for gobbling up supplemental result sets in closeCursor()
(which is what PDO does for us if we didn't implement our own closer routine).
2006-04-09 06:41:42 +00:00
Andrei Zmievski 9e5655387a MFH 2006-04-08 17:53:11 +00:00
Antony Dovgal e8270edf9d fix memory corruptions and leaks when cloning ArrayObjects and ArrayIterators 2006-04-07 22:53:23 +00:00
Ilia Alshanetsky 5151efc2aa RC3 2006-04-07 14:21:13 +00:00
Pierre Joye 3511649498 - revert last commit, something else went wrong 2006-04-07 14:04:36 +00:00
Dmitry Stogov e9d452b9a9 Optimization 2006-04-07 13:57:27 +00:00
Dmitry Stogov 79b3d79a95 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:23 +00:00
Pierre Joye 670ed5d93f - fix leak when an error occured in socket_read, free tmpbuf 2006-04-07 13:33:55 +00:00
Dmitry Stogov 8c40d605e4 Removed unnecessary copying 2006-04-07 12:39:43 +00:00
Dmitry Stogov ead7652457 We don't need setup the same time-out two times. 2006-04-07 11:44:03 +00:00
Dmitry Stogov 6624682dff MFH:
- Allowed storing NULL pointers in HashTable
- Optimized zend_hash_reverse_apply()
2006-04-07 10:06:21 +00:00
Ilia Alshanetsky 8625b42162 Adjusted credits file so that it appears properly on phpinfo() 2006-04-07 03:41:06 +00:00
Andrei Zmievski 4033bfbda0 I guess we only need this on HEAD. 2006-04-06 21:35:27 +00:00
Andrei Zmievski 3d7abc2931 *** empty log message *** 2006-04-06 21:11:12 +00:00
Andrei Zmievski d288f66c7c Fix a bug that would not fill in the fifth argument to preg_replace()
properly, if the variable was not declared previously.
2006-04-06 21:10:45 +00:00
Antony Dovgal ad7768ee63 fix #36981 (SplFileObject->fgets() ignores max_length) 2006-04-06 19:01:56 +00:00
Ilia Alshanetsky 8f7319a49f Fixed safe_mode check for source argument of the copy() function. 2006-04-06 02:39:55 +00:00
Antony Dovgal 40e25b5ad7 MFH: workaround for problem on Solaris: shell tries to parse "for i in ;" and fails 2006-04-05 20:22:21 +00:00
Antony Dovgal 52296072e0 add new tests 2006-04-05 14:09:01 +00:00
Antony Dovgal 783dd9f0ff BFN 2006-04-05 14:08:18 +00:00
Antony Dovgal 7522fb7272 add missing defines to .w32 2006-04-05 14:07:40 +00:00
Antony Dovgal 569ce842f1 fix #36934 (OCILob->read() doesn't move internal pointer when reading 0's) 2006-04-05 14:06:00 +00:00
Antony Dovgal c0592d17e9 add test 2006-04-05 12:29:21 +00:00
Georg Richter 793d0ab719 fixed bigint conversion errors (windows) 2006-04-05 12:17:33 +00:00
Georg Richter 0944a47107 fixed bigint conversion on windows platforms 2006-04-05 12:17:08 +00:00
Antony Dovgal e25a1dccac fix #36944 (strncmp & strncasecmp do not return false on negative string length) 2006-04-05 11:36:13 +00:00
Ilia Alshanetsky f0cf877a81 Fixed bug #36957 (serialize() does not handle recursion). 2006-04-05 02:28:06 +00:00
Marcus Boerger c58e1fa5be - MFH
. Fixed bug #36941 (ArrayIterator does not clone itself)
  . Fixed SEGV when ArrayObject/Iterator use reference to self
  . Added tests
2006-04-04 19:53:21 +00:00
Frank M. Kromann 5ccfa591b7 Fix #33694 invalid sql or timeouts makes it impossible to reuse persistent connections 2006-04-04 18:49:12 +00:00
Antony Dovgal 0f510a6a95 #ifdef new functions and use their bodies to make PECL extensions compile with PHP < 5.1.3
(as was agreed with Ilia)
2006-04-03 14:59:30 +00:00
Ilia Alshanetsky 3edb5a8b6d Fixed an unlikely, but possible memory leak. 2006-04-03 13:46:11 +00:00
Antony Dovgal bace0def1e fix spelling in error messages:
greater/less thEn -> greater/less thAn
2006-04-03 09:14:33 +00:00
Georg Richter b97b088800 fixed stmt property container and required status for error properties 2006-04-03 05:48:50 +00:00
Ilia Alshanetsky 46ba651680 MFH:
Removed extra space in the Content-Type header for logos
Simplified stderr error reporting in apache sapi.
2006-04-02 17:58:17 +00:00
Georg Richter f8e6ffee30 Added additional information for compiled header files. 2006-04-02 09:40:19 +00:00
Antony Dovgal 9a59df13cc fix segfault when assigning value by ref and add test
(I consider it's wrong that we can't do it, but we shouldn't segfault anyway)
2006-04-01 19:13:04 +00:00
Antony Dovgal 8ccdceb4db fix compile failure with old GCC (see bug #36931) 2006-03-31 11:11:12 +00:00
Marcus Boerger ea9487249b - Make readable 2006-03-30 21:57:28 +00:00
Marcus Boerger 193ae05edd - MFH Add tests 2006-03-30 21:47:21 +00:00
Antony Dovgal 0fab5aacce fix compilation on AIX 2006-03-30 21:39:01 +00:00
Antony Dovgal 7fbb54f55c nuke compile warning 2006-03-30 21:10:23 +00:00
Antony Dovgal b6c9363f73 fix tests 2006-03-30 20:43:39 +00:00
Antony Dovgal 14aef92b2f fix build: there is no TSRMLS_CC in this function 2006-03-30 19:58:18 +00:00
Ilia Alshanetsky 7385433f34 Back to dev 2006-03-30 19:40:16 +00:00
Ilia Alshanetsky 0e07f0b117 Go with RC2 2006-03-30 19:19:20 +00:00
Ilia Alshanetsky 4aece8077c Fixed XSS inside phpinfo() with long inputs. 2006-03-30 19:16:12 +00:00
Marcus Boerger 867f89e575 - MFH Return NULL instead of '' if node does not exist 2006-03-30 17:37:50 +00:00
Antony Dovgal 62ce6717ad fix #36922 (missing MYSQLI_REPORT_STRICT constant in userspace) 2006-03-30 11:21:51 +00:00
Antony Dovgal ad746130ad fix typo 2006-03-29 16:29:53 +00:00
Antony Dovgal 59b8592c8c 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)

to initialize and destroy zend_object structs
2006-03-29 14:28:43 +00:00
Dmitry Stogov 697c652001 Support for zend-myltibyte 2006-03-29 10:39:20 +00:00
Antony Dovgal eab2f690fd fix skip condition 2006-03-28 23:15:40 +00:00
Antony Dovgal 1fa58ec003 initialize bucket #0 with nulls (normally it shouldn't be used at all, but if it is - we don't want any memory issues, do we?) 2006-03-28 21:58:01 +00:00
Antony Dovgal 08e6fded56 prevent possible NULL dereference 2006-03-28 20:19:44 +00:00
Antony Dovgal cfbcb43d63 fix #36897 (debug_print_backtrace() doesn't return void but array(0) {}) 2006-03-28 19:43:21 +00:00
Wez Furlong 6387d83a05 add a test case for bug 35671 2006-03-28 16:47:35 +00:00
Ilia Alshanetsky 77acc692fd Fixed bug #36886 (User filters can leak buckets in some situations). 2006-03-28 16:01:04 +00:00
Antony Dovgal ea22696fb9 fix tests 2006-03-28 09:12:45 +00:00
Antony Dovgal 6dc42ef117 fix #36851 (Documentation and code discrepancies for NULL data) 2006-03-28 09:12:18 +00:00
Yasuo Ohgaki cdbe8b4fd8 reenable pg_execute E_WARNING 2006-03-28 00:28:02 +00:00
Ilia Alshanetsky 4ca3df56d3 Check 2nd parameter of tempnam() against path components. 2006-03-27 23:40:41 +00:00
Antony Dovgal a93bd9d493 fix #36878 (error messages are printed even though an exception has been thrown) 2006-03-27 22:07:38 +00:00
Wez Furlong c5df14364b Fix for #36342; ODBC won't let you bind variables by buffer after "long"
columns.

We simply add a flag that indicates if we've seen any long columns and will
continue to bind the columns the slow way.

While we're at it, increase the maximum length of the column names that we can
handle.
2006-03-27 21:04:12 +00:00
Wez Furlong fb7d5bd780 The fix for #35332 caused #35671 (and thus PECL #6504).
Partially back out that fix and introduce an extra optional step for drivers to
canonicalize the "name" that is used for registering parameters.
2006-03-27 20:51:01 +00:00
Antony Dovgal 2030a7a2ed fix #36869 (memory leak in output buffering when using chunked output) 2006-03-27 08:26:10 +00:00
Dmitry Stogov cde55c9223 Fixed meory leak in case of unknown pragma 2006-03-27 08:09:18 +00:00
Andrei Zmievski 0dded18b33 On Mac OSX, our extensions are actually "bundles" and should not have
.dylib extension. Read this:

http://www.sm.luth.se/~alapaa/file_fetch/unixcdbookshelf/mac/ch05_03.htm
2006-03-27 04:59:36 +00:00
Yasuo Ohgaki 82376269fd remove pg_execute() E_WARNING error when query plan is not defined 2006-03-27 02:59:55 +00:00
Andrey Hristov 0b02327267 kill the left unused variable 2006-03-26 21:10:13 +00:00
Andrey Hristov dfd5b4fbf4 remove unnecessary memcpy, cast directly 2006-03-26 21:08:41 +00:00
Ilia Alshanetsky a33d64e7b6 Fixed bug #36857 (Added support for partial content fetching to the HTTP
streams wrapper).
2006-03-26 17:12:05 +00:00
Marcus Boerger a824bcf41d - MFH: Make IteratorIterator base of most SPL iterators 2006-03-26 02:25:03 +00:00
Marcus Boerger 7b70ca475f - Fix docu 2006-03-26 02:24:33 +00:00
Seiji Masugata bf4ae10c36 fixed compiler warning. 2006-03-26 02:19:50 +00:00
Antony Dovgal d085b37f66 fix #36859 (DOMElement crashes when calling __construct when clone'ing) 2006-03-26 00:23:25 +00:00
Georg Richter 65d704cb7c fix and testcase for bug #36745 2006-03-24 12:10:39 +00:00
Antony Dovgal bf3a7e12e1 add new tests 2006-03-24 12:08:53 +00:00
Georg Richter f8183e2e97 fixed minor problems (thx to tony) 2006-03-24 10:58:52 +00:00
Georg Richter b3a437fcc4 Fix for bug #36802 (server crashes with invalid/not opened connections)
Added status to mysqli_resource:
		MYSQLI_STATUS_UNKNOWN
		MYSQLI_STATUS_CLEARED (for future use)
		MYSQLI_STATUS_INITIALIZED (after mysqli_init and mysqli_stmt_init)
		MYSQLI_STATUS_VALID (for valid objects)
	removed valid flag
	changed MYSQLI_FETCH_RESOURCE
		added last parameter __check which specifies the status
2006-03-24 09:32:24 +00:00
Dmitry Stogov 9e26f6c213 Fixed SoapFault::getMessage() 2006-03-24 08:45:54 +00:00
Marcus Boerger ed43fd9b3b - My eyes don't hurt anymore 2006-03-23 21:28:06 +00:00
Marcus Boerger fe1c2cfc0f - MFH
. spl_autoload_register() return bool to denote success/failure
  . spl_autoload_unregister() acept any callable
2006-03-23 19:55:16 +00:00
Antony Dovgal 1ad4dd8795 return FALSE if driver doesn't support quoting (this is what docu says)
also fixed PECL bug #6365
2006-03-23 19:01:46 +00:00
Ilia Alshanetsky 3b1cb0e500 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:36:47 +00:00
Antony Dovgal 5f80bcaf26 add missing skipif sections 2006-03-23 15:03:27 +00:00
Antony Dovgal e40df39518 fix typos 2006-03-23 14:56:12 +00:00
Marcus Boerger 041e7470b1 - Initialized callable_name if present 2006-03-23 13:14:55 +00:00
Marcus Boerger 1440bb5c7b - MFH Add new test 2006-03-23 12:21:40 +00:00
Marcus Boerger 4b4d61952f - MFH: Add new test 2006-03-23 11:57:34 +00:00
Marcus Boerger 660956b514 - Add missing bug title and synch with other tests 2006-03-23 11:48:59 +00:00
Dmitry Stogov 87ae2460d1 Fixed possible memory corruption 2006-03-23 11:42:32 +00:00
Marcus Boerger dbe881d9c2 - Fix build 2006-03-23 10:44:39 +00:00
Dmitry Stogov cb3a53db83 Cleanup 2006-03-23 10:19:30 +00:00
Dmitry Stogov 0c1b4f45eb Allowed '-b' with UNIX sockets:
-b <hostname>:<port_number>
  -b <port_number>
  -b <unix_socket_path>
2006-03-23 10:15:01 +00:00
Pierre Joye c4db88563f - Fixed fetching of string value bigger than 128bytes when no options
are used
2006-03-23 01:24:36 +00:00
Antony Dovgal 1ce8546cd1 fix leak 2006-03-22 23:12:03 +00:00
Antony Dovgal 09fcf3162c add test 2006-03-22 23:10:59 +00:00
Antony Dovgal f7ce1d6260 prevent segfault when exception is thrown from Countable::count() 2006-03-22 22:05:51 +00:00
Antony Dovgal 32f611097f fix #36825 (Exceptions thrown in ArrayObject::offsetGet cause segfault)
fix similar issue in offsetExists()
remove redundant semicolons
2006-03-22 21:56:40 +00:00
Antony Dovgal 8a58105f42 MFH: use set_time_limit(), this test takes forever on AIX 2006-03-22 19:27:47 +00:00
Antony Dovgal 6c101d6400 fix #36820 (Privileged connection with an Oracle password file fails) 2006-03-22 09:45:39 +00:00
Marcus Boerger 7b7717d196 MFH:
- 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:15 +00:00
Antony Dovgal f9835c3786 change oci_field_type() to return VARCHAR2 instead of VARCHAR
(fixes feature request #36800)
2006-03-21 15:47:31 +00:00
Ilia Alshanetsky d76e149f0e Fixed bug #36802 (mysqli_set_charset() crash with a non-open connection). 2006-03-21 15:35:28 +00:00
Antony Dovgal 7019b978a0 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:06:50 +00:00
Dmitry Stogov 1122f647d2 Fixed compatibility with auto_globals_jit 2006-03-21 12:26:57 +00:00
Dmitry Stogov bafba669ad Fixed bug #36721 (The SoapServer is not able to send a header that it didn't receive) 2006-03-21 12:04:55 +00:00
Dmitry Stogov 658ac96cfa Fixed bug #36809 (__FILE__ behavior changed) 2006-03-21 08:49:42 +00:00
Rui Hirokawa e8d320dd77 MFH 2006-03-21 07:56:28 +00:00
Dmitry Stogov 8d012d041f Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy) 2006-03-21 07:22:59 +00:00
Rui Hirokawa 85019bf450 MFH. 2006-03-21 02:20:15 +00:00
Rui Hirokawa fa3173bec3 *** empty log message *** 2006-03-21 02:10:55 +00:00
Rui Hirokawa 6912dab9eb @added possible encoding attack detection by mb_get_info('illegalchars'). 2006-03-21 01:58:27 +00:00
Ilia Alshanetsky 79e7432c97 Fixed bug #36689 (Removed arbitrary limit on the length of syslog messages). 2006-03-21 00:59:08 +00:00
Antony Dovgal b2bbaca8e8 shutdown syslog module before freeing basic_globals 2006-03-20 23:32:58 +00:00
Antony Dovgal f789f0e384 .. and add missing #ifdef 2006-03-20 23:06:00 +00:00
Antony Dovgal 3309d14af2 fix wrong mshutdown func params 2006-03-20 23:04:30 +00:00
Antony Dovgal edbfb9c2c7 fix #36808 (syslog ident becomes garbage between requests) 2006-03-20 23:03:11 +00:00
Antony Dovgal 6aaf510bf0 MFH: fix #36741 (userstreams testcase have off-by-one error on fseek()) 2006-03-20 22:09:11 +00:00
Dmitry Stogov 608c3207a6 Removed unreachable code 2006-03-20 15:13:41 +00:00
Antony Dovgal b5001f5383 MFH: fix buffer overrun 2006-03-20 14:10:35 +00:00
Antony Dovgal afd781a09a MFH: initialize retval 2006-03-20 13:54:16 +00:00
Dmitry Stogov 110021f4c7 Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy) 2006-03-20 10:36:55 +00:00
Dmitry Stogov d355704998 Fixed register_argc_argv behavior. Now it behave in the same way as before in all combinations with register_globals, register_long_arrays, variables_order and auto_globals_jit. 2006-03-20 10:15:02 +00:00
Antony Dovgal ef1f36e2c1 first check stream for NULL, then dereference 2006-03-19 22:33:10 +00:00
Antony Dovgal 90d7fbe798 MFH: make the code cleaner 2006-03-19 22:11:36 +00:00
Marcus Boerger 4651f79ed5 - Missing skipif 2006-03-19 18:25:51 +00:00
Ilia Alshanetsky 4ccd89d147 Properly calculate the size of the result array. 2006-03-19 17:35:36 +00:00
Michael Wallner 5a49926c38 - add comitters name 2006-03-19 15:19:08 +00:00
Michael Wallner cf01cff2e5 - Fixed Apache2 SAPIs header handler modifying header strings. 2006-03-19 15:18:20 +00:00
Michael Wallner 23b8ce3876 - fix php_apache_sapi_header_handler() modifying sapi_header
# already taken care of in apcache1 sapi
2006-03-19 14:54:53 +00:00
Antony Dovgal 91f4b380d6 fix several leaks in date_sun*() functions 2006-03-18 23:43:48 +00:00
Antony Dovgal 5c7c11c41d MFH: check stream for NULL before writing to it
remove unnecessary semicolons
2006-03-18 22:24:05 +00:00
Antony Dovgal 4e75cd5548 Added support for BINARY_DOUBLE and BINARY_FLOAT to PDO_OCI and OCI8 (also fixes bug #36764) 2006-03-18 22:06:31 +00:00
Marcus Boerger fa922fb51c - MFH Fix seek/eof issue in temp streams 2006-03-18 19:57:00 +00:00
Rob Richards 2ea6d46e4f BFN 2006-03-18 11:47:05 +00:00
Rob Richards aaec067578 Fixed bug #36756 (DOMDocument::removeChild corrupts node)
add test
2006-03-18 11:44:49 +00:00
Antony Dovgal 7731dc9421 fix #36727 (segfault in pdo_pgsql bindValue() when no parameters are defined) 2006-03-17 22:15:57 +00:00
Dmitry Stogov 63b3f5c041 Eliminated unnecessary getcwd() syscall 2006-03-17 10:42:31 +00:00
Antony Dovgal 652d77eca4 fix #36743 (In a class extending XMLReader array properties are not writable) 2006-03-17 10:15:58 +00:00
Dmitry Stogov 76a7240d70 Optimized FastCGI SAPI check. Check for ini options only once. 2006-03-17 09:32:30 +00:00
Dmitry Stogov 55159796b0 Allowed 'auto_globals_jit' work together with 'register_argc_argv' 2006-03-17 08:58:51 +00:00
Dmitry Stogov d82462485e FIX: For some reason SIGSEGV handler wasn't set, but was restoring. Now all SIGSEGV related code is commented. 2006-03-17 08:47:41 +00:00
Dmitry Stogov c31c984365 Optimization of module unloading (temporary modules can be only in the end) 2006-03-17 08:34:16 +00:00
Ilia Alshanetsky 6fd71dbbe9 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:09 +00:00
Marcus Boerger 7c14d86dc3 - Fix test 2006-03-16 00:39:50 +00:00
Dmitry Stogov eacb27d2da Fixed Bug #36614 (Segfault when using Soap) 2006-03-15 16:13:18 +00:00
Ilia Alshanetsky 92ba7cccad Fixed memory leak on unused bind var. 2006-03-15 15:25:50 +00:00
Dmitry Stogov 79983ce0ce Fix: incorrect string length passed 2006-03-15 14:12:26 +00:00
Dmitry Stogov 6f76b17079 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:12:45 +00:00
Dmitry Stogov 7865dfb5b8 Eliminated run-time constant fetching for TRUE, FALSE and NULL 2006-03-15 09:04:36 +00:00
Dmitry Stogov 056bea6de7 Fixed "zend_vm_gen.php --without-specializer" 2006-03-15 08:06:28 +00:00
Frank M. Kromann c6b8c26cdf Fix Win32 compilation. 2006-03-14 18:07:51 +00:00
Georg Richter 829642a0b7 fixed a 64-bit problem reported by Pierre 2006-03-14 15:53:16 +00:00
Dmitry Stogov 98bacb0e21 Fixed bug #35988 (Unknown persistent list entry type in module shutdown) 2006-03-14 15:16:07 +00:00
Antony Dovgal ef3d879315 MFH: add brackets and clarity 2006-03-14 15:15:22 +00:00
Ilia Alshanetsky 0a076b11df Fixed offset/length parameter validation in substr_compare() function. 2006-03-14 14:55:13 +00:00
Dmitry Stogov 9d6e4964a1 Fixed bug #36568 (memory_limit setting on win32 has no effect) 2006-03-14 14:19:00 +00:00
Dmitry Stogov 161ae714ae zend_hash_apply() doesn't use ZEND_HASH_APPLY_... macros 2006-03-14 11:24:45 +00:00
Edin Kadribasic a8dbb0ded6 Be more verbose in phpinfo() output 2006-03-14 10:49:18 +00:00
Marcus Boerger 0bcd459300 - bug #36625 fix 2006-03-13 22:56:20 +00:00
Marcus Boerger a371a8c153 - Add missing file extension 2006-03-13 22:55:27 +00:00
Pierre Joye 01479757e3 - #36697, Transparency is lost when using imagecreatetruecolor 2006-03-13 21:56:38 +00:00
Ilia Alshanetsky 80ea07d30c Added overflow checks to wordwrap() function. 2006-03-13 14:37:10 +00:00
Edin Kadribasic c69f100d0e Fixed build 2006-03-13 11:37:51 +00:00
Dmitry Stogov ad10a538ee Optimized cleanup loops on request shutdown 2006-03-13 11:13:42 +00:00
Dmitry Stogov d21669fc80 Fixed realpath() cache for main script with FastCGI SAPI 2006-03-13 09:35:45 +00:00
Marcus Boerger 9e90d5b3c0 - Fix news 2006-03-13 00:03:22 +00:00
Marcus Boerger 0add197ec8 - MFH:
- Fix ReflectionParameter
  . Reintroduce getClass()
  . Change getDeclaringClass() to return what it suggests
  . (inactive but tested) Add getDeclaringFunction()
  . (inactive but tested) Add getPosition()
- Fix tests accordingly
# This also fixes Bug #36687 ReflectionParameter::getDeclaringClass returns
# wrong result
2006-03-12 17:22:34 +00:00
Ilia Alshanetsky 1c340d515d var news 2006-03-12 16:54:13 +00:00
Ilia Alshanetsky e7f6a3fab2 As per agreement during PDM, remove the E_STRICT deprecation notice from
"var".
2006-03-12 16:52:18 +00:00
Marcus Boerger e16bba12b1 - Prefix test names
- Add missing skipif
2006-03-12 12:38:25 +00:00
Rui Hirokawa 2e3ae2f5c2 MFH 2006-03-12 07:54:42 +00:00
Marcus Boerger 06d235fbf1 - MFH Fix writing faillog with redirected tests 2006-03-11 18:13:37 +00:00
Marcus Boerger 941d86a204 - MFH Fix test results with redirected tests 2006-03-11 17:58:24 +00:00
Marcus Boerger b80f9567d5 - Load list of extensions to test from php that is being tested rather than
from php running the tests
2006-03-11 16:37:53 +00:00
Georg Richter e13e2fe9ba fix for MySQL 5.1 (see http://bugs.mysql.com/?id=16144) 2006-03-11 11:16:03 +00:00
Marcus Boerger 79a968b21e - Fix 2006-03-10 22:18:25 +00:00
Brian France 6c4e9d30b9 MFH:
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:19:29 +00:00
Pierre Joye 0ebab9d495 - #36686, do not be quiet with the extern GD 2006-03-10 18:07:27 +00:00
Seiji Masugata 61f7dc1396 fixed different value was returned in mb_get_info. 2006-03-10 16:22:15 +00:00
Dmitry Stogov 7ffc24b9f3 Fixed bug #36629 (SoapServer::handle() exits on SOAP faults) 2006-03-10 11:46:52 +00:00
Dmitry Stogov 97f463c156 Fixed debug_zval_dump() to support private and protected members 2006-03-10 08:42:56 +00:00
Sara Golemon 6dff869c51 MFH: Move temporary local storage of primary file's realpath up one block to ensure it stays on the stack. 2006-03-09 20:32:22 +00:00
Ilia Alshanetsky fe13b8ef69 Back to dev 2006-03-09 14:22:59 +00:00
Ilia Alshanetsky b04ecd08d2 5.1.3RC1 2006-03-09 14:12:15 +00:00
Sebastian Bergmann e1d9cf07cd MFH: Make spl_register_std_class() and spl_register_sub_class() available outside of SPL, for instance in SPL_Types. 2006-03-09 11:43:45 +00:00
Marcus Boerger 6dcb27d35c - MFH 2006-03-08 23:54:43 +00:00
Michael Wallner 74868fae47 - Fix bug #36656 (http_build_query generates invalid URIs due to use of square brackets) 2006-03-08 22:00:21 +00:00
Marcus Boerger 4a5dd30201 - MFH Allow pecl/phar and alike too hook into spl_filesystem_object's 2006-03-08 21:54:48 +00:00
Michael Wallner 0aa24dc0a1 - remove declaration of non existant function php_treat_data 2006-03-08 08:43:25 +00:00
Alex Waugh b8d26da1be MFH Fix for RISC OS 2006-03-07 22:37:53 +00:00
Alex Waugh 5dea328391 MFH Improve DOCUMENT_ROOT setting 2006-03-07 22:35:30 +00:00
Marcus Boerger 4e6245978b - Update 2006-03-07 19:29:04 +00:00
Rob Richards f84c9acc77 updated for simplexml changes 2006-03-07 15:27:01 +00:00
Rob Richards 8dffbf217d - Synch with head 2006-03-07 15:22:48 +00:00
Antony Dovgal 6ce1f43902 MFH
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:47:43 +00:00
Rasmus Lerdorf 3563191049 stray text 2006-03-06 23:26:28 +00:00
Sebastian Bergmann b8be6d3664 Fix build and sync parameters with config0.m4. 2006-03-06 22:49:16 +00:00
Marcus Boerger a325d22cd1 - MFH Missed 'proto' 2006-03-06 22:22:54 +00:00
Andrei Zmievski 1b688da7ac *** empty log message *** 2006-03-06 21:59:18 +00:00
Andrei Zmievski 89a4054106 MFH (Import PCRE 6.6) 2006-03-06 21:45:57 +00:00
Derick Rethans 5bfe560cab - MFH: Fixed bug #36638 (strtotime() returns false when 2nd argument < 1).
(Derick)
2006-03-06 21:44:58 +00:00
Rob Richards d36a88bdda fix win build 2006-03-06 20:21:52 +00:00
Colin Viebrock e70571c251 fix logo (proper spacing between the letters) 2006-03-06 19:10:19 +00:00
Marcus Boerger dc8221c154 - Fix last %v, too 2006-03-06 10:56:41 +00:00
Marcus Boerger 94165e41a7 - There is no %v in 5.1 (found by Tony) 2006-03-06 10:09:13 +00:00
Marcus Boerger f08316b525 - MFH Proto fixes 2006-03-06 10:06:25 +00:00
Marcus Boerger 6e93f3eb8f - MFH Proto fixes 2006-03-06 10:00:59 +00:00
Dmitry Stogov ade3995a79 Fixed compatibility with ext/hash 2006-03-06 09:58:01 +00:00
Marcus Boerger e795f8f427 - MFH Proto fixes 2006-03-06 09:50:44 +00:00
Derick Rethans 7fd337f955 - There is no ltouch. 2006-03-05 19:01:37 +00:00
Derick Rethans f87e7b8bab - Added lchown() and lchgrp() to change user/group ownership of symlinks. 2006-03-05 18:57:54 +00:00
Michael Wallner 7d73045415 - fix typo, reword slightly 2006-03-05 17:56:16 +00:00
Marcus Boerger 90ae21f310 - Update 2006-03-05 17:48:47 +00:00
Marcus Boerger 7dc322754a - Fix issues with not/double calling of constructors of SPL iterators
- Fix issues with info-class/file-class in SPL directory handling classes
- Add SimpleXMLElement::count()
- Drop erroneous RecursiveDirectoryIterator::getSubPathInfo()
- Drop dead code
- Add tests
- Update docu
2006-03-05 17:39:49 +00:00
Ilia Alshanetsky 41de805a9d MFH:
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:18:01 +00:00
Antony Dovgal e43a77d84c add test 2006-03-05 16:12:48 +00:00
Marcus Boerger 35ce5db25e - Add missing function for completeness 2006-03-05 16:12:24 +00:00
Antony Dovgal a9080d38f4 fix #36611 (assignment to SimpleXML object attribute changes argument type to string) 2006-03-05 15:36:03 +00:00
Antony Dovgal 0b12f7307e MFH: fix #36606 (pg_query_params() changes arguments type to string) 2006-03-05 13:35:52 +00:00
Rob Richards 65211cddcc fix crashes using notations and entity decls
add test
2006-03-03 20:15:10 +00:00
Edin Kadribasic a1024ce679 Sync with source distro, enable hash by default 2006-03-03 14:34:34 +00:00
Dmitry Stogov 54adfc6fcf Fixed incorrect backtrace type ("::" instead of "->") for __set()/__get() 2006-03-03 12:06:29 +00:00
Dmitry Stogov d46b474e1e Fixed crash 2006-03-03 10:29:29 +00:00
Dmitry Stogov b32a78c4fa Remove "called at [(null):0]" from debug backtrace 2006-03-03 10:09:21 +00:00
Dmitry Stogov 622347bd8c Fixed bug #36575 (SOAP: Incorrect complex type instantiation with hierarchies) 2006-03-03 09:20:33 +00:00
Derick Rethans 5c1dbf51af - Added the test case for bug #36599 2006-03-03 07:53:21 +00:00
Derick Rethans 22c501b016 - Fixed bug #36599 (DATE_W3C format constant incorrect). 2006-03-03 07:52:55 +00:00
Ilia Alshanetsky ea86f819a3 give credit where it is due. 2006-03-02 21:32:32 +00:00
Dmitry Stogov 65cca0dc20 Fixed bug #36388 (ext/soap crashes when throwing exception and session persistence). (David) 2006-03-02 14:07:48 +00:00
Marcus Boerger 7addae5089 - MFH Use object handler get in the same way as the rest of the engine does 2006-03-02 00:45:28 +00:00
Yasuo Ohgaki e2218515d2 MFH add safe_mode num of parameter check 2006-03-02 00:37:22 +00:00
Ilia Alshanetsky 1aa1c535b5 Remove no longer needed check (checked at a higher level now). 2006-03-01 18:37:11 +00:00
Marcus Boerger 3840e428bb - MFH Fix string-conversion and const updating 2006-03-01 17:21:04 +00:00
Marcus Boerger f128dff1ff - Fix test 2006-03-01 17:19:22 +00:00
Rob Richards 84ad62553d nuke tests for libxml2 version - will always be > 2.6.0 2006-03-01 15:37:45 +00:00
Ilia Alshanetsky 3022080d84 Fixed bug #36459 (Incorrect adding PHPSESSID to links, which contains \r\n). 2006-02-28 14:45:18 +00:00
Marcus Boerger 477f503b9e - MFH Fix dependency checks 2006-02-28 12:26:03 +00:00
Marcus Boerger c4b81d8720 - Fix warning 2006-02-28 02:22:57 +00:00
Marcus Boerger 728493ca37 - MFH Fix issues withhandling of derived info classes as entries 2006-02-28 01:33:32 +00:00
Marcus Boerger 2e37e86366 - MFH Argument parsing specifier 'C', which is necessary for SPL already 2006-02-27 22:23:21 +00:00
Derick Rethans 2e91228d15 - MFH: Fixed bug #36510 (strtotime() fails to parse date strings with tabs). 2006-02-27 19:41:33 +00:00
Ilia Alshanetsky e3ea152fee This fix was reverted 2006-02-27 14:22:26 +00:00
Marcus Boerger c5d70528d7 - MFH Fix count/foreach interaction 2006-02-27 13:38:03 +00:00
Marcus Boerger 44d4ba478f - Cleanup 2006-02-27 11:55:18 +00:00
Johannes Schlüter d4ba0a9fc3 - MFH: Add .cvsignore 2006-02-27 11:38:36 +00:00
Dmitry Stogov cde6f6e0cc Fixed memory leak 2006-02-27 07:12:14 +00:00
Johannes Schlüter 3e056bc13c - Fix tests 2006-02-27 00:18:59 +00:00
Marcus Boerger 0b300dac3a - Update 2006-02-26 23:21:50 +00:00
Marcus Boerger 4d442447f1 - Synch with head 2006-02-26 23:14:45 +00:00
Ilia Alshanetsky 2d4b399fe1 Revert previous fix to allow for a more comprehensive patch from Derick. 2006-02-26 22:14:58 +00:00
Ilia Alshanetsky 2d02bedd9c Fixed bug #36510 (strtotime() fails to parse date strings with tabs). 2006-02-26 17:05:45 +00:00
Marcus Boerger 5a69b29082 - Warning fixes by Steph 2006-02-26 10:57:00 +00:00
Marcus Boerger 84fc80064b - Update 2006-02-25 21:43:02 +00:00
Rasmus Lerdorf 8fe5bc7010 MFH - binary safety patch from Moriyoshi 2006-02-25 21:32:11 +00:00
Marcus Boerger bf213a2c7b - Add ReflectionExtension::getDependencies() 2006-02-25 21:17:18 +00:00
Marcus Boerger 941b0651dc - MFH: Function deprecation flag 2006-02-25 18:25:45 +00:00
Johannes Schlüter 611a6dece9 - MFH: Fix description 2006-02-24 23:25:57 +00:00
Johannes Schlüter 027abfd702 - MFH: Fix #29986 (Class constants won't work with predefined constants when
using ReflectionClass)
2006-02-24 23:09:22 +00:00
Derick Rethans 016dbe414e - MFH: Fixed issue with iconv_mime_decode where the "encoding" would only allow
upper case specifiers.
#- See RFC 2047, section 2.
2006-02-24 16:05:38 +00:00
Michael Wallner 6520ff9afc - fix crash with DOMImplementation::createDocumentType("name:") 2006-02-24 10:19:54 +00:00
Derick Rethans 521502f416 - MFH: Added support for exif date format
- MFH: Fixed bug #36396 (strtotime() fails to parse dates in dd-mm-yyyy
  format).
2006-02-24 09:44:56 +00:00
Ilia Alshanetsky 6d494f9725 Fixed bug #35900 (stream_select() should warning when tv_sec is negative). 2006-02-23 18:28:08 +00:00
Andrei Zmievski c009a4f361 Fix a bug where the default value for function argument could be an
array with array (!) keys.
2006-02-23 18:06:47 +00:00
Brian France 9f53c8e313 MFH: 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:51:46 +00:00
Ilia Alshanetsky 07e7092729 Added test for bug #36434 2006-02-22 15:45:25 +00:00
Johannes Schlüter 7409ed6403 - MFH: List --rf/--rc/--re only with enabled reflection 2006-02-21 21:15:13 +00:00
Ilia Alshanetsky f5241f165f Fixed bug #36458 (sleep() accepts negative values). 2006-02-21 15:32:06 +00:00
Johannes Schlüter c6cb1598be - MFH: Rename reflection constants to fix parser conflicts 2006-02-20 23:33:32 +00:00
Marcus Boerger 289f45c279 - Synch docu 2006-02-20 22:21:54 +00:00
Ilia Alshanetsky 4ea898b79f Fixed bug #36434 (Improper resolution of declaring class name of an
inherited property).
2006-02-20 15:27:45 +00:00
Dmitry Stogov 089f1283ad Fixed test file 2006-02-20 08:39:06 +00:00
Michael Wallner 59fa57d232 BFN: fixed ext/hash/tiger on big endian platforms 2006-02-19 23:50:46 +00:00
Michael Wallner 4b23428d9d - fix tiger on big endian platforms 2006-02-19 23:39:53 +00:00
Marcus Boerger f0d9ae46c3 - Fix method flag handling 2006-02-19 10:39:31 +00:00
Marcus Boerger afd8f0b608 - MFH Fix naming inconsistency (providing old name as alias) 2006-02-18 18:14:45 +00:00
Marcus Boerger 78516c7905 - Fixed bug #36436 (DBA problem with Berkeley DB4). 2006-02-18 17:11:06 +00:00
Michael Wallner 92ac0940d3 - fix misleading proto (confused out and in charset) 2006-02-18 16:02:43 +00:00
Rasmus Lerdorf bab48a0906 Rename getloadavg to sys_getloadavg 2006-02-18 05:41:59 +00:00
Andrei Zmievski f10bab6f97 MFH. 2006-02-17 21:18:09 +00:00
Wez Furlong a8be85ce7e add getloadavg() function that has been running in production on rs1.php.net
for a couple of years.
2006-02-16 22:49:13 +00:00
Antony Dovgal 1e8aad5075 MFH: add checks and fix possible reincarnations of bug #36420 2006-02-16 20:58:59 +00:00
Ilia Alshanetsky ce9dfedc69 Fixed bug #36420 (segfault when access result->num_rows after calling
result->close())
2006-02-16 16:03:27 +00:00
Antony Dovgal 2108714a2b MFH: improve usleep(): use new param parsing API, check for negative values
(related to #36410)
2006-02-16 10:13:52 +00:00
Antony Dovgal f2ac3274d7 fix typo 2006-02-16 06:29:40 +00:00
Ilia Alshanetsky 96843fe434 Use 5.1 functions 2006-02-16 03:15:52 +00:00
Sara Golemon a790d6ed3d Fix copy/paste problems for instantclient 2006-02-16 02:03:13 +00:00
Antony Dovgal 716d22a8f6 MFH: fix #36403 (oci_execute() no longer supports OCI_DESCRIBE_ONLY) 2006-02-15 20:44:55 +00:00
Antony Dovgal 82b6ccbc30 fix memory leak and possible invalid reads 2006-02-15 11:15:32 +00:00
Antony Dovgal 8068342483 MFH: fix #36400 (Custom 5xx error does not return correct HTTP response error code) 2006-02-15 11:09:05 +00:00
Antony Dovgal d43d090362 fix leak in zend_strtod() on big doubles
add new test
2006-02-14 22:10:55 +00:00
Ilia Alshanetsky 3608dd4c11 Fixed bug #36345 (PDO/MySQL problem loading BLOB over 1MB). 2006-02-14 14:26:11 +00:00
Antony Dovgal c65d61a301 add test for bug #36337 2006-02-14 09:46:16 +00:00
Derick Rethans 1a170a3de2 - Fixed bug #36382 (PDO/PgSQL's getColumnMeta() crashes). 2006-02-13 15:53:36 +00:00
Ilia Alshanetsky 1e05eec591 Fixed bug #36337 (ReflectionProperty fails to return correct visibility). 2006-02-13 14:49:26 +00:00
Dmitry Stogov 11187a40e0 Fixed bug #36205 (Memory leaks on duplicate cookies) 2006-02-13 12:18:16 +00:00
Marcus Boerger 9c614f8f8f - Synch 2006-02-12 18:51:12 +00:00
Marcus Boerger 4b2b9461d4 - MFH No more old parameter api usage 2006-02-12 16:44:36 +00:00
Ilia Alshanetsky 535a2e6092 Fixed bug #36351 (parse_url() does not parse numeric paths properly). 2006-02-12 16:39:44 +00:00
foobar 5fb8810c76 fix news 2006-02-11 11:23:57 +00:00
Rui Hirokawa e8d38828cd MFH 2006-02-11 02:26:07 +00:00
Antony Dovgal 08c4c9c202 MFH: fix #36359 (splFileObject::fwrite() doesn't write when no data length specified) 2006-02-10 16:57:56 +00:00
Rasmus Lerdorf 6cc9f92d16 (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:39:13 +00:00
Pierre Joye 8fe545aab7 - fix order 2006-02-09 22:26:43 +00:00
Ilia Alshanetsky 044d24a23c Added test for bug #36308 2006-02-09 18:18:18 +00:00
Pierre Joye c09237ffce - protos 2006-02-09 15:48:46 +00:00
Pierre Joye 8600417c79 - 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:33:53 +00:00
Ilia Alshanetsky f541b63e1f Fixed bug #36334 (Added missing documentation about realpath cache INI
settings).
2006-02-08 23:43:48 +00:00
Johannes Schlüter b0f0192f0c - MFH: Fix charset 2006-02-08 21:09:18 +00:00
Johannes Schlüter 991c753bc5 - MFH: It's 2006 and PHP 5 2006-02-08 21:03:36 +00:00
Antony Dovgal 1f8b320679 MFH: move function definition from .h to .c, where it should be 2006-02-08 20:50:03 +00:00
Greg Beaver 39a4a46ae4 MFB fix Bug #36001: make install fails when --enable-memory-limit used 2006-02-08 01:12:12 +00:00
Ilia Alshanetsky 0a6b074034 Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect
extended class commentary).
2006-02-08 00:36:57 +00:00
Andrei Zmievski 7deff63e3c Move array globals declarations back to the header file. 2006-02-07 17:54:24 +00:00
Antony Dovgal 3bafa8cead don't use deprecated call-time by reference 2006-02-07 14:11:31 +00:00
Dmitry Stogov 9167991f69 Compression level shouldn't be greatr then 9. 2006-02-07 12:57:28 +00:00
Dmitry Stogov 73605400e8 Fixed bug #36083 (SoapClient waits for responses on one-way operations) 2006-02-07 12:49:10 +00:00
Rob Richards 7831900882 fix mem leak with iterators
fix object casting for edge case
2006-02-07 11:50:54 +00:00
Pierre Joye 5f83d7ce90 - forgot the original credits 2006-02-07 00:38:15 +00:00
Andrei Zmievski da30791861 MFH. 2006-02-07 00:33:13 +00:00
Pierre Joye 0473a11ca2 - entry for #36306 2006-02-07 00:27:04 +00:00
Pierre Joye f3e11a705c - #36306, crc32() function result differs on 32-bit and 64-bit platforms 2006-02-07 00:23:55 +00:00
Antony Dovgal a3b941642c init variables 2006-02-06 20:37:11 +00:00
Michael Wallner beea63529c MFH: fix ReflectionClass::getInterfaces() 2006-02-06 20:12:48 +00:00
Andrei Zmievski 6c180238fd TODO 2006-02-06 19:02:53 +00:00
Ilia Alshanetsky a0d912490d 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:07 +00:00
Dmitry Stogov a7c845ffcb typo 2006-02-06 13:17:06 +00:00
Dmitry Stogov 38409e944c Fixed bug #36303 (foreach on error_zval produces segfault) 2006-02-06 11:45:56 +00:00
Antony Dovgal bccf4bd9e7 MFH: initialize variables and reduce the number of warnings 2006-02-06 11:28:41 +00:00
Antony Dovgal 8911fac653 MFH: initialize variable and make gcc happy 2006-02-06 11:01:06 +00:00
Antony Dovgal c353a52a11 initialize variables 2006-02-06 10:52:34 +00:00
Antony Dovgal 4a179933b6 initialize to_r
remove needless semicolon
2006-02-06 10:41:28 +00:00
Dmitry Stogov f2772ecc0d Fixed bug #36283 (SOAPClient Compression Broken). 2006-02-06 10:16:03 +00:00
Marcus Boerger ff4ee6f043 - MFH Add new tests 2006-02-06 01:28:12 +00:00
Antony Dovgal aa920b8e00 MFH: fix #36295 (typo in SplFileObject::flock() parameter name) 2006-02-05 19:23:30 +00:00
Ilia Alshanetsky 64972c02de Simplify test code 2006-02-05 17:33:11 +00:00
Marcus Boerger 647eafcb5d - MFH 2006-02-05 17:07:40 +00:00
Pierre Joye 3c1b981a28 - ini entry for gd.jpeg_ignore_warning 2006-02-05 16:04:11 +00:00
Pierre Joye 3f68c2164b - jpeg tolerant mode entry 2006-02-05 15:54:56 +00:00
Pierre Joye 6f632a77c3 - MFH: add a weak/tolerant mode to the jpeg loader 2006-02-05 15:53:58 +00:00
Marcus Boerger 56db3290e2 - BFN 2006-02-05 12:04:46 +00:00
Marcus Boerger 39d71e375c - MFH Fix bug #36287 2006-02-05 11:43:44 +00:00
Frank M. Kromann 5e673e0639 Fix build on win32 2006-02-04 23:54:21 +00:00
Rob Richards c3c092bba6 BFN 2006-02-04 11:01:55 +00:00
Rob Richards a78a0b460c Fixed bug #34272 (empty array onto COM object blows up)
fix mem leaks
WS fixes
add test
2006-02-04 10:57:28 +00:00
Dmitry Stogov aa1142eded Fixed bug #36158 (SIGTERM is not handled correctly when running as a FastCGI server) 2006-02-03 16:30:09 +00:00
Antony Dovgal 52232a7f7a fix #36010 (Segfault when re-creating and re-executing statements with bound parameters) 2006-02-03 14:46:42 +00:00
Dmitry Stogov b179e081ab Fixed bug #36268 (Object destructors called even after fatal errors) 2006-02-03 09:31:59 +00:00
Marcus Boerger a31f337c24 - MFH Fix ArrayIterator::seek() edge cases 2006-02-02 22:17:42 +00:00
Antony Dovgal db7195ee0c nuke unused variable 2006-02-02 21:43:09 +00:00
Marcus Boerger a266261eb6 - Fix oversight 2006-02-02 18:59:11 +00:00
Sara Golemon 3a4a0e3cef MFH: Prevent bindport from being used uninitialized 2006-02-02 18:16:43 +00:00
Ilia Alshanetsky 0c972edce4 Only use win32 directory separators on win32 or netware. 2006-02-02 15:10:04 +00:00
Antony Dovgal 0655132e2c add test for bug #36258 2006-02-02 13:56:16 +00:00
Antony Dovgal ff30daae6e MFH: add missing folding tags
nuke unnecessary semicolons
2006-02-02 12:40:33 +00:00
Antony Dovgal 0506d1a9f5 fix #36258 (SplFileObject::getPath() may lead to segfault) 2006-02-02 12:19:14 +00:00
Dmitry Stogov 7dc9be77fc Bug #36226 Inconsistent handling when passing potential arrays 2006-02-02 11:41:45 +00:00
Dmitry Stogov 6a176fa7b3 AIX support 2006-02-02 09:59:23 +00:00
Dmitry Stogov 7e7fcc3a07 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.
2006-02-02 08:17:23 +00:00
Dmitry Stogov 9774b6d3e6 Fixed encoding of inhereted objects 2006-02-01 17:18:24 +00:00
Ilia Alshanetsky d115747a24 Clarify new entries. 2006-02-01 17:05:38 +00:00
Joe Orton 8c55d477d8 MFH: - Fixed bug #36208 (symbol namespace conflicts using bundled gd). (Jakub Moc) 2006-02-01 13:52:46 +00:00
Antony Dovgal b90d985a23 MFH: fix #36242 (Possible memory corruption in stream_select()) 2006-02-01 10:31:57 +00:00
Sebastian Bergmann 823b39b698 Fix line endings. 2006-02-01 07:41:24 +00:00
Zeev Suraski b73349dbe4 Fix possibility of a wrong element being deleted by zend_hash_del()
Thanks Stefan!
2006-02-01 01:01:05 +00:00
Derick Rethans 0249f6b6b6 - MFH: Fixed bug #36224 (date(DATE_ATOM) gives wrong results). 2006-01-31 18:44:19 +00:00
Antony Dovgal 526bc44ff7 fix test 2006-01-31 18:39:28 +00:00
Antony Dovgal 3a800fe146 MFH: fix #36235 (ocicolumnname delivers empty results before a succesfull ocifetch) 2006-01-31 18:38:52 +00:00
Derick Rethans eb91dfc69e - MFH: Upgraded timezonedb to 2006a. 2006-01-31 18:08:15 +00:00
Ilia Alshanetsky 6f66a63cda Fixed bug #36222 (errorInfo in PDOException is always NULL). 2006-01-31 17:20:32 +00:00
Derick Rethans 657d5f086f - Moved msession to PECL. 2006-01-31 08:11:35 +00:00
Antony Dovgal b22ab5b5d3 fix printf-style formats 2006-01-30 21:14:54 +00:00
foobar f80f58168c nuke ws pollution 2006-01-29 17:54:45 +00:00
Ilia Alshanetsky 9b0f4a6234 Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of rows
affected by the operation).
2006-01-29 17:35:54 +00:00
foobar af56d9f1d4 fix news 2006-01-29 15:25:10 +00:00
Michael Wallner e44b9f08f6 - not efree but free 2006-01-28 08:07:20 +00:00
Frank M. Kromann 80cc4867e3 Export symbols that will allow building WDDX as shared object 2006-01-28 06:18:01 +00:00
Frank M. Kromann 329198a955 Add header so WDDX builds as shared 2006-01-28 06:15:25 +00:00
Pierre Joye f16b8429da - #36185 entry 2006-01-28 00:16:56 +00:00
Pierre Joye 2bfe34e06d - MFH: #36185 str_rot13(NULL) crash 2006-01-28 00:14:01 +00:00
Michael Wallner fe52312f59 - include png.h prior php.h 2006-01-27 20:46:02 +00:00
Michael Wallner a146043c25 - fix imap_fetchbody(); there is no default mailgets() 2006-01-27 20:18:03 +00:00
Pierre Joye 9494521055 - imagepng filter enty 2006-01-27 20:11:54 +00:00
Michael Wallner 26127e510f - added imap_savebody() 2006-01-27 19:47:14 +00:00
Michael Wallner b12f8e6811 MFH: add imap_savebody() 2006-01-27 19:46:11 +00:00
Pierre Joye 1b546b9f77 - MFH: add filter option to imagepng
- add constants
  PS: If someone can check why #include "png.h" fails, it will be cleaner
2006-01-27 13:36:30 +00:00
Ilia Alshanetsky c5ef24bfee Fixed bug #36148 (unpack("H*hex", $data) is adding an extra character to the
end of the string).
2006-01-26 15:45:33 +00:00
Michael Wallner 9eda552c75 BFN 2006-01-26 13:26:51 +00:00
Michael Wallner ed58b573a1 MFH: fix bug #36152 problems with curl+ssl and pgsql+ssl in same PHP 2006-01-26 13:23:33 +00:00
Rob Richards 84554b0364 BFN 2006-01-26 11:18:46 +00:00
Rob Richards c53b926a35 Fix bug #35954 (Fatal com_exception casting object) 2006-01-26 11:17:34 +00:00
Marcus Boerger cb4bb6e389 - MFH Bug #36141 Add ReflectionClass::newInstanceArgs($args) 2006-01-25 22:03:54 +00:00
Marcus Boerger 77915bc208 - MFH 2006-01-25 22:03:18 +00:00
Rob Richards ec605ac2ad fix possible crash in textContent 2006-01-25 17:34:05 +00:00
Ilia Alshanetsky 8fde2249c3 Properly rewrite queries where a bound parameter appears more then once. 2006-01-25 16:35:23 +00:00
Marcus Boerger 9cb7d29f84 - MFH Bug #35978 %n format string specifier wrongly implemented 2006-01-24 20:59:46 +00:00
Ilia Alshanetsky 5f25d80d10 cURL extension news. 2006-01-24 20:11:14 +00:00
Antony Dovgal d0e1a4fdca MFH: fix #36113 (Reading records of unsupported type causes segfault) 2006-01-23 22:42:12 +00:00
Derick Rethans ff438f1139 - date is not a server API 2006-01-23 18:07:40 +00:00
Ilia Alshanetsky 9cbc3ae264 Fixed bug #36134 (DirectoryIterator constructor failed to detect empty
directory names).
2006-01-23 15:24:10 +00:00
Marcus Boerger 2d1d476391 - MFH Fix error message 2006-01-23 02:26:32 +00:00
Marcus Boerger 1d461a6bcc - MFH 2006-01-22 23:57:41 +00:00
Marcus Boerger b1cebf32e4 - MFH Fix issues with static method invocation 2006-01-22 22:14:32 +00:00
Marcus Boerger cb27823e82 - MFH Show the exact version 2006-01-22 22:09:54 +00:00
Marcus Boerger 813a5651c1 - MFH Update test 2006-01-22 22:07:43 +00:00
Sebastian Bergmann 4803abf07c Fugbix typo. 2006-01-22 21:01:51 +00:00
foobar e4295ed864 fix news 2006-01-22 18:47:36 +00:00
Ilia Alshanetsky ffe84c11a7 News about further get_headers() changes. 2006-01-22 18:34:12 +00:00
Rui Hirokawa 90bb16db5a MFH 2006-01-21 02:49:52 +00:00
Antony Dovgal 1070dec09a fix typo 2006-01-20 16:58:48 +00:00
Antony Dovgal 4697099ab0 add new test 2006-01-20 11:07:34 +00:00
Antony Dovgal 5fb6e0703f MFH: fix #36096 (oci_result() returns garbage after oci_fetch() failed) 2006-01-20 11:02:49 +00:00
Ilia Alshanetsky 0621bcc9e1 Allow get_headers() to return header information even for non-200 responses. 2006-01-20 01:40:32 +00:00
Dmitry Stogov c447acf863 Fixed bug #36071 (Engine Crash related with 'clone') 2006-01-19 07:23:32 +00:00
Antony Dovgal 82d5901664 MFH: couple of pedantic fixes: "static" should be first 2006-01-18 23:55:47 +00:00
Derick Rethans 864004d4d7 - Enable date_sun_info() function. 2006-01-18 21:40:38 +00:00
Antony Dovgal 01e8d313c8 MFH: make sure ce_child is properly initialized 2006-01-18 21:06:47 +00:00
Antony Dovgal 26ef74f867 MFH: fix error message on make test when bison is not installed 2006-01-18 17:59:20 +00:00
foobar f0a60af876 fix news 2006-01-18 16:12:37 +00:00
Ilia Alshanetsky fb7608a006 Make get_headers() use the default context. 2006-01-18 14:05:14 +00:00
Antony Dovgal 1d72f55e7d MFH: reorganize resource destruction 2006-01-18 10:12:34 +00:00
Antony Dovgal 56242031aa MFH: improve open_basedir checks in GD 2006-01-17 23:47:08 +00:00
Antony Dovgal 4278ffd3b4 MFH: fix #36055 (possible OCI8 crash in multithreaded environment) 2006-01-17 23:44:51 +00:00
Ilia Alshanetsky 5a6a07467f Bug fixing news 2006-01-17 19:57:01 +00:00
Ilia Alshanetsky b6cb9d3ce5 Fixed bug #36046 (parse_ini_file() miscounts lines in multi-line values). 2006-01-17 19:56:25 +00:00
foobar 52933fc89d you fix, add, update or remove.. 2006-01-17 19:19:45 +00:00
Pierre Joye 5ea4c827c9 - remove old return_long 2006-01-17 19:04:06 +00:00
Pierre Joye e736bfc8b6 - imagecolorallocate* returns false entry 2006-01-17 16:33:11 +00:00
Pierre Joye afa77062d1 - return false on error 2006-01-17 15:44:12 +00:00
Pierre Joye 328c294569 - Returns FALSE on error, it is how it must work 2006-01-17 15:23:29 +00:00
Dmitry Stogov 0f4302b872 Fixed bug #36037 (heredoc adds extra line number) 2006-01-17 09:39:57 +00:00
Ilia Alshanetsky 5f9dde24d8 Only report mkdir() errors if error reporting option is set. 2006-01-17 02:32:09 +00:00
Antony Dovgal 694042e527 MFH: fix #36038 (ext/hash compile failure on Mac OSX) 2006-01-16 23:04:23 +00:00
Antony Dovgal ac1ec7914c fix typo 2006-01-16 20:40:41 +00:00
Antony Dovgal 3062348c75 MFH: fix #35999 (recursive mkdir() does not work with relative path like "foo/bar") 2006-01-16 19:48:23 +00:00
Dmitry Stogov bc410c3863 Fixed first-chance exception during request shutdown 2006-01-16 14:26:07 +00:00
Dmitry Stogov b8360c376b Fixed bug #36006 (Problem with $this in __destruct()) 2006-01-16 10:12:36 +00:00
Dmitry Stogov 4b1791a767 Fixed bug #36016 (realpath cache memleaks) 2006-01-16 09:12:22 +00:00
Dmitry Stogov 71d4d4a91f Fixed bug #36016 (realpath cache memleaks) 2006-01-16 09:09:37 +00:00
Ilia Alshanetsky 3d80bd0cdf Added a check for special characters in the session name. 2006-01-15 16:51:18 +00:00
Marcus Boerger d059b92fea - MFH Fix issue found by Nuno 2006-01-15 00:17:43 +00:00
Antony Dovgal 8488861e12 add test for bug #36010 2006-01-14 22:23:43 +00:00
Marcus Boerger 1edc8eec88 - Update 2006-01-14 20:21:10 +00:00
Marcus Boerger 66cfc793a2 - Fix test 2006-01-14 15:53:37 +00:00
Marcus Boerger 97086b2bc6 - BFN 2006-01-14 15:24:06 +00:00
Marcus Boerger add3c79a23 - Fixed bug #36011 2006-01-14 15:22:40 +00:00
foobar a408c539cf be wordy 2006-01-14 14:44:44 +00:00
Georg Richter 5854cf10c7 New field constants for BIT and NEWDECIMAL 2006-01-14 14:34:47 +00:00
Georg Richter 04ac1f7fd1 2nd attempt: implementation of 36007
1st commit stopped with protocol error - never seen that before :-(
2006-01-14 14:15:41 +00:00
foobar fecfb80a00 removed false information 2006-01-14 12:05:59 +00:00
Georg Richter c061fc6c37 Implemented feature request #36007: Support for BIT and NEW_DECIMAL field types 2006-01-14 10:15:08 +00:00
foobar 1cdaf5d7b1 fix news 2006-01-14 09:57:07 +00:00
Marcus Boerger 575e6b6e7c - Make clear what -a mode gets you 2006-01-14 02:09:37 +00:00
Marcus Boerger c863542dc1 - Fix #35998 (getPathname() method always returns unix style filenames) 2006-01-13 19:36:57 +00:00
Sascha Schumann 754b747637 WS 2006-01-13 14:31:38 +00:00
Sascha Schumann 64447a29aa - MFH lower valgrind error count to 0 2006-01-13 14:25:46 +00:00
Antony Dovgal 0851c649d1 MFH: add missing ifdefs 2006-01-13 13:04:27 +00:00
Marcus Boerger e6f4c2bce2 - Add News (which is news) 2006-01-13 08:30:40 +00:00
foobar db2697aae0 this is not news 2006-01-13 05:07:55 +00:00
Pierre Joye 6c509aa837 - add php_mkdir_ex, works like php_mkdir but allows to silent any error
when no options are used
2006-01-13 04:06:00 +00:00
Marcus Boerger f113090832 - Add stream filter 'consumed' 2006-01-12 19:23:58 +00:00
Ilia Alshanetsky e731da3653 Back to dev 2006-01-12 15:24:10 +00:00
Marcus Boerger 1cfcdf6612 - MFH 2006-01-11 20:31:05 +00:00
Michael Wallner 8f5005e4b6 MFH: fix CGI SAPI check on Windows 2006-01-11 15:19:52 +00:00
Antony Dovgal 6ba295f311 int -> long 64bit fixes 2006-01-11 15:09:59 +00:00
Ilia Alshanetsky ad1bbaca04 5.1.2 2006-01-11 14:19:14 +00:00
Ilia Alshanetsky 778c635c40 Fixed bug #35916 (Duplicate calls to stream_bucket_append() lead to a crash). 2006-01-10 16:14:16 +00:00
Antony Dovgal 21891aecc1 MFH: fix #35959 (Cannot build with Solid 2.3) 2006-01-10 14:15:35 +00:00
Antony Dovgal 92f050786f MFH: 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:34:28 +00:00
Ilia Alshanetsky f079ef83ab Fixed test. 2006-01-10 03:18:37 +00:00
Ilia Alshanetsky 5b46c42641 PEAR news 2006-01-08 20:07:21 +00:00
Antony Dovgal 4972b45520 fix typo in the code and related tests 2006-01-06 20:55:14 +00:00
Antony Dovgal de8d0920d4 MFH: add missing .cvsignore 2006-01-06 20:26:25 +00:00
Marcus Boerger 58349878fc - MFH Update 2006-01-06 19:58:10 +00:00
Rasmus Lerdorf 4d64a617c3 MFH: I don't recall the reason for messing with r->allowed here, so let's
get rid of it (and see who screams).  This should fix bug #32561
2006-01-06 18:06:38 +00:00
foobar 02f405ccb1 MFH 2006-01-06 14:03:37 +00:00
Antony Dovgal 08feff327a BFN 2006-01-06 11:49:17 +00:00
Antony Dovgal 96723680d0 MFH: fix #35907 (PDO_OCI uses hardcoded lib path $ORACLE_HOME/lib) 2006-01-06 11:48:19 +00:00
foobar 6486069a3f MFH 2006-01-06 02:04:33 +00:00
Marcus Boerger 0d0f3e290b - Fix issue with memset seeking
- Fix issue with shutdown order of temp/memory stream
2006-01-05 22:03:07 +00:00
foobar 8c56ee5cb6 MFH: - Fixed bug #35911 (HAVE_PG_CONFIG_H set incorrectly) 2006-01-05 21:53:19 +00:00
Ilia Alshanetsky c4790e3a9e Back to dev 2006-01-05 21:36:05 +00:00
Antony Dovgal 6fcc365c75 MFH: fix typo 2006-01-05 20:49:37 +00:00
Marcus Boerger 5121b2a78a - MFH Fix docu 2006-01-05 19:00:27 +00:00
Ilia Alshanetsky 32dc6ee526 Go with 5.1.2RC2 2006-01-05 18:36:24 +00:00
Ilia Alshanetsky 8340e30313 Revert unrelated parts of the previous patch. 2006-01-05 18:07:55 +00:00
Ilia Alshanetsky e9c813af61 MFH4: Fixed bug #35908 (curl extension uses undefined GCRY_THREAD_OPTIONS_USER). 2006-01-05 18:05:37 +00:00
Antony Dovgal 8eb44c317e MFH: delete descriptor from the hash and avoid crashes on commit/rollback 2006-01-05 13:42:35 +00:00
Sebastian Bergmann b185e09245 MFH: Add astro.c. 2006-01-05 06:41:09 +00:00
Andi Gutmans 864a2897df - More -> 2006 changes 2006-01-05 02:34:02 +00:00
Ilia Alshanetsky fc4fb89cac Fixed bug #35669 (imap_mail_compose() crashes with
multipart-multiboundary-email).
2006-01-05 00:47:16 +00:00
Andi Gutmans 30cb5e36b8 - Update to 2006 2006-01-04 23:55:42 +00:00
Andi Gutmans 61e93ccfe8 - Update copyright notices to 2006 2006-01-04 23:53:05 +00:00
Derick Rethans 0d4965407e - Removed the files which are no longer necessary. 2006-01-04 21:35:17 +00:00
Derick Rethans 88268c6bcc - MFH: Fixed bug #35887 (wddx_deserialize not parsing dateTime fields properly).
- MFH: Fixed bug #35885 (strtotime("NOW") no longer works).
- MFH: Fixed bug #33789 (Many Problems with SunFuncs).
- MFH: Fixed bug #33671 (sun_rise and sun_set don't return a GMT timestamp if one
  passes an offset).
- MFH: Fixed bug #32820 (date_sunrise and date_sunset don't handle GMT offset
  well).
- MFH: Fixed bug #30937 (date_sunrise() & date_sunset() don't handle endless
  day/night at high latitudes).
2006-01-04 21:31:35 +00:00
Rob Richards 594139b1ea MFH: fix test 2006-01-04 20:55:58 +00:00
Rob Richards da692974ab MFH: fix tests 2006-01-04 19:44:46 +00:00
Marcus Boerger 47e6f644f7 - MFH Update examples 2006-01-04 15:34:39 +00:00
Marcus Boerger f9bfdc921a - MFH 2006-01-04 15:17:41 +00:00
Marcus Boerger 43fdbe99cd - MFH 2006-01-04 15:08:02 +00:00
Derick Rethans 0839cadef6 - Fixed broken test case. 2006-01-04 10:31:58 +00:00
Ilia Alshanetsky fb91408a17 Added param checks for ap2 fetch respose/request header functions. 2006-01-03 20:13:07 +00:00
foobar 22f4a05149 - prevent pontential failure with stupid compilers 2006-01-03 13:25:06 +00:00
foobar 58576f71c3 typofix 2006-01-03 13:24:46 +00:00
foobar bcc1654de3 - Fixed bug #35288 (iconv() function defined as libiconv()) 2006-01-03 13:21:07 +00:00
Ilia Alshanetsky a5e15f2e1c Fixed possible crash in apache_getenv()/apache_setenv() on invalid
parameters.
2006-01-02 22:19:37 +00:00
foobar 6d8c69e3cb MFH: fixed apache_setenv(): at least 2 parameters are required 2006-01-02 22:10:38 +00:00
Derick Rethans d4dd29194b - MFH: Fixed year dependent test. 2006-01-02 20:15:57 +00:00
Ilia Alshanetsky 488500acfb Added safety checks 2006-01-01 20:12:55 +00:00
Ilia Alshanetsky 64a7e46506 Fixed bug #35797 (segfault on PDOStatement::execute() with
zend.ze1_compatibility_mode = On).
2006-01-01 20:07:41 +00:00
Marcus Boerger 34f32d4dcd - Just another place where rewind() might not be set 2006-01-01 19:55:27 +00:00
Marcus Boerger e99fac3d01 - key() might be optional 2006-01-01 19:51:17 +00:00
Marcus Boerger d6ee7d1d9a - Fix SEGV when rewind() not set 2006-01-01 19:48:11 +00:00
foobar 9b01900321 MFH 2006-01-01 19:00:53 +00:00
Marcus Boerger e5ab119ad3 - dos2unix 2006-01-01 17:27:31 +00:00
Rasmus Lerdorf e2dd2d7e7a Fix the build 2006-01-01 17:24:32 +00:00
Andrey Hristov 3a75666285 WS 2006-01-01 16:55:01 +00:00
Andrey Hristov d03aea048f fetch more than one row at once 2006-01-01 16:52:05 +00:00
foobar 62b9a736bf MFH: oops 2006-01-01 13:27:13 +00:00
foobar 63e14480fc fix typo 2006-01-01 13:13:52 +00:00
foobar 12894cc1b6 update credits 2006-01-01 13:04:33 +00:00
foobar 5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
foobar 220490222a - Fix date 2006-01-01 12:47:32 +00:00
foobar 56567d31b3 Update license to 3.01 2006-01-01 12:30:06 +00:00
foobar e3fd31503b bump the year and license version 2006-01-01 12:26:08 +00:00
Marcus Boerger 9846878450 - MFH Fix environment handling 2005-12-31 17:48:26 +00:00
Marcus Boerger 8479546920 - MFH Fix tests 2005-12-31 17:42:39 +00:00
foobar 90c6bfd259 BFN 2005-12-31 00:57:29 +00:00
foobar 8d63360fc4 MFH:- Fixed bug #35377 (undefined reference to "fdatasync") 2005-12-31 00:56:06 +00:00
Rasmus Lerdorf c7d2d2a689 MFH - instantiated is correct 2005-12-30 17:15:55 +00:00
Marcus Boerger c2c7bc6a10 - WS 2005-12-30 15:05:17 +00:00
Marcus Boerger 2a140b8f40 - Allow to specify ini to use for test executeable 2005-12-30 13:39:54 +00:00
Marcus Boerger dc7ecd41ef - If user wnats help, don't complain about missing environment 2005-12-30 13:31:48 +00:00
Marcus Boerger bb29557060 - Need to set precision in ini 2005-12-30 12:49:46 +00:00
foobar b905bddda8 MFH 2005-12-30 12:21:48 +00:00
Marcus Boerger ad5af84a3c - Fix test 2005-12-30 11:44:21 +00:00
foobar c5b9552891 MFH: typofix 2005-12-30 05:40:43 +00:00
Rui Hirokawa b0ccd89450 MFH:added Turkish language definition (related to bug #29955) 2005-12-30 00:49:24 +00:00
Ilia Alshanetsky 5c32e974aa Not a fatal error. 2005-12-29 21:59:39 +00:00
Derick Rethans 25aeeb5e25 - Fixed bug #35751 (using date with a timestamp makes httpd segfault). 2005-12-29 10:54:07 +00:00
Georg Richter a5acdfc5f2 Fix for bug #35517:
added missing unsigned flag for result buffer
	fixed returncode in mysql_stmt_fetch for data truncation
2005-12-29 09:49:19 +00:00
Sara Golemon 3795f9d8bb MFH(r-1.7) Silence compiler warning: unused variable 2005-12-29 06:02:17 +00:00
Ilia Alshanetsky 0e396980a1 Fixed bug #35817 (unpack() does not decode odd number of hexadecimal values) 2005-12-28 20:55:14 +00:00
Antony Dovgal b5aeda4e65 tweak the fix 2005-12-27 23:26:55 +00:00
Antony Dovgal f046cdf3fa fix #35821 (array_map() segfaults when exception is throwed from the callback) 2005-12-27 22:32:01 +00:00
Derick Rethans 21e1f5da43 - MFH: Upgraded timezone db to 2005.18. 2005-12-27 19:50:13 +00:00
Ilia Alshanetsky f34a85bc58 Improve "skip" checks 2005-12-27 17:16:41 +00:00
Antony Dovgal d7c1980a21 typofix 2005-12-26 23:58:42 +00:00
foobar 73ab144544 MFH: fix test 2005-12-26 18:30:33 +00:00
foobar 74d3631062 reorder 2005-12-26 16:18:44 +00:00
foobar 64363f71f2 fix news 2005-12-26 16:17:56 +00:00
Antony Dovgal 537900c8e8 add new test for recently fixed bug 2005-12-26 15:05:38 +00:00
Marcus Boerger 8b35266a35 - BFN 2005-12-26 14:48:58 +00:00
Marcus Boerger 22ee7f8e3e - MFH Support full range of floats 2005-12-26 14:46:49 +00:00
Marcus Boerger ec1a7e02d4 - SWH (WS + memory corruption fix) 2005-12-26 13:41:58 +00:00
Zeev Suraski 7669169bd5 Whitespace fix (don't ask :) 2005-12-26 09:28:38 +00:00
Dmitry Stogov 56d78654a3 Reverted invalid fix for bug #35785 2005-12-26 08:18:38 +00:00
Pierre Joye 6bcb57fc2b - xslt/exslt versions constants entry 2005-12-26 00:59:32 +00:00
Pierre Joye 41284d17b0 - MFH: #35805 add LIBXSLT_VERSION, LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION
and LIBEXSLT_DOTTED_VERSION
2005-12-26 00:56:41 +00:00
Antony Dovgal 386581b3f8 add missing skipif tag 2005-12-25 22:38:14 +00:00
Pierre Joye 7ebca7d3b7 - imagecolormatch fix and changes 2005-12-25 20:34:59 +00:00
Pierre Joye d07b094461 - MFH: raise warnings instead of errors in colormatch 2005-12-25 20:33:05 +00:00
Ilia Alshanetsky 077559d3e4 Make MySQL driver use ANSI complaint quoting style. 2005-12-25 20:30:40 +00:00
Pierre Joye f5a7694305 - MFH: fix segfault/leak in imagecolormatch
- MFH: test for imagecolormatch
2005-12-25 19:39:53 +00:00
foobar cfda375620 MFH 2005-12-25 16:04:15 +00:00
Rui Hirokawa ef0c0cc62b MFH: fixed #35711, added mbstring.strict_detection to detect the encoding striktly. 2005-12-25 15:23:55 +00:00
Ilia Alshanetsky 2e50763315 Fixed memory corruption that affected pdo_sqlite2. 2005-12-24 17:41:04 +00:00
Marcus Boerger 319dff73fb - Make this work with VPATH builds too 2005-12-24 12:23:09 +00:00
Marcus Boerger 6c2ebc6d76 - MFH Require re2c 0.9.11 and use correct version notation 2005-12-24 11:38:05 +00:00
Rui Hirokawa 11105b1eed MFH: fixed #35711 ISO-8859 charset not correctly detected. 2005-12-24 04:32:42 +00:00
Andrey Hristov caac5ef86d move the message to where it belongs 2005-12-23 22:27:23 +00:00
Andrey Hristov eea08af619 fix small memory leak which emerged two days ago 2005-12-23 22:22:42 +00:00
Marcus Boerger 1a36aaf874 - BFN 2005-12-23 20:40:52 +00:00
Marcus Boerger 9a6a266b16 - MFH Fixed Bug #35785 (SimpleXML memory read error) 2005-12-23 20:32:15 +00:00
Marcus Boerger ad61a18a2e - MFH Add new test 2005-12-23 20:26:41 +00:00
Marcus Boerger 42f8bef053 - MFH Fix test by splitting it 2005-12-23 20:04:30 +00:00
Marcus Boerger b1cb83f3c9 - MFH Fix handling of bork tests 2005-12-23 19:40:12 +00:00
Ilia Alshanetsky 7f75b5fbf4 RC2 not RC1 2005-12-23 19:12:28 +00:00
foobar d411d72053 MFH:fix mkdir() function properly (patch by nlopess) 2005-12-23 18:57:39 +00:00
Stefan Esser f7c77f0f33 Beware of format strings... 2005-12-23 18:23:43 +00:00
foobar fc6d0f3264 BFN 2005-12-23 18:00:03 +00:00
Rui Hirokawa 4628a41c00 MFH: fixed #29955 mb_strtoupper() / lower() broken with Turkish encoding.. 2005-12-23 15:18:52 +00:00
Ilia Alshanetsky 983263ce5d Bug fixing news 2005-12-23 14:43:57 +00:00
Ilia Alshanetsky e18a1d7c08 Back to dev 2005-12-23 14:42:49 +00:00
Antony Dovgal 248be6fcfc fix #35781 (stream_filter_append() can cause segfault) 2005-12-23 14:32:11 +00:00
Rui Hirokawa cf90abfc24 MFH: fixed #28899 mb_substr() and substr() work differently when mbstring.func_overload is enabled. 2005-12-23 11:15:16 +00:00
Marcus Boerger 35343ffaec - MFH Do not test output escaping here 2005-12-23 08:44:43 +00:00
Edin Kadribasic a151e632d5 MFH: Back out a portion of the previous patch which broke win32 file functions 2005-12-22 21:33:38 +00:00
Marcus Boerger 3515689363 \# Damn ! 2005-12-22 20:27:11 +00:00
Marcus Boerger 8c4d236546 - MFH Point to README.TESTING 2005-12-22 20:24:46 +00:00
Andrey Hristov a0872d6bed BFN
#if it is not clear from the previous commit that fixes the bug. the leaks
#does not come from the fix bug from some other bug.
2005-12-22 18:13:47 +00:00
Andrey Hristov 1c0971f3ce fix for bug# 35759
(mysqli_stmt_bind_result() makes huge allocation when column empty)
#this shows some leaks now, which has to be investigated but closes the
#bug report.
2005-12-22 18:11:39 +00:00
Dmitry Stogov 9c2ea13abc Fixed bug #35612 (iis6 Access Violation crash). (alacn dot uhahaa at gmail dot com) 2005-12-22 16:46:15 +00:00
Zeev Suraski a034972797 Fix prototype 2005-12-22 14:55:55 +00:00
Ilia Alshanetsky 7c17499079 5.1.2RC1 2005-12-22 14:17:56 +00:00
Dmitry Stogov ad90780930 Fixed memory leak 2005-12-22 09:16:11 +00:00
Marcus Boerger c5b4115fd6 - Find lib in default locations, too 2005-12-22 08:57:38 +00:00
Marcus Boerger 7f6018aa3a - WS 2005-12-22 00:37:07 +00:00
Marcus Boerger 53e37ac843 - Fix memleak 2005-12-22 00:35:37 +00:00
Antony Dovgal c01d79b2df merge two skipif entries 2005-12-22 00:19:28 +00:00
Marcus Boerger 0986f33d1e - Fix memleak 2005-12-22 00:06:38 +00:00
foobar 34ff54e4c7 Better be a bit more verbose 2005-12-21 22:48:50 +00:00
Frank M. Kromann a7d2ac4189 Fix #35730 Use correct character encoding with FreeTDS 2005-12-21 22:43:06 +00:00
Marcus Boerger 970298401b - MFH Add --[keep|show]-[all|skip|php] switches 2005-12-21 22:23:55 +00:00
Marcus Boerger fc0fe6472e - MFH Add missing skipif 2005-12-21 22:22:33 +00:00
foobar 59aecb1d88 MFH:- Fixed bug #35461 (Ming extension fails to compile with ming 0.3beta1) 2005-12-21 21:44:15 +00:00
Marcus Boerger fe3f66e188 - We need to store the length of the class name 2005-12-21 20:05:24 +00:00
Ilia Alshanetsky 8710b8c5f5 Don't lose track of exec() errors in pdo_sqlite2 2005-12-21 16:23:12 +00:00
foobar d09ad216a0 MFH: prevent compile failure with --disable-all 2005-12-21 14:22:26 +00:00
Antony Dovgal 604990d6a5 fix test, add test for 64bit platform 2005-12-21 12:16:20 +00:00
Antony Dovgal b7d5d7047b fix test 2005-12-21 11:46:26 +00:00
Antony Dovgal c92ae847c7 add missing skipif conditions
fix existing ones
2005-12-21 11:42:06 +00:00
Antony Dovgal 97200944d2 add skipif conditions 2005-12-21 10:49:51 +00:00
Antony Dovgal fb607b0327 BFN 2005-12-21 10:21:31 +00:00
Antony Dovgal 81a2bacdc4 fix #35760 (sybase_ct doesn't compile on Solaris) 2005-12-21 10:18:32 +00:00
Pierre Joye f90214347e - MFH: add tests, ~70% coverage 2005-12-21 03:58:59 +00:00
Pierre Joye d831a501f7 - MFH: typo in error msg 2005-12-21 02:59:50 +00:00
Pierre Joye ab056b02a1 - fix {{{ 2005-12-21 01:12:24 +00:00
Marcus Boerger 8e43f0085b - Apply workaround only when neccessary 2005-12-20 21:38:28 +00:00
Marcus Boerger eb99c74567 - MFH move zend_object_Value definition to zend_types.h 2005-12-20 21:37:52 +00:00
Marcus Boerger af264f6f0d - MFH add Z_OBJVAL*() macros 2005-12-20 21:37:19 +00:00
Marcus Boerger 81c25d8700 - Get rid of compiler warnings (both postgres an dphp use these defines) 2005-12-20 21:10:43 +00:00
Derick Rethans 48336bcd71 - 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:58:44 +00:00
Derick Rethans f0a0f89a2c - MFH: Fixed bug #35660 (AIX TZ variable format not understood, yields UTC
timezone).
2005-12-20 19:54:10 +00:00
Antony Dovgal 3782a4acf2 fix test description 2005-12-20 17:00:24 +00:00
Antony Dovgal 670b075f87 fix notice 2005-12-20 16:17:30 +00:00
Derick Rethans 97ec0f3db5 - Fixed bug #35699 (date() can't handle leap years before 1970). 2005-12-20 15:58:01 +00:00
Ilia Alshanetsky 3450841dbe Updated libsqlite in ext/pdo_sqlite to 3.2.8. 2005-12-20 15:33:03 +00:00
Ilia Alshanetsky 61c9b22536 Updated libsqlite in ext/sqlite to 2.8.17.
Use in-memory database for tests.
2005-12-20 15:26:26 +00:00
Ilia Alshanetsky 5961160f95 Proper error handling for persistent connections. 2005-12-20 14:50:12 +00:00
Ilia Alshanetsky cd82349b9e Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any
string greater then 255 characters).
2005-12-20 14:24:24 +00:00
Ilia Alshanetsky 5df2f5df42 Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any string
greater then 255 characters).
2005-12-20 14:24:14 +00:00
Antony Dovgal efff8a45e2 more SPL leak fixes 2005-12-20 12:41:24 +00:00
Antony Dovgal 9255733c4f fix leak appearing when __autoload() throws an exception 2005-12-20 11:25:34 +00:00
Antony Dovgal 84326a9b72 add test for #35740 2005-12-20 09:51:53 +00:00
Antony Dovgal aec3b4e73c fix #35740 (memory leak when including a directory) 2005-12-20 09:47:57 +00:00
Ilia Alshanetsky 4e09db1dbf Fixed possible memory corruption. 2005-12-19 16:33:46 +00:00
Rob Richards 78244d64af BFN 2005-12-19 14:18:05 +00:00
Rob Richards fc4ebee3e3 MFH: Fixed bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM)
add test
2005-12-19 14:17:30 +00:00
Antony Dovgal 2a130b19fc fix possible reads of uninitialized memory (reproducible only on 64bit platforms) 2005-12-19 13:53:06 +00:00
Derick Rethans e8a7e6a8cf - Upgraded timezone database to 2005.17. 2005-12-19 13:31:08 +00:00
Derick Rethans 7b581f6d19 - MFH: Merged new timelib, which is a bit more cleverer
- MFH: Support "UTC" in strtotime() properly.
- MFH: Added astro code, which is going to form the base for the new sunfuncs.
2005-12-19 13:00:37 +00:00
Marcus Boerger 32220d2e7e - Check for result of getIterator() call 2005-12-19 00:45:28 +00:00
Marcus Boerger e989e9f70f - Fix reference counting 2005-12-19 00:32:51 +00:00
foobar ae5204a02a MFH: - Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std) 2005-12-18 22:59:57 +00:00
Antony Dovgal 9e8a1bfcbe fix leak in SPL iterators 2005-12-18 22:52:24 +00:00
Antony Dovgal 8aedeb8513 tix fypo 2005-12-18 21:17:07 +00:00
Antony Dovgal 0d38bc9f80 MFH: more spelling fixes 2005-12-18 21:01:27 +00:00
Antony Dovgal 5500dea5f1 MFH: fix spelling 2005-12-18 20:57:27 +00:00
foobar 93d339bede touch with re2c 0.9.11 2005-12-18 20:01:22 +00:00
Ilia Alshanetsky 2a29db4b2b Fixed UTC handling problem stemming from an earlier fix for bug #35422. 2005-12-18 16:15:45 +00:00
Derick Rethans 20b97141d4 - Those should be lower case only. 2005-12-18 16:06:57 +00:00
Zeev Suraski 5238fb0bee Fix prototypes 2005-12-18 15:58:51 +00:00
Marcus Boerger 86ecf121e5 - MFH Fix --version 2005-12-18 15:47:07 +00:00
Zeev Suraski b1264f7172 prototype fix 2005-12-18 15:46:46 +00:00
Zeev Suraski 99cd9ed713 Fix protos 2005-12-18 15:40:34 +00:00
Zeev Suraski 59dc41f761 Fix prototype 2005-12-18 15:38:08 +00:00
Marcus Boerger 2b413f7af2 - MFH End test script when detecting '===DONE===' that way showing memleaks 2005-12-18 14:50:33 +00:00
Ilia Alshanetsky 6654b31e26 fixed test for ZTS 2005-12-18 14:22:48 +00:00
Ilia Alshanetsky b6f856fbec Test fixes 2005-12-18 14:21:27 +00:00
Zeev Suraski 2f3678eb44 Fix prototype 2005-12-18 14:00:23 +00:00
Marcus Boerger 8d4080a6e1 - MFH Add missing prefixes 2005-12-18 13:01:20 +00:00
Marcus Boerger 29f5ce9af3 - MFH Speling 2005-12-18 12:54:41 +00:00
Antony Dovgal 46f922bdf7 MFH: fix possible usage of uninitialized variable 2005-12-18 12:50:28 +00:00
Marcus Boerger 6370ae56ed - MFH Increase timeut for -m testing 2005-12-18 12:08:18 +00:00
foobar a9ffac3eda it is easier to spot fixes when you know what and where something was fixed 2005-12-18 00:07:40 +00:00
foobar 5da39c99c6 fix news 2005-12-18 00:02:35 +00:00
Ilia Alshanetsky 58bd1ac860 bug fixing news 2005-12-17 20:09:08 +00:00
Ilia Alshanetsky ab55ed15d5 Fixed parameter parsing for setIndent() method. 2005-12-17 20:04:57 +00:00
Ilia Alshanetsky b83a0eb10c Fixed memory corruption when FETCH_LAZY mode is being used. 2005-12-17 20:00:00 +00:00
Ilia Alshanetsky 8370e1aca4 Fixed uninitialized variable in a test. 2005-12-17 19:57:37 +00:00
Ilia Alshanetsky f7276af1c6 Fixed compiler warning 2005-12-17 18:26:15 +00:00
Ilia Alshanetsky c2ed71a879 Retry on failed prepare resulting from duplicate statement name. 2005-12-17 17:59:05 +00:00
Pierre Joye 94518ca8e4 - add leaks fix in imagecreatefromstring 2005-12-17 17:52:44 +00:00
Pierre Joye 1024844a41 - MFH:
- fix leaks and wrong error when invalid/empty string are given to
  imagecreatefromstring
- add test for imagecreatefromstring
- add test for palettecopy
2005-12-17 17:46:59 +00:00
Ilia Alshanetsky 87db368a75 Added token for capturing arbitrary whitespace blocks inside text. 2005-12-17 16:33:38 +00:00
Antony Dovgal bfb72e0c08 change int to long and fix valgrind warnings 2005-12-17 16:07:47 +00:00
Marcus Boerger 905007669d - BFN 2005-12-17 15:53:40 +00:00
Marcus Boerger 18a99796ad - MFH Fix Bug #35720 A final constructor can be overwritten 2005-12-17 15:51:52 +00:00
Marcus Boerger adc26d2bca - Fix export 2005-12-17 15:41:56 +00:00
Marcus Boerger 8c991f6a49 - Add optional dependency to ext/dom 2005-12-17 15:40:37 +00:00
foobar 849a614275 - Fix test 2005-12-17 14:54:41 +00:00
Marcus Boerger 70a53e10c6 - Simplify (+fix memleak) 2005-12-16 23:58:38 +00:00
Andrei Zmievski e6ae0e99c3 MFH 2005-12-16 22:45:12 +00:00
Marcus Boerger e4210e3851 - Drop superflous param 2005-12-16 22:38:17 +00:00
Ilia Alshanetsky 579e00d489 Fixed bug #35705 (strtotime() fails to parse soap date format without TZ). 2005-12-16 22:36:46 +00:00
Antony Dovgal dfcc155c76 fix compile warning with Apache2 and Zend VM disabled
(someone forgot to do MFH)
2005-12-16 22:29:34 +00:00
Marcus Boerger 69fdadf1a0 - Add SplTempFileObject to output 2005-12-16 22:29:02 +00:00
Marcus Boerger 10f77a5d71 - Add/fix tests 2005-12-16 22:19:02 +00:00
Marcus Boerger 4bb39ad2a5 - Fix is_callable usage 2005-12-16 22:18:11 +00:00
Marcus Boerger 57492cc2d4 - Provide better error message when using illegal function 'pointers' 2005-12-16 22:17:32 +00:00
Marcus Boerger 0cd997d79c - Simplify and synch is_callable_ex() with actual execution code
. Allow array($this, 'parent::method') for function 'pointers'
  . Spit out E_STRICT in case of erroneous use of function 'pointers'
2005-12-16 22:15:41 +00:00
Antony Dovgal 418223e2f6 fix #35713 (getopt() returns array with numeric strings when passed options like '-1') 2005-12-16 20:09:16 +00:00
Antony Dovgal 17907a50cd fix test
add new one for 64bit only
2005-12-16 15:52:09 +00:00
Antony Dovgal 460a4fecef fix test 2005-12-16 14:57:29 +00:00
Antony Dovgal 8fee6ac1e2 fix test 2005-12-16 14:50:47 +00:00
Ilia Alshanetsky 84cd3c125c Cleanup code and prevent usage of uninitialized variable. 2005-12-15 22:54:15 +00:00
Antony Dovgal 33c87b395f MFH: fix #35692(iconv_mime_decode() segfault, with libiconv only) 2005-12-15 22:49:22 +00:00
Ilia Alshanetsky bdf9c4d15c Fixed bug #35694 (Improved error message for invalid fetch mode). 2005-12-15 22:33:02 +00:00
Antony Dovgal a91f9fb786 MFH: fix #35690 (pack() tries to allocate huge memory block when packing float values to strings) 2005-12-15 22:15:01 +00:00
Antony Dovgal 9417c070f6 MFH: fix C++ comments in C code 2005-12-15 13:58:10 +00:00
Ilia Alshanetsky cb3cca21b3 Fixed possible memory corruption inside mb_strcut(). 2005-12-15 03:36:53 +00:00
Frank M. Kromann 67313884c1 Export symbols needed by pecl/http 2005-12-15 02:25:58 +00:00
Marcus Boerger 5c8027584f - MFH Fix issue spotted by Wez using ms vc 2005 2005-12-14 09:55:11 +00:00
Wez Furlong 85a578e029 Possible fixes for #35552, #35592 and #35620. 2005-12-14 04:56:22 +00:00
Ilia Alshanetsky 00b9392bf5 Fixed bug #35571 (Fixed crash in Apache 2 SAPI when more then one php
script is loaded via SSI include).
2005-12-14 03:36:44 +00:00
Wez Furlong b041abbb4e Fixes for building with vs.net 2005. 2005-12-14 02:01:13 +00:00
Antony Dovgal 1b7e3fe2a5 MFH: fix spelling and #35665 2005-12-14 00:54:29 +00:00
Marcus Boerger 71c7cdb7d9 - Fix temp/memory stream modes 2005-12-14 00:06:09 +00:00
Antony Dovgal f7aec44aee MFH: use default colors to prevent any problems with existing php.ini 2005-12-13 22:32:30 +00:00
Antony Dovgal 6c65d6df59 add new test 2005-12-13 21:43:36 +00:00
Ilia Alshanetsky 3ce27140dc Fixed bug #35655 (whitespace following end of heredoc is lost). 2005-12-13 20:55:42 +00:00
Antony Dovgal 900d49a553 add missing .cvsignore files 2005-12-13 20:18:50 +00:00
Ilia Alshanetsky cdb699b497 Fixed bug #35630 (strtotime() crashes on certain relative identifiers). 2005-12-13 02:28:39 +00:00
Antony Dovgal bc22352c30 fix tests and their skip conditions 2005-12-12 21:21:11 +00:00
foobar f94b3012bd MFH 2005-12-12 19:45:01 +00:00
Marcus Boerger 882a9effe6 - Enforce termination to prevent possible SEGVs 2005-12-12 19:10:12 +00:00
foobar a8a4d7944d - Always use the builddir! 2005-12-12 12:39:50 +00:00
foobar a939717011 MFH: - added missing configure help line 2005-12-12 12:20:55 +00:00
foobar ec4fd02760 MFH 2005-12-12 11:51:45 +00:00
foobar d43833ecff MFH: cleanup test outputs 2005-12-12 11:49:45 +00:00
foobar 379cd5a6df MFH:- Include timestamp for the leaks. (to make possible matching leaks with access_log entries) 2005-12-12 11:00:57 +00:00
Dmitry Stogov db312cf18e Fixed bug #35570 (segfault when re-using soap client object) 2005-12-12 09:25:23 +00:00
Ilia Alshanetsky a74463e9bd Fixed bug #35629 (crash in http:// wrapper on multiple redirects). 2005-12-12 05:04:15 +00:00
foobar ddcc5257ac MFH: - Added missing fold tags 2005-12-11 22:38:38 +00:00
Ilia Alshanetsky f19c2e00ec Fixed bug #35624 (strtotime() does not handle 3 character weekdays).
Improved fix for bug #35414.
2005-12-11 22:35:40 +00:00
foobar 64f82f9c00 fix news 2005-12-11 22:08:43 +00:00
Edin Kadribasic f75efcb505 Bundle update news 2005-12-11 22:03:19 +00:00
Edin Kadribasic 60db0632dd Updated to libxml2 to 2.6.22, thanks to rrichards 2005-12-11 21:54:32 +00:00
Marcus Boerger bac905b982 MFH:
. Change to use sane default flags fro RecursiveDirectoryIterator
 . Drop 2nd parameter from DirectoryIterator::__construct()
2005-12-11 16:43:29 +00:00
Marcus Boerger 9bb52c750c - MFH 2005-12-11 15:29:14 +00:00
Marcus Boerger 85a261bb85 - MFH Fix tests 2005-12-11 14:50:29 +00:00
Marcus Boerger d05c2a40d8 - MFH Revert accidential 'drop in' from 1.227 2005-12-11 12:47:46 +00:00
Marcus Boerger af1d83d783 - Fix MFH (oversight problem) 2005-12-11 12:37:39 +00:00
Marcus Boerger c19fa0bbde - MFH Add method support to --rfunction 2005-12-11 02:41:04 +00:00
Marcus Boerger ba6c82eee9 - MFH --r* switches 2005-12-11 02:17:34 +00:00
foobar b3fc86b5f4 fix news 2005-12-10 18:29:29 +00:00
foobar 933d1d174c MFH 2005-12-10 18:26:52 +00:00
Ilia Alshanetsky 5e9c6555ad Fixed typo in gcov output filename 2005-12-09 21:40:24 +00:00
Rob Richards cc96967132 MFH: allow NULL prefix to create default namespace
fix tests
2005-12-09 20:52:15 +00:00
Antony Dovgal ca42324497 php_stream_get_line() is a macro and it already has TSRMLS_CC 2005-12-09 18:53:09 +00:00
Pierre Joye 7a6ac7ce16 - MFH: no need to test if jpeg support exists 2005-12-09 18:17:02 +00:00
Dmitry Stogov 599221036f Fixed bug #35612 (iis6 Access Violation crash) 2005-12-09 18:10:45 +00:00
Pierre Joye ce90a27a48 - MFH, PNG compression support exposed 2005-12-09 18:07:57 +00:00
Dmitry Stogov 5461b5a6b1 Fixed bug #34429 (Output buffering cannot be turned off with FastCGI) 2005-12-09 17:01:50 +00:00
Dmitry Stogov eef44c609b Fixed possible SIGSEGV (Rob Richards) 2005-12-09 15:29:15 +00:00
Antony Dovgal 4ccdc86561 fix C++ comment 2005-12-09 13:28:10 +00:00
Marcus Boerger b8572a0c9c - MFH Section FILE does not exist for redirection tests 2005-12-09 09:50:30 +00:00
Rob Richards c98ef984d8 MFH: enable a few additional functions
- add tests
2005-12-09 04:57:20 +00:00
Marcus Boerger 6b86285dd2 - MFH Add missing newline 2005-12-09 00:30:41 +00:00
Marcus Boerger fbeb8ae0d4 - Revert piece of MFH that shows an inconsistency - actually we should fix
this fread() issue.
2005-12-09 00:22:21 +00:00
Marcus Boerger a4d0a4c625 - MFH
. Add ability to create temp files in separate dir and keep them.
  . Add ability to create links in html results as table.
2005-12-08 22:51:01 +00:00
Antony Dovgal ccdeb10696 new tests 2005-12-08 22:30:23 +00:00
Antony Dovgal 84051ba42b MFH: improve error message 2005-12-08 22:07:30 +00:00
Antony Dovgal c287dec802 MFH: add 1 to the max_length to keep \0 at its place 2005-12-08 21:22:52 +00:00
Ilia Alshanetsky 185f085735 Include a legend in the gcov report (suggestion by Tony). 2005-12-08 21:12:03 +00:00
Antony Dovgal 0d1efb245b MFH: fix segfault in SplFileObject when file doesn't exist or cannot be read 2005-12-08 19:55:13 +00:00
Marcus Boerger 25de19a2fb - MFH Change dba/db4 to use its own locking 2005-12-08 19:35:05 +00:00
Ilia Alshanetsky 484de9c3a4 Added myself to a list of extensions/sapis I try to maintain. 2005-12-08 17:06:59 +00:00
Ilia Alshanetsky 25670c59d3 Final fix for gcov generation. 2005-12-08 16:00:28 +00:00
Ilia Alshanetsky b30602b78b Fixed bug #35594 (Multiple calls to getopt() may result in a crash). 2005-12-08 03:25:22 +00:00
Ilia Alshanetsky 3d4c1d6886 Improve fix for bug #35382 2005-12-08 03:09:14 +00:00
Ilia Alshanetsky 644cf05505 Fixed bug #34359 (Possible crash inside fopen http wrapper). 2005-12-08 02:53:08 +00:00
Michael Wallner 90bdbfa921 - release 1.1 2005-12-07 19:53:34 +00:00
Michael Wallner 24d824d4e8 - fix PECL bug #6283 - haval source file entries are missing in package.xml 2005-12-07 18:41:14 +00:00
Marcus Boerger 2d234ec4ac - Readd the file in this branch 2005-12-07 17:44:43 +00:00
Ilia Alshanetsky d5bb2e38ef Undo accidental revert of patch for bug #34729 2005-12-07 17:36:17 +00:00
Dmitry Stogov 9e8bf1a20f Fixed bug #33394 (Socket Timeout on SOAP request causes general exception in Apache process). 2005-12-07 13:56:18 +00:00
foobar bfa084ddba MFH:- Made tests that require CGI skipped if it is not available 2005-12-07 11:28:58 +00:00
foobar 241659ff70 MFH: fixed wrong logic 2005-12-07 11:12:52 +00:00
foobar e5bd8e32f5 MFH: fixed error messages 2005-12-07 10:08:42 +00:00
Rob Richards 5b561a6df3 MFH: fix res parameter typos
- add test
2005-12-07 05:09:33 +00:00
Ilia Alshanetsky 2796160d15 Better critical error handling (fix for previous html encoding patch). 2005-12-07 02:37:05 +00:00
Ilia Alshanetsky 0e46f5113c Fixed filename picker.
Various modernizations of the script.
2005-12-07 02:01:58 +00:00
Ilia Alshanetsky 24af85dfe9 Fixed memory leak 2005-12-07 01:29:14 +00:00
Marcus Boerger 8c8907458c - MFH
. 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)
  . Show list of leaked files in summary if any
  . Use basename correct
2005-12-07 00:03:46 +00:00
Ilia Alshanetsky 481ec28566 Fixed bug #30760 (Remove MessageBox on win32 for E_CORE errors if
display_startup_error is off).
2005-12-06 23:32:06 +00:00
Marcus Boerger 5e223ad13b - Fix TSRM 2005-12-06 21:44:15 +00:00
Antony Dovgal 31c35e5cad add 4 new tests
remove ENV tag from the old ones
2005-12-06 19:28:25 +00:00
Sara Golemon 2b059ae91f MFH: (r-1.104) 2005-12-06 19:15:41 +00:00
Antony Dovgal dfba12435d use strlen() to get correct element length 2005-12-06 18:53:35 +00:00
Ilia Alshanetsky 085ff7f19b Fixed build of mssql extension. 2005-12-06 18:47:14 +00:00
Sara Golemon 5fd5bead8a Prep for release 2005-12-06 17:54:24 +00:00
Ilia Alshanetsky f2415625d4 MFH: Prevent header injection by limiting each header to a single line. 2005-12-06 03:39:45 +00:00
Ilia Alshanetsky aa1b0709f2 Fixed possible XSS inside error reporting functionality. 2005-12-06 03:09:24 +00:00
foobar 684d68bb27 MFH: fix docs 2005-12-06 02:30:18 +00:00
foobar 3e669bc950 MFH: nuke php3 legacy 2005-12-06 02:28:41 +00:00
foobar 347032c753 sync with HEAD 2005-12-06 02:21:01 +00:00
foobar a4295629b8 MFH 2005-12-06 02:00:14 +00:00
foobar 06b36f7cea MFH: nuke php3 legacy 2005-12-06 01:40:06 +00:00
foobar 253392f64f MFH: nuke php3 legacy 2005-12-06 01:26:44 +00:00
foobar 635e2bb028 MFH 2005-12-06 01:25:16 +00:00
foobar 4e874820e9 MFH: nuke php3 legacy 2005-12-06 01:21:28 +00:00
foobar b9af8f2719 MFH: nuke php3 legacy 2005-12-06 01:14:02 +00:00
foobar d95275052b MFH 2005-12-06 01:08:49 +00:00
foobar a3c0b190d1 MFH 2005-12-06 00:54:15 +00:00
foobar 9e1c5a32a3 MFH 2005-12-06 00:43:44 +00:00
foobar 4cbde95247 MFH 2005-12-05 23:53:05 +00:00
foobar a3af52c11e MFH: list_entry -> zend_rsrc_list_entry 2005-12-05 23:38:04 +00:00
foobar d0a54af4c5 MFH: Nuke php3 legacy 2005-12-05 22:54:01 +00:00
foobar f20a62b164 MFH:- Do not use the PHP3 era names 2005-12-05 22:43:14 +00:00
foobar f58f7f4e67 MFH: fix typo 2005-12-05 22:41:10 +00:00
foobar 66832decc5 MFH 2005-12-05 22:39:03 +00:00
foobar bbe1f9d280 MFH 2005-12-05 22:21:56 +00:00
Brian France 7154c617bf Wrap the php_session.h include in the same ifdef as the rest of the
session code.
2005-12-05 20:40:54 +00:00
Antony Dovgal 6aba1816ee more typos fixed (thanks to Mike Naberezny for noticing these) 2005-12-05 20:06:33 +00:00
Stanislav Malyshev 3eafc3d329 fix reallocation bug 2005-12-05 19:54:47 +00:00
Ilia Alshanetsky 937e9f801d Fixed bug #35558 (mktime() interpreting 3 digit years incorrectly). 2005-12-05 17:27:02 +00:00
Antony Dovgal 4ce11c2a63 improve error messages 2005-12-05 13:39:52 +00:00
Antony Dovgal 012e5bf4cd add NEWDECIMAL, NEWDATE, GEOMETRY, SET and ENUM field types 2005-12-05 13:22:14 +00:00
Antony Dovgal ab34dafb69 fix #35536 (mysql_field_type() doesn't handle NEWDECIMAL)
add also SET, ENUM, NEWDATE and GEOMETRY to the switch
2005-12-05 13:16:48 +00:00
Dmitry Stogov 9ee0707cfa Fixed bug #35509 (string constant as array key has different behavior inside object) 2005-12-05 08:56:09 +00:00
Ilia Alshanetsky 6abf54a489 Avoid gcov conflicts on non-unique filenames 2005-12-05 04:22:16 +00:00
foobar 55a299075b fix branches 2005-12-04 23:19:44 +00:00
Wez Furlong 17683295e4 switch to package2.xml 2005-12-04 22:34:26 +00:00
Wez Furlong bd0aaa0198 Fix PECL #6138 2005-12-04 18:33:26 +00:00
Ilia Alshanetsky 66fbae9d75 Added tests for new parse_url() and http_build_query() functionality. 2005-12-04 17:58:15 +00:00
Ilia Alshanetsky 2994c23670 MFH:
Added 2nd optional parameter to parse_url() that allows retrieval of
individual URL components.
Added 3rd optional parameter to http_build_query() that allows custom param
separator.
2005-12-04 17:44:27 +00:00
Ilia Alshanetsky eb83ca1cd3 load proper header file 2005-12-04 17:41:02 +00:00
Ilia Alshanetsky 15afc78f85 Fixed bug #35062 (socket_read() produces warnings on non blocking sockets). 2005-12-04 17:30:43 +00:00
Ilia Alshanetsky b01f5b35f5 Fixed gcov for generated files 2005-12-04 17:27:34 +00:00
Ilia Alshanetsky 58c05c04f4 Regen files so they work properly with gcov. 2005-12-04 17:25:05 +00:00
foobar d1ce095f84 reorder,reword 2005-12-04 14:10:22 +00:00
Antony Dovgal b09703e921 BFN 2005-12-04 11:47:18 +00:00
Antony Dovgal ca0d712c3c MFH: fix #35539 (typo in error message for ErrorException) 2005-12-04 11:47:00 +00:00
Antony Dovgal d72347f7bc MFH: fix #35543 (php crash when calling non existing method of a class that extends PDO) 2005-12-04 11:41:13 +00:00
Antony Dovgal 6190512876 MFH: fix typos in xmlwriter/config.m4 2005-12-04 00:21:39 +00:00
Antony Dovgal 3f666e1dfe MFH: add declarations
more uint -> size_t fixes
2005-12-03 23:50:33 +00:00
Antony Dovgal bb6aa3ebd3 fix #35538 (new "hash" extensions does not compile on amd64) 2005-12-03 23:31:14 +00:00
Antony Dovgal 7cf9dfe237 add .cvsignore 2005-12-03 23:27:59 +00:00
Antony Dovgal d66e492c3d MFH: yet another compile warning 2005-12-03 23:24:29 +00:00
Antony Dovgal 72e366657b MFH: fix compile warning 2005-12-03 23:20:07 +00:00
foobar c7c71b8530 MFH: - Fix bug #35530 (ext/bz2 compile failure with phpize) 2005-12-03 13:23:14 +00:00
Michael Wallner 3cfdbdbd12 - add adler32 test 2005-12-03 10:31:01 +00:00
Michael Wallner c6fb5f38c0 MFH: fix ws 2005-12-03 10:25:31 +00:00
Michael Wallner 7d8d573f0d - add test to package.xml 2005-12-03 10:19:50 +00:00
Michael Wallner f5fae65194 MFH: add crc32 test 2005-12-03 10:18:38 +00:00
foobar bde40a73db MFH: fix possible compile error 2005-12-03 01:28:16 +00:00
foobar ee372651d0 MFH: fix bug #35528 2005-12-03 01:23:25 +00:00
Sara Golemon 860c3a5a32 MFH: Add MD4 2005-12-03 01:17:48 +00:00
foobar 6c3e2b32bf MFH 2005-12-03 01:12:45 +00:00
foobar ef7cb6880f MFH 2005-12-03 01:07:00 +00:00
foobar 4bfba57f96 MFH 2005-12-03 00:00:55 +00:00
Ilia Alshanetsky 40ad5745a7 Regenerate file to be more gcov friendly 2005-12-02 17:32:36 +00:00
Marcus Boerger e9f5066faa - MFH Be picky about names 2005-12-02 16:00:45 +00:00
foobar 2e3ae884fb - touch with correct re2c version and correct options 2005-12-02 13:16:38 +00:00
foobar 2196bda958 - Fix warning 2005-12-02 13:15:58 +00:00
Michael Wallner ab6a987f86 MFJ: use --enable instead of --with 2005-12-02 10:55:33 +00:00
foobar ee72c31788 MFH 2005-12-02 08:59:35 +00:00
Ilia Alshanetsky 2fae8d37c0 Enable hash & xmlwriter by default 2005-12-02 02:18:54 +00:00
Ilia Alshanetsky bcd9356df5 Added xmlwriter to 5.1 2005-12-02 02:05:26 +00:00
Ilia Alshanetsky 950de07889 Added hash extension to PHP 5.1 2005-12-02 01:59:48 +00:00
Michael Wallner 20c3b72bf0 - export everything we've got aliases for 2005-12-01 21:07:52 +00:00
Michael Wallner 039c69da18 - use php_pcre aliases 2005-12-01 20:53:35 +00:00
Antony Dovgal 06c57b7d55 tweak fix a bit
(by request of Wez)
2005-12-01 20:39:12 +00:00
foobar b935f6f13a - Fix paths for --enable-gcov usage
# re2c -b -o ext/pdo/pdo_sql_parser.c ext/pdo/pdo_sql_parser.re
2005-12-01 20:28:27 +00:00
Michael Wallner 7901a6dbef MFH: ext/filter will need those exports
# php_compat.h still prevents linking
2005-12-01 20:07:34 +00:00
Antony Dovgal b45292a819 BFN 2005-12-01 20:01:33 +00:00
Antony Dovgal 59087fee52 MFH: fix #35508 (PDO fails when unknown fetch mode specified) 2005-12-01 19:59:58 +00:00
Antony Dovgal fc8d9584b1 fix Win32 compile failure 2005-12-01 19:25:48 +00:00
Antony Dovgal bd8df0b32a add 2 new tests
now we have one extension absolutely covered by tests, yay! =)
2005-12-01 18:22:11 +00:00
Ilia Alshanetsky 4e03ce9fc5 Fixed memory leaks 2005-12-01 16:33:01 +00:00
Ilia Alshanetsky f4248e51a4 Fixed bug #35499 (strtotime() does not handle whitespace around the date
string).
2005-12-01 16:24:52 +00:00
foobar f74f26f487 fix news 2005-12-01 15:29:40 +00:00
Andrey Hristov c23052d6d2 fix compile failure on Windows - Microsoft hasn't heard of long long :) 2005-12-01 14:12:56 +00:00
Antony Dovgal 7a652e397b fix #35490 (socket_sendto() unable to handle IPv6 addresses) 2005-12-01 14:02:54 +00:00
Antony Dovgal f496bf9dda MFH: fix potential problem in php_oci_bind_post_exec() when OCIDateToText() fails 2005-12-01 13:47:22 +00:00
Antony Dovgal da6e561d2b announce the OCI8 upgrade in the news entry 2005-12-01 13:41:53 +00:00
Antony Dovgal 3756201e04 upgrade bundled OCI8 to v.1.1 2005-12-01 13:39:48 +00:00
Dmitry Stogov 916ad6c8f7 Fixed bug #35437 (Segfault or Invalid Opcode 137/1/4) 2005-12-01 12:50:58 +00:00
Dmitry Stogov 8768ab94b3 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:48:17 +00:00
Rob Richards 673dc5ee5f fix build - zend_reflection_api.c is no more 2005-12-01 11:11:46 +00:00
Andrey Hristov c1cb5e6885 mysqli is since many months not experimental
add myself as maintainer. discussed with georg.
2005-12-01 09:49:48 +00:00
foobar 8c7f03c8a4 MFH: - Fix paths for --enable-gcov 2005-12-01 09:34:20 +00:00
foobar 0a1ba06e5d MFH: - Use correct configure option style. Enabled by default. 2005-12-01 08:54:22 +00:00
Wez Furlong c83472edf1 prep for release 2005-12-01 05:16:24 +00:00
foobar d23ad35375 sync with docs (?) 2005-12-01 00:42:13 +00:00
Ilia Alshanetsky ae07423bcd Fixed bug #35496 (Crash in mcrypt_generic()/mdecrypt_generic() without
proper init).
2005-11-30 23:51:25 +00:00
Antony Dovgal 9c2183f622 add new test
improve gcov stats =)
2005-11-30 23:34:08 +00:00
Ilia Alshanetsky 911355bee8 Fixed memory leak 2005-11-30 23:27:15 +00:00
foobar de8052aa41 MFH 2005-11-30 22:47:03 +00:00
Marcus Boerger 279e4f7219 - Reflection was moved into its own extension 2005-11-30 21:58:01 +00:00
Marcus Boerger 7cb0480d04 - Moved reflection into its own extension 2005-11-30 21:53:20 +00:00
Marcus Boerger 16177d63f2 - MFH Move reflection to its own extension
# As discussed with RM
2005-11-30 21:46:26 +00:00
Ilia Alshanetsky c60079862b Fixed bug #35410 (wddx_deserialize() doesn't handle large ints as keys
properly).
2005-11-30 18:10:19 +00:00
Andrey Hristov a8a55dc086 BFN 2005-11-30 16:23:20 +00:00
Andrey Hristov 4ec16344a9 add a test case
fix incorrect handling of unsigned bigint.
optimize handling of unsigned int
2005-11-30 16:20:25 +00:00
Andrey Hristov a8c0463961 fix more leaks. handle better unknown type (4.1.x connected to 5.0.x
incompatibility)
2005-11-30 15:26:41 +00:00
foobar 5b6cc7d96c MFH: - Fix the ccache detection 2005-11-30 15:01:34 +00:00
foobar e20b4ab640 bfn 2005-11-30 12:35:55 +00:00
Andrey Hristov b6b6ec2a97 BFN 2005-11-30 11:38:11 +00:00
Andrey Hristov c230f7defb fix a crash and a leak.
4.1.15 (client) -> 5.x (server) because of the incompatibility because of
decimal in the protocol binding may fail. Don't close the statement in
that case because subsequent ->execute() will crash or any other function
that will try to use already freed (and in debug mode thrashed) pointer.
#probably more problems exist because of the 4.1.x -> 5.x protocol
#incompatibility
2005-11-30 11:35:03 +00:00
Antony Dovgal 22efcfd530 MFH: fix possible crash in pdo_mysql_stmt_dtor() 2005-11-30 11:33:07 +00:00
Dmitry Stogov 6357acc086 *** empty log message *** 2005-11-30 10:30:38 +00:00
Dmitry Stogov 0a5d10a5b9 Fixed bug #35373 (HP-UX "alias not allowed in this configuration") 2005-11-30 10:29:44 +00:00
Dmitry Stogov 02aad34c43 Fixed bug #35470 (Assigning global using variable name from array doesn't function) 2005-11-30 10:09:37 +00:00
Wez Furlong 7eb04b7907 Fix dep usage; it must appear after the PHP_NEW_EXTENSION line.
pdo and spl are both optional dependencies.
2005-11-30 04:50:03 +00:00
Wez Furlong 046bff25fb Fix bugs #35379 and #35432 by erroring out when the user configures PHP
extensions with conflicting options.

Jani, feel free to refine the way that extensions are detected as shared :)

For this to be foolproof, we either need to guarantee that the extensions have
their PHP_NEW_EXTENSION invoked in the right sequence.  Eg: PDO should be
handled in the configure script before any of the extensions that depend on it
are handled... tricky.

By happy coincidence, the alphabet ensures that pdo is configured before all
the pdo_ extensions, and also before sqlite, so this works for now.
2005-11-30 04:47:24 +00:00
Wez Furlong 559c624806 Fix PECL Bug #6102; fails to configure for instant client on OSX.
In addition, make it work for the instant client install on my gentoo box.
2005-11-30 03:18:09 +00:00
foobar 30dc899c2e MFH: - Added --enable-gcov configure option to enable C-level code coverage. 2005-11-29 23:20:01 +00:00
Ilia Alshanetsky ea80259eb3 Fixed ZTS build 2005-11-29 23:10:15 +00:00
foobar 49f673979b - automake is not needed 2005-11-29 22:41:15 +00:00
foobar 128119b9ab MFH 2005-11-29 22:39:19 +00:00
Ilia Alshanetsky 6f5b9894a2 Added missing support for 'B' format identifier to date() function. 2005-11-29 20:43:53 +00:00
Ilia Alshanetsky 820b5aa9e4 Fixed bug #35425 (idate() function ignores timezone settings). 2005-11-29 20:19:56 +00:00
Antony Dovgal 28dfe0dfd9 remaining part of the fix (-o -> ||) 2005-11-29 18:35:26 +00:00
Antony Dovgal 1cbe552f4d change "-o" to "||" (fixes potential problems on weird systems where test doesn't support -o) 2005-11-29 18:26:02 +00:00
Ilia Alshanetsky d79e01e211 Fixed compiler warnings 2005-11-29 18:17:46 +00:00
foobar 37661c8b39 - Always use the right sed 2005-11-29 17:32:40 +00:00
foobar efcd3e318b cleanup + fix link problems with old mysql versions 2005-11-29 17:31:13 +00:00
Ilia Alshanetsky bc9fc0d6cf Fixed tests 2005-11-29 16:25:16 +00:00
Ilia Alshanetsky 0242b892d2 Fixed bug #35427 (str_word_count() handles '-' incorrectly). 2005-11-29 16:14:19 +00:00
foobar d61e8d63fd - Update bundled libtool to 1.5.20 2005-11-29 15:58:54 +00:00
foobar 5db70599d1 be very clear what you fixed 2005-11-29 08:16:00 +00:00
foobar 4250a26f5c - Regenerated with working re2c and with proper options 2005-11-29 08:10:59 +00:00
Wez Furlong 40666b6708 proto fixups 2005-11-29 04:06:03 +00:00
Marcus Boerger 5d1cf6a544 - BFN 2005-11-29 03:35:33 +00:00
Marcus Boerger 6dec77d25e - MFH Add class SplFileInfo as base for DirectoryIterator and SplFileObject
# As discussed with ilia before 5.1.0
2005-11-29 03:33:59 +00:00
Marcus Boerger 4a400ce14f - BFN (reorder + missed another one) 2005-11-29 03:11:26 +00:00
Marcus Boerger ac48d5d24f - BFN (not to forget this one) 2005-11-29 02:58:20 +00:00
Marcus Boerger 0626f6ca0a - BFN 2005-11-29 02:53:48 +00:00
Marcus Boerger 40a3cdd97b - MFH
. Fix memleaks
  . Add tests
  . Add functions: getNamespaces(), getDocNamespaces()
  . Fixed var_dump()
  . Fixed bugs: #35028 XML object fails FALSE test
# This plan was decided before 5.1.0 came out with ilia and checked again
# just now. The extension currently shows no more memleaks or errors using
# the test suite.
2005-11-29 02:51:07 +00:00
Wez Furlong 131033352d Added PDO::pgsqlLOBCreate(), PDO::pgsqlLOBOpen() and PDO::pgsqlLOBUnlink(). 2005-11-29 02:11:39 +00:00
Ilia Alshanetsky 2ad81f4584 Fixed bug #35414 (strtotime() no longer works with ordinal suffix). 2005-11-29 01:23:29 +00:00
Ilia Alshanetsky 22f2b206b7 Fixed bug #35422 (strtotime() does not parse times with UTC as timezone). 2005-11-28 23:49:25 +00:00
foobar 52e1590285 MFH 2005-11-28 23:04:01 +00:00
Ilia Alshanetsky c2ec68ab62 Fixed bug #35456 (+ 1 [time unit] format did not work). 2005-11-28 22:24:01 +00:00
foobar 26b8b65c18 MFH: - Fixed bug #35409 (undefined reference to 'rl_completion_matches'). 2005-11-28 16:51:16 +00:00
Dmitry Stogov 14594953d2 Fixed bug #35393 (changing static protected members from outside the class, one more reference issue) 2005-11-28 14:33:03 +00:00
Andrey Hristov da9abd8b73 mysql 4.1.x gives strange result. the result in the test is generated with
5.0.16 (valid for 5.1.3).
2005-11-28 13:35:54 +00:00
foobar d69ab24f69 MFH: - Fixed bug #35381 (ssl library is not initialized properly) 2005-11-28 11:37:43 +00:00
Dmitry Stogov 13af4c9a09 Fixed bug #35399 (Since fix of bug #35273 SOAP decoding of soapenc:base64binary fails) 2005-11-28 10:08:34 +00:00
Wez Furlong b15e33f85a prep for release 2005-11-28 06:39:53 +00:00
Wez Furlong d0ea27b802 API for connection dependent objects to add/del refs to dbh's. 2005-11-28 05:23:22 +00:00
foobar 419a9c6cac - Fixed wrong usage of AC_TRY_COMPILE() macro 2005-11-27 23:22:43 +00:00
Antony Dovgal 5a606e0be3 use || instead of -o to support weird systems with old test 2005-11-27 22:59:54 +00:00
Wez Furlong b4dd85ff46 update changelog here too 2005-11-27 21:18:24 +00:00
Wez Furlong 7a05927e44 BFN 2005-11-27 21:17:17 +00:00
Wez Furlong 63dae4ee74 Fix #35431; LAZY fetch and fetchAll == crash.
Lazy makes no sense with fetchAll; disallow it.
2005-11-27 21:01:58 +00:00
Antony Dovgal 6543134dea MFH: fix #35430 (PDO crashes on incorrect FETCH_FUNC use) 2005-11-27 21:01:02 +00:00
Ilia Alshanetsky cdbe4a5cab Improved safe_mode/open_basedir check. 2005-11-27 20:07:36 +00:00
Antony Dovgal 3b3f8137c3 MFH: plug memory leak
fix config.m4
2005-11-27 18:36:11 +00:00
Ilia Alshanetsky 4320984303 Back to dev 2005-11-27 17:29:54 +00:00
foobar 8b443a1851 Back from future 2005-11-27 16:33:18 +00:00
Ilia Alshanetsky b81012c718 removed no longer relevant portion. 2005-11-27 15:39:09 +00:00
Ilia Alshanetsky bd196f4bd0 Adjust news 2005-11-27 15:38:07 +00:00
Ilia Alshanetsky 93608bf8a5 5.1.1 2005-11-27 14:19:40 +00:00
foobar fc34aa8489 fix news 2005-11-27 13:24:53 +00:00
Marcus Boerger e678e7a6af - BFN 2005-11-27 12:24:55 +00:00
Marcus Boerger e8ec9a98dd - Fixed bug #35423 RecursiveDirectoryIterator doesnt appear to recurse with RecursiveFilterIterator 2005-11-27 12:22:54 +00:00
Rob Richards 51e3beb4cb BFN 2005-11-27 12:22:04 +00:00
Rob Richards 934e19107d Fixed bug #35316 (Application exception trying to create COM object) 2005-11-27 12:19:04 +00:00
Marcus Boerger c37b13e0db - MFH Editor blocks 2005-11-27 12:16:14 +00:00
Marcus Boerger 9aebeaaf09 - MFH Synch with what we decided for 5 and what we are practicing since 5 2005-11-27 11:06:07 +00:00
Ilia Alshanetsky b3a48855ab Disabled native date class, to prevent pear::date conflict. 2005-11-27 06:51:43 +00:00
Ilia Alshanetsky 331726338b tokenizer fixes for bug #35382
Bug fixing news
2005-11-27 06:41:32 +00:00
Ilia Alshanetsky 497fae9d1f Fixed bug #35411 (Regression with \{$ handling).
Fixed bug #35382 (Comment in end of file produces fatal error).
2005-11-27 06:39:31 +00:00
Wez Furlong ef08c58664 update the todo list 2005-11-26 21:29:31 +00:00
Wez Furlong 339b4dbd6f going stable 2005-11-26 21:25:39 +00:00
Wez Furlong ab6a675131 going to release 1.0.1 2005-11-26 21:22:49 +00:00
Wez Furlong 426fb96cc9 Doh, need to canonicalize parameter names (by prefixing with :) before
attempting to remap them to positional args.
2005-11-26 21:20:52 +00:00
Ilia Alshanetsky 36d62a2f84 Bug fixing news 2005-11-26 21:04:42 +00:00
Ilia Alshanetsky 0b9f9de012 No longer dev 2005-11-26 21:03:44 +00:00
Wez Furlong 85ad81736c set to 1.0 stable. 2005-11-26 20:50:08 +00:00
foobar 1ea0bae9c0 fix test 2005-11-26 13:38:28 +00:00
Marcus Boerger 57f76446cf - MFH Add new test 2005-11-26 13:23:27 +00:00
Marcus Boerger 0f3d8acfd6 - BFN 2005-11-26 13:12:52 +00:00
Marcus Boerger 46ae03d872 - MFH Fix bug #35406 eval hangs when evall'ed code ends with comment w/o newline 2005-11-26 13:11:26 +00:00
Antony Dovgal 7241dea7ef fix Timezone class too 2005-11-26 12:35:27 +00:00
Antony Dovgal b6307d1014 MFH: fix #35402 (New date class causes crash in get_object_vars()) 2005-11-26 09:40:54 +00:00
Rasmus Lerdorf 4e3cd72df5 Typo 2005-11-26 06:22:14 +00:00
Rui Hirokawa 244c9a4ba0 5th argument of mb_encode_mimeheader() was not acceptable. 2005-11-25 21:55:25 +00:00
Wez Furlong c0c096b752 fix configure 2005-11-25 17:07:49 +00:00
foobar 366832fbd2 MFH: Fixed wrong usage of ZEND_EXTENSION_API_NO (these are not Zend exts :) 2005-11-25 16:01:41 +00:00
Wez Furlong 4e4b98a66d Use right define: ZEND_MODULE_API_NO as these are PHP modules, not Zend extensions 2005-11-25 15:42:26 +00:00
Antony Dovgal dc0db7382c MFH: fix #35391 (pdo_mysql::exec does not return number of affected rows) 2005-11-25 12:56:04 +00:00
Antony Dovgal 350aec954e MFH: ICC doesn't support __attribute__ for pointers 2005-11-25 12:25:05 +00:00
Wez Furlong 7107105429 Update the TODO list. 2005-11-25 07:23:55 +00:00
Wez Furlong 17f504a0ec actually, bytea is not required for LOBs in postgres; good! 2005-11-25 03:37:01 +00:00
Wez Furlong 70331c361e Addresses #35338.
Postgres client API is pretty poor, so we have zero idea about the actual
parameter types in a statement.

We now defer the preparation of a statement until the first call to execute is
made.  At that point, we have the parameters defined by the calling script, so
we can use the typing specified there when we perform the prepare.

For PDO_PARAM_LOB parameters, we set the binary formatting flag.

We can't just set this flag for all parameters, because its meaning is not
"string data, counted length" but "data is in native format".  If this flag is
set for a numeric column and we send the number 1 formatted as a string, then
we will get an "insufficient data left in message" error message, because the
library was expecting sizeof(int4) bytes but only saw 1 byte for "1".

This is infuriating because we have no way to determine the datatypes for
parameters, and the type we explicitly set has to match the type in the
database.  The only choice we're left with is telling postgres to deduce the
type; we still have no idea what type was deduced.
2005-11-25 03:35:04 +00:00
Wez Furlong 2256ec00ef PDO support for LOBs in the postgres driver currently assumes bytea columns. 2005-11-25 03:24:32 +00:00
Wez Furlong 2618322506 Bug: when stringify fetch mode is on, and the driver returns a string instead
of a stream for a LOB parameter, PDO would incorrectly return NULL for that
column.
2005-11-25 03:23:17 +00:00
Wez Furlong 268ac81e39 Add pdo_odbc.db2_instance_name ini setting when built against DB2.
This is a convenience for setting up the DB2 environment more easily.
2005-11-25 02:33:04 +00:00
Andrey Hristov 1d3f0d8891 fix test - unsigned it is casted to 0 in mysql sql_mode 2005-11-25 01:13:56 +00:00
Wez Furlong c2d53719c2 Fix for #35332.
The problem is caused by the user mixing positional and named parameters.
PDO was blindly adding the parameters, unaware that the same parameters were
already allocated by position.

What we do now is register the parameter with the driver before adding it to
any hash.  This gives the driver an opportunity to normalize the name and
parameter number.  PDO can then ensure that only one entry is occupied in the
hash for a given parameter.
2005-11-25 00:29:04 +00:00
Wez Furlong bb2f034eff well, what do you know, it does do something. 2005-11-25 00:20:12 +00:00
Ilia Alshanetsky 363b0ce10b Fixed bug #35170 (PHP_AUTH_DIGEST differs under Apache 1.x and 2.x). 2005-11-25 00:02:16 +00:00
Wez Furlong 0a865c89c5 prep for release 2005-11-24 22:33:20 +00:00
Wez Furlong 94ab6069b8 prep for release 2005-11-24 22:25:37 +00:00
Wez Furlong dfdd1e4caf CLASSTYPE is an internal flag.
Closes PECL #5640.
2005-11-24 21:46:56 +00:00
Wez Furlong 2814b749ec Fix PECL Bug #6014; config fails on PHP 5.0.3 2005-11-24 21:38:09 +00:00
Marcus Boerger 7aa61c312d - NEWS, NEWS, NEWS 2005-11-24 20:06:11 +00:00
Marcus Boerger fb81446ec9 - MFH Reflection class consts (not removing globals consts in 5.1*) (by Johannes) 2005-11-24 19:56:11 +00:00
Wez Furlong aae30f20fc Fix bug that breaks pdo_mysql when built shared (was not being linked to the
mysql libraries).

If you have another mysql module loaded, this would not have been noticable.
2005-11-24 18:56:16 +00:00
Ilia Alshanetsky 8e49bacf95 Fixed bug #35358 (Incorrect error messages for PDO class constants). 2005-11-24 16:21:43 +00:00
Dmitry Stogov a570981151 Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash) 2005-11-24 11:33:11 +00:00
Sebastian Bergmann f5117c81b3 MFH: 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. 2005-11-24 05:07:28 +00:00
Sara Golemon a420b562df MFH (r-1.2) Sync tests with new defaults 2005-11-24 04:37:47 +00:00
Marcus Boerger c13c6e4f68 - Fix build for new ming versions
# Maybe we should check if it is safe to MFH all the corresponding changes
# in head. But why is this out of sync anyway?
2005-11-24 00:51:44 +00:00
Ilia Alshanetsky 4dbac17f9c Back to dev 2005-11-23 21:25:37 +00:00
Ilia Alshanetsky e0ded79c0f Rolling 5.1.0 2005-11-23 20:53:33 +00:00
Antony Dovgal 794c2e8e5d change zend_read_property() to allocate property zval too 2005-11-23 18:51:44 +00:00
Rui Hirokawa b9f0ff7aab MFH: fixed 5307 unexpected header can be injected to mb_send_mail(). 2005-11-23 15:17:29 +00:00
foobar f7beb9f30c fix tag 2005-11-23 15:01:54 +00:00
Antony Dovgal 1e93bb16e4 fix #35336 (crash on PDO::FETCH_CLASS + __set()) 2005-11-23 11:15:11 +00:00
Dmitry Stogov 36d6ddc241 Bug #33732 (Wrong behavior of constants in class and interface extending) 2005-11-23 09:26:43 +00:00
Rob Richards 7e0dc09703 BFN 2005-11-23 03:13:57 +00:00
Rob Richards ad7732c0cc Fixed bug #35342 (isset(DOMNodeList->length) returns false)
add test
2005-11-23 03:12:47 +00:00
Ilia Alshanetsky 8c86ea4693 Fixed bug #35046 (phpinfo() uses improper css enclosure). 2005-11-23 00:15:08 +00:00
Ilia Alshanetsky 2f6cebb206 Added 5.1 upgrading notes.
# Big thanks to Steph Fox for taking the time to make this list possible.
2005-11-22 23:49:13 +00:00
Antony Dovgal af34ed0d97 fix #35341 (Fix for bug #33760 breaks build with older curl) 2005-11-22 22:53:34 +00:00
Sara Golemon 7f367c9d83 Widen allowable range of values for 'window' bits.
Make -MAX_WBITS default (to match gzinflate() and gzdeflate())
2005-11-22 22:05:38 +00:00
Ilia Alshanetsky 0d088689c0 Removed {} E_STRICT pending furher discussion, may be introduced later on. 2005-11-22 19:46:13 +00:00
Ilia Alshanetsky 80e04c2c35 Fixed command error in ftp:// wrapper.
# Thanks to Stefan Esser for discovering the problem.
2005-11-22 03:01:39 +00:00
Ilia Alshanetsky 13996df552 Fixed test 2005-11-22 01:57:02 +00:00
Michael Wallner 3db21d2f4c - fix make install 2005-11-22 00:50:36 +00:00
Frank M. Kromann a6a9dc2eec /Gz and /RTC1 is for debug builds 2005-11-22 00:29:56 +00:00
foobar 7243d31ae0 MFH: - Fixed header installing under phpize builds 2005-11-21 23:08:02 +00:00
Marcus Boerger 19ea8abd09 - MFH Fixed Bug #35286 tokenizer ext drops final comment (by greg) 2005-11-21 19:24:38 +00:00
foobar e47c21e0bc test -e does not work with solaris 2005-11-21 19:06:04 +00:00
Derick Rethans 2bb4d8282c - Fixed bug #35143 (gettimeofday() ignores current time zone).
- Fixed tests due to class constants patch.
2005-11-20 20:14:24 +00:00
Ilia Alshanetsky 4020933726 Fixed bug #35303 (PDO prepare() crashes with invalid parameters). 2005-11-20 20:06:28 +00:00
foobar db77890bbd MFH: - Fixed bug #35243 (php_mblen() crashes when compiled with thread-safety on Linux) 2005-11-20 18:07:28 +00:00
Sebastian Bergmann abe364335b Use /RTC1 instead of /GZ for MS VisualStudio 2005. 2005-11-20 17:03:14 +00:00
Marcus Boerger cfeb12ccf5 - MFH Fix parameter parsing 2005-11-20 13:05:15 +00:00
foobar d20fe303b3 fix news 2005-11-20 08:13:34 +00:00
Antony Dovgal 493c9fcf93 MFH: fix #35293 (PDO segfaults when using persistent connections) 2005-11-19 16:41:08 +00:00
Rui Hirokawa 60949ca571 MFH: fixed #35253 length of the encoded string vilolates a RFC. 2005-11-19 08:25:32 +00:00
Frank M. Kromann 6ed54ddc79 MFH: Fix #33201 Crash when fetching some data types 2005-11-18 21:23:20 +00:00
Frank M. Kromann e1fac162a0 MFH Fix #33963. mssql_bind fails on input parameters 2005-11-18 20:48:46 +00:00
Frank M. Kromann ae75d4350d MFH: Fix #32009 crash when mssql_bind() is called more than once 2005-11-18 20:40:52 +00:00
Frank M. Kromann da2d7e7229 MFH: Fix #33153 Crash in mssql_next_result(). 2005-11-18 19:14:32 +00:00
Ilia Alshanetsky 110344d65c Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module). 2005-11-18 18:59:49 +00:00
foobar 54a5c714ca php4 -> php5 2005-11-18 16:09:50 +00:00
foobar 7b073bbad8 - Make sure --with-readline is used only when --with-libedit is not used. 2005-11-18 15:07:39 +00:00
Dmitry Stogov 8b4e1abdb0 Fixed bug #35273 (Error in mapping soap - java types) 2005-11-18 11:00:15 +00:00
foobar 25558ffdbb back to dev 2005-11-18 09:51:44 +00:00
Marcus Boerger c21ced1ec9 - Not in this branch 2005-11-17 22:35:27 +00:00
Rasmus Lerdorf aa749a1269 Missing }}} 2005-11-17 21:56:04 +00:00
Ilia Alshanetsky 4ba37d04d4 RC6 2005-11-17 21:27:58 +00:00
foobar 4eb9e62209 fix news 2005-11-17 21:15:19 +00:00
Ilia Alshanetsky eb0a6a666f Moved date constants into the date class, they all class constants now. 2005-11-17 21:05:30 +00:00
Ilia Alshanetsky 8f514cd18c MFH: Resolve Apache 2 regression with sub-request handling on non-linux
systems.
2005-11-17 21:00:28 +00:00
Sara Golemon 1340c04976 MFH (r-1.51) #32371 php://input sometimes returns duplicate data 2005-11-17 19:40:38 +00:00
Antony Dovgal 014729d00b MFH: make GCC happy and suppress the warning 2005-11-17 19:21:32 +00:00
Ilia Alshanetsky 95c6c6d2cd Fixed test. 2005-11-17 18:25:16 +00:00
Ilia Alshanetsky d734669230 Fixed bug #35248 (sqlite_query() doesnt set error_msg when return value is
being used).
2005-11-17 14:38:36 +00:00
Antony Dovgal 1a78dc5fbf MFH: fix #35079 (stream_set_blocking(true) toggles, not enables blocking)
patch by askalski at gmail dot com
2005-11-17 14:19:40 +00:00
Derick Rethans 924ae32ddf - Fixed bug #35218 (strtotime no longer ignores timezone comments like "(PST)") 2005-11-17 13:04:31 +00:00
Derick Rethans 18606377dd - Fixed typo 2005-11-17 12:33:36 +00:00
foobar a0303c772a MFH: Renamed config.m4 to config0.m4
# PCRE configure tests must be run before e.g. ext/filter
2005-11-17 10:02:42 +00:00
foobar 52747127f8 MFH 2005-11-17 09:58:28 +00:00
foobar c127df868e MFH: - Fix compile failure when ext/readline is compiled as shared (bug #35249) 2005-11-17 08:37:31 +00:00
Ilia Alshanetsky b5c8fcb5fa Allow zend_parse_parameters to handle non-well formed integers, but raise
E_NOTICE in the process.
2005-11-17 00:19:23 +00:00
foobar 158ebbd9b5 MFH 2005-11-16 22:14:32 +00:00
Ilia Alshanetsky da0a76c561 {} to [] test fixes 2005-11-16 16:57:27 +00:00
Ilia Alshanetsky f1a8fde76a back to dev 2005-11-16 15:41:59 +00:00
Ilia Alshanetsky cce5e8c9ea Updated tests to use [] instead of {} 2005-11-16 15:13:20 +00:00
Ilia Alshanetsky 9aeb125f4a By popular demand the {} message is now an E_STRICT. 2005-11-16 15:10:56 +00:00
Ilia Alshanetsky aab9009deb Added depreciation notice for {} string offset access. 2005-11-16 14:55:21 +00:00
Ilia Alshanetsky 209169786a 5.1.0RC5 2005-11-16 14:18:11 +00:00
Dmitry Stogov 6b8bf38333 Fixed bug #35239 (Objects can lose references) 2005-11-16 11:52:27 +00:00
Dmitry Stogov 8bd18e174b Fixed bug #35229 (call_user_func() crashes when arguement_stack is nearly full) 2005-11-16 09:31:21 +00:00
Wez Furlong 0bd9518f8c Closes PECL #5944; binding an invalid parameter can lead to segfaults.
Modified patch provided by curt@php.net.
2005-11-16 06:32:33 +00:00
Marcus Boerger c95360658f - MFH Add new test 2005-11-15 21:33:10 +00:00
foobar f8781c168e extend the entry a bit :) 2005-11-15 16:53:14 +00:00
foobar a7d31c8dac bfp 2005-11-15 16:51:24 +00:00
Dmitry Stogov b58ed261d7 Allow "null" default value for arguments with array type hint 2005-11-15 16:49:40 +00:00
Derick Rethans aa9ea59851 - Allow "= null" default for parameters with a class type-hint. 2005-11-15 15:59:49 +00:00
Ilia Alshanetsky 57e49322a5 Fixed memory leak on php-cli -h 2005-11-15 15:27:26 +00:00
Ilia Alshanetsky c4da6009bb MFH: Fixed possible crash in http:// wrapper. 2005-11-15 14:46:34 +00:00
Dmitry Stogov d3e0b57e1a Allow recursive calls to __get/__set for different properties 2005-11-15 14:28:40 +00:00
Dmitry Stogov 3c19326480 Allow recursive calls to __get/__set for different properties 2005-11-15 14:18:15 +00:00
Antony Dovgal 23a3fdbf04 MFH: call zend_objects_destroy_object() explicitly
fix segfault when intern->time is NULL
2005-11-15 14:08:03 +00:00
Dmitry Stogov 64931b62cc Allow recursive calls to __get/__set for different properties 2005-11-15 13:35:23 +00:00
Dmitry Stogov a8c6b992b8 Fixed bug #35147 (__HALT_COMPILER() breaks with --enable-zend-multibyte) 2005-11-15 13:29:39 +00:00
Dmitry Stogov 5519008169 Fixed call to __destruct() for objects of classes delivered from internal ones those use zend_objects_store_put(obj, NULL, ... 2005-11-15 12:41:31 +00:00
Dmitry Stogov 8c100e6451 Fixed bug #35176 (include()/require()/*_once() produce wrong error messages about main()) 2005-11-15 11:13:43 +00:00
Frank M. Kromann fe306ed1a6 Change max_procs from 25 to library default. This will make FreeTDS connections work a bit better 2005-11-14 23:14:25 +00:00
Antony Dovgal 241aa9a59d MFH: fix #35197 (Destructor is not called) and similar issues in other extensions 2005-11-14 22:03:02 +00:00
Antony Dovgal cd9e244a68 MFH: fix #35197 (Destructor is not called) and similar issues in other extensions 2005-11-14 21:54:35 +00:00
Ilia Alshanetsky 927ea59de3 PEAR news 2005-11-13 18:23:25 +00:00
Ilia Alshanetsky f3f057127b Slated for PHP 6 2005-11-13 18:02:47 +00:00
foobar 592e78ab87 MFH: - Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER) 2005-11-10 07:50:59 +00:00
foobar 71ac32bdb8 MFH 2005-11-08 20:21:47 +00:00
foobar bd8fe7fcf0 FBFN 2005-11-08 16:57:10 +00:00
foobar f60da5cd5e MFH 2005-11-08 15:54:48 +00:00
Rui Hirokawa 68d1942a9a NEWS updated. 2005-11-08 14:47:50 +00:00
Andrey Hristov df2c11b731 test fetching of unsigned int(11) 2005-11-08 14:43:49 +00:00
Andrey Hristov 611a05f857 BFN 2005-11-08 14:10:17 +00:00
Andrey Hristov 64e8f63978 fix test - putting signed into unsigned produces 0, if not in strict mode
(in strict mode this will fail)
2005-11-08 14:06:40 +00:00
Andrey Hristov 00a9f063f8 on 32bit platform if the column is UNSIGNED INT(11) and the value
is greater than 2^31-1 then convert to string. on 64bit this is of no
problem because there long inside zval is big enough to keep unsigned
int(11)
2005-11-08 13:50:50 +00:00
Dmitry Stogov 270640283e Fixed bug #35142 (SOAP Client/Server Complex Object Support) 2005-11-08 08:30:19 +00:00
Marcus Boerger 9c14ce94f3 - MFH heredoc handling in -a mode 2005-11-07 19:14:40 +00:00
Marcus Boerger 134b2718d4 - Add new tests 2005-11-07 18:38:20 +00:00
Ilia Alshanetsky 8e2de517bb Fixed bug #35135 (PDOStatment without related PDO object may crash). 2005-11-07 16:53:15 +00:00
Marcus Boerger bb293e15c3 - Drop unnecessary param 2005-11-07 13:08:24 +00:00
Marcus Boerger ae1d56d098 - MFH Bug #32223 weird behaviour of pg_last_notice 2005-11-07 12:57:49 +00:00
Dmitry Stogov 9e1beb4f1c Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension is compiled as shared) 2005-11-07 12:24:55 +00:00
Dmitry Stogov 88edad9f08 Fixed bug #35091 (SoapClient leaks memory) 2005-11-07 10:05:35 +00:00
foobar 6ec23a56d8 MFH:- Fixed minor leak with -dzlib.output_compression=1 -m 2005-11-06 22:42:23 +00:00
foobar 261eabbdd4 MFH 2005-11-06 22:08:30 +00:00
Marcus Boerger 33c650020a - Remve bogus part of test 2005-11-06 12:25:53 +00:00
Marcus Boerger 71ad4dd19b - Fix parameter parsing 2005-11-06 11:58:34 +00:00
Derick Rethans 15c1b8a3a2 - MFH: E_STRICT is not part of E_ALL, so the lines were wrong here. 2005-11-06 11:09:32 +00:00
Marcus Boerger c388f97ac9 - Fix test expectations 2005-11-06 10:51:29 +00:00
foobar d4a1506d52 Fix bad MFH 2005-11-06 02:59:18 +00:00
Rasmus Lerdorf b03351633a And simplexml doesn't need dom anymore to do the import 2005-11-05 22:37:18 +00:00
Rasmus Lerdorf 04a291d39a This SimpleXML requirement is no longer needed and by removing it we
remove a circular dep where it was impossible to build simplexml shared
and not load it.
2005-11-05 22:25:12 +00:00
Ilia Alshanetsky 82814fc852 Fixed bug #31971 (ftp_login fails on some SSL servers).
Patch by: frantisek at augusztin dot com
2005-11-05 22:02:15 +00:00
Wez Furlong 2556b354b3 improve configure script.
Fixes #35107; compile failure with MySQL 5
2005-11-05 16:20:06 +00:00
Rui Hirokawa 00dfb7dc14 MFH: fixed garbled multibyte characters. 2005-11-05 04:49:57 +00:00
Wez Furlong 00df9b67ce Fixes PECL Bug #5868; wrong iters count for OCIStmtExecute 2005-11-04 18:11:40 +00:00
Marcus Boerger bf9a25d0bb - Fix test expectations - we are no detecting the error earlier
# Unfortunatley we also lower the severity here because sqlite's error
# facility is dealing with the problem at this early stage as E_WARNING.
2005-11-03 23:48:09 +00:00
Marcus Boerger 83bdbe5b53 - Fix static check in zend_is_callable_ex()
- Fix/speedup zend_make_callable()
# Actually the ...STATIC... flag in zend_is_callable_ex() *must* go, too.
# We keep it for the moment to support old stuff and skip analyzing them
# in detail...
2005-11-03 23:45:18 +00:00
Marcus Boerger 2ca2153a06 - MFH Add missing check flag 2005-11-03 22:06:30 +00:00
Marcus Boerger e464f0f456 - MFH Try fixing #35088 2005-11-03 21:59:13 +00:00
Marcus Boerger 7ae7cc363a - MFH Add missing check 2005-11-03 21:28:43 +00:00
foobar 528e7869b6 MFH: - Fixed bug #35078 (configure does not find ldap_start_tls_s) 2005-11-03 20:41:13 +00:00
Ilia Alshanetsky 72030596ba Fixed typo. 2005-11-03 15:01:30 +00:00
Michael Wallner 17d16cf2af - MFB44: #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect integer
parameter on Windows)
2005-11-03 15:00:51 +00:00
foobar edc87ef840 MFH: Fixed bad usage of php_checkuid() 2005-11-02 21:26:25 +00:00
Marcus Boerger 8098790208 - Add missing test 2005-11-02 20:32:21 +00:00
Marcus Boerger 50ba309495 - Make spl_autoload_register use zend_is_callable_ex() 2005-11-02 20:31:01 +00:00
Marcus Boerger a4bd0d6a25 - Add missing cases and checks 2005-11-02 20:30:13 +00:00
Derick Rethans 703fc059bf - MFH: Fixed initializing and argument checking for posix_mknod(). 2005-11-02 15:53:49 +00:00
Michael Wallner 496fd1c041 - 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:38:13 +00:00
Ilia Alshanetsky 435b820f68 Fixed minor memory leak triggered by: -dzlib.output_compression=1 -m 2005-11-01 22:59:18 +00:00
foobar e02f8809f1 - Fixed test. Some people might actually be using php.ini-dist which
has precision set to 12. (and this test results need 14)
2005-11-01 22:39:53 +00:00
Marcus Boerger 1d0b88d316 - Update docu 2005-11-01 21:48:25 +00:00
Marcus Boerger 376d4554fb - MFH the iterator base interface is Traversable not IteratorAggregate 2005-11-01 21:18:24 +00:00
Frank M. Kromann 623a2021ab MFH: Fix #35037. Selecting a uniqueidentifier would return unknown data type when used with freetds. 2005-11-01 18:15:44 +00:00
foobar 289402edc6 MFH: - Added missing safe-mode checks
# Added by replacing the existing open_basedir checks with a macro
# Also, the filename passed might be null, etc. so it's not very good
# idea to pass to php_error_docref() (catch by Ilia)
2005-11-01 17:05:09 +00:00
foobar 98691ba0c0 nuke typo 2005-11-01 16:21:29 +00:00
foobar f803888510 MFH: Hiding bugs is not purpose of the regression tests. 2005-11-01 14:36:37 +00:00
Edin Kadribasic fbc6470cb6 Fix ZTS build 2005-11-01 14:18:20 +00:00
Wez Furlong 3d9af317e6 update ready for release spree today 2005-11-01 13:14:10 +00:00
Wez Furlong 6f63c45639 Fix #35032; pdo_dblib doesn't find includes on some systems 2005-11-01 13:12:52 +00:00
Dmitry Stogov e98a40f1fa Fixed SIGSEGV 2005-11-01 11:11:35 +00:00
Sebastian Bergmann 02eb02d1ce MFH: Allow bison 2.1. 2005-11-01 10:31:56 +00:00
Wez Furlong 38c5dd2929 prep for PECL release 2005-11-01 03:16:36 +00:00
Wez Furlong dbc09d3325 Closes PECL Bug #5633.
Build tested with 5.0.x as PECL, 5.1 as PECL and 5.1 static
2005-11-01 03:13:32 +00:00
Wez Furlong b6fe60ab52 prep for PECL release 2005-11-01 03:10:09 +00:00
Wez Furlong 6070381f9d prep for pecl release 2005-11-01 03:07:41 +00:00
Wez Furlong 872661b91d prep for PECL release 2005-11-01 03:04:49 +00:00
Wez Furlong b3b9ee1467 hrmm, typo fix. 2005-11-01 03:04:25 +00:00
Wez Furlong 598f182c29 prep for PECL release 2005-11-01 02:46:12 +00:00
Wez Furlong 58a14f225d Prep for PECL release 2005-11-01 02:44:11 +00:00
Brian France 890bd3f002 Fixed phpize build (default PHP_OPENSSL to no if not set) 2005-11-01 00:32:21 +00:00
Ilia Alshanetsky 0ba24fb65a Additional open_basedir/safe_mode checks. 2005-10-31 23:44:40 +00:00
Marcus Boerger 9622ccface - Drop unnecessary exports to prevent forward BC problems 2005-10-31 21:20:44 +00:00
Dmitry Stogov 681405fc4a Fixed bug #35017 (Exception thrown in error handler may cause unexpected behavior) 2005-10-31 19:25:14 +00:00
Marcus Boerger 24a80c3ebf - Fix remaining memleaks
# all tests pass for me now for the first time in:
# pgsql, mysql, sqlite, sqlite2
2005-10-31 07:47:40 +00:00
Wez Furlong b74698f135 fix misinterpretation of data when overriding types via bindColumn.
Very slightly modified patch from Marcus.
2005-10-31 03:23:38 +00:00
Wez Furlong 2baf1500e0 Closes PECL Bug #5722; BLOB support was half-baked. 2005-10-31 02:11:27 +00:00
Wez Furlong 40c24a65c4 improve test portability.
improve infrastructure for LOB support.
2005-10-31 02:07:38 +00:00
foobar 138ad7d252 bfn 2005-10-31 00:11:42 +00:00
Marcus Boerger e7494a7e9e - Fix memleak 2005-10-30 22:17:52 +00:00
Ilia Alshanetsky 2dc3862c7f Improve iconv skip conditions 2005-10-30 18:07:47 +00:00
Ilia Alshanetsky 57510065ce Fixed bug #35022, #35019 (Regression in the behavior of key/current
functions).
2005-10-30 18:03:30 +00:00
Marcus Boerger cea6a783af - MFH Add docu 2005-10-30 16:07:45 +00:00
Ilia Alshanetsky 941a94ead4 Simplify code. 2005-10-30 13:48:30 +00:00
Ilia Alshanetsky d22d6910ad Fixed Bug #35014 (array_product() always returns 0). 2005-10-30 13:44:26 +00:00
Wez Furlong cc4b453611 dos to unix line endings 2005-10-29 20:41:54 +00:00
Wez Furlong 0139cd0e53 Closes PECL Bug #5772; FETCH_FUNC broken for mixed case function names 2005-10-29 03:11:46 +00:00
Wez Furlong 7af8089096 Closes PECL #5809; PDOStatement::execute(array(...)) would modify its args.
It should behave like bindValue() not bindParam().
2005-10-29 03:01:19 +00:00
Wez Furlong 588d88960c clean up the test2 table that some tests create 2005-10-29 02:58:24 +00:00
Wez Furlong c28a9a4e5c Closes PECL Bug #5802 2005-10-29 02:41:50 +00:00
Wez Furlong e0924b7451 Close PECL Bug #5780 2005-10-29 02:36:30 +00:00
Wez Furlong b2424b2e08 argh! we don't want to NULL the stmt here; freeing the results is not the same
as destroying the prepared statement handler, so we're leaking and breaking, as
can be seen by running the test suite.

brown paper bag for PDO in PHP 5.1RC4?
2005-10-29 02:16:35 +00:00
Wez Furlong 9bd48c2e15 Closes PECL Bug #5645; emits mysql client library version in MINFO output. 2005-10-29 01:58:22 +00:00
Ilia Alshanetsky fad0caaee9 Back to dev 2005-10-28 15:45:05 +00:00
Antony Dovgal 579c9abfb3 MFH: quick fix for #35003 (Warning: PDOStatement::fetch(): column 0 data was too large for buffer and was) 2005-10-28 15:02:09 +00:00
Ilia Alshanetsky 721fec251b 5.1.0RC4 2005-10-28 15:00:49 +00:00
Dmitry Stogov b05b949a47 Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms) 2005-10-28 14:46:30 +00:00
Antony Dovgal e9de9f3aeb fix TSRM build 2005-10-28 12:00:10 +00:00
Dmitry Stogov a3cb94abff Fixed bug #34982 (array_walk_recursive() modifies elements outside function scope) 2005-10-28 10:06:43 +00:00
Dmitry Stogov fa406902d5 Fixed bug #34982 (array_walk_recursive() modifies elements outside function scope) 2005-10-28 09:57:35 +00:00
Dmitry Stogov 36a14076a8 Fixed bug #34725 (CLI segmentation faults during cleanup in ZTS if ext/pcre is DSO) 2005-10-28 08:30:41 +00:00
Anantha Kesari H Y 3815b367d5 NetWare LibC sdk has stdarg.h
--Kamesh
2005-10-28 07:52:58 +00:00
Dmitry Stogov 844cb82c45 $id:$ tatgs are removed from generated files to avoid committing of Zend/zend_vm_opcodes.h without real changes. 2005-10-28 06:05:57 +00:00
Rob Richards 2e8f773eee MFH: fix crash setting attr from foreign doc (throws exception)
add test
2005-10-27 23:51:22 +00:00
Antony Dovgal a9cac89541 MFH: commit forgotten part 2005-10-27 19:39:38 +00:00
Dmitry Stogov 8212034254 Fixed SIGSEGV 2005-10-27 19:25:52 +00:00
Antony Dovgal 9ffefbc74e MFH: add MySQL options and corresponding constants 2005-10-27 17:34:24 +00:00
Antony Dovgal 7c01510b95 MFH: free && set to NULL S->stmt 2005-10-27 17:26:19 +00:00
Ilia Alshanetsky 3a9cdbfd41 Fixed memory leak on error 2005-10-27 14:07:30 +00:00
Ilia Alshanetsky bac9ab777e One check is enough. 2005-10-27 14:06:39 +00:00
Rathna N ced39e3168 Tests for calendar extension 2005-10-27 11:05:50 +00:00
Wez Furlong dcd7879556 fixes PECL Bug #5589 2005-10-27 03:51:23 +00:00
Dan Scott 97ec02ce81 Test PDO::ATTR_CASE attribute. 2005-10-26 23:09:06 +00:00
Antony Dovgal 4c98758328 MFH: make compilers happy 2005-10-26 22:47:23 +00:00
Antony Dovgal 5b502880b6 MFH: fix #34996 (ImageTrueColorToPalette() crashes when ncolors is zero) 2005-10-26 21:38:20 +00:00
Ilia Alshanetsky 51d8950b53 Additional tweaks to the patch for bug #34249. 2005-10-26 15:08:23 +00:00
Antony Dovgal b122cd4b08 MFH: fix #34977 (Compile failure on MacOSX due to use of varargs.h) 2005-10-26 13:50:39 +00:00
foobar 143d1c8011 MFH 2005-10-26 11:33:25 +00:00
Dan Scott f987de46b4 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 06:23:12 +00:00
Marcus Boerger 936b1e56c3 - MFH zend_is_callable_ex() has been changed 2005-10-25 23:20:29 +00:00
Marcus Boerger 2486b846cc - MFH zend_is_callable_ex() returns zend_class_entry* if available 2005-10-25 23:19:59 +00:00
Pierre Joye af888a4807 - fix #34980, divisor and offset never passed correctly (s/float/double/) 2005-10-25 23:00:19 +00:00
Michael Wallner a329ecd8c4 fix bug #34965 tidy is not binary safe 2005-10-25 18:04:59 +00:00
Antony Dovgal 2af3190a3d use correct enum type for the arg 2005-10-25 16:02:33 +00:00
Ilia Alshanetsky e13d51cea3 MFH: Fixed bug #34968 (bz2 extension fails on to build on some win32 setups). 2005-10-25 15:53:06 +00:00
Michael Wallner 2c5c8c161c - fix the fix 2005-10-25 15:35:39 +00:00
Michael Wallner 3bbd4b17a9 - MFH: fix bug #34821 zlib encoders fail on widely varying binary data on windows 2005-10-25 15:16:20 +00:00
Antony Dovgal e415260868 MFH: apply workaround for the leak only when GLIBC is used 2005-10-25 14:57:14 +00:00
Antony Dovgal 4d3c8240d5 fix the order 2005-10-25 14:37:28 +00:00
Michael Wallner 60efdff75f - MFH: thread safe SSL crypto locks, fixes bug #33760 2005-10-25 14:32:33 +00:00
Ilia Alshanetsky 9490f1c847 Do not run tests if iconv extension is unavailable. 2005-10-25 14:22:56 +00:00
Antony Dovgal a0c8d5d80a MFH: fix problem with garbage appearing in hostnames 2005-10-25 08:19:33 +00:00
Ilia Alshanetsky 6b46a441cd Fixed compiler warning 2005-10-25 03:53:25 +00:00
foobar dda1f722e2 MFH 2005-10-24 22:46:26 +00:00
Antony Dovgal 57b520541b MFH: fix #34970 (ldap configuration issues) 2005-10-24 20:24:35 +00:00
Marcus Boerger 5460d2dad6 - Fix issue with entities in attributes 2005-10-24 08:29:36 +00:00
Dmitry Stogov a0dd931d85 Fixed bug #34950 (Unable to get WSDL through proxy) 2005-10-24 07:44:17 +00:00
Dmitry Stogov f9fb94ff00 Reverted patch for bug #34934. Bug is marked as bogus. 2005-10-24 06:58:42 +00:00
Antony Dovgal 0a7b720094 MFH: fix #34938 (dns_get_record() doesn't resolve long hostnames and leaks) 2005-10-23 18:34:26 +00:00
Ilia Alshanetsky 76ad7425ad Fixed memory leak on error. 2005-10-23 15:29:09 +00:00
Wez Furlong ea544cf38f Closes PECL Bug #5750; uri: dsn is not handled correctly.
Patch from curt@php.net
2005-10-23 04:10:20 +00:00
foobar ecca329c14 keep the order! :) 2005-10-22 17:38:35 +00:00
Wez Furlong 890f7f46b4 Fix #34957; file access checks should use VCWD_ACCESS() 2005-10-22 17:02:10 +00:00
Antony Dovgal 23d3ddea25 fix ws 2005-10-21 15:53:22 +00:00
Dmitry Stogov 75a548a7e9 Fixed bug #34934 (offsetExists is not called from array_key_exists) 2005-10-21 15:19:40 +00:00
Antony Dovgal b260064bbf MFH: fix possible crash in dns_get_record()
cleanup code a bit
(partly fixes #34938)
2005-10-21 13:49:01 +00:00
Dmitry Stogov 187b6cc583 Fixed bug #31341 (escape on curly inconsistent) 2005-10-21 13:22:05 +00:00
Dmitry Stogov af0adbed39 Fixed fgetcsv() and fputcsv() inconsistency. 2005-10-21 12:13:39 +00:00
Dmitry Stogov 7c3bdf444d Fixed bug #34782 (token_get_all() gives wrong result) 2005-10-21 09:32:40 +00:00
Dmitry Stogov 863bf8a574 Fixed bug #29268 (__autoload() not called with Reflection->getClass()) 2005-10-21 08:03:28 +00:00
Ilia Alshanetsky d4696abdb9 Fixed tests to work with ZTS builds 2005-10-20 19:22:09 +00:00
Antony Dovgal e7925c9767 MFH: use proper constants 2005-10-20 16:54:48 +00:00
Antony Dovgal 159bae3d99 MFH: use constants instead of their values 2005-10-20 16:51:03 +00:00
Antony Dovgal 5fdeb391f3 MFH: fix copy/paste typo 2005-10-20 16:47:18 +00:00
Ilia Alshanetsky b0c0b79136 MFH: Fixed test for cygwin installs 2005-10-20 14:43:00 +00:00
Dmitry Stogov ad1f706fda Removed unnecesary local variable 2005-10-20 11:31:41 +00:00
Dmitry Stogov a8c338aa65 Fixed bug #34893 (PHP5.1 overloading, Cannot access private property) 2005-10-20 09:47:12 +00:00
Dmitry Stogov c326593c1a Fixed bug #34712 (zend.ze1_compatibility_mode = on segfault) 2005-10-20 08:55:10 +00:00
Dmitry Stogov 03cb8e959b Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects correctly) 2005-10-20 08:14:59 +00:00
Dmitry Stogov d32c6512e1 Fixed bug #31177 (menory leaks and corruption because of incorrect refcounting). 2005-10-20 07:30:42 +00:00
Dmitry Stogov c095e20ca8 Fixed bug #31177 (menory leaks and corruption because of incorrect refcounting) 2005-10-20 07:23:26 +00:00
Dmitry Stogov 9269f58477 Added forgotten tests 2005-10-20 07:04:25 +00:00
Greg Beaver 3446a75a36 remove unused obsolete files from pear CVS
# to run PEAR tests, grab pear-core/tests and use "pear run-tests -rq"
2005-10-20 01:49:42 +00:00
Ilia Alshanetsky 5bb29235dc MFH: Fixed -m memory leak 2005-10-19 21:57:45 +00:00
Derick Rethans 719e78c78f - Fixed bug #34874 and #33546 (Problems with lone daynames). 2005-10-19 21:08:35 +00:00
Ilia Alshanetsky 382bc9d0e4 MFH: Fixed bug #29983 (PHP does not explicitly set mime type & charset). 2005-10-19 20:33:33 +00:00
Ilia Alshanetsky 4d0439e487 MFH: Fixed bug #34623 (Crash in pdo_mysql on longtext fields). 2005-10-19 14:11:56 +00:00
Ilia Alshanetsky 5916b8dd04 MFH: Change E_ERROR to E_WARNING when more_entropy flag is off on Cygwin. 2005-10-19 13:41:44 +00:00
Dmitry Stogov 5fd4035194 Fixed test 2005-10-19 12:48:24 +00:00
foobar e264b8a4d3 MFH: Fixed error messages and tests 2005-10-19 11:18:51 +00:00
Antony Dovgal 5ec19bb68c fix news entry 2005-10-19 11:18:14 +00:00
Dmitry Stogov 4a6faadcce Fixed memory leak in ZTS mode 2005-10-19 07:54:53 +00:00
Derick Rethans 6aed41421e - MFH: Improved error messages a bit. 2005-10-19 07:22:20 +00:00
Antony Dovgal e5928942ac MFH: initialize SG(request_info).auth_digest 2005-10-18 23:51:54 +00:00
Ilia Alshanetsky 24046edbbb MFH: Fixed bug #34905 (Digest authentication does not work with Apache 1). 2005-10-18 23:15:28 +00:00
Ilia Alshanetsky cbb928b8eb MFH: Do not set authorizer unless safe_mode or open_basedir are being used. 2005-10-18 22:51:10 +00:00
Derick Rethans 3e46adb183 - MFH: Fixed bug #33829 (mime_content_type() returns text/plain for gzip and
bzip files).
2005-10-18 15:04:07 +00:00
Antony Dovgal fb57a8363e unused var 2005-10-18 14:50:48 +00:00
Ilia Alshanetsky 12ff2532c9 Fixed bug #34899 (Fixed sqlite extension compile failure). 2005-10-18 14:33:19 +00:00
Antony Dovgal 62ca4594f8 MFH: use php_error_docref() instead of php_error() everywhere 2005-10-18 13:51:50 +00:00
Antony Dovgal bddc4e6c1d MFH: fix mime_magic problems with ZTS 2005-10-18 12:41:29 +00:00
Antony Dovgal d8e5ee075f MFH: fix bug #34902 (mysqli::character_set_name() - undefined method) 2005-10-18 10:02:36 +00:00
Dan Scott e89500cdfb Apply patch for #34900, sight unseen. 2005-10-18 01:05:22 +00:00
Ilia Alshanetsky 5a7596591f ZTS fixes 2005-10-18 00:20:52 +00:00
Ilia Alshanetsky 8b91c8f32e ZTS test fix 2005-10-18 00:17:27 +00:00
Ilia Alshanetsky 03418c1d36 Fixed test for ZTS builds 2005-10-18 00:15:02 +00:00
Ilia Alshanetsky 5a29be9b7d Fixed tests for ZTS builds 2005-10-18 00:12:30 +00:00
Ilia Alshanetsky d467331307 Fixed test for ZTS builds 2005-10-18 00:06:20 +00:00
Ilia Alshanetsky cdbf1938f2 Back to dev 2005-10-17 22:24:42 +00:00
Ilia Alshanetsky f133b09907 5.1.0RC3 2005-10-17 20:26:13 +00:00
Rob Richards fbda9ce9f4 MFH: only need context set once 2005-10-17 19:50:20 +00:00
Ilia Alshanetsky 197142b3e0 MFH: Properly fixed bug #34456 (original patch completely reverted). 2005-10-17 15:31:10 +00:00
Derick Rethans 8f4112bfdd - Fixed bug #29361 (var_export() producing invalid code). (Derick) 2005-10-17 14:38:12 +00:00
Ilia Alshanetsky b0f1719ee5 MFH: Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case
is being used).
2005-10-17 14:30:35 +00:00
Dmitry Stogov cc50a96139 Fixed bug #34873 (Segmentation Fault on foreach in object) 2005-10-17 07:57:00 +00:00
Ilia Alshanetsky 8d476ded8e MFH: Further URL validations in safe_mode/open_basedir configs. 2005-10-17 02:43:20 +00:00
foobar e7bd6769df MFH 2005-10-16 20:41:26 +00:00
foobar 8ac5b549e0 NEWS file is about changes between releases. (RCs are not releases..) 2005-10-16 17:54:31 +00:00
Derick Rethans 0893e10ac3 - Updated timezone database to version 2005.14. 2005-10-15 18:13:19 +00:00
Derick Rethans 33921efc44 - Fixed timezone guessing on Windows. (Derick, Nuno) 2005-10-15 18:12:29 +00:00
Georg Richter b343aa9945 fixed an error in mysqli_fetch_fields (function returns NULL instead of array
when row_number > num_fields).
Thanks to Marc Deslisle and phpMyAdmin team for the report.
2005-10-15 06:32:26 +00:00
Antony Dovgal 3c042299e6 MFH: add test for bug #34873 2005-10-14 21:52:18 +00:00
Ilia Alshanetsky eb28594aa5 Pear installer fix 2005-10-14 15:35:56 +00:00
Ilia Alshanetsky a218299d6a ZTS fix 2005-10-14 15:30:39 +00:00
Ilia Alshanetsky e6566d9477 Back to dev 2005-10-14 15:30:26 +00:00
Derick Rethans 1017c44f4a - Use the non-zlib version of the PHAR. 2005-10-14 13:41:47 +00:00
Ilia Alshanetsky a03039bade Prepare for 5.1RC2 2005-10-14 13:36:35 +00:00
Ilia Alshanetsky d18cdaf6dd MFH: fix test failures 2005-10-13 21:26:45 +00:00
Rob Richards 709f73aea7 MFH: move constants to class 2005-10-13 21:20:12 +00:00
Rob Richards 646500bfe9 MFH: insure stream usage 2005-10-13 20:34:37 +00:00
Rob Richards 1e0494a714 MFH: bump libxml min version to 2.6.11 2005-10-13 20:33:40 +00:00
Marcus Boerger 001f506533 - MFH SPL example was changed, so change PDO test accordingly 2005-10-13 19:49:59 +00:00
Marcus Boerger 4c8afd895a - MFH Add ability to bypass key() surrounding and make that default 2005-10-13 19:49:27 +00:00
foobar 7e2bccf776 MFH 2005-10-13 19:28:58 +00:00
Marcus Boerger 491674bea6 - Do not try to autoload the class, use internal only 2005-10-13 18:37:19 +00:00
Antony Dovgal c47fb30b5b MFH: fix #34856 (configure fails to detect libiconv's type) 2005-10-13 15:23:11 +00:00
Antony Dovgal 81b8096ea8 MFH: fix #34855 (ibase_service_attach() segfault on AMD64) 2005-10-13 12:58:48 +00:00
foobar 3fbee80f35 - Fixed bug #34850 (--program-suffix and --program-prefix not included in man page names) 2005-10-13 10:02:59 +00:00
foobar 428006f54d reorder 2005-10-13 10:01:59 +00:00
Antony Dovgal d67821cd02 ws fix 2005-10-13 09:48:38 +00:00
Antony Dovgal f4371b9cc6 fix bug #34581 (crash with mod_rewrite) 2005-10-12 21:24:09 +00:00
foobar 4acffedc6b missing entry 2005-10-12 20:52:25 +00:00
Derick Rethans cd90395cb6 - MFH: 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:59 +00:00
Ilia Alshanetsky 49678f0908 MFH: Fixed bug #34758 (PDO_DBLIB did not implement rowCount()). 2005-10-12 15:03:03 +00:00
Antony Dovgal 25a82d8a5c fix compile warnings (again) 2005-10-12 14:43:30 +00:00
Antony Dovgal 67f27b0aef make GCC happy and improve CS a bit 2005-10-12 14:29:26 +00:00
Antony Dovgal 305e946358 MFH: nuke unused vars 2005-10-12 14:04:02 +00:00
Rob Richards 2580744813 MFH: use spprintf where appropriate 2005-10-12 13:58:10 +00:00
Antony Dovgal 2bc716c131 fix TS build 2005-10-12 13:31:46 +00:00
Rob Richards 0615bf6cb4 BFN 2005-10-12 03:21:36 +00:00
Rob Richards 855f7dfd95 MFH: Fixed Bug #27908 (xml default_handlers not being called)
Fix memleak when entitydecls are parsed
remove old ifdefs
2005-10-12 03:21:05 +00:00
foobar 28a0aef13e MFH: removed confusing dot. 2005-10-11 18:58:59 +00:00
foobar c0ec353655 fix test 2005-10-11 18:11:13 +00:00
Ilia Alshanetsky ea4734926e MFH: Fixed bug #33167 (Possible crash inside pg_fetch_array()). 2005-10-11 16:19:14 +00:00
Ilia Alshanetsky cc034dcb38 MFH: Fixed bug #34742 (ftp wrapper failures caused from segmented command
transfer).
2005-10-11 14:33:51 +00:00
Antony Dovgal ad73bdcbe0 fix #34757 (iconv_substr() gives "Unknown error" when offset > string length) 2005-10-11 13:50:52 +00:00
Dmitry Stogov bb8e5de181 Fixed bug #32455 (wrong setting property to unset value) 2005-10-11 10:15:40 +00:00
Dmitry Stogov 631da59b50 Fixed bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash) 2005-10-11 06:47:48 +00:00
Antony Dovgal 062626d03e use proper macros and vars instead of strlen() 2005-10-10 20:06:35 +00:00
Antony Dovgal a5cea052e8 fix #34818 (new mysqli_stmt() and several others crash if the first parameter is not a valid mysqli_link) 2005-10-10 20:03:00 +00:00
Derick Rethans 44205dc58a - MFH: Make sure the tzcache' dtor doesn't cleanup cached misses in the lookup
tables.
2005-10-10 16:42:32 +00:00
George Schlossnagle 9d79a201f1 Test seems potentially bogus. 2005-10-10 16:01:28 +00:00
Dmitry Stogov c61c3dd422 Fixed XML Schema error 2005-10-10 15:40:53 +00:00
Ilia Alshanetsky a5fe9808aa MFH: Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object). 2005-10-10 14:44:16 +00:00
Ilia Alshanetsky df71093dd8 bug fixing news 2005-10-10 14:31:21 +00:00
Ilia Alshanetsky 58a0906bf9 MFH: Fixed bug #34802 (Fixed crash on object instantiation failure). 2005-10-10 14:31:12 +00:00
Antony Dovgal 8152c64c02 BFN 2005-10-10 12:58:10 +00:00
Antony Dovgal 410e106aae fix #34810 (mysqli::init() and others use wrong $this pointer without checks) 2005-10-10 12:57:55 +00:00
Dmitry Stogov 3019a1c6a3 Fixed bug #34786 (2 @ results in change to error_reporting() to random value) 2005-10-10 10:53:52 +00:00
Dmitry Stogov b94970a3bd MFH 2005-10-10 10:50:16 +00:00
Antony Dovgal eef799a6ec BFN 2005-10-10 10:46:34 +00:00
Antony Dovgal c797466259 MF44: fix #33383 (crash when retrieving empty LOBs) 2005-10-10 10:44:39 +00:00
foobar ad28ef81c0 MFH: copypastetypofix 2005-10-10 10:28:53 +00:00
foobar d41c6dc6d6 MFH 2005-10-10 09:50:35 +00:00
Dmitry Stogov 45794ee259 Fixed bug #34467 (foreach + __get + __set incosistency) 2005-10-10 09:50:05 +00:00
Marcus Boerger 656f02fada - MFH Fix Logic 2005-10-10 06:09:25 +00:00
foobar 036f28f115 MFH: fix test 2005-10-10 05:57:21 +00:00
foobar 60d70459f3 extra spaces removed 2005-10-10 05:55:44 +00:00
Rob Richards b551a55bca MFH: PHP_CONFIG_FILE_PATH needs to use strlen() due to Win build 2005-10-10 02:26:56 +00:00
foobar b1d0f9bb43 typofix 2005-10-09 20:44:02 +00:00
foobar 0fefec1a35 BFN 2005-10-09 20:40:46 +00:00
foobar e403b15ebb MFH: - Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared). 2005-10-09 20:39:42 +00:00
Ilia Alshanetsky 412a28d124 MFH: Fixed bug #34777 (Crash in dblib when fetching non-existent error info). 2005-10-09 19:00:34 +00:00
Andrey Hristov 24af08eb80 add charsetnr and length to the object returned. this is kind of bug
because fetch_fields() and fetch_field() return that info and
fetch_field_direct() does not
2005-10-09 17:03:01 +00:00
Marcus Boerger 91682f88e4 - MFH Make test check for PlPgSQL before using it 2005-10-09 15:58:13 +00:00
Marcus Boerger a8c5828ce0 - MFH Add new test 2005-10-09 15:14:22 +00:00
Marcus Boerger de03dd6387 - MFH Fix potential SEGV with overloaded objects 2005-10-09 14:42:08 +00:00
Marcus Boerger bc81f55541 - MFH Bugfix #34704 (Infinite recursion due to corrupt JPEG) 2005-10-09 14:40:01 +00:00
Dmitry Stogov 303a642a0d Fixed bug #34788 (SOAP Client not applying correct namespace to generated values) 2005-10-09 12:41:44 +00:00
Pierre Joye 5dd9ad8f53 -fix build as shared or separate from main build (bfrance) 2005-10-09 12:06:27 +00:00
Dmitry Stogov 5ef3e0c57b Fixed bug #34787 (SOAP Client not handling boolean types correctly) 2005-10-09 11:05:46 +00:00
Georg Richter 94238838cf added Bugfix for #34785 2005-10-09 06:03:13 +00:00
Marcus Boerger 11f0ff9c1a - Update docu
- Synch class consts with HEAD
- Synch example RecursiveTreeIterator (as far as possible)
2005-10-08 19:09:58 +00:00
Georg Richter 7357ac0b96 fix for bug 34785:
added support for parent::__construct (mysqli_statement and mysqli_resultset)
  fixed failed testcases when sql_mode is in effect
2005-10-08 15:08:07 +00:00
Derick Rethans e3c8bd51de - MFH: Fixed bug #34676: missing support for strtotime("midnight") and
strtotime("noon").
2005-10-08 14:31:17 +00:00
Marcus Boerger 470da4e960 - MFH Add new test 2005-10-07 23:23:44 +00:00
Derick Rethans 5e46f636a5 - MFH: Make the Windows guessing routines actually return the guessed timezone. 2005-10-07 20:32:17 +00:00
Marcus Boerger faf80a4035 - BFN 2005-10-07 18:57:10 +00:00
George Schlossnagle 1f7c9e197c Test simple derivation from restriction. 2005-10-07 15:05:06 +00:00
Derick Rethans 6df3e40977 - MFH: Change parameter name because NetWare expands "tzname" as a macro to
something else.
2005-10-07 13:33:31 +00:00
Dmitry Stogov 2cbe63513c Fixed bug #34766 (possible crash on HTTP redirection) 2005-10-07 11:56:19 +00:00
Dmitry Stogov e011229598 Reverted last George patches 2005-10-07 08:23:35 +00:00
Derick Rethans 969f05a709 - MFH: Fixed bug #34771 (strtotime() fails with 1-12am/pm). 2005-10-07 08:09:01 +00:00
Derick Rethans 595ee08653 - MFH: New timezonemap data. 2005-10-07 08:06:40 +00:00
Marcus Boerger 6b0de601be - MFH C vs. C++ fix 2005-10-07 07:38:59 +00:00
foobar d8bb2766a8 maybe this month.. 2005-10-07 06:43:22 +00:00
George Schlossnagle fa3394eccb Permit correct usage of inherited encoders (from restriction/extension
"base" directives) for xml response decoding.
2005-10-07 05:14:52 +00:00
Marcus Boerger dec65f584b - MFH ReflectionClass::isInstantiable and abstract classes 2005-10-06 22:46:33 +00:00
George Schlossnagle abe0e61801 MFH: support complex types in restrictions and extensions 2005-10-06 22:30:24 +00:00
Marcus Boerger 35c82a75eb - MFH Fix issue (endless loop) with temp/memory streams 2005-10-06 21:31:25 +00:00
foobar e58513c4d0 BFN 2005-10-06 21:00:54 +00:00
Ilia Alshanetsky 71bd44ac02 MFH: Added missing safe_mode checks. 2005-10-06 20:47:41 +00:00
Johannes Schlüter d3dc0a39bc - MFH: Fix #34557 php -m exits with "error" 1 2005-10-06 20:29:41 +00:00
Rob Richards e1791bedd5 MFH: use sizeof instead of define 2005-10-06 18:48:19 +00:00
Marcus Boerger 6eaf1671b5 - Add new test 2005-10-06 18:34:16 +00:00
Derick Rethans f42742f796 - MFH: Fixed Windows build (patch by Mike) 2005-10-06 13:03:43 +00:00
Marcus Boerger cb83e27b02 - MFH (faillog, streams, counting, .......) 2005-10-06 09:42:17 +00:00
Rob Richards 93ffc14028 MFH: fix buffer lengths passed to snprintf 2005-10-05 22:36:10 +00:00
Antony Dovgal b33c2d9b17 nuke unused variable 2005-10-05 22:17:38 +00:00
Antony Dovgal 8a929e054e use the right constant name in error messages 2005-10-05 22:14:52 +00:00
Marcus Boerger b29b16af2e - Synch RecursiveIteratorIterator, fixes a few memory corruptions/memleaks 2005-10-05 21:59:13 +00:00
Marcus Boerger 3ced246dfc - MFH Update examples 2005-10-05 19:11:51 +00:00
Rob Richards 3282497f82 MFH: fix ZTS build 2005-10-05 16:40:21 +00:00
Ilia Alshanetsky bcf354a97a MFH: Missing safe_mode/open_basedir checks for file uploads. 2005-10-05 14:35:30 +00:00
Derick Rethans 3abc925a8a - Committing some changes that make PDO+SPL not crash anymore. These are done
by Marcus. and I'm committing them in order to actually use PHP 5.1 without
segfaulting when apache starts. This is not necessary the best solution.
2005-10-05 13:51:46 +00:00
Derick Rethans e1661efced - Implement correct Windows timezone guessing. 2005-10-05 11:06:56 +00:00
Antony Dovgal 1f6debba12 MFH: fix test 2005-10-05 09:00:36 +00:00
Derick Rethans 33a91ad309 - Fixed typo. 2005-10-05 08:23:39 +00:00
Derick Rethans c3678550a3 - Implemented tzcache
- Attempt at Windows detection code
2005-10-05 08:20:44 +00:00
Dmitry Stogov 6cbe6d7d52 Fixed throwing exceptions derived from SoapFault 2005-10-05 07:02:30 +00:00
Ilia Alshanetsky f2ed06347b MFH: Fixed possible INI setting leak via virtual() in Apache 2 sapi. 2005-10-05 00:43:38 +00:00
Antony Dovgal 1b8ecbcf54 MFH: fix #34723 (array_count_values() strips leading zeroes) 2005-10-04 20:48:17 +00:00
Antony Dovgal e0e9b5ac39 fix #34731, patch by novicky at aarongroup dot cz 2005-10-04 18:15:18 +00:00
Antony Dovgal 3d8dc4d3b1 fix #32179 (xmlrpc_encode() segfaults with recursive references) 2005-10-04 11:18:02 +00:00
Marcus Boerger 0a50368580 - Add optional dep for SPL under windows too 2005-10-04 07:47:11 +00:00
Marcus Boerger 4d631ec31b - Add optional dependency to SPL 2005-10-04 07:44:56 +00:00
Antony Dovgal 6df490d0ca MFH: nuke warning 2005-10-03 23:48:21 +00:00
Antony Dovgal 262cbbe8d0 include php_version_compare() declaration and eliminate warning 2005-10-03 23:37:10 +00:00
Antony Dovgal ffe605f2ed free cls_methods correctly and fix segfault on shutdown
(no bug entry and MFB, though..)
2005-10-03 23:27:26 +00:00
foobar 1c667a88e7 MFH 2005-10-03 20:21:02 +00:00
Marcus Boerger 061ff97f69 - MFH Throw an exception if an illegal string value is being used in
ArrayObject::offsetSet()
2005-10-03 17:59:56 +00:00
Marcus Boerger 308a64bc08 - MFH Really allow SXE being shared by not using anything from it directly in SPL 2005-10-03 16:05:08 +00:00
Marcus Boerger 42728f947c - Synch (to decrease number of diffs) 2005-10-03 15:43:40 +00:00
Marcus Boerger 0a2e6f723e - MFH change require to require_once 2005-10-03 15:06:27 +00:00
Ilia Alshanetsky 8a5bd01a44 MFH: GLOBALS protection for extract() function. 2005-10-03 14:04:16 +00:00
Marcus Boerger 31f8d7dc20 - MFH Update example 2005-10-03 13:36:18 +00:00
Marcus Boerger 48d9adc3f0 - MFH Allow uncached global functions 2005-10-03 12:36:36 +00:00
Derick Rethans e117d540d1 - MFH: Only use external database when it is newer than the builtin one. 2005-10-03 11:34:51 +00:00
Derick Rethans afccca77dd - MFH: Allow an external Timezone Database to be used. 2005-10-03 11:17:28 +00:00
Dmitry Stogov d09fbaa495 MFH (Bug #34643 wsdl default value) 2005-10-03 09:53:13 +00:00
Marcus Boerger 184309c2e9 - MFH Fix issue with RecursiveArrayIterator::getChildren() 2005-10-03 09:14:30 +00:00
Dmitry Stogov 594fd87ca7 Fixed bug #34678 (__call(), is_callable() and static methods) 2005-10-03 09:12:19 +00:00
Dmitry Stogov 728acc3785 Fixed bug #34358 (Fatal error: Cannot re-assign $this) 2005-10-03 08:21:51 +00:00
Ilia Alshanetsky 9a0bed9863 MFH: Fixed memory leak. 2005-10-03 03:54:06 +00:00
Wez Furlong 612dab64ee fix type 2005-10-03 00:55:23 +00:00
Marcus Boerger b76dcd68ee - MFH add new example 2005-10-02 23:12:35 +00:00
Wez Furlong a750f195cd Fix Bug #34687; error information from query() not passed back 2005-10-02 22:11:19 +00:00
Marcus Boerger 991a29cfd6 - MFH PDOException base 2005-10-02 20:38:18 +00:00
Marcus Boerger ca9dd7d826 - Add PDO::setAttribute(PDO::ATTR_STATEMENT_CLASS) 2005-10-02 20:07:11 +00:00
Marcus Boerger 0ea0e1615f - MFH Add new example 2005-10-02 17:33:05 +00:00
Derick Rethans 224e1f50ae - timelib_config.h should stay too. 2005-10-02 16:30:42 +00:00
Derick Rethans 6333f71ea3 - parse_date.c should not be here, as "make clean" removes it then. 2005-10-02 16:01:11 +00:00
Wez Furlong c19322869b use the right macro for these 2005-10-01 19:19:36 +00:00
Greg Beaver ba3862b369 set error_reporting to E_ALL in Makefile.frag 2005-10-01 16:05:44 +00:00
Marcus Boerger 13dc73940d - SPL may extend SimpleXML (if present) 2005-10-01 15:46:31 +00:00
Marcus Boerger 69722777a0 - Allow xpl/simplexml integration with simplexml being built shared 2005-10-01 15:41:37 +00:00
Derick Rethans 08b5c498ce - Implemented better timezone guessing algorithm. 2005-10-01 15:04:07 +00:00
Wez Furlong 932346c00f Allow compilation with PHP 5.0.x
Closes PECL #5514
2005-10-01 02:48:11 +00:00
foobar 56f006a998 fix bfn 2005-10-01 02:01:23 +00:00
Pierre Joye 4c4b955dce - entry for #33125 2005-09-30 21:01:38 +00:00
Pierre Joye 655743c4e7 - #33125, imagecopymergegray produces mosaic rainbow effect
at some point the alpha emulation formula has been broken
  restored.
2005-09-30 20:48:05 +00:00
Marcus Boerger 91e31d0243 - Try to fetch the necessary file via wget 2005-09-30 17:03:22 +00:00
foobar dfc8044098 reorder,reword,merge 2005-09-30 10:26:18 +00:00
Wez Furlong 69f0675a35 Fix for PECL #5433 (rowCount() not set) 2005-09-30 04:19:24 +00:00
Marcus Boerger b47525e508 - TSRM fix 2005-09-29 19:57:13 +00:00
Ilia Alshanetsky 941ac55d2f Removed unnecessary component that accidentally snuck-in 2005-09-29 16:39:37 +00:00
Ilia Alshanetsky 09540ee965 MFH:
Fixed possible crash and/or memory corruption in import_request_variables()
Fixed potential GLOBALS overwrite via import_request_variables().
2005-09-29 16:30:51 +00:00
Dmitry Stogov e2599c3dbf Fixed wrong array autodetection 2005-09-29 10:02:11 +00:00
Ilia Alshanetsky 1a04335ec2 MFH: Fixed possible GLOBALS variable override when register_globals are ON.
MFH: Fixed possible register_globals toggle via parse_str().
MFH: Fixed negative offset handling in substr_compare() function.
2005-09-28 22:39:52 +00:00
Dmitry Stogov ba5f66777e Fixed bug #34453 (parsing http://www.w3.org/2001/xml.xsd exception) 2005-09-28 11:24:18 +00:00
Dmitry Stogov 386a3b9305 Fixed bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called) 2005-09-27 18:07:41 +00:00
Dmitry Stogov 4329db25a1 Fixed bug #34643 (wsdl default value has no effect) 2005-09-27 15:25:10 +00:00
Ilia Alshanetsky 72857b6dbb MFH: Fixed bug #32937 (open_basedir looses trailing / in the limiter). 2005-09-27 15:07:49 +00:00
Marcus Boerger c0cb5a83bf - BFN 2005-09-27 08:23:20 +00:00
Wez Furlong 006922ba18 ensure that this size is initialized correctly 2005-09-26 21:37:33 +00:00
Ilia Alshanetsky ef04eea493 Touch generated file 2005-09-26 19:34:09 +00:00
Ilia Alshanetsky 846b0826ab MFH: upgraded bundled libsqlite3 to version 3.2.7 2005-09-26 19:33:26 +00:00
Marcus Boerger 15c9f414a6 - MFH: Reset global pointer to NULL after mem free (required for apache 1.3) 2005-09-26 17:56:26 +00:00
Ilia Alshanetsky c508b5e66a Bug fixing news 2005-09-26 15:14:49 +00:00
Ilia Alshanetsky 9daaedc125 Fixed bug #34645 (ctype corrupts memory when validating large numbers). 2005-09-26 15:14:19 +00:00
Marcus Boerger 049882f29c - Try to fix bugs #34216 (Segfault with autoload) and #34584 (Segfault with
SPL autoload handler)
2005-09-25 18:04:35 +00:00
Ilia Alshanetsky f4a15e4fb8 Bug fixing news 2005-09-25 13:27:20 +00:00
Ilia Alshanetsky d696f11814 MFH: Fixed bug #34321 (Possible crash in filter code). 2005-09-25 13:26:30 +00:00
Wez Furlong 57641c166f reinstate this fix for building against PHP 5.0.x.
This works fine against PHP 5.1 too; if you revert this, you'd better have an
awesome technical reason, or I'll remove your karma.
2005-09-25 02:28:42 +00:00
Wez Furlong fdd42afa6c Fixup LOB handling for inserts (refs #34630).
Also tripped over the return of PECL #5200; looks like mysql doesn't return an
accurate length for the columns.  The PDO driver will sanity check the real
length against the buffer size it allocated (based on the info provided by
mysql), so that we won't overrun the buffer.  In addition, if a varchar field
is reported as having a length of less than 128, we'll allocate 128 just in
case.

If the data is truncated, report it via the appropriate sqlstate code.

There must be a better way to do this stuff.
2005-09-25 02:05:03 +00:00
Wez Furlong fab0baa274 refs #34630.
Real lob support for oracle will appear after the PHP 5.1 release.
2005-09-25 00:47:00 +00:00
Marcus Boerger 06550ce8e0 - MFH: Rename here too 2005-09-24 23:48:58 +00:00
foobar 2352850c52 Revert the "fix". It works fine when you use PHP_5_1 2005-09-24 23:33:58 +00:00
foobar 1536082186 fix typo 2005-09-24 23:23:25 +00:00
Marcus Boerger a349428685 - MFH: Serializeable was renamed to Serializable long ago 2005-09-24 23:19:24 +00:00
Wez Furlong 4fb5b322ee 99% certain that this fixes PECL #5366 and PECL #5391. 2005-09-24 19:15:23 +00:00
Wez Furlong 3905ce46d9 Refs #34630 2005-09-24 18:55:56 +00:00
Wez Furlong 4f7d14f8d9 a test for bug #34630 2005-09-24 18:54:50 +00:00
Wez Furlong 6cc5e191d0 Refs #34630 2005-09-24 18:47:50 +00:00
foobar 0d9bc3a679 Documentation belongs elsewhere 2005-09-24 18:18:58 +00:00
Edin Kadribasic ba8a8d9f25 Allow php extensions to use php_escape_shell_cmd() and php_escape_shell_arg(), needed for mbstring 2005-09-24 15:22:32 +00:00
Edin Kadribasic 4566f48777 Build PDO and SQLite as shared 2005-09-24 15:13:13 +00:00
Pierre Joye c81c189198 - MFH #33220, infinite loop while loading invalid GIF (nlopees) 2005-09-24 14:39:16 +00:00
Edin Kadribasic a952406eb3 sqlite3.h is a generated file 2005-09-24 14:21:29 +00:00
Edin Kadribasic 35b7ad00a6 Declare functions used by driver as PDO_API in php_pdo_driver.h 2005-09-24 14:18:01 +00:00
Antony Dovgal 6cf5be04d6 MFH: fix test 2005-09-23 10:34:20 +00:00
Anantha Kesari H Y a3a2fe37af NetWare LibC don't have socketpair function. So enabling socket_create_pair functionality only if socketpair is available in the host LibC.
--Kamesh
2005-09-23 09:54:31 +00:00
foobar 09f0161160 ws fix 2005-09-23 09:40:24 +00:00
Antony Dovgal e3a1bf1e62 MFH 2005-09-23 09:40:16 +00:00
Antony Dovgal 5ece2f6369 add new tests 2005-09-23 09:39:00 +00:00
Antony Dovgal d38a901189 - 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:36:43 +00:00
Anantha Kesari H Y 5337c02684 In NetWare two binaries with the same name can not be loaded in kernel address space(This is the default behaviour for NetWare apache webserver and hence PHP extensions also get loaded in kernel address space) simultaneoulsy. As the current autoconf built mysql extension is built as mysql.nlm this forbids the loading of mysql client binary. To work around this NetWare idiosyncrasy prefixing all the extensions with "php" except php5lib(phpts.dll eqivalent of Windows). I could have named this extensions prefixed with "php_" but "_" is eaten from the exported symbol prefix by the GCC cross compiler for NetWare so sticking to "php".
This fixes the issue of not needing "PHP_SUBST(EXTENSIONNAME_SHARED_LIBADD)" in all the extensions especially when they need to be built shared.

--Kamesh
2005-09-23 09:25:18 +00:00
foobar b5017bd725 MFH: Improved the fix for #21306 a bit 2005-09-23 08:14:13 +00:00
Dmitry Stogov d6c7d9630b MFH 2005-09-23 07:12:07 +00:00
Antony Dovgal 0dce979bfc MFH: fix #32081 (mysqli_real_connect(): mysqli.default_socket in php.ini has no effect) for real 2005-09-22 20:14:34 +00:00
Antony Dovgal eef28dacec bump API number 2005-09-22 19:13:32 +00:00
Antony Dovgal 8524b33feb BFN 2005-09-22 19:03:34 +00:00
Antony Dovgal f8e8c5534b MFH: fix #33771 (error_reporting falls to 0 when @ was used inside try/catch block) 2005-09-22 19:03:18 +00:00
Ilia Alshanetsky 0823526afe Fixed test 2005-09-22 16:24:51 +00:00
Edin Kadribasic f0c27e68b2 Fix building of extensions that inlcude extname/header.h 2005-09-22 13:16:30 +00:00
foobar cd63787e9a - Fixed bug #34583 ("make install" prematurely fails because of PEAR) 2005-09-22 13:04:12 +00:00
Marcus Boerger 8bba75f0f8 - BFN 2005-09-21 23:00:29 +00:00
Marcus Boerger f3c44f6065 - MFH Fixed Bug #34590 User defined PDOStatement class can't implement
methods
- Reimplement Traversable interface
# If there is a problem with this i need a backtrace. As far as i can
# tell by gdb/valgrind/logic there is no error here. But missuse leads to
# the same error report casing the exclusion of interface Traversable.
2005-09-21 22:58:39 +00:00
Marcus Boerger a72a517e2f - Add ability to execute .php generated from .phpt on failure without the
need to manually set the environment.
2005-09-21 18:40:56 +00:00
Dmitry Stogov 0988162649 Fixed memory corruption 2005-09-21 15:55:07 +00:00
Dmitry Stogov 3d41ebf595 Allow fopen() make HTTPS requests throug HTTP proxies 2005-09-21 15:04:26 +00:00
Ilia Alshanetsky 20c3266588 fixed compiler warnings 2005-09-21 13:23:00 +00:00
Ilia Alshanetsky 999a7acd71 MFH: Fixed bug #34565 (mb_send_mail does not fetch mail.force_extra_parameters) 2005-09-21 13:16:03 +00:00
Marcus Boerger 967413c58c - MFH Fix Bug #34243 ReflectionClass::getDocComment() returns no result 2005-09-21 09:56:51 +00:00
Derick Rethans 5e33a09f20 - MFH: Fixed definition in correct file. (Patch by Nuno) 2005-09-21 08:41:16 +00:00
Derick Rethans a51fc50b6e - MFH: 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:13:43 +00:00
Johannes Schlüter ddf3f9b068 - MFH: Remove HTML fragments from phpcredits() in CLI mode 2005-09-20 22:19:01 +00:00
foobar 529263d680 BFN 2005-09-20 20:59:00 +00:00
foobar de6b4c0091 MFH: - Fixed bug #21306 (catch bailouts of write handler during RSHUTDOWN) 2005-09-20 20:56:54 +00:00
Ilia Alshanetsky 4dff36f6b4 MFH: Allow overloading of PDO constructor. 2005-09-20 19:52:24 +00:00
Stanislav Malyshev bcb70109d2 fix crash on restarting static PHP having session modules loaded 2005-09-20 14:03:29 +00:00
foobar 462940cbb0 no irrelevant news here (pdo was never in PHP before, no point) 2005-09-20 07:18:54 +00:00
Wez Furlong 08a6122f54 MFH: use PDO:: class constants 2005-09-20 00:46:02 +00:00
Ilia Alshanetsky fe9db9ab0a Remove pointless PDO_ prefix 2005-09-20 00:44:51 +00:00
Ilia Alshanetsky bfe844e41e MFH: Make PDO use class constants 2005-09-20 00:35:21 +00:00
Marcus Boerger 9986219353 - MFH Fix filename 2005-09-19 19:03:53 +00:00
Antony Dovgal 33d913d9da MF5.0: add new test 2005-09-19 18:58:59 +00:00
Dmitry Stogov 5eb6b78c90 Fixed access to uninitialized value 2005-09-19 18:47:56 +00:00
Marcus Boerger e26ae04d5f - MFH Add deprecated/compatibility class for BC 2005-09-19 18:28:52 +00:00
Dmitry Stogov 9d3ac92729 MFH (removed unnecesary call to zval_ptr_dtor) 2005-09-19 17:50:24 +00:00
Dmitry Stogov 0ce7487110 Fixed access to memory that is already freed (in case of __call() method) 2005-09-19 16:28:54 +00:00
Dmitry Stogov 46488c8bb4 Fixed parameter passing incompatibilities.
Now it is possible to call array_pop(explode("&","1&2&3")) again.
2005-09-19 16:02:21 +00:00
foobar 116584297a cleanup, typos, etc 2005-09-18 20:34:43 +00:00
Antony Dovgal 9a1c6c55b8 fix build (declare extern HashTable pdo_driver_hash) 2005-09-18 18:05:59 +00:00
Marcus Boerger c3a79b5990 - MFH: Synch dosu 2005-09-18 17:52:09 +00:00
Marcus Boerger 8acd34d6d8 - MFH: Add missing docu/Synch 2005-09-18 17:39:54 +00:00
Marcus Boerger d1ee4b407c - Commite manually if not conatined in bunch commit 2005-09-18 17:16:17 +00:00
Marcus Boerger 7d918fae4c - Synch naming/move changes with HEAD
- Update tests/docu
# New functionality in CachingIterator/RecursiveIteratorIterator not MFHed
2005-09-18 17:15:04 +00:00
Wez Furlong 7e762989e7 move pdo_drivers -> PDO::getAvailableDrivers as part of namespacing sweep. 2005-09-18 14:13:08 +00:00
Edin Kadribasic 87071cf1d6 Added --add-modules-dir option to buidconf.js:
If this option is not specified buildconf.js will search for PECL
in the usual places (pecl, ../pecl).
Now it is possible to specify in which dirs additional modules reside
with say:
cscript /nologo win32/build/buildconf.js --add-modules-dir=../pecl_5_1 \
  --add-modules-dir=../php-gtk2
2005-09-17 20:00:01 +00:00
Antony Dovgal 3eb6167902 BFN 2005-09-16 23:56:12 +00:00
Antony Dovgal 21e809b7be MFH: check class_entry of this_ptr in Reflection API 2005-09-16 20:21:46 +00:00
Antony Dovgal 3fd2e85458 BFN 2005-09-16 17:12:12 +00:00
Antony Dovgal 4b9b5505f0 fix #34505 (possible memory corruption when unmangling properties with empty names)
2nd part
2005-09-16 17:11:02 +00:00
Antony Dovgal f43767b249 fix #34505 (possible memory corruption when unmangling properties with empty names)
1st part
2005-09-16 17:05:09 +00:00
Dmitry Stogov 27763b3666 Fixed bug #34478 (Incorrect parsing of url's fragment (#...)) 2005-09-16 15:48:30 +00:00
Dmitry Stogov e4a4ab60c7 Fixed bug #34518 (Unset doesn't separate container in CV) 2005-09-16 14:42:46 +00:00
Dmitry Stogov 8cf678c306 MFH (overriding of protected static property) 2005-09-16 13:42:49 +00:00
foobar 1bf64add7b correct flag 2005-09-16 12:09:17 +00:00
foobar 595e93be27 Fixed bug #34525 2005-09-16 12:06:41 +00:00
foobar 69edc17192 fix test 2005-09-16 07:41:08 +00:00
foobar ae281c372a - Fix tests due to changes in the error messages.
# Also nuked some CRLF's
2005-09-15 19:49:58 +00:00
Derick Rethans 7199bc5f86 - MFH: Fixed bug #34052 (date('U') returns %ld not unix timestamp). 2005-09-15 19:11:15 +00:00
Marcus Boerger c0ffebcee6 - Rename file class again by popular demmand: calling it SplFileObject now 2005-09-15 14:08:16 +00:00
foobar eb7e9b6bfc - Fixed error message grammar 2005-09-15 13:10:31 +00:00
Marcus Boerger 5ca5efcdda - Update docu 2005-09-15 03:54:42 +00:00
Marcus Boerger ca8596ab83 - Update with latest SPLchanges 2005-09-15 03:42:41 +00:00
Marcus Boerger 3fab7a3ed6 - No longer needed (moved into c) 2005-09-15 03:39:17 +00:00
Marcus Boerger a29501195f - MFH: Add new files 2005-09-15 03:38:03 +00:00
Marcus Boerger b4dd030782 MFH:
- Add SplObjectStorage
- Add RecursiveFilterIterator
- Rename Observer to SplObserver
- Rename Subject to SplSubject
- Move SPL constants to class constants
- Update docu
2005-09-15 03:33:04 +00:00
Derick Rethans a5f0cbed44 - Fixed shutdown order before RC2. 2005-09-14 20:08:31 +00:00
Marcus Boerger 650b76e542 - MFH: Improve error message 2005-09-14 18:23:48 +00:00
foobar d5809b85f9 MFH 2005-09-14 17:57:32 +00:00
foobar dc929d011c MFH 2005-09-14 15:53:02 +00:00
Ilia Alshanetsky 766e4b3c15 MFH: Fix error detection for queries such as OPTIMIZE 2005-09-14 15:34:58 +00:00
foobar bab59278d7 MFH 2005-09-13 21:40:46 +00:00
Ilia Alshanetsky c221e148d7 MFH: MFH: Make key() and current() take argument by value. 2005-09-13 13:24:38 +00:00
Antony Dovgal d3f03cc468 bfn 2005-09-13 09:20:36 +00:00
Antony Dovgal bd7a277d48 fix #34450 (Segfault when calling mysqli_close() in destructor) 2005-09-13 09:20:18 +00:00
Sara Golemon 196e54fc43 MFH(r-1.719) Plug leak of 1/2 bytes when converting from string/unicode 2005-09-12 17:44:21 +00:00
foobar 09f89c8cb0 MFH: Fixed build with phpize 2005-09-12 17:14:35 +00:00
Ilia Alshanetsky 2a7bd2b823 MFH: Fixed bug #34456 (Possible crash inside pspell extension). 2005-09-12 15:39:14 +00:00
Dmitry Stogov 9d1f2f30d3 Fixed bug #34199 (if($obj)/if(!$obj) inconsistency) 2005-09-12 11:48:57 +00:00
Dmitry Stogov 9a74c68a4c Additinal fix for bug #34277 (array_filter() crashes with references and objects) 2005-09-12 09:58:50 +00:00
Dmitry Stogov 21698c12fe Fixed huge memory leak in ZTS mode (backport from HEAD) 2005-09-12 09:06:15 +00:00
Dmitry Stogov 90236679e9 Fixed bug #34449 (ext/soap: XSD_ANYXML functionality not exposed) 2005-09-12 08:24:01 +00:00
Dmitry Stogov 5682438549 Better fix for exceptions in __sleep() 2005-09-12 07:13:54 +00:00
Wez Furlong 8dc3e7b147 When populating bound columns, override the returned type with the type
specified by the user in their bind.
2005-09-11 20:32:28 +00:00
Wez Furlong 9e9f413aeb Fix PECL Bug #5010 2005-09-11 19:44:26 +00:00
Greg Beaver af01525d1e prepare for using go-pear.phar 2005-09-11 17:39:15 +00:00
Ilia Alshanetsky be945f9fe2 Make use of 5.0+ features 2005-09-11 17:33:15 +00:00
Wez Furlong 81151a5dbf remove traversable interface; apparently it's not enough, and this stuff is too
magical to figure out wtf should be added.
2005-09-11 14:27:10 +00:00
Wez Furlong 497c7714e6 update manifest 2005-09-11 05:46:13 +00:00
Wez Furlong 77d3a41f8a update package.xml files and version numbers, in anticipation of a big bunch of releases. 2005-09-11 05:27:30 +00:00
Wez Furlong 1e37cc7b82 set version numbers to 1.0 2005-09-11 05:06:30 +00:00
Wez Furlong a55c4799aa MFH: reset the statement when closeCursor() is called. 2005-09-11 05:00:12 +00:00
Wez Furlong e53f6428ac merge George's fixes back from HEAD 2005-09-11 01:42:41 +00:00
Wez Furlong f4007c8f6b closes #33707: error information was not passed up to PDO::query(). 2005-09-10 21:38:07 +00:00
Wez Furlong edc39221c0 if a php bolean makes it as far as the parameter callback, it must really need
to be boolean; express is as native pgsql 't' or 'f'.

Add a test case for Bug #33876, which is a partially bogus bug.
2005-09-10 21:00:52 +00:00
Wez Furlong 5f47b4178e and touch the generated file 2005-09-10 20:58:57 +00:00
Wez Furlong e9c81e4983 actually register PDO_PARAM_BOOL as a constant (doh!).
When emulating bound parameters, pass booleans via the driver's quoter
method, so that is has an opportunity to tweak it.
Refs #33876: PDO misquotes/miscasts bool(false)
2005-09-10 20:58:19 +00:00
Wez Furlong 9c252b4b07 closes PECL #5027; PDO_FETCH_NAMED not handled via setFetchMode(). 2005-09-10 19:32:15 +00:00
Wez Furlong 2d16ed7706 Add test for this bug report; can't repeat the problem. 2005-09-10 19:27:29 +00:00
Wez Furlong efe24c0205 add __sleep and __wakeup functions to prevent serialize/deserialize from being used on PDO objects. Refs PECL #5217 2005-09-10 17:48:45 +00:00
Wez Furlong 6b0d0f7ceb allow exceptions thrown in __sleep to interrupt the serialization process. refs PECL #5217 2005-09-10 17:47:20 +00:00
Derick Rethans 7262ccfac9 - Fix version numbers as discussed to help version_compare for the PEAR folks. 2005-09-10 15:44:17 +00:00
Wez Furlong 0730fa2af9 Add PDOStatement::bindValue(), which is similar to bindParam(), except that
it binds the value of the zval at the time it is called, rather than keeping
a reference to the zval and taking the value at execute() time.
2005-09-10 15:32:04 +00:00
Dmitry Stogov 9305339d94 Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload(). 2005-09-09 06:48:49 +00:00
Ilia Alshanetsky 26bf79a15e MFH: Allow retrieval of query parse errors from SQLite. 2005-09-08 21:07:40 +00:00
Ilia Alshanetsky b5e2cc5197 MFH: Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()). 2005-09-08 14:50:23 +00:00
Rob Richards 06e3607102 MFH: add save options parameter 2005-09-08 10:39:30 +00:00
Rob Richards 6818826bbd MFH: add additional constants
remove un-needed ifdefs
2005-09-08 10:37:57 +00:00
Rasmus Lerdorf 25c6fbe515 That line made no sense 2005-09-08 09:11:10 +00:00
Dmitry Stogov 42fb30298c Fixed crash on AIX 2005-09-08 06:19:07 +00:00
Greg Beaver 46783871e3 install-pear.phar removed -> moved to http://pear.php.net/install-pear.phar 2005-09-07 16:05:59 +00:00
Greg Beaver 6ed7a799af attempt to make new instructions clearer 2005-09-07 16:03:06 +00:00
Greg Beaver 38a52c5b0d change makefile to use phar and not source, if present 2005-09-07 15:59:53 +00:00
Dmitry Stogov 8a39d704c4 Fixed memory allocation bug 2005-09-07 15:36:31 +00:00
Ilia Alshanetsky 7f293b91b4 MFH: Upgraded SQLite 2 library in ext/sqlite to 2.8.16 2005-09-07 15:11:33 +00:00
Ilia Alshanetsky caa9702a5a Updated TODO 2005-09-07 02:33:12 +00:00
Ilia Alshanetsky a022e10c2d Simplify code by making use 5.1+ functions 2005-09-06 00:42:20 +00:00
Greg Beaver a3c168239d test version of install-pear.phar
can be removed if there is any issue
without changes to Makefile.frag, it is not actually used
2005-09-05 20:18:00 +00:00
foobar 27df981727 touch 2005-09-05 16:22:58 +00:00
foobar 020f1ba949 MFH: - Fixed bug #34311 (unserialize() crashes with characters above 191 dec) 2005-09-05 16:22:19 +00:00
foobar 1ee421ff66 BFN 2005-09-05 13:05:24 +00:00
Frank M. Kromann 635d65ab4e MFB: Fix for #34369
Add extra parameter to mssql_connect to force a new connection
2005-09-05 05:04:31 +00:00
Ilia Alshanetsky 084ab84411 Fixed compiler warning 2005-09-05 01:20:52 +00:00
Marcus Boerger 222900c4b0 - MFH 2005-09-04 18:55:03 +00:00
Wez Furlong d1be6c8152 assign a version number 2005-09-04 17:10:56 +00:00
Wez Furlong b6be0f9817 Allow ext/mysql to build against PHP 4 again; update package.xml ready for
release via PECL.
2005-09-04 04:51:23 +00:00
Edin Kadribasic 60b1f64cc7 touch 2005-09-04 00:48:59 +00:00
Edin Kadribasic 4e1b287b82 Fix for #34233 2005-09-04 00:47:59 +00:00
Edin Kadribasic 38317bb3bd Don't crash on invalid parameter #34203 (Wez) 2005-09-03 23:50:25 +00:00
foobar 6bc126681c reorder 2005-09-02 21:13:20 +00:00
foobar bd30309d65 BFN 2005-09-02 21:13:00 +00:00
Andrei Zmievski 0eabbc9f89 Fix bug #34307. We were not calling on_modify handler to set the default
value in case setting the one from .ini file failed.
2005-09-02 20:51:15 +00:00
Marcus Boerger a8355965bb - MFH Update docu 2005-09-02 19:11:10 +00:00
Ilia Alshanetsky 2b32ff53cd MFH: Resolved bug #34240. 2005-09-02 17:25:16 +00:00
Derick Rethans abcfcd3f2e - MFH: Added date_time_set, date_date_set and date_isodate_set() functions, and
setTime, setDate and setISODate() methods.
2005-09-02 14:58:01 +00:00
foobar 1890173d8c Revert 2005-09-02 14:05:46 +00:00
foobar 8c4d1f6657 MFH 2005-09-02 13:51:47 +00:00
Derick Rethans bb35f045df - MFH: Update timezone database to version "2005m". 2005-09-02 12:32:15 +00:00
Derick Rethans 00566c3949 - MFH: New layout for tz database file. 2005-09-02 11:40:27 +00:00
Derick Rethans 321732227f - Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day). 2005-09-02 09:33:08 +00:00
foobar 170ef60d6f - Moved exts to PECL 2005-09-02 09:14:10 +00:00
foobar 96873fecef it is good idea to return something always 2005-09-02 08:24:14 +00:00
Dmitry Stogov 6319efa013 Fixed bug #34260 (Segfault with callbacks (array_map) + overloading) 2005-09-02 07:47:28 +00:00
Rob Richards 44840ace8e MFH: Fix key length so params passed by array can be retrieved by getParameter() 2005-09-02 06:38:02 +00:00
foobar a4673bd7b7 Fix test (week numbers below 10 are zero-prefixed now) 2005-09-02 05:17:42 +00:00
Ilia Alshanetsky 5f8809907a MFH: Fixed bug #34331 (php crashes when variables_order is empty). 2005-09-01 19:15:19 +00:00
foobar 64cfbf539f MFH: - Fixed bug #34307 (OnUpdateStringUnempty INI options can be set empty) 2005-09-01 14:44:15 +00:00
George Schlossnagle 248c30dad7 MFH. Protect against underflow - refs http://pecl.php.net/bugs/bug.php?id=5193 2005-09-01 14:44:11 +00:00
foobar 1978e9109f MFH 2005-09-01 14:33:47 +00:00
Wez Furlong 41901d127c portability fix (for solaris) 2005-09-01 13:59:03 +00:00
Dmitry Stogov 4f161fe289 Fixed bug #34137 (assigning array element by reference causes binary mess) 2005-09-01 13:21:37 +00:00
Dmitry Stogov 7fda1750f1 MFH 2005-09-01 13:03:00 +00:00
Derick Rethans 9057102e6e - MFH: Fixed bug #33414 (Comprehensive list of incorrect days returned after
strtotime() / date() tests).
2005-09-01 12:42:39 +00:00
Dmitry Stogov e615889d6b Fixed bug #34277 (array_filter() crashes with references and objects) 2005-09-01 12:00:37 +00:00
foobar 5253ea11de NSF 2005-09-01 11:59:47 +00:00
Dmitry Stogov 40f971b5b6 Fixed bug #34310 (foreach($arr as $c->d => $x) crashes) 2005-09-01 10:54:38 +00:00
Dmitry Stogov 248345d920 Support for class constants and static members for internal classes 2005-09-01 10:05:32 +00:00
foobar 655cb3aaf7 MFH 2005-09-01 08:25:52 +00:00
Ilia Alshanetsky 156a899e4a MFH: Fixed bug #34001 (pdo_mysql truncates numberic fields at 4 chars) 2005-09-01 01:57:01 +00:00
foobar 28796e9aa6 Fixed bug #34323 2005-08-31 22:28:55 +00:00
Rob Richards ab78a63357 MFH: make sxe_properties_get respect namespace scope 2005-08-31 17:00:46 +00:00
foobar 2ec2739c19 Update credits 2005-08-31 14:59:20 +00:00
foobar b08c3d880e - Moved ext/oracle to PECL 2005-08-31 14:58:27 +00:00
foobar 307ec8ece4 MFH:- Fixed bug #34306 (wddx_serialize_value() crashes with long array keys) 2005-08-31 14:31:44 +00:00
Derick Rethans 9230473cd3 - Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number). 2005-08-31 14:29:23 +00:00
foobar d1a4819c09 Added test for bug #34310 2005-08-31 09:16:24 +00:00
Marcus Boerger 7c37c2c37e - MFH run-tests-config.php was never used and now renamed 2005-08-31 07:00:22 +00:00
George Schlossnagle b247dc3418 MFH, fix 34072 2005-08-31 04:06:10 +00:00
Ilia Alshanetsky 43f63e4753 MFH: Fixed bug #32589 (possible crash inside imap_mail_compose() function). 2005-08-30 22:03:29 +00:00
Marcus Boerger 99baa01aac - MFH (missing run-tests2.php rename part) 2005-08-30 18:44:07 +00:00
Derick Rethans 0e2491f553 - Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9). 2005-08-30 09:17:09 +00:00
Marcus Boerger cf39bec447 - BFN 2005-08-30 07:34:57 +00:00
Dmitry Stogov 7230be4951 Fixed possible memory leak 2005-08-30 07:22:23 +00:00
Ilia Alshanetsky ba38b8a9c9 Mark pspell as working 2005-08-29 23:32:59 +00:00
Sara Golemon 5fc9d15692 MFH: allocate_new_resource() handles the malloc() for us. Don't leak by mallocing twice. 2005-08-29 22:05:25 +00:00
foobar 805ca9c51f MFH 2005-08-29 14:46:17 +00:00
Ilia Alshanetsky f02aa075cb Upgraded bundled SQLite library for PDO:SQLite to 3.2.5 2005-08-28 16:54:26 +00:00
Ilia Alshanetsky c6aae12cc1 Upgraded bundled SQLite library for PDO:SQLite to 3.2.5 (step 1) 2005-08-28 16:53:27 +00:00
Rob Richards 3a21310f37 BFN 2005-08-28 16:23:48 +00:00
Rob Richards 1b02f3ec31 MFH: Fixed bug #34276 (setAttributeNS doesn't work with default namespace)
Add test
2005-08-28 16:23:25 +00:00
foobar 2b53e96832 Nuke misinformation 2005-08-28 01:10:17 +00:00
foobar 11eeb0c3ac This is no longer required 2005-08-28 01:10:00 +00:00
foobar 0c4867144a - Fixed bug #34284 (CLI phpinfo showing html on _SERVER["argv"]) 2005-08-28 01:03:41 +00:00
foobar 5dd6467bd0 MFH 2005-08-28 00:46:36 +00:00
Marcus Boerger a596d53131 - MFH 2005-08-26 15:35:47 +00:00
Derick Rethans b842d8e3d8 - MFH: Fixed a bug where stream_get_meta_data() did not return the "uri"
element for files opened with tmpname().
2005-08-26 12:56:07 +00:00
Ilia Alshanetsky 980b9be4b4 Fixed bug #34214 (base64_decode() does not properly ignore whitespace) 2005-08-26 03:32:31 +00:00
Rob Richards 293beeb74a MFH: Fix URI escaping 2005-08-26 02:29:56 +00:00
Marcus Boerger 2e4c7dbb03 _ MFH 2005-08-25 22:06:52 +00:00
Marcus Boerger ce6abe492c - MFH Fixed bug #34257 (lib64 not handled correctly in ming extension). 2005-08-25 22:02:29 +00:00
foobar 4f89b2e0cb Fix crash with e.g. stream_get_meta_data() 2005-08-25 12:25:10 +00:00
Derick Rethans d3326d5b26 - MFH: Fixed bug #34087 for real.
- MFH: Windows compile fixes.
2005-08-25 09:47:28 +00:00
Ilia Alshanetsky 30b14ee8e9 MFH: Remainder of the 34191 bug fix. 2005-08-24 16:19:57 +00:00
foobar e96c51a175 PCRE lib is 6.2 2005-08-24 14:48:57 +00:00
Derick Rethans 164b4ad4dd MFH:
- 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:39:34 +00:00
Dmitry Stogov da4096c210 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:11 +00:00
Dmitry Stogov 19dc0411f7 Fixed return-by-reference from internal functions 2005-08-24 10:41:06 +00:00
Johannes Schlüter 9e0ed1cb67 - MFH: Fix alphabetic order and add missing class 2005-08-24 10:17:43 +00:00
foobar 82d8cfb681 MFH 2005-08-23 21:40:26 +00:00
Ilia Alshanetsky 31dcd92f46 removed unused vars 2005-08-23 15:16:02 +00:00
Greg Beaver ae8a3a0f9e sync with PEAR 1.3.6 2005-08-22 22:09:54 +00:00
Greg Beaver de247c88cd add XML_RPC 1.4.0 2005-08-22 22:06:27 +00:00
Greg Beaver e5c570997e move Archive_Tar 1.3.2 => 1.3.1
1.3.2 does not exist
2005-08-22 21:51:15 +00:00
Ilia Alshanetsky b8cc3a9c32 MFH: Make dba extension support BerkleyDB 4.3. 2005-08-22 19:59:28 +00:00
Stanislav Malyshev 33df597531 fix crash if throw attempted outside of executable code 2005-08-22 13:26:33 +00:00
Ilia Alshanetsky daa209297d MFH: Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). 2005-08-21 16:03:21 +00:00
Greg Beaver f4eb5095a6 add checks for extensions that must be loaded 2005-08-20 18:31:29 +00:00
Pierre Joye f7ef84c32d - fix bad revert and make the xmlrpc ext detections fallback
forgot that 5.1 still has pear in its branche
2005-08-18 21:29:28 +00:00
Wez Furlong b31ff96be9 Add ext to the include path. 2005-08-18 20:17:50 +00:00
Ilia Alshanetsky 3b329a9926 MFH: Fixed bug #34156 (memory usage remains elevated after memory limit is
reached);
2005-08-18 15:14:12 +00:00
Antony Dovgal 4e798f6e02 MFH: fix memleak 2005-08-18 15:13:45 +00:00
foobar 9477097564 MFH: Nuked EOLs from error messages 2005-08-18 13:34:41 +00:00
foobar 75d362225c MFH 2005-08-18 12:54:44 +00:00
foobar 286d53397a MFH 2005-08-18 12:40:41 +00:00
foobar a23aec662c MFH: nuked eol from error message 2005-08-18 12:34:22 +00:00
Ilia Alshanetsky e134382a71 MFH: Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2). 2005-08-18 01:14:42 +00:00
Greg Beaver 94c7fd0603 add return by ref from PEAR::raiseError 2005-08-17 21:48:46 +00:00
Greg Beaver 1dd48ca039 re-enable XML_RPC 1.4.0 2005-08-17 21:30:46 +00:00
foobar f286018dd0 MFH 2005-08-17 17:03:52 +00:00
foobar 617716b171 BFN 2005-08-17 16:56:20 +00:00
Ilia Alshanetsky 690f2ab5ed Added test for bug #34087 2005-08-17 15:31:57 +00:00
Dmitry Stogov 976edd47e2 Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54 seg fault) 2005-08-17 11:54:34 +00:00
foobar 5516735c88 MFH 2005-08-17 07:54:07 +00:00
Zeev Suraski cf1b4cf673 Introduce SoapClient::__setSoapHeaders() 2005-08-17 07:04:16 +00:00
Marcus Boerger e8b05734be - Prevent E_STRICT from ending up as exception 2005-08-16 18:10:34 +00:00
Ilia Alshanetsky 5610ad29e3 MFH: Fixed bug #34148 (+,- and . not supported as parts of scheme). 2005-08-16 14:20:41 +00:00
Zeev Suraski 23d4f9882f Go back to dev 2005-08-16 12:01:42 +00:00
Edin Kadribasic ca24e21972 Rebundle XML_RPC in the correct version for the Windows distro. 2005-08-16 11:35:45 +00:00
Zeev Suraski 2c6d0f8c48 Roll RC1 2005-08-16 10:59:56 +00:00
Dmitry Stogov 496bc9fce3 Fixed memory leak 2005-08-16 10:49:25 +00:00
Edin Kadribasic d327027ea9 Use free() instead of PQfreemem() to maintain compabitibility with older
PostgreSQL client libraries (bug #33813).
2005-08-16 09:55:44 +00:00
Ilia Alshanetsky 81b6d3e725 MFH: Input validation part 2. 2005-08-16 00:25:39 +00:00
Ilia Alshanetsky 9711fbace9 Chunk the output 2005-08-15 23:23:40 +00:00
Rob Richards a47eec0754 BFN 2005-08-15 17:14:35 +00:00
Rob Richards 8bdc4285aa MFH: Fixed bug #34103 (line numbering not maintained in dom document) 2005-08-15 17:13:57 +00:00
Ilia Alshanetsky bbd37d99e1 MFH: input validation. 2005-08-15 16:01:53 +00:00
Johannes Schlüter 0d993d2172 - Fix tab-completion for constants. 2005-08-14 13:07:15 +00:00
Wez Furlong 812c1e0475 MFH, compiler detection 2005-08-12 20:08:14 +00:00
foobar e46cd60d89 - Fixed bug #33326 (Cannot build extensions with phpize on Macosx). 2005-08-12 15:15:17 +00:00
Dmitry Stogov a0d479994f Fixed typo (ZVAL_LONG() -> ZVAL_DOUBLE()) 2005-08-12 14:56:59 +00:00
foobar b31f168184 - Fixed bug #34097 (configure failed to initize RE2C="exit 0;" when re2c is not found) 2005-08-12 13:53:27 +00:00
foobar 54df2c9d36 no DOS EOLs! 2005-08-11 23:53:59 +00:00
foobar 4ddaf76efc - Fixed test 2005-08-11 23:51:35 +00:00
foobar 417f113940 MFH 2005-08-11 23:45:22 +00:00
foobar 0941045fcc MFH 2005-08-11 23:05:34 +00:00
foobar e274f52bbf - Regenerated. 2005-08-11 22:36:47 +00:00
foobar 2f594ec2b3 BFNS 2005-08-11 22:34:10 +00:00
Marcus Boerger 6c87db9e99 - And this is version 5.1 2005-08-11 21:41:30 +00:00
Antony Dovgal 974adb419a BFN 2005-08-11 21:21:31 +00:00
Antony Dovgal 565c7708ca fix #34078 (Reflection API problems in methods with boolean or null default values) 2005-08-11 21:16:20 +00:00
Marcus Boerger 256e6e3350 - MFH creadits to Johannes 2005-08-11 20:45:58 +00:00
Rasmus Lerdorf c792839d8f Remove pear/XML_RPC dependency for the pear installer
PEAR guys, please doublecheck this.
2005-08-11 16:43:26 +00:00
Frank M. Kromann 9aa81a786b Revert the last patch so we can release PHP 5.1 2005-08-11 03:54:06 +00:00
Rasmus Lerdorf ba8cfb4a93 Minor consistency cleanup 2005-08-10 23:33:10 +00:00
Ilia Alshanetsky 2a37a0c495 MFH: Fixed bug #34068 (Numeric string as array key not cast to integer in
wddx_deserialize()).
2005-08-10 22:45:31 +00:00
Dmitry Stogov daba35fead Fixed bug #34062 (Crash in catch block when many arguments are used) 2005-08-10 13:11:05 +00:00
Dmitry Stogov ebd4ab4d78 Fixed bug #25359 (array_multisort() doesn't work in a function if array is global or reference) 2005-08-10 12:02:52 +00:00
Dmitry Stogov 779e6d203e Fixed bug #34064 (arr[] as param to function in class gives invalid opcode) 2005-08-10 10:39:55 +00:00
Marcus Boerger 3bc9bc5de8 - MFH estrdup/strndup change (as hinted by Andi) 2005-08-10 08:36:46 +00:00
Dmitry Stogov 54931f5259 Fixed bug #33940 (array_map() fails to pass by reference when called recursively) 2005-08-10 08:22:01 +00:00
Dmitry Stogov 96d755978c Fixed bug #29253 (array_diff with $GLOBALS argument fails) 2005-08-10 07:43:07 +00:00
Dmitry Stogov f0f1557998 Fixed bug #34045 (Buffer overflow with serialized object) 2005-08-10 06:37:19 +00:00
Dmitry Stogov 1a29376c07 Fixed test file (.inc.php -> .php) 2005-08-10 06:10:04 +00:00
Andi Gutmans 995c3002aa - This didn't end up being included 2005-08-09 22:23:01 +00:00
Marcus Boerger 1c7eb15eea - MFH: PEAR uses .php not .inc.php (as discussed with Andi) 2005-08-09 21:13:04 +00:00
Derick Rethans d55f456497 - MFH:
- Fixed TSRM issue.
	- Added guessed timezone to phpinfo() output.
	- Initialize is_dst in some cases.
	- Corrected some test cases.
2005-08-09 21:10:22 +00:00
Sebastian Bergmann 96dfe589fe Sync with config.m4. 2005-08-09 06:25:24 +00:00
Andi Gutmans eeecc8a015 - No release today. Found a critical bug... 2005-08-09 05:40:56 +00:00
Andi Gutmans 01d8e59d3b - RC1 2005-08-09 05:08:59 +00:00
SVN Migration 4571221d8e This commit was manufactured by cvs2svn to create branch 'PHP_5_1'. 2005-08-08 23:59:05 +00:00
4515 changed files with 865 additions and 1129568 deletions

No files matched your search

-359
View File
@@ -1,359 +0,0 @@
set $zts = 0
define ____executor_globals
if $zts
set $eg = ((zend_executor_globals) (*((void ***) tsrm_ls))[executor_globals_id-1])
else
set $eg = executor_globals
end
end
document ____executor_globals
portable way of accessing executor_globals
type "set $zts = 1" if you use --enable-maintainer-zts on your configure line
end
define dump_bt
set $t = $arg0
while $t
printf "[0x%08x] ", $t
if $t->function_state.function->common.function_name
printf "%s() ", $t->function_state.function->common.function_name
else
printf "??? "
end
if $t->op_array != 0
printf "%s:%d ", $t->op_array->filename, $t->opline->lineno
end
set $t = $t->prev_execute_data
printf "\n"
end
end
document dump_bt
dumps the current execution stack. usage: dump_bt executor_globals.current_execute_data
end
define printzv
set $ind = 1
____printzv $arg0 0
end
document printzv
prints content of zval
end
define ____printzv_contents
____executor_globals
set $zvalue = $arg0
if $zvalue.type == 0
set $typename = "NULL"
end
if $zvalue.type == 1
set $typename = "long"
end
if $zvalue.type == 2
set $typename = "double"
end
if $zvalue.type == 3
set $typename = "string"
end
if $zvalue.type == 4
set $typename = "array"
end
if $zvalue.type == 5
set $typename = "object"
end
if $zvalue.type == 6
set $typename = "bool"
end
if $zvalue.type == 7
set $typename = "resource"
end
if $zvalue.type == 8
set $typename = "constant"
end
if $zvalue.type == 9
set $typename = "const_array"
end
printf "(refcount=%d) %s: ", $zvalue.refcount, $typename
if $zvalue.type == 1
printf "%ld", $zvalue.value.lval
end
if $zvalue->type == 2
printf "%lf", $zvalue.value.dval
end
if $zvalue.type == 3
printf "\"%s\"(%d)", $zvalue.value.str.val, $zvalue.value.str.len
end
if $zvalue.type == 4
if ! $arg1
printf "{\n"
set $ind = $ind + 1
____print_ht $zvalue.value.ht
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
printf "}"
end
end
if $zvalue.type == 5
if ! $arg1
printf "(prop examination disabled due to a gdb bug)"
if $zvalue.value.obj.handlers->get_properties
# set $ht = $zvalue->value.obj.handlers->get_properties($zvalue)
# printf "{\n"
# set $ind = $ind + 1
# ____print_ht $ht
# set $ind = $ind - 1
# set $i = $ind
# while $i > 0
# printf " "
# set $i = $i - 1
# end
# printf "}"
end
end
end
if $zvalue.type == 6
if $zvalue.value.lval
printf "true"
else
printf "false"
end
end
if $zvalue.type == 7
printf "#%d", $zvalue.value.lval
end
printf "\n"
end
define ____printzv
____executor_globals
set $zvalue = $arg0
printf "[0x%08x] ", $zvalue
if $zvalue == $eg.uninitialized_zval_ptr
printf "*uninitialized* "
end
set $zcontents = *(struct _zval_struct *) $zvalue
if $arg1
____printzv_contents $zcontents $arg1
else
____printzv_contents $zcontents 0
end
end
define ____print_const_table
set $ht = $arg0
set $p = $ht->pListHead
while $p != 0
set $const = *(zend_constant *) $p->pData
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
printf "\"%s\" => ", $p->arKey
else
printf "%d => ", $p->h
end
____printzv_contents $const.value 0
set $p = $p->pListNext
end
end
define print_const_table
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_const_table $arg0
printf "}\n"
end
define ____print_ht
set $ht = $arg0
set $p = $ht->pListHead
while $p != 0
set $zval = *(struct _zval_struct **)$p->pData
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
printf "\"%s\" => ", $p->arKey
else
printf "%d => ", $p->h
end
____printzv $zval 1
set $p = $p->pListNext
end
end
define print_ht
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0
printf "}\n"
end
document print_ht
dumps elements of HashTable made of zval
end
define printzn
____executor_globals
set $ind = 0
set $znode = $arg0
if $znode->op_type == 1
set $optype = "IS_CONST"
end
if $znode->op_type == 2
set $optype = "IS_TMP_VAR"
end
if $znode->op_type == 4
set $optype = "IS_VAR"
end
if $znode->op_type == 8
set $optype = "IS_UNUSED"
end
printf "[0x%08x] %s", $znode, $optype
if $znode->op_type == 1
printf ": "
____printzv &$znode->u.constant 0
end
if $znode->op_type == 2
printf ": "
set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
____printzv ((union _temp_variable *)$tvar)->tmp_var 0
end
if $znode->op_type == 4
printf ": "
set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
____printzv *$tvar->var.ptr_ptr 0
end
if $znode->op_type == 8
printf "\n"
end
end
document printzn
print type and content of znode.
usage: printzn &opline->op1
end
define printzops
printf "op1 => "
printzn &execute_data->opline.op1
printf "op2 => "
printzn &execute_data->opline.op2
printf "result => "
printzn &execute_data->opline.result
end
document printzops
dump operands of the current opline
end
define zbacktrace
____executor_globals
dump_bt $eg.current_execute_data
end
document zbacktrace
prints backtrace.
This command is almost a short cut for
> (gdb) ____executor_globals
> (gdb) dump_bt $eg.current_execute_data
end
define zmemcheck
set $p = alloc_globals.head
set $stat = "?"
set $total_size = 0
if $arg0 != 0
set $not_found = 1
else
set $not_found = 0
end
printf " block size status file:line\n"
printf "-------------------------------------------------------------------------------\n"
while $p
set $aptr = $p + sizeof(struct _zend_mem_header) + sizeof(align_test)
if $arg0 == 0 || (void *)$aptr == (void *)$arg0
if $p->magic == 0x7312f8dc
set $stat = "OK"
end
if $p->magic == 0x99954317
set $stat = "FREED"
end
if $p->magic == 0xfb8277dc
set $stat = "CACHED"
end
set $filename = strrchr($p->filename, '/')
if !$filename
set $filename = $p->filename
else
set $filename = $filename + 1
end
printf " 0x%08x ", $aptr
if $p->size == sizeof(struct _zval_struct) && ((struct _zval_struct *)$aptr)->type >= 0 && ((struct _zval_struct *)$aptr)->type < 10
printf "ZVAL?(%-2d) ", $p->size
else
printf "%-9d ", $p->size
end
set $total_size = $total_size + $p->size
printf "%-06s %s:%d", $stat, $filename, $p->lineno
if $p->orig_filename
set $orig_filename = strrchr($p->orig_filename, '/')
if !$orig_filename
set $orig_filename = $p->orig_filename
else
set $orig_filename = $orig_filename + 1
end
printf " <= %s:%d\n", $orig_filename, $p->orig_lineno
else
printf "\n"
end
if $arg0 != 0
set $p = 0
set $not_found = 0
else
set $p = $p->pNext
end
else
set $p = $p->pNext
end
end
if $not_found
printf "no such block that begins at 0x%08x.\n", $aptr
end
if $arg0 == 0
printf "-------------------------------------------------------------------------------\n"
printf " total: %d bytes\n", $total_size
end
end
document zmemcheck
show status of a memory block.
usage: zmemcheck [ptr].
if ptr is 0, all blocks will be listed.
end
-272
View File
@@ -1,272 +0,0 @@
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
stage of the development of PHP v3.0, the code base does not (yet) fully
follow it, but it's going in that general direction. Since we are now
well into the version 4 releases, many sections have been recoded to use
these rules.
Code Implementation
-------------------
[0] Document your code in source files and the manual. [tm]
[1] Functions that are given pointers to resources should not free them
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
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
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
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
for efficiency and in order for them to be binary-safe.
Functions that change strings and obtain their new lengths while
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,
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.
[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
[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().
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
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.
Good:
'mcrypt_enc_self_test'
'mysql_list_fields'
Ok:
'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'?)
Bad:
'hw_GetObjectByQueryCollObj'
'pg_setclientencoding'
'jf_n_s_i'
[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_*.
A family of 'foo' functions, for example:
Good:
'foo_select_bar'
'foo_insert_baz'
'foo_delete_baz'
Bad:
'fooselect_bar'
'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
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
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
between words.
[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.
Good:
'connect()'
'getData()'
'buildSomeWidget()'
Bad:
'get_Data()'
'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, with words underscore delimited. The class name should be prefixed
with the name of the 'parent set'.
Good:
'Curl'
'Foo_Bar'
Bad:
'foobar'
'foo_bar'
'FooBar'
Syntax and indentation
----------------------
[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
code would compile with other compilers as well.
The only exception to this rule is code that is Win32-specific,
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
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.
(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;
}
to:
if(foo)bar;
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
indent preprocessor directives you should put the # at the beginning
of a line, followed by any number of whitespace.
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:
/* {{{ 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
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
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:
/* {{{ 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.
New and Experimental Functions
-----------------------------------
To reduce the problems normally associated with the first public
implementation of a new set of functions, it has been suggested
that the first implementation include a file labeled 'EXPERIMENTAL'
in the function directory, and that the functions follow the
standard prefixing conventions during their initial implementation.
The file labelled 'EXPERIMENTAL' should include the following
information:
Any authoring information (known bugs, future directions of the module).
Ongoing status notes which may not be appropriate for CVS comments.
Aliases & Legacy Documentation
-----------------------------------
You may also have some deprecated aliases with close to duplicate
names, for example, somedb_select_result and somedb_selectresult. For
documentation purposes, these will only be documented by the most
current name, with the aliases listed in the documentation for
the parent function. For ease of reference, user-functions with
completely different names, that alias to the same function (such as
highlight_file and show_source), will be separately documented. The
proto should still be included, describing which function is aliased.
Backwards compatible functions and names should be maintained as long
as the code can be reasonably be kept as part of the codebase. See
/phpdoc/README for more information on documentation.
-2
View File
@@ -1,2 +0,0 @@
For the list of people who've put work into PHP, please see
http://www.php.net/credits.php
-14191
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
-527
View File
@@ -1,527 +0,0 @@
List of PHP maintainers
=======================
Maintenance legend
------------------
Supported: Someone is actually paid to look after this.
Maintained: Someone actually looks after it.
Odd Fixes: It has a maintainer but they don't have time to do
much other than throw the odd patch in. See below.
Orphan: No current maintainer [but maybe you could take the
role as you write your new code].
Obsolete: Old code. Something tagged obsolete generally means
it has been replaced by a better system and you
should be using that.
Unknown: Not known at this time.
Status legend
-------------
Working: Working under both Windows and Unix.
Windows: Working only under Windows.
Unix: Working only under Unix.
Experimental: Under development or initial release.
Not Working: Not working.
Unknown: Status unknown.
== Server APIs ==
-------------------------------------------------------------------------------
EXTENSION: aolserver
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: apache
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: apache_hooks
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: apache2filter
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache2handler
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: caudium
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: cgi
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: cli
MAINTENANCE: Marcus Boerger <helly@php.net>, Edin Kadribasic <edink@php.net>
STATUS: Working
SINCE: 4.3.0
-------------------------------------------------------------------------------
EXTENSION: continuity
PRIMARY MAINTAINER: Alex Leigh <aleigh@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: date
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: embed
PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: isapi
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: milter
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: nsapi
PRIMARY MAINTAINER: Uwe Schindler <thetaphi@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phttpd
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pi3web
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: roxen
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: thttpd
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tux
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: webjames
PRIMARY MAINTAINER: Alex Waugh <alex@alexwaugh.com>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
== Database extensions ==
-------------------------------------------------------------------------------
EXTENSION: dba
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: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: msql
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mssql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Tested on phpts and isapi versions
-------------------------------------------------------------------------------
EXTENSION: mysql
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>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
EXTENSION: ovrimos
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Yasuo Ohgaki <yohgaki@php.net>
MAINTENANCE: Maintained
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>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0 (Since 4.3.2 in PECL)
COMMENT: Integrates SQLite embeddable SQL database engine.
-------------------------------------------------------------------------------
EXTENSION: sybase
MAINTENANCE: Unknown
STATUS: Not Working
-------------------------------------------------------------------------------
EXTENSION: sybase_ct
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
== XML extensions ==
-------------------------------------------------------------------------------
EXTENSION: dom
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: simplexml
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: soap
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
PRIMARY MAINTAINER: Dan Libby
MAINTENANCE: UNKNOWN
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xsl
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
== Other extensions ==
-------------------------------------------------------------------------------
EXTENSION: bcmath
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: bz2
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: calendar
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: com_dotnet
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
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>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
-------------------------------------------------------------------------------
EXTENSION: fam
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: fdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser (sesser@php.net)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gd
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gettext
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gmp
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: imap
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: ircg
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mbstring
PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
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 PECL's fileinfo extension instead
-------------------------------------------------------------------------------
EXTENSION: ming
PRIMARY MAINTAINER: Frank M. Kromann
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
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/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
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pfpro
PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pspell
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: readline
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: session
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: shmop
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: snmp
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: Experimental
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: spl
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0.0
-------------------------------------------------------------------------------
EXTENSION: sysvmsg
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: sysvsem
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: sysvshm
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tidy
PRIMARY MAINTAINER: John Coggeshall <john@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: yaz
PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
MAINTENANCE: Maintained
STATUS: Unknown
SINCE: 4.0.1
-------------------------------------------------------------------------------
EXTENSION: zlib
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
-1535
View File
File diff suppressed because it is too large. Load diff
-68
View File
@@ -1,68 +0,0 @@
--------------------------------------------------------------------
The PHP License, Version 3.0
Copyright (c) 1999 - 2005 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is 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 "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact group@php.net.
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from group@php.net. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
5. The PHP Group may publish revised and/or new versions of the
license from time to time. Each version will be given a
distinguishing version number.
Once covered code has been published under a particular version
of the license, you may always continue to use it under the terms
of that version. You may also choose to use such covered code
under the terms of any subsequent version of the license
published by the PHP Group. No one other than the PHP Group has
the right to modify the terms applicable to covered code created
under this License.
6. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes PHP, freely available from
<http://www.php.net/>".
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``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 PHP
DEVELOPMENT TEAM 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 PHP Group.
The PHP Group can be contacted via Email at group@php.net.
For more information on the PHP Group and the PHP project,
please see <http://www.php.net>.
This product includes the Zend Engine, freely available at
<http://www.zend.com>.
-23
View File
@@ -1,23 +0,0 @@
#
# Zend
#
$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
$(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: $(builddir)/zend_language_parser.h
-78
View File
@@ -1,78 +0,0 @@
mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
INSTALL = $(top_srcdir)/build/shtool install -c
INSTALL_DATA = $(INSTALL) -m 644
DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
CORE_HEADERS = Zend/ TSRM/ include/ main/ main/streams/ regex/ ext/standard/
INSTALL_HEADERS = $(CORE_HEADERS) $(INSTALL_EXT_HEADERS)
all: $(all_targets)
@echo
@echo "Build complete."
@echo "(It is safe to ignore warnings about tempnam and tmpnam)."
@echo
build-modules: $(PHP_MODULES)
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 libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
libs/libphp5.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp5.so
install: $(all_targets) $(install_targets)
install-sapi: $(OVERALL_TARGET)
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-@if test ! -r $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME); then \
for i in 0.0.0 0.0 0; do \
if test -r $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME); \
break; \
fi; \
done; \
fi
@$(INSTALL_IT)
install-modules: build-modules
@test -d modules && \
$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR)
@echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/"
@rm -f modules/*.la >/dev/null 2>&1
@$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR)
install-su: install-pear
test: all
-@if test ! -z $(PHP_EXECUTABLE) && test -x $(PHP_EXECUTABLE); then \
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(PHP_EXECUTABLE) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -d 'extension_dir=modules/' -d `( . $(PHP_MODULES) ; echo extension=$$dlname)` tests/; \
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 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
clean:
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp5.la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp5.module buildmk.stamp
$(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:
-893
View File
@@ -1,893 +0,0 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2005, PHP 5.1
- Updated bundled libraries in Windows distribution. (Edin)
. zlib 1.2.3
. curl 7.14.0
. openssl 0.9.8
. ming 0.3b
. libpq (PostgreSQL) 8.0.1
- Fixed "make test" to work for phpized extensions. (Hartmut, Jani)
- Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems.
(Andrey)
- Fixed bug #33999 (object remains object when cast to int). (Dmitry)
- Fixed bug #33996 (No information given for fatal error on passing invalid
value to typed argument). (Dmitry)
- Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry)
- Fixed bug #33967 (misuse of Exception constructor doesn't display errorfile).
(Jani)
- Fixed bug #33958 (duplicate cookies and magic_quotes=off may cause a crash).
(Ilia)
- Fixed bug #33917 (number_format() output with > 1 char separators). (Jani)
- Fixed bug #33904 (input array keys being escaped when magic quotes is off).
(Ilia)
- Fixed bug #33899 (CLI: setting extension_dir=some/path extension=foobar.so
does not work). (Jani)
- Fixed bug #33882 (CLI was looking for php.ini in wrong path). (Hartmut)
- Fixed bug #33869 (strtotime() problem with "+1days" format). (Ilia)
- Fixed bug #33841 (pdo sqlite driver forgets to update affected column count
on execution of prepared statments). (Ilia)
- Fixed bug #33837 (Informix ESQL version numbering schema changed). (Jani)
- Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry)
- Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry)
- Fixed bug #33710 (ArrayAccess objects doen't initialize $this). (Dmitry)
- Fixed bug #33690 (Crash setting some ini directives in httpd.conf). (Rasmus)
- Fixed bug #33578 (strtotime() problem with "Oct17" format). (Derick)
- Fixed bug #33558 (warning with nested calls to functions returning by
reference). (Dmitry)
- Fixed bug #32139 (SOAP client does not auto-handle base64 encoding). (Ilia)
- Fixed bug #32010 (Memory leak in mssql_fetch_batch). (fmk)
- Fixed bug #29334 (win32 mail() provides incorrect Date: header). (Jani)
14 Jul 2005, PHP 5.1 Beta 3
- Upgraded bundled SQLite library for PDO:SQLite to 3.2.2 (Ilia)
- Moved extensions to PECL:
. ext/dbx (Jani, Derick)
. ext/ircg (Jani, Derick)
- Added PDO_MYSQL_ATTR_USE_BUFFERED_QUERY parameter for pdo_mysql. (Ilia)
- Added date_timezone_set() function to set the timezone that the date
functions will use. (Derick)
- Added pg_fetch_all_columns() function to fetch all values of a column from
a result cursor. (Ilia)
- Added support for LOCK_EX flag for file_put_contents(). (Ilia)
- Implemented feature request #33452 (Year belonging to ISO week). (Derick)
- Fixed support for shared extensions on AIX. (Dmitry)
- Fixed memory corruption in pg_copy_from() in case the as_null parameter was
passed. (Derick)
- Fixed crash inside stream_get_line() when length parameter equals 0. (Ilia)
- Fixed bug #33673 (Added detection for partially uploaded files). (Ilia)
- Fixed bug #33605 (substr_compare() crashes with negative offset and length).
(Tony)
- Fixed bug #33597 (setcookie() "expires" date format doesn't comply with RFC).
(Tony)
- Fixed bug #33588 (LDAP: RootDSE query not possible). (Jani)
- Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format). (Derick)
- Fixed bug #33562 (date("") crashes). (Derick)
- Fixed bug #33536 (strtotime() defaults to now even on non time string).
(Derick)
- Fixed bug #33532 (Different output for strftime() and date()). (Derick)
- Fixed bug #33523 (Memory leak in xmlrpc_encode_request()). (Ilia)
- Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed).
(Dmitry)
- Fixed bug #33512 (Add missing support for isset()/unset() overloading to
complement the property get/set methods). (Dmitry)
- Fixed bug #33491 (crash after extending MySQLi internal class). (Tony)
- Fixed bug #33475 (cURL handle is not closed on curl_close(). (Ilia)
- Fixed bug #33469 (Compile error undefined reference to ifx_checkAPI). (Jani)
- Fixed bug #33433 (strtoll not available on Tru64). (Jani, Derick)
- Fixed bug #33415 (strtotime() related bugs). (Derick)
- Fixed bug #32660 (Assignment by reference causes crash when field access is
overloaded (__get)). (Dmitry)
- Fixed bug #31358 (Older GCC versions do not provide portable va_copy()).
(Jani)
- Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry)
- Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
(Nuno)
- Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden
methods). (Dmitry)
- Fixed bug #30519 (Interface not existing says Class not found). (Dmitry)
- Fixed bug #30096 (gmmktime does not return the corrent time). (Derick)
- Fixed bug #30052 (Crash on shutdown after odbc_pconnect()). (Edin)
- Fixed bug #28377 (debug_backtrace is intermittently passing args). (Dmitry)
- Fixed bug #28072 (static array with some constant keys will be incorrectly
ordered). (Dmitry)
- Fixed bug #27268 (Bad references accentuated by clone). (Dmitry)
22 Jun 2005, PHP 5.1 Beta 2
- Improved PHP extension loading mechanism with support for module dependencies
and conflicts. (Jani, Dmitry)
- Allowed return by reference from internal functions. (Marcus, Andi, Dmitry)
- Rewrote strtotime() with support for timezones and many new formats.
Implements feature requests #21399, #26694, #28088, #29150, #29585 and
#29595. (Derick)
- Added bindto socket context option. (Ilia)
- Added offset parameter to the stream_copy_to_stream() function. (Ilia)
- Added offset & length parameters to substr_count() function. (Ilia)
- Fixed inheritance check to control return by reference and pass by reference
correctly (ArrayAccess can no longer support references correctly).
(Marcus, Andi, Dmitry)
- Fixed PDO shutdown problem (possible inifite loop running rollback on
shutdown). (Wez)
- Fixed PECL bug #3714 (PDO: beginTransaction doesn't work if you're in
auto-commit mode). (Wez)
- Fixed bug #33427 (ext/odbc: check if unixODBC header file exists). (Jani)
- Fixed bug #33389 (double free() when exporting a ReflectionClass). (Marcus)
- Fixed bug #33382 (array_reverse() fails after *sort()),
introduced by zend_hash_sort() optimizations in HEAD. (Tony)
- Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob)
- Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8). (Dmitry)
- Fixed bug #33312 (ReflectionParameter methods do not work correctly).
(Dmitry)
- Fixed bug #33299 (php:function no longer handles returned dom objects).
(Rob, Joe Orton)
- Fixed bug #33286 (nested array_walk() calls and user array compare functions
broken; FCI cache). (Andrei, patch from m.bretz@metropolis-ag.de)
- Fixed bug #33277 (private method accessed by child class). (Dmitry)
- Fixed bug #33257 (array_splice() inconsistent when passed function instead
of variable). (Dmitry)
- Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol
'zend_error'). (Dmitry)
- Fixed bug #33150 (shtool: insecure temporary file creation). (Jani)
- Fixed bug #33136 (method offsetSet in class extended from ArrayObject crash
PHP). (Marcus)
- Fixed bug #32160 (copying a file into itself leads to data loss). (Ilia)
- Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle -pthread).
(Jani)
- Fixed bug #31213 (Sideeffects caused by fix of bug #29493). (Dmitry)
- Fixed bug #31054 (safe_mode & open_basedir checks only check first
include_path value). (Ilia)
- Fixed bug #29896 (Backtrace argument list out of sync). (Dmitry)
- Fixed bug #29683 (headers_list() returns empty array). (Tony)
- Fixed bug #28355 (glob wont error if dir is not readable). (Hartmut)
- Fixed bug #15854 (boolean ini options may be incorrectly displayed as Off
when they are On). (Tony)
- Fixed bugs #14561, #20382, #26090, #26320, #28024, #30532, #32086, #32270,
#32555, #32588, #33056 (strtotime() related bugs). (Derick)
10 Jun 2005, PHP 5.1 Beta 1
- Upgraded PCRE library to version 5.0. (Andrei)
- Removed php_check_syntax() function which never worked properly. (Ilia)
- Removed garbage manager in Zend Engine which results in more aggressive
freeing of data. (Dmitry, Andi)
- Moved extensions to PECL:
. ext/cpdf (Tony, Derick)
. ext/dio (Jani, Derick)
. ext/fam (Jani, Derick)
. ext/ingres_ii (Jani, Derick)
. ext/mnogosearch (Jani, Derick)
. ext/w32api (Jani, Derick)
. ext/yp (Jani, Derick)
- Changed sha1_file() and md5_file() functions to use streams instead of
low level IO. (Uwe)
- Changed abstract private methods to be not allowed anymore. (Stas)
- Changed stream_filter_(ap|pre)pend() to return resource. (Sara)
- Changed mysqli_exception and sqlite_exception to use RuntimeException as base
if SPL extension is present. (Georg, Marcus)
- Improved interactive mode of PHP CLI (php -a). (Johannes, Marcus)
- Improved performance of:
. general execution/compilation. (Andi, Thies, Sterling, Dmitry, Marcus)
. switch() statement. (Dmitry)
. several array functions. (Marcus)
. virtual path handling by adding a realpath() cache. (Andi)
. variable fetches. (Andi)
. magic method invocations. (Marcus)
- Improved support for embedded server in mysqli. (Georg)
- Improved mysqli extension. (Georg)
. added constructor for mysqli_stmt and mysqli_result classes
. added new function mysqli_get_charset()
. added new function mysqli_set_charset()
. added new class mysqli_driver
. added new class mysqli_warning
. added new class mysqli_execption
. added new class mysqli_sql_exception
- Improved SPL extension. (Marcus)
. added standard hierarchy of Exception classes
. added interface Countable
. added interfaces Subject and Observer
. added spl_autoload*() functions
. converted several 5.0 examples into c code
. added class FileObject
. added possibility to use a string with class_parents() and
class_implements(). (Andrey)
- Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana)
- Added support for .cc files in extensions. (Brian)
- Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey)
- Added user opcode API that allow overloading of opcode handlers. (Dmitry)
- Added an optional remove old session parameter to session_regenerate_id(). (Ilia)
- Added array type hinting. (Dmitry)
- Added the tidy_get_opt_doc() function to return documentation for
configuration options in tidy. (Patch by: nlopess@php.net)
- Added support for .cc files in extensions. (Brian)
- Added imageconvolution() function which can be used to apply a custom 3x3
matrix convolution to an image. (Pierre)
- Added optional first parameter to XsltProcessor::registerPHPFunctions to only
allow certain functions to be called from XSLT. (Christian)
- Added the ability to override the autotools executables used by the buildconf
script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental variables. (Jon)
- Added several new functions to support the PostgreSQL v3 protocol introduced
in PostgreSQL 7.4. (Christopher)
. pg_transaction_status() - in-transaction status of a database connection.
. pg_query_params() - execution of parameterized queries.
. pg_prepare() - prepare named queries.
. pg_execute() - execution of named prepared queries.
. pg_send_query_params() - async equivalent of pg_query_params().
. pg_send_prepare() - async equivalent of pg_prepare().
. pg_send_execute() - async equivalent of pg_execute().
. pg_result_error_field() - highly detailed error information,
most importantly the SQLSTATE error code.
. pg_set_error_verbosity() - set verbosity of errors.
- Added optional fifth parameter "count" to preg_replace_callback() and
preg_replace() to count the number of replacements made. FR #32275. (Andrey)
- Added optional third parameter "charlist" to str_word_count() which
contains characters to be considered as word part. FR #31560. (Andrey, Ilia)
- Added interface Serializeable. (Stanislav, Marcus)
- Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com)
- Added zend_declare_property_...() and zend_update_property_...()
API functions for bool, double and binary safe strings. (Hartmut)
- Added possibility to access INI variables from within .ini file. (Andrei)
- Added variable $_SERVER['REQUEST_TIME'] containing request start time. (Ilia)
- Added optional float parameter to gettimeofday(). (Ilia)
- Added apache_reset_timeout() Apache1 function. (Rasmus)
- Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia)
- Added optional offset parameter to stream_get_contents() and
file_get_contents(). (Ilia)
- Added optional maxlen parameter to file_get_contents(). (Ilia)
- Added SAPI hook to get the current request time. (Rasmus)
- Added new functions:
. array_diff_key() (Andrey)
. array_diff_ukey() (Andrey)
. array_intersect_key() (Christiano Duarte)
. array_intersect_ukey() (Christiano Duarte)
. array_product() (Andrey)
. DomDocumentFragment::appendXML() (Christian)
. fputcsv() (David Sklar)
. htmlspecialchars_decode() (Ilia)
. inet_pton() (Sara)
. inet_ntop() (Sara)
. mysqli::client_info property (Georg)
. posix_access() (Magnus)
. posix_mknod() (Magnus)
. SimpleXMLElement::registerXPathNamespace() (Christian)
. stream_context_get_default() (Wez)
. stream_socket_enable_crypto() (Wez)
. stream_wrapper_unregister() (Sara)
. stream_wrapper_restore() (Sara)
. stream_filter_remove() (Sara)
. time_sleep_until() (Ilia)
- Added DomDocument::$recover property for parsing not well-formed
XML Documents. (Christian)
- Added Cursor support for MySQL 5.0.x in mysqli (Georg)
- Added proxy support to ftp wrapper via http. (Sara)
- Added MDTM support to ftp_url_stat. (Sara)
- Added zlib stream filter support. (Sara)
- Added bz2 stream filter support. (Sara)
- Added HTTP/1.1 and chunked encoding support to http:// wrapper. (Sara)
- Added max_redirects context option that specifies how many HTTP
redirects to follow. (Ilia)
- Added support of parameter=>value arrays to xsl_xsltprocessor_set_parameter().
(Tony)
- Fixed extension initialization to respect dependancies between extensions.
(Wez)
- Fixed ext/mysqli to allocate less memory when fetching bound params
of type (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT. (Andrey)
- Fixed memory corruption in ImageTTFText() with 64bit systems. (Andrey)
- Fixed memory corruption in stristr(). (Derick)
- Fixed segfaults when CURL callback functions throw exception. (Tony)
- Fixed a problem with SPL iterators aggregating the innner iterator. (Marcus)
- Fixed bug with $HTTP_RAW_POST_DATA not getting set. (Brian)
- Fixed bug in mysql::client_version(). (Georg)
- Fixed ZTS destruction. (Marcus)
- Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3 in
length). (Ilia)
- Fixed bug #33243 (ze1_compatibility_mode does not work as expected). (Dmitry)
- Fixed bug #33242 (Mangled error message when stream fails). (Derick)
- Fixed bug #33222 (segfault when CURL handle is closed in a callback). (Tony)
- Fixed bug #33214 (odbc_next_result does not signal SQL errors with
2-statement SQL batches). (rich at kastle dot com, Tony)
- Fixed bug #33210 (relax jpeg recursive loop protection). (Ilia)
- Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier
misbehave). (Jani)
- Fixed bug #33185 (--enable-session=shared does not build). (Jani)
- Fixed bug #33171 (foreach enumerates private fields declared in base
classes). (Dmitry)
- Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia)
- Fixed bug #33116 (crash when assigning class name to global variable in
__autoload). (Dmitry)
- Fixed bug #33090 (mysqli_prepare() doesn't return an error). (Georg)
- Fixed bug #33076 (str_ireplace() incorrectly counts result string length
and may cause segfault). (Tony)
- Fixed bug #33072 (Add a safemode/open_basedir check for runtime
"session.save_path" change using session_save_path() function). (Rasmus)
- Fixed bug #33070 (Improved performance of bzdecompress() by several orders
of magnitude). (Ilia)
- Fixed bug #33059 (crash when moving xml attribute set in dtd). (Ilia)
- Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per
RFC 2616 section 10.3.5) (Rasmus, Choitel)
- Fixed bug #33019 (socket errors cause memory leaks in php_strerror()).
(jwozniak23 at poczta dot onet dot pl, Tony).
- Fixed bug #33017 ("make distclean" gives an error with VPATH build). (Jani)
- Fixed bug #33013 ("next month" was handled wrong while parsing dates).
(Derick)
- Fixed bug #32993 (implemented Iterator function current() don't throw
exception). (Dmitry)
- Fixed bug #32956 (mysql_bind_result() doesn't support MYSQL_TYPE_NULL). (Georg)
- Fixed bug #32947 (Incorrect option for mysqli default password). (Georg)
- Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading
session cookies). (Jani, Tony)
- Fixed bug #32941 (Sending structured SOAP fault kills a php). (Dmitry)
- Fixed bug #32936 (http redirects URLs are not checked for control chars). (Ilia)
- Fixed bug #32933 (Cannot extend class "SQLiteDatabase"). (Marcus)
- Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani)
- Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob)
- Fixed bug #32924 (file included with "auto_prepend_file" can be included
with require_once() or include_once()). (Stas)
- Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony)
- Fixed bug #32852 (Crash with singleton and __destruct when
zend.ze1_compatibility_mode = On). (Dmitry)
- Fixed bug #32833 (Invalid opcode). (Dmitry)
- Fixed bug #32813 (parse_url() does not handle scheme-only urls properly). (Ilia)
- Fixed bug #32810 (temporary files not using plain file wrapper). (Ilia)
- Fixed bug #32809 (Missing T1LIB support on Windows). (Edin)
- Fixed bug #32802 (General cookie overrides more specific cookie). (Ilia)
- Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems). (Jani)
- Fixed bug #32799 (crash: calling the corresponding global var during the
destruct). (Dmitry)
- Fixed bug #32776 (SOAP doesn't support one-way operations). (Dmitry)
- Fixed bug #32773 (GMP functions break when second parameter is 0). (Stas)
- Fixed bug #32759 (incorrect determination of default value (COM)). (Wez)
- Fixed bug #32758 (Cannot access safearray properties in VB6 objects). (Wez)
- Fixed bug #32755 (Segfault in replaceChild() when DocumentFragment has
no children). (Rob)
- Fixed bug #32753 (Undefined constant SQLITE_NOTADB). (Ilia)
- Fixed bug #32742 (segmentation fault when the stream with a wrapper
is not closed). (Tony, Dmitry)
- Fixed bug #32699 (pg_affected_rows() was defined when it was not available).
(Derick)
- Fixed bug #32686 (Require/include file in destructor causes segfault).
(Marcus)
- Fixed bug #32682 (ext/mssql: Error on module shutdown when called from
activescript). (Frank)
- Fixed bug #32674 (exception in iterator causes crash). (Dmitry)
- Fixed bug #32647 (Using register_shutdown_function() with invalid callback
can crash PHP). (Jani)
- Fixed bug #32615 (Segfault in replaceChild() using fragment when
previousSibling is NULL). (Rob)
- Fixed bug #32613 (ext/snmp: use of snmp_shutdown() causes snmpapp.conf
access errors). (Jani, ric at arizona dot edu)
- Fixed bug #32608 (html_entity_decode() converts single quotes even if
ENT_NOQUOTES is given). (Ilia)
- Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct).
(Dmitry)
- Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX). (Jani)
- Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets).
(Ilia)
- Fixed bug #32587 (Apache2: errors sent to error_log do not include
timestamps). (Jani)
- Fixed bug #32560 (configure looks for incorrect db2 library). (Tony)
- Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32). (Ilia)
- Fixed bug #32533 (proc_get_status() returns the incorrect process status). (Ilia)
- Fixed bug #32530 (chunk_split() does not append endstr if chunklen is
longer then the original string). (Ilia)
- Fixed bug #32491 (File upload error - unable to create a temporary file).
(Uwe Schindler)
- Fixed bug #32429 (method_exists() always return TRUE if __call method
exists). (Dmitry)
- Fixed bug #32428 (The @ warning error supression operator is broken).
(Dmitry)
- Fixed bug #32427 (Interfaces are not allowed 'static' access modifier).
(Dmitry)
- Fixed bug #32405 (mysqli::fetch() returns bad data - 64bit problem). (Andrey)
- Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit). (Georg)
- Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and
5.0.3). (Dmitry)
- Fixed bug #32245 (xml_parser_free() in a function assigned to the xml parser
gives a segfault). (Rob)
- Fixed bug #32171 (Userspace stream wrapper crashes PHP). (Tony, Dmitry)
- Fixed bug #32109 ($_POST is not populated in multithreaded environment).
(Moriyoshi)
- Fixed bug #32080 (segfault when assigning object to itself with
zend.ze1_compatibility_mode=On). (Dmitry)
- Fixed bug #32021 (Crash caused by range('', 'z')). (Derick)
- Fixed bug #32013 (ext/mysqli bind_result causes fatal error: memory
limit). (Andrey)
- Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP
response message). (Jani)
- Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On). (Dmitry)
- Fixed bug #31668 (multi_query works exactly every other time - multi query
d/e flag global and not per connection). (Andrey)
- Fixed bug #31636 (another crash when echoing a COM object). (Wez)
- Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance
mode). (mike at php dot net)
- Fixed bug #31525 (object reference being dropped. $this getting lost).
(Stas, Dmitry)
- Fixed bug #31502 (Wrong deserialization from session when using WDDX
serializer). (Dmitry)
- Fixed bug #31478 (segfault with empty() / isset()). (Moriyoshi)
- Fixed bug #31465 (False warning in unpack() when working with *). (Ilia)
- Fixed bug #31363 (broken non-blocking flock()). (ian at snork dot net)
- Fixed bug #31033 (php:function(string, nodeset) with xsl:key crashes PHP).
(Rob)
- Fixed bug #30961 (Wrong linenumber in ReflectionClass getStartLine()).
(Dmitry)
- Fixed bug #30889 (Conflict between __get/__set and ++ operator). (Dmitry)
- Fixed bug #30833 (array_count_values() modifying input array). (Tony)
- Fixed bug #30820 (static member conflict with $this->member silently
ignored). (Dmitry)
- Fixed bug #30819 (Better support for LDAP SASL bind). (Jani)
- Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if
object is overloaded). (Dmitry)
- Fixed bug #30707 (Segmentation fault on exception in method). (Stas, Dmitry)
- Fixed bug #30702 (cannot initialize class variable from class constant).
(Dmitry)
- Fixed bug #30578 (Output buffers flushed before calling __desctruct()
functions). (Jani)
- Fixed bug #30407 (Strange behaviour of default arguments). (Dmitry)
- Fixed bug #30394 (Assignment operators yield wrong result with __get/__set).
(Dmitry)
- Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with
array_push()). (Dmitry)
- Fixed bug #30162 (Catching exception in constructor causes lose of $this).
(Dmitry)
- Fixed bug #30140 (Problem with array in static properties). (Dmitry)
- Fixed bug #30126 (Enhancement for error message for abstract classes).
(Marcus)
- Fixed bug #30080 (Passing array or non array of objects). (Dmitry)
- Fixed bug #29975 (memory leaks when set_error_handler() is used inside error
handler). (Tony)
- Fixed bug #29971 (variables_order behaviour). (Dmitry)
- Fixed bug #29944 (Function defined in switch, crashes). (Dmitry)
- Fixed bug #29728 (Reflection API Feature: Default parameter value). (Marcus)
- Fixed bug #29689 (default value of protected member overrides default value of
private and other private variable problems in inherited classes). (Stas)
- Fixed bug #29583 (crash when echoing a COM object). (M.Sisolak, Wez)
- Fixed bug #29522 (accessing properties without connection). (Georg)
- Fixed bug #29338 (unencoded spaces get ignored after certain tags). (Ilia)
- Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default). (Georg)
- Fixed bug #29311 (calling parent constructor in mysqli). (Georg)
- Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345 bytes).
(Dmitry, Wez)
- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
- Fixed bug #29210 (Function: is_callable - no support for private and
protected classes). (Dmitry)
- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
- Fixed bug #29104 (Function declaration in method doesn't work). (Dmitry)
- Fixed bug #29061 (soap extension segfaults). (Dmitry)
- Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric
mem vars und others). (Dmitry)
- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
- Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry)
- Fixed bug #28839 (SIGSEGV in interactive mode (php -a)).
(kameshj at fastmail dot fm)
- Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs). (Jani)
- Fixed bug #28568 (SAPI::known_post_content_types is not thread safe).
(Moriyoshi)
- Fixed bug #27598 (list() array key assignment causes HUGE memory leak).
(Dmitry)
- Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when
called via STDIN). (Dmitry)
- Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result
in seg fault). (Dmitry)
- Fixed bug #22836 (returning reference to uninitialized variable). (Dmitry)
31 Mar 2005, PHP 5.0.4
- Added SNMPv2 support. (harrie)
- Added Oracle Instant Client support. (cjbj at hotmail dot com, Tony)
- Added length and charsetnr for field array and object in mysqli. (Georg)
- Added checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
and gmp_fact() to prevent SIGFPE. (Tony)
- Changed foreach() to throw an exception if IteratorAggregate::getIterator()
does not return an Iterator. (Marcus)
- Changed phpize not to require libtool. (Jani)
- Updated bundled oniguruma library (used for multibyte regular expression)
to 3.7.0. (Moriyoshi)
- Updated bundled libmbfl library (used for multibyte functions). (Moriyoshi)
Fixed bugs:
. Bug #32311 (mb_encode_mimeheader() does not properly escape characters)
. Bug #32063 (mb_convert_encoding ignores named entity 'alpha')
. Bug #31911 (mb_decode_mimeheader() is case-sensitive to hex escapes)
. bug #30573 (compiler warnings in libmbfl due to invalid type cast)
. Bug #30549 (incorrect character translations for some ISO8859 charsets).
- Fixed bug preventing from building oci8 as shared.
(stanislav dot voroniy at portavita dot nl, Tony)
- Fixed a bug in mysql_affected_rows and mysql_stmt_affected_rows when the
api function returns -1 (Georg)
- Fixed several leaks in ext/browscap and sapi/embed. (Andrei)
- Fixed several leaks in ext/filepro. (Tony)
- Fixed build system to always use bundled libtool files. (Jani)
- Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values).
(Georg)
- Fixed segfault in mysqli_fetch_field_direct() when invalid field offset
is passed. (Tony)
- Fixed posix_getsid() & posix_getpgid() to return sid & pgid instead
of true. (Tony)
- Fixed bug #32394 (offsetUnset() segfaults in a foreach). (Marcus)
- Fixed bug #32373 (segfault in bzopen() if supplied path to non-existent
file). (Tony)
- Fixed bug #32326 (Check values of Connection/Transfer-Encoding
case-incentively in SOAP extension). (Ilia)
- Fixed bug #32290 (call_user_func_array() calls wrong class method within
child class). (Marcus)
- Fixed bug #32238 (spl_array.c: void function cannot return value). (Johannes)
- Fixed bug #32210 (proc_get_status() sets "running" always to true). (Ilia)
- Fixed bug #32200 (Prevent using both --with-apxs2 and --with-apxs2filter).
(Jani)
- Fixed bug #32134 (Overloading offsetGet/offsetSet). (Marcus)
- Fixed bug #32130 (ArrayIterator::seek() does not throw an Exception on
invalid index). (Marcus)
- Fixed bug #32115 (dateTime SOAP encoding of timezone incorrect). (Dmitry)
- Fixed bug #32081 (in mysqli default socket value is not being used). (Ilia)
- Fixed bug #32021 (Crash caused by range('', 'z')). (Derick)
- Fixed bug #32011 (Fragments which replaced Nodes are not globaly useable).
(Rob)
- Fixed bug #32001 (xml_parse_into_struct() function exceeds maximum
execution time). (Rob, Moriyoshi)
- Fixed bug #31980 (Unicode exif data not available on Windows). (Edin)
- Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns
with NULL values). (Daniel Convissor)
- Fixed bug #31878 (Segmentation fault using clone keyword on nodes). (Rob)
- Fixed bug #31858 (--disable-cli does not force --without-pear). (Jani)
- Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string).
(Jani)
- Fixed bug #31832 (SOAP encoding problem with complex types in WSDL mode with
multiple parts). (Dmitry)
- Fixed bug #31797 (exif_read_data() uses too low nesting limit). (Ilia)
- Fixed bug #31796 (readline completion handler does not handle empty return
values). (Ilia)
- Fixed bug #31792 (getrusage() does not provide ru_nswap value). (Ilia)
- Fixed bug #31755 (Cannot create SOAP header in no namespace). (Dmitry)
- Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick)
- Fixed bug #31751 (pg_parameter_status() missing on Windows). (Edin)
- Fixed bug #31747 (SOAP Digest Authentication doesn't work with
"HTTP/1.1 100 Continue" response). (Dmitry)
- Fixed bug #31732 (mb_get_info() causes segfault when no parameters
specified). (Tony)
- Fixed bug #31710 (Wrong return values for mysqli_autocommit/commit/rollback).
(Georg)
- Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). (Ilia)
- Fixed bug #31695 (Cannot redefine endpoint when using WSDL). (Dmitry)
- Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings).
(elod at itfais dot com)
- Fixed bug #31683 (changes to $name in __get($name) override future
parameters). (Dmitry)
- Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia)
- Fixed bug #31562 (__autoload() problem with static variables). (Marcus)
- Fixed bug #31651 (ReflectionClass::getDefaultProperties segfaults with arrays).
(Marcus)
- Fixed bug #31623 (OCILogin does not support password grace period).
(daniel dot beet at accuratesoftware dot com, Tony)
- Fixed bug #31527 (crash in msg_send() when non-string is stored without
being serialized). (Ilia)
- Fixed bug #31515 (Improve performance of scandir() by factor of 10 or so). (Ilia)
- Fixed bug #31514 (open_basedir uses path_translated rather then cwd for .
translation). (Ilia)
- Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). (Ilia)
- Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). (Ilia)
- Fixed bug #31454 (session_set_save_handler crashes PHP when supplied
non-existent object ref). (Tony)
- Fixed bug #31444 (Memory leak in zend_language_scanner.c).
(hexer at studentcenter dot org)
- Fixed bug #31442 (unserialize broken on 64-bit systems). (Marcus)
- Fixed bug #31440 ($GLOBALS can be overwritten via GPC when register_globals
is enabled). (Ilia)
- Fixed bug #31422 (No Error-Logging on SoapServer-Side). (Dmitry)
- Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). (Joe)
- Fixed bug #31396 (compile fails with gd 2.0.33 without freetype). (Jani)
- Fixed bug #31371 (highlight_file() trims new line after heredoc). (Ilia)
- Fixed bug #31361 (simplexml/domxml segfault when adding node twice). (Rob)
- Fixed bug #31348 (CachingIterator::rewind() leaks). (Marcus)
- Fixed bug #31346 (ArrayIterator::next segfaults). (Marcus)
- Fixed bug #31190 (Unexpected warning then exception is thrown from
call_user_func_array()). (phpbugs at domain51 dot net, Dmitry)
- Fixed bug #31142 (imap_mail_compose() fails to generate correct output). (Ilia)
- Fixed bug #31139 (XML Parser Functions seem to drop &amp; when parsing). (Rob)
- Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff).
(Ilia)
- Fixed bug #31288 (Possible crash in mysql_fetch_field(), if mysql_list_fields()
was not called previously). (Ilia)
- Fixed bug #31107, #31110, #31111, #31249 (Compile failure of zend_strtod.c).
(Jani)
- Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick)
- Fixed bug #31107 (Compile failure on Solaris 9 (Intel) and gcc 3.4.3). (Derick)
- Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia)
- Fixed bug #31101 (missing kerberos header file path with --with-openssl). (Jani)
- Fixed bug #31098 (isset() / empty() incorrectly return true in dereference of
a string type). (Moriyoshi)
- Fixed bug #31087 (broken php_url_encode_hash macro). (Ilia)
- Fixed bug #31072 (var_export() does not output an array element with an empty
string key). (Derick)
- Fixed bug #31060 (imageftbbox() does not use linespacing parameter). (Jani)
- Fixed bug #31056 (php_std_date() returns invalid formatted date if
y2k_compliance is On). (Ilia)
- Fixed bug #31055 (apache2filter: per request leak proportional to the full
path of the request URI). (kameshj at fastmail dot fm)
- Fixed bug #30901 (can't send cookies with soap envelop). (Dmitry)
- Fixed bug #30871 (Misleading warning message for array_combine()). (Andrey)
- Fixed bug #30868 (evaluated pointer comparison in mbregex causes compile
failure). (Moriyoshi)
- Fixed bug #30862 (Static array with boolean indexes). (Marcus)
- Fixed bug #30726 (-.1 like numbers are not being handled correctly). (Ilia)
- Fixed bug #30725 (PHP segfaults when an exception is thrown in getIterator()
within foreach). (Marcus)
- Fixed bug #30609 (cURL functions bypass open_basedir). (Jani)
- Fixed bug #30446 (apache2handler: virtual() includes files out of sequence)
- Fixed bug #30430 (odbc_next_result() doesn't bind values and that results
in segfault). (pdan-php at esync dot org, Tony)
- Fixed bug #30266 (Invalid opcode 137/1/8). (Marcus)
- Fixed bug #30120 (imagettftext() and imagettfbbox() accept too many
parameters). (Jani)
- Fixed bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught
SoapFault exception). (Dmitry)
- Fixed bug #29989 (type re_registers redefined in oniguruma.h). (Moriyoshi)
- Fixed bug #28803 (enabled debug causes bailout errors with CLI on AIX
because of fflush() called on already closed filedescriptor). (Tony)
- Fixed bug #29767 (Weird behaviour of __set($name, $value)). (Dmitry)
- Fixed bug #29733 (printf() handles repeated placeholders wrong).
(bugs dot php dot net at bluetwanger dot de, Ilia)
- Fixed bug #29424 (width and height inverted for JPEG2000 files). (Ilia)
- Fixed bug #29329 (configure for mysqli with shared doesn't work). (Georg)
- Fixed bug #29136 (make test - libtool failure on MacOSX). (Jani)
- Fixed bug #28976 (mail(): use "From:" from headers if sendmail_from is empty).
(Jani)
- Fixed bug #28930 (PHP sources pick wrong header files generated by bison).
(eggert at gnu dot org, Jani)
- Fixed bug #28840 (__destruct of a class that extends mysqli not called).
(Marcus)
- Fixed bug #28804 (ini-file section parsing pattern is buggy).
(wendland at scan-plus dot de)
- Fixed bug #28451 (corrupt EXIF headers have unlimited recursive IFD directory
entries). (Andrei)
- Fixed bug #28444 (Cannot access undefined property for object with overloaded
property access). (Dmitry)
- Fixed bug #28442 (Changing a static variables in a class changes it across
sub/super classes.) (Marcus)
- Fixed bug #28324 (HTTP_SESSION_VARS appear when register_long_arrays is
Off). (Tony)
- Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream).
(chris at ex-parrot dot com)
- Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick,
Benjamin Greiner)
- Fixed bug #28041 (SOAP HTTP Digest Access Authentication). (Dmitry)
- Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). (Ilia)
- Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly).
(Jani)
15 Dec 2004, PHP 5.0.3
- Added the %F modifier to *printf to render a non-locale-aware representation
of a float with the . as decimal seperator. (Derick)
- Fixed error handling in mysqli_multi_query. (Georg)
- Extended the functionality of is_subclass_of() to accept either a class name
or an object as first parameter. (Andrey)
- Fixed potential problems with unserializing invalid serialize data. (Marcus)
- Fixed bug #32076 (ReflectionMethod::isDestructor() always return true).
(Derick, Tony)
- Fixed bug #31034 (Problem with non-existing iconv header file). (Derick)
- Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). (Ilia)
- Fixed bug #30994 (SOAP server unable to handle request with references).
(Dmitry)
- Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). (Ilia)
- Fixed bug #30967 (properties in extended mysqli classes don't work). (Georg)
- Fixed bug #30928 (When Using WSDL, SoapServer doesn't handle private or
protected properties). (Dmitry)
- Fixed bug #30922 (reflective functions crash PHP when interfaces extend
themselves). (Tony, Dmitry)
- Fixed bug #30904 (segfault when recording soapclient into session). (Tony,
Dmitry)
- Fixed bug #30890 (MySQLi testsuite)
- Fixed bug #30856 (ReflectionClass::getStaticProperties segfaults). (Marcus)
- Fixed bug #30832 ("!" stripped off comments in xml parser). (Rob)
- Fixed bug #30799 (SoapServer doesn't handle private or protected properties).
(Dmitry)
- Fixed bug #30783 (Apache crash when using ReflectionFunction::
getStaticVariables()). (Marcus)
- Fixed bug #30750 (Meaningful error message when upload directory is not
accessible). (Ilia)
- Fixed bug #30685 (Malformed SOAPClient http header reequest). (Dmitry)
- Fixed bug #30672 (Problem handling exif data in jpeg images at unusual
places). (Marcus)
- Fixed bug #30658 (Ensure that temporary files created by GD are removed).
(Ilia)
- Fixed bug #30645 (def. multi result set support for mysql_connect). (Georg)
- Fixed bug #30637 (compile with pear error). (Antony)
- Fixed bug #30587 (array_multisort doesn't separate zvals before
changing them). (Tony)
- Fixed bug #30572 (crash when comparing SimpleXML attribute to a boolean).
(Andi)
- Fixed bug #30566 (attribute namespace URIs are inconsistent when parsing).
(Rob)
- Fixed bug #30490 (PEAR installation fails). (Antony)
- Fixed bug #30475 (curl_getinfo() may crash in some situations). (Ilia)
- Fixed bug #30442 (segfault when parsing ?getvariable[][ ). (Tony)
- Fixed bug #30388 (rename across filesystems loses ownership and
permission info). (Tony)
- Fixed bug #30387 (stream_socket_client async connect was broken).
(vnegrier at esds dot com, Wez).
- Fixed bug #30381 (Strange results with get_class_vars()). (Marcus)
- Fixed bug #30375 (cal_info() does not work without a parameter). (Ilia)
- Fixed bug #30362 (stream_get_line() not handling end string correctly).
(Ilia)
- Fixed bug #30359 (SOAP client requests have no port in "Host" field).
(Dmitry)
- Fixed bug #30356 (str_ireplace() does not work on all strings). (Ilia)
- Fixed bug #30344 (Reflection::getModifierNames() returns too long strings).
(Marcus)
- Fixed bug #30329 (Error Fetching http body, No Content-Length, connection
closed or chunked data). (Dmitry)
- Fixed bug #30282 (segfault when using unknown/unsupported
session.save_handler and/or session.serialize_handler). (Tony)
- Fixed bug #30281 (Prevent non-wbmp images from being detected as such).
(Ilia)
- Fixed bug #30276 (Possible crash in ctype_digit on large numbers). (Ilia)
- Fixed bug #30230 (exception handler not working with objects). (Marcus)
- Fixed bug #30224 (Sybase date strings are sometimes not null terminated).
(Ilia)
- Fixed bug #30175 (SOAP results aren't parsed correctly). (Dmitry)
- Fixed bug #30147 (OO sqlite_fetch_object did not reset error handler). (Wez)
- Fixed bug #30133 (get_current_user() crashes on Windows). (Edin)
- Fixed bug #30061 (xml_set_start_namespace_decl_handler not called). (Rob)
- Fixed bug #30057 (did not detect IPV6 on FreeBSD 4.1). (Wez)
- Fixed bug #30042 (strtotime does not use second param). (Derick)
- Fixed bug #30027 (Possible crash inside ftp_get()).
(cfield at affinitysolutions dot com)
- Fixed bug #29954 (array_reduce segfaults when initial value is array). (Tony)
- Fixed bug #29883 (isset gives invalid values on strings). (Tony, Dmitry)
- Fixed bug #29801 (Set limit on the size of mmapable data). (Ilia)
- Fixed bug #29557 (strtotime error). (Derick)
- Fixed bug #29418 (double free when openssl_csr_new fails).
(Kamesh Jayachandran).
- Fixed bug #29385 (Soapserver always uses std class). (David, Dmitry)
- Fixed bug #29211 (SoapClient doesn't request wsdl through proxy). (Rob)
- Fixed bug #28817 (Var problem when extending domDocument). (Georg)
- Fixed bug #28599 (strtotime fails with zero base time). (Derick)
- Fixed bug #28598 (Lost support for MS Symbol fonts). (Pierre)
- Fixed bug #28220 (mb_strwidth() returns wrong width values for some hangul
characters). (Moriyoshi)
- Fixed bug #28228 (NULL decimal separator is not being handled correctly).
(Ilia)
- Fixed bug #28209 (strtotime("now")). (Derick)
- Fixed bug #27798 (private / protected variables not exposed by
get_object_vars() inside class). (Marcus)
- Fixed bug #27728 (Can't return within a zend_try {} block or the previous
bailout state isn't restored. (Andi)
- Fixed bug #27183 (Userland stream wrapper segfaults on stream_write).
(Christian)
23 Sep 2004, PHP 5.0.2
- Added new boolean (fourth) parameter to array_slice() that turns on the
preservation of keys in the returned array. (Derick)
- Added the sorting flag SORT_LOCALE_STRING to the sort() functions which makes
them sort based on the current locale. (Derick)
- Added interface_exists() and make class_exists() only return true for real
classes. (Andrey)
- Added PHP_EOL constant that contains the OS way of representing newlines.
(Paul Hudson, Derick)
- Implemented periodic PCRE compiled regexp cache cleanup, to avoid memory
exhaustion. (Andrei)
- Renamed SoapClient->__call() to SoapClinet->__soapCall(). (Dmitry)
- Fixed bug with raw_post_data not getting set (Brian)
- Fixed a file-descriptor leak with phpinfo() and other 'special' URLs (Zeev)
- Fixed bug #30209 (ReflectionClass::getMethod() lowercases attribute).
(Marcus)
- Fixed bug #30182 (SOAP module processing WSDL file dumps core). (Dmitry)
- Fixed bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests).
(Dmitry)
- Fixed bug #29985 (unserialize()/ __PHP_Incomplete_class does not report
correctly class name). (Marcus, Tony)
- Fixed bug #29945 (simplexml_load_file URL limitation 255 char). (Rob)
- Fixed bug #29873 (No defines around pcntl_*priority definitions). (Derick)
- Fixed bug #29844 (SOAP doesn't return the result of a valid SOAP request).
(Dmitry)
- Fixed bug #29842 (soapclient return null value). (Dmitry)
- Fixed bug #29839 (incorrect convert (xml:lang to lang)). (Dmitry)
- Fixed bug #29830 (SoapServer::setClass() should not export non-public
methods). (Dmitry)
- Fixed bug #29828 (Interfaces no longer work). (Marcus)
- Fixed bug #29821 (Fixed possible crashes in convert_uudecode() on invalid
data). (Ilia)
- Fixed bug #29808 (array_count_values() breaks with numeric strings). (Ilia)
- Fixed bug #29805 (HTTP Authentication Issues). (Uwe Schindler)
- Fixed bug #29795 (SegFault with Soap and Amazon's Web Services). (Dmitry)
- Fixed bug #29737 (ip2long should return -1 if IP is 255.255.255.255 and FALSE
on error). (Tony)
- Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob)
- Fixed bug #29678 (opendir() with ftp:// wrapper segfaults if path does not
have trailing slash). (Ilia)
- Fixed bug #29657 (xml_* functions throw non descriptive error).
(Christian, Rob)
- Fixed bug #29656 (segfault on result and statement properties). (Georg)
- Fixed bug #29566 (foreach/string handling strangeness (crash)). (Dmitry)
- Fixed bug #29447 (Reflection API issues). (Marcus)
- Fixed bug #29296 (Added sslv2 and sslv3 transports). (Wez)
- Fixed bug #29283 (Invalid statement handle in mysqli on execute). (Georg)
- Fixed bug #29913 (parse_url() is now binary safe). (Ilia)
- Fixed bug #27994 (segfault with Soapserver when WSDL-Cache is enabled).
(Dmitry)
- Fixed bug #27791 (Apache 2.0 SAPI build against Apache 2 HEAD). (Joe Orton,
Derick)
- Fixed bug #26737 (private/protected properties not serialized when user
declared method __sleep() exists). E_NOTICE thrown when __sleep() returns
name of non-existing member. (Andrey, Curt)
12 Aug 2004, PHP 5.0.1
- Changed destructor mechanism so that destructors are called prior to request
shutdown. (Marcus)
- Rewritten UNIX and Windows install help files. (Documentation Team)
- Updated several libraries bundled with the windows release which now
includes libxml2-2.6.11, libxslt-1.1.7 and iconv-1.9.1. (Rob, Edin)
- Improved and moved ActiveScript SAPI to PECL. (Wez)
- Fixed bug #29606 (php_strip_whitespace() prints to stdout rather then
returning the value). (Ilia)
- Fixed bug #29577 (MYSQLI_CLIENT_FOUND_ROWS undefined) (Georg)
- Fixed bug #29573 (Segmentation fault, when exception thrown within
PHP function called from XSLT). (Christian)
- Fixed bug #29522 (accessing properties without connection) (Georg)
- Fixed bug #29505 (get_class_vars() severely broken when used with arrays).
(Marcus)
- Fixed bug #29490 (.Net object instantiation failed). (Michael Sisolak).
- Fixed bug #29474 (win32: usleep() doesn't work). (Wez)
- Fixed bug #29449 (win32: feof() hangs on empty tcp stream). (Wez)
- Fixed bug #29437 (Possible crash inside array_walk_recursive()). (Ilia)
- Fixed bug #29431 (crash when parsing invalid address; invalid address
returned by stream_socket_recvfrom(), stream_socket_getname()). (Wez)
- Fixed bug #29409 (Segfault in PHP functions called from XSLT). (Rob)
- Fixed unloading of dynamically loaded extensions.
(Marcus, kameshj at fastmail dot fm)
- Fixed bug #29395 (sqlite_escape_string() returns bogus data on empty
strings). (Ilia, Tony)
- Fixed bug #29392 (com_dotnet crashes when echo'ing an object). (Wez)
- Fixed bug #29368 (The destructor is called when an exception is thrown from
the constructor). (Marcus)
- Fixed bug #29354 (Exception constructor marked as both public and protected).
(Marcus)
- Fixed bug #29342 (strtotime() does not handle empty date string properly).
(Ilia)
- Fixed bug #29340 (win32 build produces invalid php_ifx.dll). (Edin)
- Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default) (Georg)
- Fixed bug #29291 (get_class_vars() return names with NULLs). (Marcus)
- Fixed bug #29264 (gettext extension not working). (Edin)
- Fixed bug #29258 (variant_date_from_timestamp() does not honour
timezone). (Wez)
- Fixed bug #29256 (error when sending large packets on a socket). (Dmitry)
- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
- Fixed bug #29147 (Compile Error in mnoGoSearch functions). (Sergey, Antony)
- Fixed bug #29132 ($_SERVER["PHP_AUTH_USER"] isn't defined). (Stefan)
- Fixed bug #29119 (html_entity_decode() misbehaves with UTF-8). (Moriyoshi)
- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
- Fixed bug #29061 (soap extension segfaults). (Dmitry)
- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
- Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry)
- Fixed bug #28895 (ReflectionClass::isAbstract always returns false). (Marcus)
- Fixed bug #28829 (Thread-unsafety in bcmath elementary values). (Sara)
- Fixed bug #28464 (catch() does not catch exceptions by interfaces). (Marcus)
- Fixed bug #27669 (PHP 5 didn't support all possibilities for calling static
methods dynamically). (Dmitry)
- Fixed ReflectionClass::getMethod() and ReflectionClass::getProperty() to
raise an ReflectionException instead of returning NULL on failure.
(Sebastian)
- Fixed convert.* filters to consume remaining buckets_in on flush. (Sara)
- Fixed bug in mysqli->client_version. (Georg)
13 Jul 2004, PHP 5.0.0
- Updated PCRE to provide better error handling in certain cases. (Andrei)
- Changed doc comments to require a single white space after '/**'. (Marcus)
- Fixed bug #29019 (Database not closing). (Marcus)
- Fixed bug #29008 (array_combine() does not handle non-numeric/string keys).
(Ilia)
- Fixed bug #28999 (fixed behaviour of exec() to work as it did in 4.X). (Ilia)
- Fixed bug #28868 (Internal filter registry not thread safe). (Sara)
- Fixed bug #28851 (call_user_func_array has typo in error message). (Marcus)
- Fixed bug #28831 (ArrayObject::offsetGet() does the work of offsetUnset()).
(Marcus)
- Fixed bug #28822 (ArrayObject::offsetExists() works inverted). (Marcus)
- Fixed bug #28789 (ReflectionProperty getValue() fails on public static
members). (Marcus)
- Fixed bug #28771 (Segfault when using xslt and clone). (Rob)
- Fixed bug #28751 (SoapServer does not call _autoload()). (Dmitry)
- Fixed bug #28739 (array_*diff() and array_*intersect() not clearing the fci
cache before work). (Andrey)
- Fixed bug #28721 (appendChild() and insertBefore() unset DOMText).(Rob)
- Fixed bug #28702 (SOAP does not parse WSDL service address correctly). (Dmitry)
- Fixed bug #28699 (Reflection api bugs). (Marcus)
- Fixed bug #28694 (ReflectionExtension::getFunctions() crashes PHP). (Marcus)
- Fixed bug #28512 (Allocate enough space to store MSSQL data). (Frank)
- Fixed strip_tags() to correctly handle '\0' characters. (Stefan)
-115
View File
@@ -1,115 +0,0 @@
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.
Currently we have the following branches in use:
HEAD Will become PHP 5.1. This CVS branch is for active development.
PHP_5_0 Is used to release the PHP 5.0.x series. Only minor feature
enhancements may go in here, but please keep that as infrequent as
possible.
PHP_4_3 Is used to release the PHP 4.3.x series. Only bugfixes are permitted
on this branch.
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
-39
View File
@@ -1,39 +0,0 @@
Between PHP 4.0.6 and 4.1.0, the Zend module struct changed in a way
that broke both source and binary compatibility. If you are
maintaining a third party extension, here's how to update it:
If this was your old module entry:
zend_module_entry foo_module_entry = {
"foo", /* extension name */
foo_functions, /* extension function list */
NULL, /* extension-wide startup function */
NULL, /* extension-wide shutdown function */
PHP_RINIT(foo), /* per-request startup function */
PHP_RSHUTDOWN(foo), /* per-request shutdown function */
PHP_MINFO(foo), /* information function */
STANDARD_MODULE_PROPERTIES
};
Here's how it should look if you want your code to build with PHP
4.1.0 and up:
zend_module_entry foo_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
STANDARD_MODULE_HEADER,
#endif
"foo", /* extension name */
foo_functions, /* extension function list */
NULL, /* extension-wide startup function */
NULL, /* extension-wide shutdown function */
PHP_RINIT(foo), /* per-request startup function */
PHP_RSHUTDOWN(foo), /* per-request shutdown function */
PHP_MINFO(foo), /* information function */
#if ZEND_MODULE_API_NO >= 20010901
FOO_VERSION, /* extension version number (string) */
#endif
STANDARD_MODULE_PROPERTIES
};
If you don't care about source compatibility with earlier PHP releases
than 4.1.0, you can drop the #if/#endif lines.
-194
View File
@@ -1,194 +0,0 @@
(NOTE: you may also want to take a look at the pear package
PECL_Gen, a PHP-only alternative for this script that
supports way more extension writing tasks and is
supposed to replace ext_skel completely in the long run ...)
WHAT IT IS
It's a tool for automatically creating the basic framework for a PHP module
and writing C code handling arguments passed to your functions from a simple
configuration file. See an example at the end of this file.
HOW TO USE IT
Very simple. First, change to the ext/ directory of the PHP 4 sources. If
you just need the basic framework and will be writing all the code in your
functions yourself, you can now do
./ext_skel --extname=module_name
and everything you need is placed in directory module_name.
[ Note that GNU awk is likely required for this script to work. Debian
systems seem to default to using mawk, so you may need to change the
#! line in skeleton/create_stubs and the cat $proto | awk line in
ext_skel to use gawk explicitly. ]
If you don't need to test the existence of any external header files,
libraries or functions in them, the module is already almost ready to be
compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
change back up to PHP sources top directory, and do
./buildconf; ./configure --enable-module_name; make
But if you already have planned the overall scheme of your module, what
functions it will contain, their return types and the arguments they take
(a very good idea) and don't want to bother yourself with creating function
definitions and handling arguments passed yourself, it's time to create a
function definitions file, which you will give as an argument to ext_skel
with option
--proto=filename.
FORMAT OF FUNCTION DEFINITIONS FILE
All the definitions must be on one line. In it's simplest form, it's just
the function name, e.g.
my_function
but then you'll be left with an almost empty function body without any
argument handling.
Arguments are given in parenthesis after the function name, and are of
the form 'argument_type argument_name'. Arguments are separated from each
other with a comma and optional space. Argument_type can be one of int,
bool, double, float, string, array, object or mixed.
An optional argument is separated from the previous by an optional space,
then '[' and of course comma and optional space, like all the other
arguments. You should close a row of optional arguments with same amount of
']'s as there where '['s. Currently, it does not harm if you forget to do it
or there is a wrong amount of ']'s, but this may change in the future.
An additional short description may be added after the parameters.
If present it will be filled into the 'proto' header comments in the stubs
code and the <refpurpose> tag in the XML documentation.
An example:
my_function(int arg1, int arg2 [, int arg3 [, int arg4]]) this is my 1st
Arguments arg3 and arg4 are optional.
If possible, the function definition should also contain it's return type
in front of the definition. It's not actually used for any C code generating
purposes but PHP in-source documentation instead, and as such, very useful.
It can be any of int, double, string, bool, array, object, resource, mixed
or void.
The file must contain nothing else but function definitions, no comments or
empty lines.
OTHER OPTIONS
--no-help
By default, ext_skel creates both comments in the source code and a test
function to help first time module writers to get started and testing
configuring and compiling their module. This option turns off all such things
which may just annoy experienced PHP module coders. Especially useful with
--stubs=file
which will leave out also all module specific stuff and write just function
stubs with function value declarations and passed argument handling, and
function entries and definitions at the end of the file, for copying and
pasting into an already existing module.
--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.
--full-xml
Not implemented yet. When or if there will ever be created a framework for
self-contained extensions to use phpdoc system for their documentation, this
option enables it on the created xml file.
CURRENT LIMITATIONS, BUGS AND OTHER ODDITIES
Only arguments of types int, bool, double, float, string and array are
handled. For other types you must write the code yourself. And for type
mixed, it wouldn't even be possible to write anything, because only you
know what to expect.
It can't handle correctly, and probably never will, variable list of
of arguments. (void foo(int bar [, ...])
Don't trust the generated code too much. It tries to be useful in most of
the situations you might encounter, but automatic code generation will never
beat a programmer who knows the real situation at hand. ext_skel is generally
best suited for quickly generating a wrapper for c-library functions you
might want to have available in PHP too.
This program doesn't have a --help option. It has --no-help instead.
EXAMPLE
The following _one_ line
bool my_drawtext(resource image, string text, resource font, int x, int y [, int color])
will create this function definition for you (note that there are a few
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])
*/
PHP_FUNCTION(my_drawtext)
{
zval **image, **text, **font, **x, **y, **color;
int argc;
int image_id = -1;
int font_id = -1;
argc = ZEND_NUM_ARGS();
if (argc < 5 || argc > 6 || zend_get_parameters_ex(argc, &image, &text, &font, &x, &y, &color) == FAILURE) {
WRONG_PARAM_COUNT;
}
ZEND_FETCH_RESOURCE(???, ???, image, image_id, "???", ???_rsrc_id);
ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id);
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");
}
/* }}} */
-127
View File
@@ -1,127 +0,0 @@
New parameter parsing functions
===============================
It should be easier to parse input parameters to an extension function.
Hence, borrowing from Python's example, there are now a set of functions
that given the string of type specifiers, can parse the input parameters
and store the results in the user specified variables. This avoids most
of the IS_* checks and convert_to_* conversions. The functions also
check for the appropriate number of parameters, and try to output
meaningful error messages.
Prototypes
----------
/* Implemented. */
int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);
The zend_parse_parameters() function takes the number of parameters
passed to the extension function, the type specifier string, and the
list of pointers to variables to store the results in. The _ex() version
also takes 'flags' argument -- current only ZEND_PARSE_PARAMS_QUIET can
be used as 'flags' to specify that the function should operate quietly
and not output any error messages.
Both functions return SUCCESS or FAILURE depending on the result.
The auto-conversions are performed as necessary. Arrays, objects, and
resources cannot be auto-converted.
Type specifiers
---------------
l - long
d - double
s - string (with possible null bytes) and its length
b - boolean, stored in zend_bool
r - resource (stored in zval)
a - array
o - object (of any type)
O - object (of specific type, specified by class entry)
z - the actual zval
The following characters also have a meaning in the specifier string:
| - indicates that the remaining parameters are optional, they
should be initialized to default values by the extension since they
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
! - the parameter it follows can be of specified type or NULL (only applies
to 'a', 'o', 'O', 'r', and 'z'). If NULL is passed, the results
pointer is set to NULL as well.
Examples
--------
/* Gets a long, a string and its length, and a zval */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsz",
&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;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
&obj, my_ce, &d) == FAILURE) {
return;
}
/* Gets an object or null, and an array.
If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o!a",
&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;
}
/* 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;
/*
* The function expects a pointer to a integer in this case, not a long
* or any other type. If you specify a type which is larger
* than a 'int', the upper bits might not be initialized
* properly, leading to random crashes on platforms like
* Tru64 or Linux/Alpha.
*/
int length;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
"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 */
} else {
/* output error */
return;
}
-155
View File
@@ -1,155 +0,0 @@
1. strrpos() and strripos() now use the entire string as a needle. Be aware
that the existing scripts may no longer work as you expect.
EX :
<?php
var_dump(strrpos("ABCDEF","DEF"));
var_dump(strrpos("ABCDEF","DAF"));
?>
Will give you different results. The former returns 3 while the latter
returns false rather than the position of the last occurrence of 'D'.
The same applies to strripos().
2. Illegal use of string offsets causes E_ERROR instead of E_WARNING.
EX :
<?php
$a = "foo";
unset($a[0][1][2]);
?>
Fatal error: Cannot use string offset as an array in ... on line 1
3. array_merge() was changed to accept only arrays. If a non-array variable is
passed, a E_WARNING will be thrown for every such parameter. Be careful
because your code may start emitting E_WARNING out of the blue.
4. Be careful when porting from ext/mysql to ext/mysqli. The following
functions return NULL when no more data is available in the result set
(ext/mysql's functions return FALSE).
- mysqli_fetch_row()
- mysqli_fetch_array()
- mysqli_fetch_assoc()
5. PATH_TRANSLATED server variable is no longer set implicitly under
Apache2 SAPI in contrast to the situation in PHP 4, where it is set to the
same value as the SCRIPT_FILENAME server variable when it is not populated
by Apache. This change was made to comply with the CGI specification.
Please refer to bug #23610 for further information.
6. Starting PHP 5.0.0 the T_ML_CONSTANT constant is no longer defined by the
ext/tokenizer extension. If error_reporting is set to E_ALL notices will
be produced. Instead of T_ML_CONSTANT for /* */ the T_COMMENT constant
is used, thus both // and /* */ are resolved as the T_COMMENT constant.
However the PHPDoc style comments /** */ ,which starting PHP 5 are parsed
by PHP, are recongnized as T_DOC_COMMENT.
7. $_SERVER should be populated with argc and argv if variables_order
includes "S". If you have specifically configured your system to not
create $_SERVER, then of course it shouldn't be there. The change was to
always make argc and argv available in the CLI version regardless of the
variables_order setting. As in, the CLI version will now always populate
the global $argc and $argv variables.
8. In some cases classes must be declared before used. It only happens only
if some of the new features of PHP 5 are used. Otherwise the behaviour is
the old.
Example 1 (works with no errors):
<?php
$a = new a();
class a {
}
?>
Example 2 (throws an error):
<?php
$a = new a();
interface b{
}
class a implements b {
}
?>
Output (example 2) :
Fatal error: Class 'a' not found in /tmp/cl.php on line 2
9. get_class() starting PHP 5 returns the name of the class as it was
declared which may lead to problems in older scripts that rely on
the previous behaviour - the class name is lowercased. Expect the
same behaviour from get_parent_class() when applicable.
Example :
<?php
class FooBar {
}
class ExtFooBar extends FooBar{}
$a = new FooBar();
var_dump(get_class($a), get_parent_class($a));
?>
Output (PHP 4):
string(6) "foobar"
string(9) "extfoobar"
Output (PHP 5):
string(6) "FooBar"
string(9) "ExtFooBar"
----------------------------------------------------------------------
Example code that will break :
//....
function someMethod($p) {
if (get_class($p) != 'helpingclass') {
return FALSE;
}
//...
}
//...
Possible solution is to search for get_class() and get_parent_class() in
all your scripts and use strtolower().
10. get_class_methods() returns the names of the methods of a class as they
declared. In PHP4 the names are all lowercased.
Example code :
<?php
class Foo{
function doFoo(){}
function hasFoo(){}
}
var_dump(get_class_methods("Foo"));
?>
Output (PHP4):
array(2) {
[0]=>
string(5) "dofoo"
[1]=>
string(6) "hasfoo"
}
Output (PHP5):
array(2) {
[0]=>
string(5) "doFoo"
[1]=>
string(6) "hasFoo"
}
11. Assignment $this is impossible. Starting PHP 5.0.0 $this has special
meaning in class methods and is recognized by the PHP parser. The latter
will generate a parse error when assignment to $this is found
Example code :
<?php
class Foo {
function assignNew($obj) {
$this = $obj;
}
}
$a = new Foo();
$b = new Foo();
$a->assignNew($b);
echo "I was executed\n";
?>
Output (PHP 4):
I was executed
Output (PHP 5):
PHP Fatal error: Cannot re-assign $this in /tmp/this_ex.php on line 4
-57
View File
@@ -1,57 +0,0 @@
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
-155
View File
@@ -1,155 +0,0 @@
$Id$
=============================================================================
HOW TO CREATE A SELF-CONTAINED PHP EXTENSION
A self-contained extension can be distributed independently of
the PHP source. To create such an extension, two things are
required:
- Configuration file (config.m4)
- Source code for your module
We will describe now how to create these and how to put things
together.
PREPARING YOUR SYSTEM
While the result will run on any system, a developer's setup needs these
tools:
GNU autoconf
GNU automake
GNU libtool
GNU m4
All of these are available from
ftp://ftp.gnu.org/pub/gnu/
CONVERTING AN EXISTING EXTENSION
Just to show you how easy it is to create a self-contained
extension, we will convert an embedded extension into a
self-contained one. Install PHP and execute the following
commands.
$ mkdir /tmp/newext
$ cd /tmp/newext
You now have an empty directory. We will copy the files from
the mysql extension:
$ cp -rp php-4.0.X/ext/mysql/* .
It is time to finish the module. Run:
$ phpize
You can now ship the contents of the directory - the extension
can live completely on its own.
The user instructions boil down to
$ ./configure \
[--with-php-config=/path/to/php-config] \
[--with-mysql=MYSQL-DIR]
$ make install
The MySQL module will either use the embedded MySQL client
library or the MySQL installation in MYSQL-DIR.
DEFINING THE NEW EXTENSION
Our demo extension is called "foobar".
It consists of two source files "foo.c" and "bar.c"
(and any arbitrary amount of header files, but that is not
important here).
The demo extension does not reference any external
libraries (that is important, because the user does not
need to specify anything).
LTLIBRARY_SOURCES specifies the names of the sources files. You can
name an arbitrary number of source files here.
CREATING THE M4 CONFIGURATION FILE
The m4 configuration can perform additional checks. For a
self-contained extension, you do not need more than a few
macro calls.
------------------------------------------------------------------------------
PHP_ARG_ENABLE(foobar,whether to enable foobar,
[ --enable-foobar Enable foobar])
if test "$PHP_FOOBAR" != "no"; then
PHP_NEW_EXTENSION(foobar, foo.c bar.c, $ext_shared)
fi
------------------------------------------------------------------------------
PHP_ARG_ENABLE will automatically set the correct variables, so
that the extension will be enabled by PHP_NEW_EXTENSION in shared mode.
The first argument of PHP_NEW_EXTENSION describes the name of the
extension. The second names the source-code files. The third passes
$ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION.
Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not
plan to distribute your module with PHP, these facilities allow you
to integrate your module easily into the main PHP module framework.
CREATING SOURCE FILES
ext_skel can be of great help when creating the common code for all modules
in PHP for you and also writing basic function definitions and C code for
handling arguments passed to your functions. See README.EXT_SKEL for further
information.
As for the rest, you are currently alone here. There are a lot of existing
modules, use a simple module as a starting point and add your own code.
CREATING THE SELF-CONTAINED EXTENSION
Put config.m4 and the source files into one directory. Then, run phpize
(this is installed during make install by PHP 4.0).
For example, if you configured PHP with --prefix=/php, you would run
$ /php/bin/phpize
This will automatically copy the necessary build files and create
configure from your config.m4.
And that's it. You now have a self-contained extension.
INSTALLING A SELF-CONTAINED EXTENSION
An extension can be installed by running:
$ ./configure \
[--with-php-config=/path/to/php-config]
$ make install
ADDING SHARED MODULE SUPPORT TO A MODULE
In order to be useful, a self-contained extension must be loadable
as a shared module. I will explain now how you can add shared module
support to an existing module called foo.
1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will
automatically be able to use --with-foo=shared[,..] or
--enable-foo=shared[,..].
2. In config.m4, use PHP_NEW_EXTENSION(foo,.., $ext_shared) to enable
building the extension.
3. Add the following lines to your C source file:
#ifdef COMPILE_DL_FOO
ZEND_GET_MODULE(foo)
#endif
-379
View File
@@ -1,379 +0,0 @@
An Overview of the PHP Streams abstraction
==========================================
$Id$
WARNING: some prototypes in this file are out of date.
The information contained here is being integrated into
the PHP manual - stay tuned...
Please send comments to: Wez Furlong <wez@thebrainroom.com>
Why Streams?
============
You may have noticed a shed-load of issock parameters flying around the PHP
code; we don't want them - they are ugly and cumbersome and force you to
special case sockets and files every time you need to work with a "user-level"
PHP file pointer.
Streams take care of that and present the PHP extension coder with an ANSI
stdio-alike API that looks much nicer and can be extended to support non file
based data sources.
Using Streams
=============
Streams use a php_stream* parameter just as ANSI stdio (fread etc.) use a
FILE* parameter.
The main functions are:
PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count);
PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t
count);
PHPAPI size_t php_stream_printf(php_stream * stream TSRMLS_DC,
const char * fmt, ...);
PHPAPI int php_stream_eof(php_stream * stream);
PHPAPI int php_stream_getc(php_stream * stream);
PHPAPI char *php_stream_gets(php_stream * stream, char *buf, size_t maxlen);
PHPAPI int php_stream_close(php_stream * stream);
PHPAPI int php_stream_flush(php_stream * stream);
PHPAPI int php_stream_seek(php_stream * stream, off_t offset, int whence);
PHPAPI off_t php_stream_tell(php_stream * stream);
PHPAPI int php_stream_lock(php_stream * stream, int mode);
These (should) behave in the same way as the ANSI stdio functions with similar
names: fread, fwrite, fprintf, feof, fgetc, fgets, fclose, fflush, fseek, ftell, flock.
Opening Streams
===============
In most cases, you should use this API:
PHPAPI php_stream *php_stream_open_wrapper(char *path, char *mode,
int options, char **opened_path TSRMLS_DC);
Where:
path is the file or resource to open.
mode is the stdio compatible mode eg: "wb", "rb" etc.
options is a combination of the following values:
IGNORE_PATH (default) - don't use include path to search for the file
USE_PATH - use include path to search for the file
IGNORE_URL - do not use plugin wrappers
REPORT_ERRORS - show errors in a standard format if something
goes wrong.
STREAM_MUST_SEEK - If you really need to be able to seek the stream
and don't need to be able to write to the original
file/URL, use this option to arrange for the stream
to be copied (if needed) into a stream that can
be seek()ed.
opened_path is used to return the path of the actual file opened,
but if you used STREAM_MUST_SEEK, may not be valid. You are
responsible for efree()ing opened_path. opened_path may be (and usually
is) NULL.
If you need to open a specific stream, or convert standard resources into
streams there are a range of functions to do this defined in php_streams.h.
A brief list of the most commonly used functions:
PHPAPI php_stream *php_stream_fopen_from_file(FILE *file, const char *mode);
Convert a FILE * into a stream.
PHPAPI php_stream *php_stream_fopen_tmpfile(void);
Open a FILE * with tmpfile() and convert into a stream.
PHPAPI php_stream *php_stream_fopen_temporary_file(const char *dir,
const char *pfx, char **opened_path TSRMLS_DC);
Generate a temporary file name and open it.
There are some network enabled relatives in php_network.h:
PHPAPI php_stream *php_stream_sock_open_from_socket(int socket, int persistent);
Convert a socket into a stream.
PHPAPI php_stream *php_stream_sock_open_host(const char *host, unsigned short port,
int socktype, int timeout, int persistent);
Open a connection to a host and return a stream.
PHPAPI php_stream *php_stream_sock_open_unix(const char *path, int persistent,
struct timeval *timeout);
Open a UNIX domain socket.
Stream Utilities
================
If you need to copy some data from one stream to another, you will be please
to know that the streams API provides a standard way to do this:
PHPAPI size_t php_stream_copy_to_stream(php_stream *src,
php_stream *dest, size_t maxlen);
If you want to copy all remaining data from the src stream, pass
PHP_STREAM_COPY_ALL as the maxlen parameter, otherwise maxlen indicates the
number of bytes to copy.
This function will try to use mmap where available to make the copying more
efficient.
If you want to read the contents of a stream into an allocated memory buffer,
you should use:
PHPAPI size_t php_stream_copy_to_mem(php_stream *src, char **buf,
size_t maxlen, int persistent);
This function will set buf to the address of the buffer that it allocated,
which will be maxlen bytes in length, or will be the entire length of the
data remaining on the stream if you set maxlen to PHP_STREAM_COPY_ALL.
The buffer is allocated using pemalloc(); you need to call pefree() to
release the memory when you are done.
As with copy_to_stream, this function will try use mmap where it can.
If you have an existing stream and need to be able to seek() it, you
can use this function to copy the contents into a new stream that can
be seek()ed:
PHPAPI int php_stream_make_seekable(php_stream *origstream, php_stream **newstream);
It returns one of the following values:
#define PHP_STREAM_UNCHANGED 0 /* orig stream was seekable anyway */
#define PHP_STREAM_RELEASED 1 /* newstream should be used; origstream is no longer valid */
#define PHP_STREAM_FAILED 2 /* an error occurred while attempting conversion */
#define PHP_STREAM_CRITICAL 3 /* an error occurred; origstream is in an unknown state; you should close origstream */
make_seekable will always set newstream to be the stream that is valid
if the function succeeds.
When you have finished, remember to close the stream.
NOTE: If you only need to seek forward, there is no need to call this
function, as the php_stream_seek can emulate forward seeking when the
whence parameter is SEEK_CUR.
NOTE: Writing to the stream may not affect the original source, so it
only makes sense to use this for read-only use.
NOTE: If the origstream is network based, this function will block
until the whole contents have been downloaded.
NOTE: Never call this function with an origstream that is referenced
as a resource! It will close the origstream on success, and this
can lead to a crash when the resource is later used/released.
NOTE: If you are opening a stream and need it to be seekable, use the
STREAM_MUST_SEEK option to php_stream_open_wrapper();
PHPAPI int php_stream_supports_lock(php_stream * stream);
This function will return either 1 (success) or 0 (failure) indicating whether or
not a lock can be set on this stream. Typically you can only set locks on stdio streams.
Casting Streams
===============
What if your extension needs to access the FILE* of a user level file pointer?
You need to "cast" the stream into a FILE*, and this is how you do it:
FILE * fp;
php_stream * stream; /* already opened */
if (php_stream_cast(stream, PHP_STREAM_AS_STDIO, (void*)&fp, REPORT_ERRORS) == FAILURE) {
RETURN_FALSE;
}
The prototype is:
PHPAPI int php_stream_cast(php_stream * stream, int castas, void ** ret, int
show_err);
The show_err parameter, if non-zero, will cause the function to display an
appropriate error message of type E_WARNING if the cast fails.
castas can be one of the following values:
PHP_STREAM_AS_STDIO - a stdio FILE*
PHP_STREAM_AS_FD - a generic file descriptor
PHP_STREAM_AS_SOCKETD - a socket descriptor
If you ask a socket stream for a FILE*, the abstraction will use fdopen to
create it for you. Be warned that doing so may cause buffered data to be lost
if you mix ANSI stdio calls on the FILE* with php stream calls on the stream.
If your system has the fopencookie function, php streams can synthesize a
FILE* on top of any stream, which is useful for SSL sockets, memory based
streams, data base streams etc. etc.
In situations where this is not desirable, you should query the stream
to see if it naturally supports FILE *. You can use this code snippet
for this purpose:
if (php_stream_is(stream, PHP_STREAM_IS_STDIO)) {
/* can safely cast to FILE* with no adverse side effects */
}
You can use:
PHPAPI int php_stream_can_cast(php_stream * stream, int castas)
to find out if a stream can be cast, without actually performing the cast, so
to check if a stream is a socket you might use:
if (php_stream_can_cast(stream, PHP_STREAM_AS_SOCKETD) == SUCCESS) {
/* it can be a socket */
}
Please note the difference between php_stream_is and php_stream_can_cast;
stream_is tells you if the stream is a particular type of stream, whereas
can_cast tells you if the stream can be forced into the form you request.
The former doesn't change anything, while the later *might* change some
state in the stream.
Stream Internals
================
There are two main structures associated with a stream - the php_stream
itself, which holds some state information (and possibly a buffer) and a
php_stream_ops structure, which holds the "virtual method table" for the
underlying implementation.
The php_streams ops struct consists of pointers to methods that implement
read, write, close, flush, seek, gets and cast operations. Of these, an
implementation need only implement write, read, close and flush. The gets
method is intended to be used for streams if there is an underlying method
that can efficiently behave as fgets. The ops struct also contains a label
for the implementation that will be used when printing error messages - the
stdio implementation has a label of "STDIO" for example.
The idea is that a stream implementation defines a php_stream_ops struct, and
associates it with a php_stream using php_stream_alloc.
As an example, the php_stream_fopen() function looks like this:
PHPAPI php_stream * php_stream_fopen(const char * filename, const char * mode)
{
FILE * fp = fopen(filename, mode);
php_stream * ret;
if (fp) {
ret = php_stream_alloc(&php_stream_stdio_ops, fp, 0, 0, mode);
if (ret)
return ret;
fclose(fp);
}
return NULL;
}
php_stream_stdio_ops is a php_stream_ops structure that can be used to handle
FILE* based streams.
A socket based stream would use code similar to that above to create a stream
to be passed back to fopen_wrapper (or it's yet to be implemented successor).
The prototype for php_stream_alloc is this:
PHPAPI php_stream * php_stream_alloc(php_stream_ops * ops, void * abstract,
size_t bufsize, int persistent, const char * mode)
ops is a pointer to the implementation,
abstract holds implementation specific data that is relevant to this instance
of the stream,
bufsize is the size of the buffer to use - if 0, then buffering at the stream
level will be disabled (recommended for underlying sources that implement
their own buffering - such a FILE*),
persistent controls how the memory is to be allocated - persistently so that
it lasts across requests, or non-persistently so that it is freed at the end
of a request (it uses pemalloc),
mode is the stdio-like mode of operation - php streams places no real meaning
in the mode parameter, except that it checks for a 'w' in the string when
attempting to write (this may change).
The mode parameter is passed on to fdopen/fopencookie when the stream is cast
into a FILE*, so it should be compatible with the mode parameter of fopen().
Writing your own stream implementation
======================================
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RULE #1: when writing your own streams: make sure you have configured PHP with
--enable-debug.
I've taken some great pains to hook into the Zend memory manager to help track
down allocation problems. It will also help you spot incorrect use of the
STREAMS_DC, STREAMS_CC and the semi-private STREAMS_REL_CC macros for function
definitions.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RULE #2: Please use the stdio stream as a reference; it will help you
understand the semantics of the stream operations, and it will always
be more up to date than these docs :-)
First, you need to figure out what data you need to associate with the
php_stream. For example, you might need a pointer to some memory for memory
based streams, or if you were making a stream to read data from an RDBMS like
MySQL, you might want to store the connection and rowset handles.
The stream has a field called abstract that you can use to hold this data.
If you need to store more than a single field of data, define a structure to
hold it, allocate it (use pemalloc with the persistent flag set
appropriately), and use the abstract pointer to refer to it.
For structured state you might have this:
struct my_state {
MYSQL conn;
MYSQL_RES * result;
};
struct my_state * state = pemalloc(sizeof(struct my_state), persistent);
/* initialize the connection, and run a query, using the fields in state to
* hold the results */
state->result = mysql_use_result(&state->conn);
/* now allocate the stream itself */
stream = php_stream_alloc(&my_ops, state, 0, persistent, "r");
/* now stream->abstract == state */
Once you have that part figured out, you can write your implementation and
define the your own php_stream_ops struct (we called it my_ops in the above
example).
For example, for reading from this weird MySQL stream:
static size_t php_mysqlop_read(php_stream * stream, char * buf, size_t count)
{
struct my_state * state = (struct my_state*)stream->abstract;
if (buf == NULL && count == 0) {
/* in this special case, php_streams is asking if we have reached the
* end of file */
if (... at end of file ...)
return EOF;
else
return 0;
}
/* pull out some data from the stream and put it in buf */
... mysql_fetch_row(state->result) ...
/* we could do something strange, like format the data as XML here,
and place that in the buf, but that brings in some complexities,
such as coping with a buffer size too small to hold the data,
so I won't even go in to how to do that here */
}
Implement the other operations - remember that write, read, close and flush
are all mandatory. The rest are optional. Declare your stream ops struct:
php_stream_ops my_ops = {
php_mysqlop_write, php_mysqlop_read, php_mysqlop_close,
php_mysqlop_flush, NULL, NULL, NULL,
"Strange MySQL example"
}
Thats it!
Take a look at the STDIO implementation in streams.c for more information
about how these operations work.
The main thing to remember is that in your close operation you need to release
and free the resources you allocated for the abstract field. In the case of
the example above, you need to use mysql_free_result on the rowset, close the
connection and then use pefree to dispose of the struct you allocated.
You may read the stream->persistent field to determine if your struct was
allocated in persistent mode or not.
vim:tw=78:et
-126
View File
@@ -1,126 +0,0 @@
Submitting Patch for PHP
========================
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. :-)
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)
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.
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.
Recommended CVS client settings for creating patch file
------------------------------------------------------
Recommended ~/.cvsrc file setting is:
------
cvs -z3
update -d -P
checkout -P
diff -u
------
diff -u means:
-u Use the unified output format.
With this CVS setting, you don't have to worry about adding/deleting
newlines and spaces.
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 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 you are patching PEAR, send the patch to pear-dev@lists.php.net.
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.
NOTE: only MIME attachments of type 'text/*' are accepted. The
easiest way to accomplish this, is to make the extension
'.txt'.
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.
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.
Because this is a volunteer-driven effort, more complex patches will
require more patience on your side.
If you did not receive any feedback in a few days, please consider
resubmitting the description of your patch, along-side with
these questions:
- 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?
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.
Thank you for submitting patch for PHP!
-179
View File
@@ -1,179 +0,0 @@
[IMPORTANT NOTICE]
------------------
Failed tests usualy indicate a problem with your local system setup
and not within PHP itself (at least for official PHP release versions).
You may decide to automaticaly submit a test summary to our QA workflow
at the end of a test run.
Please do *not* submit a failed test as a bug or ask for help on why
it failed on your system without providing substantial backup information
on *why* the test failed on your special setup. Thank you :-)
[Testing Basics]
----------------
The easiest way to test your PHP build is to run "make test" from the
command line after successfully compiling. This will run the complete
tests for all enabled functionalities and extensions using the PHP
CLI binary.
To execute test scripts, you must build PHP with some SAPI, then you
type "make test" to execute all or some test scripts saved under
"tests" directory under source root directory.
Usage:
make test
"make test" basically executes "run-tests.php" script
under the source root (parallel builds will not work). Therefore you
can execute the script as follows:
TEST_PHP_EXECUTABLE=sapi/cli/php \
sapi/cli/php [-c /path/to/php.ini] run-tests.php [ext/foo/tests/GLOB]
[Which "php" executable "make test" look for]
---------------------------------------------
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.
"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.
NOTE: PHP binary executing "run-tests.php" and php binary used for
executing test scripts may differ. If you use different PHP binary for
executing "run-tests.php" script, you may get errors.
[Which php.ini is used]
-----------------------
"make test" uses the same php.ini file as it would once installed.
The tests have been written to be independent of that php.ini file,
so if you find a test that is affected by a setting, please report
this, so we can address the issue.
[Which test scripts are executed]
---------------------------------
"run-tests.php" ("make test"), without any arguments executes all
test scripts by extracting all directories named "tests"
from the source root and any subdirectories below. If there are files,
which have a "phpt" extension, "run-tests.php" looks at the sections
in these files, determines whether it should run it, by evaluating
the 'SKIP' section. If the test is eligible for execution, the 'FILE'
section is extracted into a ".php" file (with the same name besides
the extension) and gets executed.
When an argument is given or TESTS environment variable is set, the
GLOB is expanded by the shell and any file with extension "*.phpt" is
regarded as a test file.
Tester can easily execute tests selectively with as follows.
Examples:
./sapi/cli/php run-tests.php ext/mbstring/*
./sapi/cli/php run-tests.php ext/mbstring/020.phpt
[Test results]
--------------
Test results are printed to standard output. If there is a failed test,
the "run-tests.php" script saves the result, the expected result and the
code executed to the test script directory. For example, if
ext/myext/tests/myext.phpt fails to pass, the following files are created:
ext/myext/tests/myext.php - actual test file executed
ext/myext/tests/myext.log - log of test execution (L)
ext/myext/tests/myext.exp - expected output (E)
ext/myext/tests/myext.out - output from test script (O)
ext/myext/tests/myext.diff - diff of .out and .exp (D)
Failed tests are always bugs. Either the test is bugged or not considering
factors applying to the tester's environment, or there is a bug in PHP.
If this is a known bug, we strive to provide bug numbers, in either the
test name or the file name. You can check the status of such a bug, by
going to: http://bugs.php.net/12345 where 12345 is the bug number.
For clarity and automated processing, bug numbers are prefixed by a hash
sign '#' in test names and/or test cases are named bug12345.phpt.
NOTE: The files generated by tests can be selected by setting the
environment variable TEST_PHP_LOG_FORMAT. For each file you want to be
generated use the character in brackets as shown above (default is LEOD).
The php file will be generated always.
NOTE: You can set environment variable TEST_PHP_DETAILED to enable
detailed test information.
[Automated testing]
If you like to keep up to speed, with latest developments and quality
assurance, setting the environment variable NO_INTERACTION to 1, will not
prompt the tester for any user input.
Normally, the exit status of "make test" is zero, regardless of the results
of independent tests. Set the environment variable REPORT_EXIT_STATUS to 1,
and "make test" will set the exit status ("$?") to non-zero, when an
individual test has failed.
Example script to be run by cron(1):
========== qa-test.sh =============
#!/bin/sh
CO_DIR=$HOME/cvs/php5
MYMAIL=qa-test@domain.com
TMPDIR=/var/tmp
TODAY=`date +"%Y%m%d"`
# Make sure compilation enviroment is correct
CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre'
export MAKE=gmake
export CC=gcc
# Set test environment
export NO_INTERACTION=1
export REPORT_EXIT_STATUS=1
cd $CO_DIR
cvs update . >>$TMPDIR/phpqatest.$TODAY
./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE
$MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1
if test $? -gt 0
then
cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL
fi
========== end of qa-test.sh =============
NOTE: the exit status of run-tests.php will be 1 when
REPORT_EXIT_STATUS is set. The result of "make test" may be higher
than that. At present, gmake 3.79.1 returns 2, so it is
advised to test for non-zero, rather then a specific value.
[Creating new test files]
-------------------------
Writing test file is very easy if you are used to PHP.
See the HOWTO at http://qa.php.net/write-test.php
[How to help us]
----------------
If you find bug in PHP, you can submit bug report AND test script
for us. You don't have to write complete script, just give us test
script with following format. Please test the script and make sure
you write the correct ACTUAL OUTPUT and EXPECTED OUTPUT before you
submit.
<?php
/*
Bug #12345
substr() bug. Do not return expected string.
ACTUAL OUTPUT
XYXA
EXPECTED OUTPUT
ABCD
*/
$str = "XYZABCD";
echo substr($str,3,7);
?>
-137
View File
@@ -1,137 +0,0 @@
[IMPORTANT NOTICE]
------------------
This is an addendum to README.TESTING with additional information
specific to run-tests2.php.
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.
[New features]
----------------
* Command line interface:
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 run-tests-config.php for details.
* CGI Emulation:
Will emulate a CGI environment when testing with the cgi sapi executable.
* HTTP testing:
can be configured to run test scripts through an HTTP server running
on localhost. localhost is required since either the web server must
alias a directory to the php source directory, or the test scripts
must be copied to a directory under the web server
(see config options TEST_WEB_BASE_URL, TEST_BASE_PATH, and TEST_WEB_EXT)
* New sections supported for test files (see below)
When running tests over http, tests that require ini settings different that what
the web server runs under will be skipped. Since the test harness defines a number
of ini settings by default, the web server may require special configuration to
make testing work.
[Example Usage]
----------------
Some (but not all!) examples of usage:
1. run tests from the php source directory
php run-tests2.php -p /path/to/php-cli
2. run tests using cgi emulation
php run-tests2.php -p /path/to/php-cgi
3. run tests over http, copying test files into document root
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 run-tests2.php -w -u http://localhost/test
5. run tests using configuration file
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 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.
[New Test Sections]
----------------
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
under run-tests2.
--POST--
This is not a new section, but not multipart posts are supported for testing
file uploads, or other types of POST data.
--CGI--
This section takes no value. It merely provides a simple marker for tests
that MUST be run as CGI, even if there is no --POST-- or --GET-- sections
in the test file.
--DESCRIPTION--
Not used for anything, just a section for documenting the test
--ENV--
This section get's eval()'d to help build an environment for the
execution of the test. This can be used to change environment
vars that are used for CGI emulation, or simply to set env vars
for cli testing. A full example looks like:
--ENV--
return <<<END
PATH_TRANSLATED=$filename
PATH_INFO=$scriptname
SCRIPT_NAME=$scriptname
END;
Some variables are made easily available for use in this section, they
include:
$filename full native path to file, will become PATH_TRANSLATED
$filepath =dirname($filename)
$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 run-tests2 configuration vars
$this->env all environment variables that will get passed to the test
--REQUEST--
This section is also eval'd, and is similar in nature to --ENV--. However,
this section is used to build the url used in an HTTP request. Valid values
to set in this section would include:
SCRIPT_NAME The inital part of the request url
PATH_INFO The pathinfo part of a request url
FRAGMENT The fragment section of a url (after #)
QUERY_STRING The query part of a url (after ?)
--REQUEST--
return <<<END
PATH_INFO=/path/info
END;
--HEADERS--
This section is also eval'd. It is used to provide additional headers sent
in an HTTP request, such as content type for multipart posts, cookies, etc.
--HEADERS--
return <<<END
Content-Type=multipart/form-data; boundary=---------------------------240723202011929
Content-Length=100
END;
--EXPECTHEADERS--
This section can be used to define what headers are required to be
received back from a request, and is checked in addition to the
regular expect sections. For example:
--EXPECTHEADERS--
Status: 404
-123
View File
@@ -1,123 +0,0 @@
PHP Build System V5 Overview
- supports Makefile.ins during transition phase
- not-really-portable Makefile includes have been eliminated
- supports separate build directories without VPATH by using
explicit rules only
- does not waste disk-space/CPU-time for building temporary libraries
=> especially noticeable on slower systems
- slow recursive make replaced with one global Makefile
- eases integration of proper dependencies
- adds PHP_DEFINE(what[, value]) which creates a single include-file
per what. This will allow more fine-grained dependencies.
- abandoning the "one library per directory" concept
- improved integration of the CLI
- several new targets
build-modules: builds and copies dynamic modules into modules/
install-cli: installs the CLI only, so that the install-sapi
target does only what its name says
- finally abandoned automake (still requires aclocal at this time)
- changed some configure-time constructs to run at buildconf-time
- upgraded shtool to 1.5.4
- removed $(moduledir) (use EXTENSION_DIR)
The Reason For a New System
It became more and more apparent that there is a severe need
for addressing the portability concerns and improving the chance
that your build is correct (how often have you been told to
"make clean"? When this is done, you won't need to anymore).
If You Build PHP on a Unix System
You, as a user of PHP, will notice no changes. Of course, the build
system will be faster, look better and work smarter.
If You Are Developing PHP
Extension developers:
Makefile.ins are abandoned. The files which are to be compiled
are specified in the config.m4 now using the following macro:
PHP_NEW_EXTENSION(foo, foo.c bar.c baz.cpp, $ext_shared)
E.g. this enables the extension foo which consists of three source-code
modules, two in C and one in C++. And, depending on the user's wishes,
the extension will even be built as a dynamic module.
The full syntax:
PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags]]])
Please have a look at acinclude.m4 for the gory details and meanings
of the other parameters.
And that's basically it for the extension side.
If you previously built sub-libraries for this module, add
the source-code files here as well. If you need to specify
separate include directories, do it this way:
PHP_NEW_EXTENSION(foo, foo.c mylib/bar.c mylib/gregor.c,,,-I@ext_srcdir@/lib)
E.g. this builds the three files which are located relative to the
extension source directory and compiles all three files with the
special include directive (@ext_srcdir@ is automatically replaced).
Now, you need to tell the build system that you want to build files
in a directory called $ext_builddir/lib:
PHP_ADD_BUILD_DIR($ext_builddir/lib)
Make sure to call this after PHP_NEW_EXTENSION, because $ext_builddir
is only set by the latter.
If you have a complex extension, you might to need add special
Make rules. You can do this by calling PHP_ADD_MAKEFILE_FRAGMENT
in your config.m4 after PHP_NEW_EXTENSION.
This will read a file in the source-dir of your extension called
Makefile.frag. In this file, $(builddir) and $(srcdir) will be
replaced by the values which are correct for your extension
and which are again determined by the PHP_NEW_EXTENSION macro.
Make sure to prefix *all* relative paths correctly with either
$(builddir) or $(srcdir). Because the build system does not
change the working directory anymore, we must use either
absolute paths or relative ones to the top build-directory.
Correct prefixing ensures that.
SAPI developers:
Instead of using PHP_SAPI=foo/PHP_BUILD_XYZ, you will need to type
PHP_SELECT_SAPI(name, type, sources.c)
I.e. specify the source-code files as above and also pass the
information regarding how PHP is supposed to be built (shared
module, program, etc).
For example for APXS:
PHP_SELECT_SAPI(apache, shared, sapi_apache.c mod_php5.c php_apache.c)
General info
The foundation for the new system is the flexible handling of
sources and their contexts. With the help of macros you
can define special flags for each source-file, where it is
located, in which target context it can work, etc.
Have a look at the well documented macros
PHP_ADD_SOURCES(_X) in acinclude.m4.
-174
View File
@@ -1,174 +0,0 @@
The Win32 Build System.
$Id$
Wez Furlong <wez@thebrainroom.com>
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
@@ -1,112 +0,0 @@
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'
-193
View File
@@ -1,193 +0,0 @@
Input Filter Support in PHP 5
-----------------------------
XSS (Cross Site Scripting) hacks are becoming more and more prevalent,
and can be quite difficult to prevent. Whenever you accept user data
and somehow display this data back to users, you are likely vulnerable
to XSS hacks.
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.
A simple implementation might look like the following. This stores the
original raw user data and adds a my_get_raw() function while the normal
$_POST, $_GET and $_COOKIE arrays are only populated with stripped
data. In this simple example all I am doing is calling strip_tags() on
the data. If register_globals is turned on, the default globals that
are created will be stripped ($foo) while a $RAW_foo is created with the
original user input.
ZEND_BEGIN_MODULE_GLOBALS(my_input_filter)
zval *post_array;
zval *get_array;
zval *cookie_array;
ZEND_END_MODULE_GLOBALS(my_input_filter)
#ifdef ZTS
#define IF_G(v) TSRMG(my_input_filter_globals_id, zend_my_input_filter_globals *, v)
#else
#define IF_G(v) (my_input_filter_globals.v)
#endif
ZEND_DECLARE_MODULE_GLOBALS(my_input_filter)
function_entry my_input_filter_functions[] = {
PHP_FE(my_get_raw, NULL)
{NULL, NULL, NULL}
};
zend_module_entry my_input_filter_module_entry = {
STANDARD_MODULE_HEADER,
"my_input_filter",
my_input_filter_functions,
PHP_MINIT(my_input_filter),
PHP_MSHUTDOWN(my_input_filter),
NULL,
PHP_RSHUTDOWN(my_input_filter),
PHP_MINFO(my_input_filter),
"0.1",
STANDARD_MODULE_PROPERTIES
};
PHP_MINIT_FUNCTION(my_input_filter)
{
ZEND_INIT_MODULE_GLOBALS(my_input_filter, php_my_input_filter_init_globals, NULL);
REGISTER_LONG_CONSTANT("POST", PARSE_POST, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("GET", PARSE_GET, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("COOKIE", PARSE_COOKIE, CONST_CS | CONST_PERSISTENT);
sapi_register_input_filter(my_sapi_input_filter);
return SUCCESS;
}
PHP_RSHUTDOWN_FUNCTION(my_input_filter)
{
if(IF_G(get_array)) {
zval_ptr_dtor(&IF_G(get_array));
IF_G(get_array) = NULL;
}
if(IF_G(post_array)) {
zval_ptr_dtor(&IF_G(post_array));
IF_G(post_array) = NULL;
}
if(IF_G(cookie_array)) {
zval_ptr_dtor(&IF_G(cookie_array));
IF_G(cookie_array) = NULL;
}
return SUCCESS;
}
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", "$Revision$");
php_info_print_table_end();
}
/* The filter handler. If you return 1 from it, then PHP also registers the
* (modified) variable. Returning 0 prevents PHP from registering the variable;
* you can use this if your filter already registers the variable under a
* different name, or if you just don't want the variable registered at all. */
SAPI_INPUT_FILTER_FUNC(my_sapi_input_filter)
{
zval new_var;
zval *array_ptr = NULL;
char *raw_var;
int var_len;
assert(*val != NULL);
switch(arg) {
case PARSE_GET:
if(!IF_G(get_array)) {
ALLOC_ZVAL(array_ptr);
array_init(array_ptr);
INIT_PZVAL(array_ptr);
}
IF_G(get_array) = array_ptr;
break;
case PARSE_POST:
if(!IF_G(post_array)) {
ALLOC_ZVAL(array_ptr);
array_init(array_ptr);
INIT_PZVAL(array_ptr);
}
IF_G(post_array) = array_ptr;
break;
case PARSE_COOKIE:
if(!IF_G(cookie_array)) {
ALLOC_ZVAL(array_ptr);
array_init(array_ptr);
INIT_PZVAL(array_ptr);
}
IF_G(cookie_array) = array_ptr;
break;
}
Z_STRLEN(new_var) = val_len;
Z_STRVAL(new_var) = estrndup(*val, val_len);
Z_TYPE(new_var) = IS_STRING;
var_len = strlen(var);
raw_var = emalloc(var_len+5); /* RAW_ and a \0 */
strcpy(raw_var, "RAW_");
strlcat(raw_var,var,var_len+5);
php_register_variable_ex(raw_var, &new_var, array_ptr TSRMLS_DC);
php_strip_tags(*val, val_len, NULL, NULL, 0);
*new_val_len = strlen(*val);
return 1;
}
PHP_FUNCTION(my_get_raw)
{
long arg;
char *var;
int var_len;
zval **tmp;
zval *array_ptr = NULL;
HashTable *hash_ptr;
char *raw_var;
if(zend_parse_parameters(2 TSRMLS_CC, "ls", &arg, &var, &var_len) == FAILURE) {
return;
}
switch(arg) {
case PARSE_GET:
array_ptr = IF_G(get_array);
break;
case PARSE_POST:
array_ptr = IF_G(post_array);
break;
case PARSE_COOKIE:
array_ptr = IF_G(post_array);
break;
}
if(!array_ptr) RETURN_FALSE;
/*
* I'm changing the variable name here because when running with register_globals on,
* the variable will end up in the global symbol table
*/
raw_var = emalloc(var_len+5); /* RAW_ and a \0 */
strcpy(raw_var, "RAW_");
strlcat(raw_var,var,var_len+5);
hash_ptr = HASH_OF(array_ptr);
if(zend_hash_find(hash_ptr, raw_var, var_len+5, (void **)&tmp) == SUCCESS) {
*return_value = **tmp;
zval_copy_ctor(return_value);
} else {
RETVAL_FALSE;
}
efree(raw_var);
}
-152
View File
@@ -1,152 +0,0 @@
Things to do or at least think about doing in the future. Name in
parenthesis means that person has taken on this project.
Zend
----
* Allow foreach ($array as $k => list($a, $b)) syntax for multi
dimensional arrays.
* Look at replacing c-lib call tolower().
* Make hash API functions work with HASH_OF() to save time.
* Native large number support (probably with GNU GMP)
* Const'ify APIs. Right now, many functions leave parameters untouched,
but don't declare those as const. This makes interaction with other
interfaces difficult which pass const parameters to us.
global
------
* Make sure that all ZTS globals get destructed. Most ts_allocate_id()
calls should have a dtor entry.
* on some platforms unimplemented function will just do nothing
(e.g. symlink) they should print a warning or not even be defined!
(DONE ?)
* --enable-all in configure. (--enable-shared=max ...)
* make configure print out a summary when it's done (like XEmacs)
* replace standard functions which work on static data with
reentrancy-safe functions (DONE?).
* make SAPI conform to CGI/1.1. Currently, all SAPI modules
define REMOTE_ADDR etc. themselves and reach only various level
of compliance.
* see what functions might need to be changed to use HashPosition, so
that the internal array pointer is not affected.
* Move most extensions and PEAR packages out of the PHP CVS tree,
include them again during release packaging.
Other
* use thread-safe resolver functions (either require BIND 8 or adns).
* implement javadoc based function docs template system.
* provide optional IPv6 support (seems to be done?).
* find a better way to implement script timeouts. SIGVTALRM is used
by some POSIX threads implementations (i.e. OpenBSD) and is not
available in ZTS mode.
* Implement flush feature suitable for nested output buffers.
Streams
-------
* Route filestat.c through the wrapper layer; isolate the statcache code
so that it is independent of php functions and can be applied to any
stream/path.
* Implement generalized connection pool for stated protocols such as
ftp and http/1.1 (using keep-alive) to avoid having to negotiate
new command/request stream for each subsequent call; Possibly store
resources in contexts (creating a default context if necessary) to
allow segmentation of connection pools.
* Add a method to take ownership of the memory buffer in memory streams so
that generating string values for zvals doesn't require an estrdup.
* bundle and use curl lib for fopen wrapper.
documentation
-------------
* Add remarks in the documentation which functions are not implemented
on win32.
* Add remarks in the documentation which functions are not binary-safe.
* Update curl documentation (DONE?)
* Add developer documentation.
* Add detailed documentation for Java extension.
ext/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.
ext/oci8
--------
* All OCIFetch*() functions should return 0 for no more data and false on
error.
* Have a flag that trims trailing spaces from CHAR fields on retrieval.
* Make allow_call_time_pass_reference=Off working.
* For additional todo information, see oci8.c, in ext/oci8
ext/odbc
--------
For PHP 4.3.0:
* update all php_error calls to php_error_docref where valid
* integrate EXPERIMENTAL ODBC update for use in PHP 5.0, use for
testing purposes only.
For PHP 5.0.0
* Activate EXPERIMENTAL ODBC codebase update
ext/pcre
--------
* Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe
ext/pcntl
---------
* Change internal callback handler to use TICKS
* Remove all zend_extension code
* Add object callback support to pcntl_signal()
ext/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:
* session_abort() to abort session. ie: Do not save session data.
* Allow unset($_SESSION) or unset($HTTP_SESSION_VARS) to unset
session vars regardless of register_globals setting.
Other:
* Maybe implement finer-grained session variables that could be
locked individually.
* Write a network-transparent storage back-end with fallover
facilities
* Provide a callback facility which is executed upon encountering
an unknown class name during deserialization
ext/standard
------------
* Add a version number to data serialized via serialize().
* Possibly modify parsing of GPC data to automatically create arrays if
variable name is seen more than once.
* Implement regex-cache for url-functions.
* Move socket related functions to fsock.c.
ext/wddx
--------
* See if we can support the remaining data types:
dateTime
binary
http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
(Andrei)
* implement wddx_packet_as_javascript(). (Andrei)
other cool stuff
----------------
* PVM extension
vim:et:sw=4:ts=4
-5
View File
@@ -1,5 +0,0 @@
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)
-109
View File
@@ -1,109 +0,0 @@
Component: Zend Engine 2
Important stuff to finish: PPP members/PPP methods,
support of overloaded extensions, possibly differentiate
between class and namespace as discussed with Stig in
Germany.
Responsibility: Zeev, Andi, Stas
Time frame: Couple of months for first part and extensions will be
ongoing while PHP is being fixed.
Things to leave for later versions: Native aggregation
support, accessing static members via object and not class.
Component: Aggregation
Responsibility: Andi, Stig?
Time frame: ?
Component: Redesign of API Versioning
Responsibility: ?
Time frame: 1 month
Component: Thread Safety
Identify the extensions that are not thread safe by design
or due to dependant libraries and identify them as such.
If possible try to resolve thread safety issue via code
improvements (if php code or patches will be accepted by
library maintainers). For situations where thread safety
cannot easily be acheived a flag in the extension API is
set so PHP can identify non-thread safe extensions. These
extensions will not be loaded in a ZTS compiled binary
(unless it is cli/cgi).
Responsibility: ?
Time frame: ?
Component: SAPI
Environment variables defined in the CGI spec need to be
verified in each SAPI module that they conform to the CGI
spec correctly. If they do not, the SAPI module needs to
fix the variable prior to script execution. Having this
conformity will aid in having PHP scripts run correctly
under different sapi modules.
Responsibility: Shane Caraveo & each sapi module owner
Timeframe: ? (but shouldn't be much effort, most modules are probably ok)
Component: 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
by using ext/rpc.
Responsibility: Harald
Time frame: 2 months (but i have to wait for a few engine features first)
Component: OO Extensions
Each OO extension has to be revised and rewritten to fit into
the new OO model. We should decide which extensions are a must
to have for the release and which can be ported by the maintainer
later as a separate pecl release.
A list of extensions to be extended that have to be investigated:
* browscap
* aggregate
* all *sql extensions (*_fetch_object)
* domxml (seems like christian is rewriting it anyways)
* ming
Responsibility: Harald (, extension maintainers)
Component: Abstract Data Types (ADT)
Responsibility: Sterling, Harald
Time frame: ?
Component: Test Suite
Extending the test suite with atleast a test for every
function in an extension that doesn't require external
resources. Also developing an automated test thing which
cvs ups's, compiles and tests the build on a daily base on
as much platforms/extensions as possible.
The test suite will also be extended to support threaded
testing and testing for differing sapi modules (via http
calls or other methods).
Reponsibility: Derick (, extension maintainers)
Time frame: 3 months
-26
View File
@@ -1,26 +0,0 @@
Copyright (c) 1999, 2000, Andi Gutmans, Sascha Schumann, Zeev Suraski.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Neither name of the copyright holders nor the names of their contributors
may 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 HOLDERS 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
View File
@@ -1,6 +0,0 @@
## process this file with automake to produce Makefile.am
AUTOMAKE_OPTIONS=foreign
noinst_LTLIBRARIES=libtsrm.la
libtsrm_la_SOURCES = TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c
depend:
-2
View File
@@ -1,2 +0,0 @@
- Improve the lock in ts_resource_ex() in order to cover less code.
This can probably be done by more careful hash table access
-719
View File
@@ -1,719 +0,0 @@
/*
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999, 2000, 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 |
+----------------------------------------------------------------------+
| Authors: Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
#include "TSRM.h"
#ifdef ZTS
#include <stdio.h>
#if HAVE_STDARG_H
#include <stdarg.h>
#endif
typedef struct _tsrm_tls_entry tsrm_tls_entry;
struct _tsrm_tls_entry {
void **storage;
int count;
THREAD_T thread_id;
tsrm_tls_entry *next;
};
typedef struct {
size_t size;
ts_allocate_ctor ctor;
ts_allocate_dtor dtor;
int done;
} tsrm_resource_type;
/* The memory manager table */
static tsrm_tls_entry **tsrm_tls_table=NULL;
static int tsrm_tls_table_size;
static ts_rsrc_id id_count;
/* The resource sizes table */
static tsrm_resource_type *resource_types_table=NULL;
static int resource_types_table_size;
static MUTEX_T tsmm_mutex; /* thread-safe memory manager mutex */
/* New thread handlers */
static tsrm_thread_begin_func_t tsrm_new_thread_begin_handler;
static tsrm_thread_end_func_t tsrm_new_thread_end_handler;
/* Debug support */
int tsrm_error(int level, const char *format, ...);
/* Read a resource from a thread's resource storage */
static int tsrm_error_level;
static FILE *tsrm_error_file;
#if TSRM_DEBUG
#define TSRM_ERROR(args) tsrm_error args
#define TSRM_SAFE_RETURN_RSRC(array, offset, range) \
{ \
int unshuffled_offset = TSRM_UNSHUFFLE_RSRC_ID(offset); \
\
if (offset==0) { \
return &array; \
} else if ((unshuffled_offset)>=0 && (unshuffled_offset)<(range)) { \
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Successfully fetched resource id %d for thread id %ld - 0x%0.8X", \
unshuffled_offset, (long) thread_resources->thread_id, array[unshuffled_offset])); \
return array[unshuffled_offset]; \
} else { \
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Resource id %d is out of range (%d..%d)", \
unshuffled_offset, TSRM_SHUFFLE_RSRC_ID(0), TSRM_SHUFFLE_RSRC_ID(thread_resources->count-1))); \
return NULL; \
} \
}
#else
#define TSRM_ERROR(args)
#define TSRM_SAFE_RETURN_RSRC(array, offset, range) \
if (offset==0) { \
return &array; \
} else { \
return array[TSRM_UNSHUFFLE_RSRC_ID(offset)]; \
}
#endif
#if defined(PTHREADS)
/* Thread local storage */
static pthread_key_t tls_key;
# define tsrm_tls_set(what) pthread_setspecific(tls_key, (void*)(what))
# define tsrm_tls_get() pthread_getspecific(tls_key)
#elif defined(TSRM_ST)
static int tls_key;
# define tsrm_tls_set(what) st_thread_setspecific(tls_key, (void*)(what))
# define tsrm_tls_get() st_thread_getspecific(tls_key)
#elif defined(TSRM_WIN32)
static DWORD tls_key;
# define tsrm_tls_set(what) TlsSetValue(tls_key, (void*)(what))
# define tsrm_tls_get() TlsGetValue(tls_key)
#elif defined(BETHREADS)
static int32 tls_key;
# define tsrm_tls_set(what) tls_set(tls_key, (void*)(what))
# define tsrm_tls_get() (tsrm_tls_entry*)tls_get(tls_key)
#else
# define tsrm_tls_set(what)
# define tsrm_tls_get() NULL
# warning tsrm_set_interpreter_context is probably broken on this platform
#endif
/* Startup TSRM (call once for the entire process) */
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename)
{
#if defined(GNUPTH)
pth_init();
#elif defined(PTHREADS)
pthread_key_create( &tls_key, 0 );
#elif defined(TSRM_ST)
st_init();
st_key_create(&tls_key, 0);
#elif defined(TSRM_WIN32)
tls_key = TlsAlloc();
#elif defined(BETHREADS)
tls_key = tls_allocate();
#endif
tsrm_error_file = stderr;
tsrm_error_set(debug_level, debug_filename);
tsrm_tls_table_size = expected_threads;
tsrm_tls_table = (tsrm_tls_entry **) calloc(tsrm_tls_table_size, sizeof(tsrm_tls_entry *));
if (!tsrm_tls_table) {
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate TLS table"));
return 0;
}
id_count=0;
resource_types_table_size = expected_resources;
resource_types_table = (tsrm_resource_type *) calloc(resource_types_table_size, sizeof(tsrm_resource_type));
if (!resource_types_table) {
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate resource types table"));
free(tsrm_tls_table);
tsrm_tls_table = NULL;
return 0;
}
tsmm_mutex = tsrm_mutex_alloc();
tsrm_new_thread_begin_handler = tsrm_new_thread_end_handler = NULL;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Started up TSRM, %d expected threads, %d expected resources", expected_threads, expected_resources));
return 1;
}
/* Shutdown TSRM (call once for the entire process) */
TSRM_API void tsrm_shutdown(void)
{
int i;
if (tsrm_tls_table) {
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i], *next_p;
while (p) {
int j;
next_p = p->next;
for (j=0; j<p->count; j++) {
if (p->storage[j]) {
if (resource_types_table && !resource_types_table[j].done && resource_types_table[j].dtor) {
resource_types_table[j].dtor(p->storage[j], &p->storage);
}
free(p->storage[j]);
}
}
free(p->storage);
free(p);
p = next_p;
}
}
free(tsrm_tls_table);
tsrm_tls_table = NULL;
}
if (resource_types_table) {
free(resource_types_table);
resource_types_table=NULL;
}
tsrm_mutex_free(tsmm_mutex);
tsmm_mutex = NULL;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Shutdown TSRM"));
if (tsrm_error_file!=stderr) {
fclose(tsrm_error_file);
}
#if defined(GNUPTH)
pth_kill();
#elif defined(PTHREADS)
pthread_setspecific(tls_key, 0);
pthread_key_delete(tls_key);
#elif defined(TSRM_WIN32)
TlsFree(tls_key);
#endif
}
/* allocates a new thread-safe-resource id */
TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor)
{
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtaining a new resource id, %d bytes", size));
tsrm_mutex_lock(tsmm_mutex);
/* obtain a resource id */
*rsrc_id = TSRM_SHUFFLE_RSRC_ID(id_count++);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtained resource id %d", *rsrc_id));
/* store the new resource type in the resource sizes table */
if (resource_types_table_size < id_count) {
resource_types_table = (tsrm_resource_type *) realloc(resource_types_table, sizeof(tsrm_resource_type)*id_count);
if (!resource_types_table) {
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate storage for resource"));
*rsrc_id = 0;
return 0;
}
resource_types_table_size = id_count;
}
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].size = size;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].ctor = ctor;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].dtor = dtor;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].done = 0;
/* enlarge the arrays for the already active threads */
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i];
while (p) {
if (p->count < id_count) {
int j;
p->storage = (void *) realloc(p->storage, sizeof(void *)*id_count);
for (j=p->count; j<id_count; j++) {
p->storage[j] = (void *) malloc(resource_types_table[j].size);
if (resource_types_table[j].ctor) {
resource_types_table[j].ctor(p->storage[j], &p->storage);
}
}
p->count = id_count;
}
p = p->next;
}
}
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully allocated new resource id %d", *rsrc_id));
return *rsrc_id;
}
static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_T thread_id)
{
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Creating data structures for thread %x", thread_id));
(*thread_resources_ptr) = (tsrm_tls_entry *) malloc(sizeof(tsrm_tls_entry));
(*thread_resources_ptr)->storage = (void **) malloc(sizeof(void *)*id_count);
(*thread_resources_ptr)->count = id_count;
(*thread_resources_ptr)->thread_id = thread_id;
(*thread_resources_ptr)->next = NULL;
/* Set thread local storage to this new thread resources structure */
tsrm_tls_set(*thread_resources_ptr);
if (tsrm_new_thread_begin_handler) {
tsrm_new_thread_begin_handler(thread_id, &((*thread_resources_ptr)->storage));
}
for (i=0; i<id_count; i++) {
if (resource_types_table[i].done) {
(*thread_resources_ptr)->storage[i] = NULL;
} else
{
(*thread_resources_ptr)->storage[i] = (void *) malloc(resource_types_table[i].size);
if (resource_types_table[i].ctor) {
resource_types_table[i].ctor((*thread_resources_ptr)->storage[i], &(*thread_resources_ptr)->storage);
}
}
}
if (tsrm_new_thread_end_handler) {
tsrm_new_thread_end_handler(thread_id, &((*thread_resources_ptr)->storage));
}
tsrm_mutex_unlock(tsmm_mutex);
}
/* fetches the requested resource for the current thread */
TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
{
THREAD_T thread_id;
int hash_value;
tsrm_tls_entry *thread_resources;
#ifdef NETWARE
/* The below if loop is added for NetWare to fix an abend while unloading PHP
* when an Apache unload command is issued on the system console.
* While exiting from PHP, at the end for some reason, this function is called
* with tsrm_tls_table = NULL. When this happened, the server abends when
* tsrm_tls_table is accessed since it is NULL.
*/
if(tsrm_tls_table) {
#endif
if (!th_id) {
/* Fast path for looking up the resources for the current
* thread. Its used by just about every call to
* ts_resource_ex(). This avoids the need for a mutex lock
* and our hashtable lookup.
*/
thread_resources = tsrm_tls_get();
if (thread_resources) {
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Fetching resource id %d for current thread %d", id, (long) thread_resources->thread_id));
/* Read a specific resource from the thread's resources.
* This is called outside of a mutex, so have to be aware about external
* changes to the structure as we read it.
*/
TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id, thread_resources->count);
}
thread_id = tsrm_thread_id();
} else {
thread_id = *th_id;
}
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Fetching resource id %d for thread %ld", id, (long) thread_id));
tsrm_mutex_lock(tsmm_mutex);
hash_value = THREAD_HASH_OF(thread_id, tsrm_tls_table_size);
thread_resources = tsrm_tls_table[hash_value];
if (!thread_resources) {
allocate_new_resource(&tsrm_tls_table[hash_value], thread_id);
return ts_resource_ex(id, &thread_id);
} else {
do {
if (thread_resources->thread_id == thread_id) {
break;
}
if (thread_resources->next) {
thread_resources = thread_resources->next;
} else {
allocate_new_resource(&thread_resources->next, thread_id);
return ts_resource_ex(id, &thread_id);
/*
* thread_resources = thread_resources->next;
* break;
*/
}
} while (thread_resources);
}
tsrm_mutex_unlock(tsmm_mutex);
/* Read a specific resource from the thread's resources.
* This is called outside of a mutex, so have to be aware about external
* changes to the structure as we read it.
*/
TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id, thread_resources->count);
#ifdef NETWARE
} /* if(tsrm_tls_table) */
#endif
}
/* frees an interpreter context. You are responsible for making sure that
* it is not linked into the TSRM hash, and not marked as the current interpreter */
void tsrm_free_interpreter_context(void *context)
{
tsrm_tls_entry *next, *thread_resources = (tsrm_tls_entry*)context;
int i;
while (thread_resources) {
next = thread_resources->next;
for (i=0; i<thread_resources->count; i++) {
if (resource_types_table[i].dtor) {
resource_types_table[i].dtor(thread_resources->storage[i], &thread_resources->storage);
}
}
for (i=0; i<thread_resources->count; i++) {
free(thread_resources->storage[i]);
}
free(thread_resources->storage);
free(thread_resources);
thread_resources = next;
}
}
void *tsrm_set_interpreter_context(void *new_ctx)
{
tsrm_tls_entry *current;
current = tsrm_tls_get();
/* TODO: unlink current from the global linked list, and replace it
* it with the new context, protected by mutex where/if appropriate */
/* Set thread local storage to this new thread resources structure */
tsrm_tls_set(new_ctx);
/* return old context, so caller can restore it when they're done */
return current;
}
/* allocates a new interpreter context */
void *tsrm_new_interpreter_context(void)
{
tsrm_tls_entry *new_ctx, *current;
THREAD_T thread_id;
thread_id = tsrm_thread_id();
tsrm_mutex_lock(tsmm_mutex);
current = tsrm_tls_get();
new_ctx = malloc(sizeof(*new_ctx));
allocate_new_resource(&new_ctx, thread_id);
/* switch back to the context that was in use prior to our creation
* of the new one */
return tsrm_set_interpreter_context(current);
}
/* frees all resources allocated for the current thread */
void ts_free_thread(void)
{
tsrm_tls_entry *thread_resources;
int i;
THREAD_T thread_id = tsrm_thread_id();
int hash_value;
tsrm_tls_entry *last=NULL;
tsrm_mutex_lock(tsmm_mutex);
hash_value = THREAD_HASH_OF(thread_id, tsrm_tls_table_size);
thread_resources = tsrm_tls_table[hash_value];
while (thread_resources) {
if (thread_resources->thread_id == thread_id) {
for (i=0; i<thread_resources->count; i++) {
if (resource_types_table[i].dtor) {
resource_types_table[i].dtor(thread_resources->storage[i], &thread_resources->storage);
}
}
for (i=0; i<thread_resources->count; i++) {
free(thread_resources->storage[i]);
}
free(thread_resources->storage);
if (last) {
last->next = thread_resources->next;
} else {
tsrm_tls_table[hash_value] = thread_resources->next;
}
tsrm_tls_set(0);
free(thread_resources);
break;
}
if (thread_resources->next) {
last = thread_resources;
}
thread_resources = thread_resources->next;
}
tsrm_mutex_unlock(tsmm_mutex);
}
/* deallocates all occurrences of a given id */
void ts_free_id(ts_rsrc_id id)
{
int i;
int j = TSRM_UNSHUFFLE_RSRC_ID(id);
tsrm_mutex_lock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Freeing resource id %d", id));
if (tsrm_tls_table) {
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i];
while (p) {
if (p->count > j && p->storage[j]) {
if (resource_types_table && resource_types_table[j].dtor) {
resource_types_table[j].dtor(p->storage[j], &p->storage);
}
free(p->storage[j]);
p->storage[j] = NULL;
}
p = p->next;
}
}
}
resource_types_table[j].done = 1;
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully freed resource id %d", id));
}
/*
* Utility Functions
*/
/* Obtain the current thread id */
TSRM_API THREAD_T tsrm_thread_id(void)
{
#ifdef TSRM_WIN32
return GetCurrentThreadId();
#elif defined(GNUPTH)
return pth_self();
#elif defined(PTHREADS)
return pthread_self();
#elif defined(NSAPI)
return systhread_current();
#elif defined(PI3WEB)
return PIThread_getCurrent();
#elif defined(TSRM_ST)
return st_thread_self();
#elif defined(BETHREADS)
return find_thread(NULL);
#endif
}
/* Allocate a mutex */
TSRM_API MUTEX_T tsrm_mutex_alloc(void)
{
MUTEX_T mutexp;
#ifdef TSRM_WIN32
mutexp = malloc(sizeof(CRITICAL_SECTION));
InitializeCriticalSection(mutexp);
#elif defined(GNUPTH)
mutexp = (MUTEX_T) malloc(sizeof(*mutexp));
pth_mutex_init(mutexp);
#elif defined(PTHREADS)
mutexp = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
pthread_mutex_init(mutexp,NULL);
#elif defined(NSAPI)
mutexp = crit_init();
#elif defined(PI3WEB)
mutexp = PIPlatform_allocLocalMutex();
#elif defined(TSRM_ST)
mutexp = st_mutex_new();
#elif defined(BETHREADS)
mutexp = (beos_ben*)malloc(sizeof(beos_ben));
mutexp->ben = 0;
mutexp->sem = create_sem(1, "PHP sempahore");
#endif
#ifdef THR_DEBUG
printf("Mutex created thread: %d\n",mythreadid());
#endif
return( mutexp );
}
/* Free a mutex */
TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
{
if (mutexp) {
#ifdef TSRM_WIN32
DeleteCriticalSection(mutexp);
free(mutexp);
#elif defined(GNUPTH)
free(mutexp);
#elif defined(PTHREADS)
pthread_mutex_destroy(mutexp);
free(mutexp);
#elif defined(NSAPI)
crit_terminate(mutexp);
#elif defined(PI3WEB)
PISync_delete(mutexp);
#elif defined(TSRM_ST)
st_mutex_destroy(mutexp);
#elif defined(BETHREADS)
delete_sem(mutexp->sem);
free(mutexp);
#endif
}
#ifdef THR_DEBUG
printf("Mutex freed thread: %d\n",mythreadid());
#endif
}
/* 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 1;
#elif defined(GNUPTH)
return pth_mutex_acquire(mutexp, 0, NULL);
#elif defined(PTHREADS)
return pthread_mutex_lock(mutexp);
#elif defined(NSAPI)
return crit_enter(mutexp);
#elif defined(PI3WEB)
return PISync_lock(mutexp);
#elif defined(TSRM_ST)
return st_mutex_lock(mutexp);
#elif defined(BETHREADS)
if (atomic_add(&mutexp->ben, 1) != 0)
return acquire_sem(mutexp->sem);
return 0;
#endif
}
/* 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 1;
#elif defined(GNUPTH)
return pth_mutex_release(mutexp);
#elif defined(PTHREADS)
return pthread_mutex_unlock(mutexp);
#elif defined(NSAPI)
return crit_exit(mutexp);
#elif defined(PI3WEB)
return PISync_unlock(mutexp);
#elif defined(TSRM_ST)
return st_mutex_unlock(mutexp);
#elif defined(BETHREADS)
if (atomic_add(&mutexp->ben, -1) != 1)
return release_sem(mutexp->sem);
return 0;
#endif
}
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler)
{
void *retval = (void *) tsrm_new_thread_begin_handler;
tsrm_new_thread_begin_handler = new_thread_begin_handler;
return retval;
}
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler)
{
void *retval = (void *) tsrm_new_thread_end_handler;
tsrm_new_thread_end_handler = new_thread_end_handler;
return retval;
}
/*
* Debug support
*/
#if TSRM_DEBUG
int tsrm_error(int level, const char *format, ...)
{
if (level<=tsrm_error_level) {
va_list args;
int size;
fprintf(tsrm_error_file, "TSRM: ");
va_start(args, format);
size = vfprintf(tsrm_error_file, format, args);
va_end(args);
fprintf(tsrm_error_file, "\n");
fflush(tsrm_error_file);
return size;
} else {
return 0;
}
}
#endif
void tsrm_error_set(int level, char *debug_filename)
{
tsrm_error_level = level;
#if TSRM_DEBUG
if (tsrm_error_file!=stderr) { /* close files opened earlier */
fclose(tsrm_error_file);
}
if (debug_filename) {
tsrm_error_file = fopen(debug_filename, "w");
if (!tsrm_error_file) {
tsrm_error_file = stderr;
}
} else {
tsrm_error_file = stderr;
}
#endif
}
#endif /* ZTS */
-186
View File
@@ -1,186 +0,0 @@
# Microsoft Developer Studio Project File - Name="TSRM" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=TSRM - Win32 Debug_TS
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "TSRM.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "TSRM.mak" CFG="TSRM - Win32 Debug_TS"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "TSRM - Win32 Debug_TS" (based on "Win32 (x86) Static Library")
!MESSAGE "TSRM - Win32 Release_TS" (based on "Win32 (x86) Static Library")
!MESSAGE "TSRM - Win32 Release_TS_inline" (based on "Win32 (x86) Static Library")
!MESSAGE "TSRM - Win32 Release_TSDbg" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "TSRM - Win32 Debug_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "TSRM___Win32_Debug_TS"
# PROP BASE Intermediate_Dir "TSRM___Win32_Debug_TS"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug_TS"
# PROP Intermediate_Dir "Debug_TS"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "C:\Projects\TSRM" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /D "_DEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=1 /YX /FD /GZ /c
# ADD BASE RSC /l 0x40d /d "_DEBUG"
# ADD RSC /l 0x40d /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "TSRM - Win32 Release_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "TSRM___Win32_Release_TS"
# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TS"
# PROP Intermediate_Dir "Release_TS"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD BASE RSC /l 0x40d /d "NDEBUG"
# ADD RSC /l 0x40d /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "TSRM - Win32 Release_TS_inline"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "TSRM___Win32_Release_TS_inline"
# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS_inline"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TS_inline"
# PROP Intermediate_Dir "Release_TS_inline"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "TSRM_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD BASE RSC /l 0x40d /d "NDEBUG"
# ADD RSC /l 0x40d /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "TSRM - Win32 Release_TSDbg"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "TSRM___Win32_Release_TSDbg"
# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TSDbg"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TSDbg"
# PROP Intermediate_Dir "Release_TSDbg"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Zi /Od /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD BASE RSC /l 0x40d /d "NDEBUG"
# ADD RSC /l 0x40d /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "TSRM - Win32 Debug_TS"
# Name "TSRM - Win32 Release_TS"
# Name "TSRM - Win32 Release_TS_inline"
# Name "TSRM - Win32 Release_TSDbg"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\TSRM.c
# End Source File
# Begin Source File
SOURCE=.\tsrm_strtok_r.c
# End Source File
# Begin Source File
SOURCE=.\tsrm_virtual_cwd.c
# End Source File
# Begin Source File
SOURCE=.\tsrm_win32.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\readdir.h
# End Source File
# Begin Source File
SOURCE=.\TSRM.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_config.w32.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_config_common.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_strtok_r.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_virtual_cwd.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_win32.h
# End Source File
# End Group
# End Target
# End Project
-169
View File
@@ -1,169 +0,0 @@
/*
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999, 2000, 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 |
+----------------------------------------------------------------------+
| Authors: Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
#ifndef TSRM_H
#define TSRM_H
/* #ifndef WIN32 */
#ifndef WIN32
# include <tsrm_config.h>
#endif
#ifdef WIN32
# define TSRM_WIN32
# include "tsrm_config.w32.h"
#endif
#ifdef TSRM_WIN32
# ifdef TSRM_EXPORTS
# define TSRM_API __declspec(dllexport)
# else
# define TSRM_API __declspec(dllimport)
# endif
#else
# define TSRM_API
#endif
/* Only compile multi-threading functions if we're in ZTS mode */
#ifdef ZTS
#ifdef TSRM_WIN32
# ifndef TSRM_INCLUDE_FULL_WINDOWS_HEADERS
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <shellapi.h>
#elif defined(GNUPTH)
# include <pth.h>
#elif defined(PTHREADS)
# include <pthread.h>
#elif defined(TSRM_ST)
# include <st.h>
#elif defined(BETHREADS)
#include <kernel/OS.h>
#include <TLS.h>
#endif
typedef int ts_rsrc_id;
/* Define THREAD_T and MUTEX_T */
#ifdef TSRM_WIN32
# define THREAD_T DWORD
# define MUTEX_T CRITICAL_SECTION *
#elif defined(GNUPTH)
# define THREAD_T pth_t
# define MUTEX_T pth_mutex_t *
#elif defined(PTHREADS)
# define THREAD_T pthread_t
# define MUTEX_T pthread_mutex_t *
#elif defined(NSAPI)
# define THREAD_T SYS_THREAD
# define MUTEX_T CRITICAL
#elif defined(PI3WEB)
# define THREAD_T PIThread *
# define MUTEX_T PISync *
#elif defined(TSRM_ST)
# define THREAD_T st_thread_t
# define MUTEX_T st_mutex_t
#elif defined(BETHREADS)
# define THREAD_T thread_id
typedef struct {
sem_id sem;
int32 ben;
} beos_ben;
# define MUTEX_T beos_ben *
#endif
typedef void (*ts_allocate_ctor)(void *, void ***);
typedef void (*ts_allocate_dtor)(void *, void ***);
#define THREAD_HASH_OF(thr,ts) (unsigned long)thr%(unsigned long)ts
#ifdef __cplusplus
extern "C" {
#endif
/* startup/shutdown */
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename);
TSRM_API void tsrm_shutdown(void);
/* allocates a new thread-safe-resource id */
TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor);
/* fetches the requested resource for the current thread */
TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id);
#define ts_resource(id) ts_resource_ex(id, NULL)
/* frees all resources allocated for the current thread */
TSRM_API void ts_free_thread(void);
/* deallocates all occurrences of a given id */
TSRM_API void ts_free_id(ts_rsrc_id id);
/* Debug support */
#define TSRM_ERROR_LEVEL_ERROR 1
#define TSRM_ERROR_LEVEL_CORE 2
#define TSRM_ERROR_LEVEL_INFO 3
typedef void (*tsrm_thread_begin_func_t)(THREAD_T thread_id, void ***tsrm_ls);
typedef void (*tsrm_thread_end_func_t)(THREAD_T thread_id, void ***tsrm_ls);
TSRM_API int tsrm_error(int level, const char *format, ...);
TSRM_API void tsrm_error_set(int level, char *debug_filename);
/* utility functions */
TSRM_API THREAD_T tsrm_thread_id(void);
TSRM_API MUTEX_T tsrm_mutex_alloc(void);
TSRM_API void tsrm_mutex_free(MUTEX_T mutexp);
TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp);
TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp);
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler);
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler);
/* these 3 APIs should only be used by people that fully understand the threading model
* used by PHP/Zend and the selected SAPI. */
TSRM_API void *tsrm_new_interpreter_context(void);
TSRM_API void *tsrm_set_interpreter_context(void *new_ctx);
TSRM_API void tsrm_free_interpreter_context(void *context);
#define TSRM_SHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)+1)
#define TSRM_UNSHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)-1)
#define TSRMLS_FETCH() void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL)
#define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = (void ***) ctx
#define TSRMLS_SET_CTX(ctx) ctx = (void ***) tsrm_ls
#define TSRMG(id, type, element) (((type) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
#define TSRMLS_D void ***tsrm_ls
#define TSRMLS_DC , TSRMLS_D
#define TSRMLS_C tsrm_ls
#define TSRMLS_CC , TSRMLS_C
#ifdef __cplusplus
}
#endif
#else /* non ZTS */
#define TSRMLS_FETCH()
#define TSRMLS_FETCH_FROM_CTX(ctx)
#define TSRMLS_SET_CTX(ctx)
#define TSRMLS_D void
#define TSRMLS_DC
#define TSRMLS_C
#define TSRMLS_CC
#endif /* ZTS */
#endif /* TSRM_H */
-1
View File
@@ -1 +0,0 @@
#undef PTHREADS
-5
View File
@@ -1,5 +0,0 @@
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
-43
View File
@@ -1,43 +0,0 @@
# Makefile to generate build tools
#
# Standard usage:
# make -f build.mk
#
# Written by Sascha Schumann
#
# $Id$
LT_TARGETS = ltmain.sh ltconfig
config_h_in = tsrm_config.h.in
makefile_am_files = Makefile.am
makefile_in_files = $(makefile_am_files:.am=.in)
makefile_files = $(makefile_am_files:e.am=e)
targets = $(makefile_in_files) $(LT_TARGETS) configure $(config_h_in)
all: $(targets)
clean:
rm -f $(targets)
$(LT_TARGETS):
rm -f $(LT_TARGETS)
libtoolize --automake $(AMFLAGS) -f
$(makefile_in_files): $(makefile_am_files)
automake -a -i $(AMFLAGS) $(makefile_files)
aclocal.m4: configure.in acinclude.m4
aclocal
$(config_h_in): configure.in acconfig.h
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
configure: aclocal.m4 configure.in
autoconf
-33
View File
@@ -1,33 +0,0 @@
#!/bin/sh
case "$1" in
--copy)
automake_flags=--copy
shift
;;
esac
libtoolize --force --automake $automake_flags
mv aclocal.m4 aclocal.m4.old 2>/dev/null
aclocal
if cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then
echo "buildconf: keeping ${1}aclocal.m4"
mv aclocal.m4.old aclocal.m4
else
echo "buildconf: created or modified ${1}aclocal.m4"
fi
autoheader
automake --add-missing --include-deps $automake_flags
mv configure configure.old 2>/dev/null
autoconf
if cmp configure.old configure > /dev/null 2>&1; then
echo "buildconf: keeping ${1}configure"
mv configure.old configure
else
echo "buildconf: created or modified ${1}configure"
fi
-10
View File
@@ -1,10 +0,0 @@
// 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");
-31
View File
@@ -1,31 +0,0 @@
dnl $Id$
dnl
dnl Minimalistic configure.in for TSRM.
dnl
AC_INIT(TSRM.c)
AM_INIT_AUTOMAKE(TSRM, 1.0, nodefine)
AM_CONFIG_HEADER(tsrm_config.h)
sinclude(tsrm.m4)
TSRM_BASIC_CHECKS
TSRM_THREADS_CHECKS
AM_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
AM_SET_LIBTOOL_VARIABLE([--silent])
fi
dnl TSRM_PTHREAD
AC_CHECK_HEADERS(
utime.h \
dirent.h \
stdarg.h \
alloca.h \
unistd.h \
limits.h
)
AC_OUTPUT(Makefile)
-44
View File
@@ -1,44 +0,0 @@
#ifndef READDIR_H
#define READDIR_H
/*
* Structures and types used to implement opendir/readdir/closedir
* on Windows 95/NT.
*/
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
/* struct dirent - same as Unix */
struct dirent {
long d_ino; /* inode (always 1 in WIN32) */
off_t d_off; /* offset to this dirent */
unsigned short d_reclen; /* length of d_name */
char d_name[_MAX_FNAME + 1]; /* filename (null terminated) */
};
/* typedef DIR - not the same as Unix */
typedef struct {
long handle; /* _findfirst/_findnext handle */
short offset; /* offset into directory */
short finished; /* 1 if there are not more files */
struct _finddata_t fileinfo; /* from _findfirst/_findnext */
char *dir; /* the dir we are reading */
struct dirent dent; /* the dirent to return */
} DIR;
/* Function prototypes */
DIR *opendir(const char *);
struct dirent *readdir(DIR *);
int readdir_r(DIR *, struct dirent *, struct dirent **);
int closedir(DIR *);
void rewinddir(DIR *);
#endif /* READDIR_H */
-173
View File
@@ -1,173 +0,0 @@
dnl Copyright (c) 1999, 2000 Sascha Schumann. All rights reserved.
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions
dnl are met:
dnl
dnl 1. Redistributions of source code must retain the above copyright
dnl notice, this list of conditions and the following disclaimer.
dnl
dnl 2. Redistributions in binary form must reproduce the above copyright
dnl notice, this list of conditions and the following disclaimer in
dnl the documentation and/or other materials provided with the
dnl distribution.
dnl
dnl THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY
dnl EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
dnl PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SASCHA SCHUMANN OR
dnl HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dnl SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
dnl NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
dnl LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
dnl HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
dnl STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
dnl OF THE POSSIBILITY OF SUCH DAMAGE.
dnl
dnl PTHREADS_FLAGS
dnl
dnl Set some magic defines to achieve POSIX threads conformance
dnl
AC_DEFUN([PTHREADS_FLAGS],[
if test -z "$host_alias" && test -n "$host"; then
host_alias=$host
fi
if test -z "$host_alias"; then
AC_MSG_ERROR(host_alias is not set. Make sure to run config.guess)
fi
case $host_alias in
*solaris*)
PTHREAD_FLAGS="-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT";;
*freebsd*)
PTHREAD_FLAGS="-D_REENTRANT -D_THREAD_SAFE";;
*linux*)
PTHREAD_FLAGS=-D_REENTRANT;;
*aix*)
PTHREAD_FLAGS=-D_THREAD_SAFE;;
*irix*)
PTHREAD_FLAGS=-D_POSIX_THREAD_SAFE_FUNCTIONS;;
*hpux*)
PTHREAD_FLAGS=-D_REENTRANT;;
*sco*)
PTHREAD_FLAGS=-D_REENTRANT;;
dnl Solves sigwait() problem, creates problems with u_long etc.
dnl PTHREAD_FLAGS="-D_REENTRANT -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE_EXTENDED=1";;
esac
if test -n "$PTHREAD_FLAGS"; then
CPPFLAGS="$CPPFLAGS $PTHREAD_FLAGS"
fi
])dnl
dnl
dnl PTHREADS_CHECK_COMPILE
dnl
dnl Check whether the current setup can use POSIX threads calls
dnl
AC_DEFUN([PTHREADS_CHECK_COMPILE], [
AC_TRY_RUN( [
#include <pthread.h>
#include <stddef.h>
void *thread_routine(void *data) {
return data;
}
int main() {
pthread_t thd;
pthread_mutexattr_t mattr;
int data = 1;
pthread_mutexattr_init(&mattr);
return pthread_create(&thd, NULL, thread_routine, &data);
} ], [
pthreads_working=yes
], [
pthreads_working=no
], [
dnl For cross compiling running this test is of no use. NetWare supports pthreads
pthreads_working=no
case $host_alias in
*netware*)
pthreads_working=yes
esac
]
) ] )dnl
dnl
dnl PTHREADS_CHECK()
dnl
dnl Try to find a way to enable POSIX threads
dnl
dnl Magic flags
dnl -kthread gcc (FreeBSD)
dnl -Kthread UDK cc (UnixWare)
dnl -mt WorkShop cc (Solaris)
dnl -mthreads gcc (AIX)
dnl -pthread gcc (Linux, FreeBSD, NetBSD, OpenBSD)
dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
AC_DEFUN([PTHREADS_CHECK],[
if test "$beos_threads" = "1"; then
pthreads_working="yes"
ac_cv_pthreads_cflags=""
else
save_CFLAGS=$CFLAGS
save_LIBS=$LIBS
PTHREADS_ASSIGN_VARS
PTHREADS_CHECK_COMPILE
LIBS=$save_LIBS
CFLAGS=$save_CFLAGS
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
CFLAGS=$ac_save
if test "$pthreads_working" = "yes"; then
ac_cv_pthreads_cflags=$flag
break
fi
done
fi
fi
])
AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[
ac_cv_pthreads_lib=
if test "$pthreads_working" != "yes"; then
for lib in pthread pthreads c_r; do
ac_save=$LIBS
LIBS="$LIBS -l$lib"
PTHREADS_CHECK_COMPILE
LIBS=$ac_save
if test "$pthreads_working" = "yes"; then
ac_cv_pthreads_lib=$lib
break
fi
done
fi
])
if test "$pthreads_working" = "yes"; then
threads_result="POSIX-Threads found"
else
threads_result="POSIX-Threads not found"
fi
])dnl
dnl
dnl
AC_DEFUN([PTHREADS_ASSIGN_VARS],[
if test -n "$ac_cv_pthreads_lib"; then
LIBS="$LIBS -l$ac_cv_pthreads_lib"
fi
if test -n "$ac_cv_pthreads_cflags"; then
CFLAGS="$CFLAGS $ac_cv_pthreads_cflags"
fi
])dnl
-129
View File
@@ -1,129 +0,0 @@
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_)
AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [
echo 'void somefunc() { };' > conftest.c
cmd='$CC $1 -c conftest.c'
if eval $cmd 2>&1 | egrep -e $1 >/dev/null ; then
ac_result=no
else
ac_result=yes
fi
eval $gcc_arg_name=$ac_result
rm -f conftest.*
])
if eval test "\$$gcc_arg_name" = "yes"; then
$2
else
:
$3
fi
])
AC_DEFUN([TSRM_BASIC_CHECKS],[
AC_REQUIRE([AC_PROG_CC])dnl
dnl AC_REQUIRE([AM_PROG_CC_STDC])dnl
AC_REQUIRE([AC_PROG_CC_C_O])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_CHECK_HEADERS(stdarg.h)
])
AC_DEFUN([TSRM_CHECK_PTH],[
AC_MSG_CHECKING(for GNU Pth)
PTH_PREFIX="`$1 --prefix`"
if test -z "$PTH_PREFIX"; then
AC_MSG_RESULT(Please check your Pth installation)
fi
CPPFLAGS="$CPPFLAGS `$1 --cflags`"
LDFLAGS="$LDFLAGS `$1 --ldflags`"
LIBS="$LIBS `$1 --libs`"
AC_DEFINE(GNUPTH, 1, [Whether you use GNU Pth])
AC_MSG_RESULT(yes - installed in $PTH_PREFIX)
])
AC_DEFUN([TSRM_CHECK_ST],[
if test -r "$1/include/st.h"; then
CPPFLAGS="$CPPFLAGS -I$1/include"
LDFLAGS="$LDFLAGS -L$1/lib"
elif test -r "$1/st.h"; then
CPPFLAGS="$CPPFLAGS -I$1"
LDFLAGS="$LDFLAGS -L$1"
fi
AC_CHECK_HEADERS(st.h,[],[
AC_MSG_ERROR([Sorry[,] I was unable to locate the State Threads header file. Please specify the prefix using --with-tsrm-st=/prefix])
])
LIBS="$LIBS -lst"
AC_MSG_CHECKING(for SGI's State Threads)
AC_MSG_RESULT(yes)
AC_DEFINE(TSRM_ST, 1, [ ])
])
sinclude(threads.m4)
sinclude(TSRM/threads.m4)
AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
if test "$beos_threads" = "1"; then
AC_DEFINE(BETHREADS, 1, Whether to use native BeOS threads)
else
if test "$pthreads_working" != "yes"; then
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
fi
AC_DEFINE(PTHREADS, 1, Whether to use Pthreads)
AC_MSG_CHECKING(for POSIX threads)
AC_MSG_RESULT(yes)
fi
])
AC_DEFUN([TSRM_THREADS_CHECKS],[
dnl For the thread implementations, we always use --with-*
dnl to maintain consistency
AC_ARG_WITH(tsrm-pth,
[ --with-tsrm-pth[=pth-config]
Use GNU Pth],[
TSRM_PTH=$withval
],[
TSRM_PTH=no
])
AC_ARG_WITH(tsrm-st,
[ --with-tsrm-st Use SGI's State Threads],[
TSRM_ST=$withval
],[
TSRM_ST=no
])
AC_ARG_WITH(tsrm-pthreads,
[ --with-tsrm-pthreads Use POSIX threads (default)],[
TSRM_PTHREADS=$withval
],[
TSRM_PTHREADS=yes
])
test "$TSRM_PTH" = "yes" && TSRM_PTH=pth-config
if test "$TSRM_PTH" != "no"; then
TSRM_CHECK_PTH($TSRM_PTH)
elif test "$TSRM_ST" != "no"; then
TSRM_CHECK_ST($TSRM_ST)
elif test "$TSRM_PTHREADS" != "no"; then
TSRM_CHECK_PTHREADS
fi
])
-20
View File
@@ -1,20 +0,0 @@
#ifndef TSRM_CONFIG_W32_H
#define TSRM_CONFIG_W32_H
#define HAVE_UTIME 1
#define HAVE_ALLOCA 1
#define HAVE_REALPATH 1
#include <malloc.h>
#include <stdlib.h>
#include <crtdbg.h>
#undef inline
#ifdef ZEND_WIN32_FORCE_INLINE
# define inline __forceinline
#else
# define inline
#endif
#endif
-58
View File
@@ -1,58 +0,0 @@
#ifndef TSRM_CONFIG_COMMON_H
#define TSRM_CONFIG_COMMON_H
#if WINNT|WIN32
# define TSRM_WIN32
#endif
#ifdef TSRM_WIN32
# include "tsrm_config.w32.h"
#else
# include <tsrm_config.h>
# include <sys/param.h>
#endif
#if HAVE_ALLOCA_H && !defined(_ALLOCA_H)
# include <alloca.h>
#endif
/* AIX requires this to be the first thing in the file. */
#ifndef __GNUC__
# ifndef HAVE_ALLOCA_H
# ifdef _AIX
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
# ifndef NETWARE
char *alloca ();
# endif
# endif
# endif
# endif
#endif
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#if HAVE_LIMITS_H
#include <limits.h>
#endif
#ifndef MAXPATHLEN
# ifdef PATH_MAX
# define MAXPATHLEN PATH_MAX
# else
# define MAXPATHLEN 256
# endif
#endif
#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2))
# define tsrm_do_alloca(p) alloca(p)
# define tsrm_free_alloca(p)
#else
# define tsrm_do_alloca(p) malloc(p)
# define tsrm_free_alloca(p) free(p)
#endif
#endif /* TSRM_CONFIG_COMMON_H */
-240
View File
@@ -1,240 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2005 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
| Anantha Kesari H Y <hyanantha@novell.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include "TSRM.h"
#ifdef NETWARE
#ifdef USE_MKFIFO
#include <sys/stat.h>
#elif !defined(USE_PIPE_OPEN) /* NXFifoOpen */
#include <nks/fsio.h>
#endif
#include <nks/vm.h>
#include <nks/memory.h>
#include <string.h>
#include "mktemp.h"
/* strtok() call in LibC is abending when used in a different address space
* -- hence using PHP's version itself for now
*/
#include "tsrm_strtok_r.h"
#define tsrm_strtok_r(a,b,c) strtok((a),(b))
#define WHITESPACE " \t"
#define MAX_ARGS 10
TSRM_API FILE* popen(const char *commandline, const char *type)
{
char *command = NULL, *argv[MAX_ARGS] = {'\0'}, **env = NULL;
char *tempName = "sys:/php/temp/phpXXXXXX.tmp";
char *filePath = NULL;
char *ptr = NULL;
int ptrLen = 0, argc = 0, i = 0, envCount = 0, err = 0;
FILE *stream = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
int pipe_handle;
int mode = O_RDONLY;
#else
NXHandle_t pipe_handle;
NXMode_t mode = NX_O_RDONLY;
#endif
NXExecEnvSpec_t envSpec;
NXNameSpec_t nameSpec;
NXVmId_t newVM = 0;
/* Check for validity of input parameters */
if (!commandline || !type)
return NULL;
/* Get temporary file name */
filePath = mktemp(tempName);
if (!filePath)
return NULL;
/* Set pipe mode according to type -- for now allow only "r" or "w" */
if (strcmp(type, "r") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_RDONLY;
#else
mode = NX_O_RDONLY;
#endif
else if (strcmp(type, "w") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_WRONLY;
#else
mode = NX_O_WRONLY;
#endif
else
return NULL;
#ifdef USE_PIPE_OPEN
pipe_handle = pipe_open(filePath, mode);
if (pipe_handle == -1)
return NULL;
#elif defined(USE_MKFIFO)
pipe_handle = mkfifo(filePath, mode);
if (pipe_handle == -1)
return NULL;
#else
/* - NetWare doesn't require first parameter
* - Allowing LibC to choose the buffer size for now
*/
err = NXFifoOpen(0, filePath, mode, 0, &pipe_handle);
if (err)
return NULL;
#endif
/* Copy the environment variables in preparation for the spawn call */
envCount = NXGetEnvCount() + 1; /* add one for NULL */
env = (char **) NXMemAlloc(sizeof(char *) * envCount, 0);
if (!env)
return NULL;
err = NXCopyEnv(env, envCount);
if (err) {
NXMemFree (env);
return NULL;
}
/* Separate commandline string into words */
ptr = tsrm_strtok_r((char*)commandline, WHITESPACE, NULL);
ptrLen = strlen(ptr);
command = (char*)malloc(ptrLen + 1);
if (!command) {
NXMemFree (env);
return NULL;
}
strcpy (command, ptr);
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
while (ptr && (argc < MAX_ARGS)) {
ptrLen = strlen(ptr);
argv[argc] = (char*)malloc(ptrLen + 1);
if (!argv[argc]) {
NXMemFree (env);
if (command)
free (command);
for (i = 0; i < argc; i++) {
if (argv[i])
free (argv[i]);
}
return NULL;
}
strcpy (argv[argc], ptr);
argc++;
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
}
/* Setup the execution environment and spawn new process */
envSpec.esFlags = 0; /* Not used */
envSpec.esArgc = argc;
envSpec.esArgv = (void **) argv;
envSpec.esEnv = (void **) env;
/* envSpec.esStdin.ssType = */
envSpec.esStdout.ssType = NX_OBJ_FIFO;
envSpec.esStderr.ssType = NX_OBJ_FILE;
/* 'ssHandle' is not a struct/union/class member */
/*
envSpec.esStdin.ssHandle =
envSpec.esStdout.ssHandle =
envSpec.esStderr.ssHandle = -1;
*/
envSpec.esStdin.ssPathCtx = NULL;
envSpec.esStdout.ssPathCtx = NULL;
envSpec.esStderr.ssPathCtx = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
if (mode == O_RDONLY) {
#else
if (mode == NX_O_RDONLY) {
#endif
envSpec.esStdin.ssPath = filePath;
envSpec.esStdout.ssPath = stdout;
} else { /* Write Only */
envSpec.esStdin.ssPath = stdin;
envSpec.esStdout.ssPath = filePath;
}
envSpec.esStderr.ssPath = stdout;
nameSpec.ssType = NX_OBJ_FIFO;
/* nameSpec.ssHandle = 0; */ /* 'ssHandle' is not a struct/union/class member */
nameSpec.ssPathCtx = NULL; /* Not used */
nameSpec.ssPath = argv[0];
err = NXVmSpawn(&nameSpec, &envSpec, 0, &newVM);
if (!err)
/* Get file pointer corresponding to the pipe (file) opened */
stream = fdopen(pipe_handle, type);
/* Clean-up */
if (env)
NXMemFree (env);
if (pipe_handle)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
close(pipe_handle);
#else
NXClose(pipe_handle);
#endif
if (command)
free (command);
for (i = 0; i < argc; i++) {
if (argv[i])
free (argv[i]);
}
return stream;
}
TSRM_API int pclose(FILE* stream)
{
int err = 0;
NXHandle_t fd = 0;
/* Get the process associated with this pipe (file) handle and terminate it */
fd = fileno(stream);
NXClose (fd);
err = fclose(stream);
return err;
}
#endif /* NETWARE */
-29
View File
@@ -1,29 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2005 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
| Anantha Kesari H Y <hyanantha@novell.com> |
+----------------------------------------------------------------------+
*/
#ifndef TSRM_NW_H
#define TSRM_NW_H
#include "TSRM.h"
TSRM_API FILE* popen(const char *command, const char *type);
TSRM_API int pclose(FILE* stream);
#endif
-63
View File
@@ -1,63 +0,0 @@
#include <stdio.h>
#include "tsrm_config_common.h"
#include "tsrm_strtok_r.h"
static inline int in_character_class(char ch, const char *delim)
{
while (*delim) {
if (*delim == ch) {
return 1;
}
delim++;
}
return 0;
}
char *tsrm_strtok_r(char *s, const char *delim, char **last)
{
char *token;
if (s == NULL) {
s = *last;
}
while (*s && in_character_class(*s, delim)) {
s++;
}
if (!*s) {
return NULL;
}
token = s;
while (*s && !in_character_class(*s, delim)) {
s++;
}
if (!*s) {
*last = s;
} else {
*s = '\0';
*last = s + 1;
}
return token;
}
#if 0
main()
{
char foo[] = "/foo/bar//\\barbara";
char *last;
char *token;
token = tsrm_strtok_r(foo, "/\\", &last);
while (token) {
printf ("Token = '%s'\n", token);
token = tsrm_strtok_r(NULL, "/\\", &last);
}
return 0;
}
#endif
-6
View File
@@ -1,6 +0,0 @@
#ifndef TSRM_STRTOK_R
#define TSRM_STRTOK_R
char *tsrm_strtok_r(char *s, const char *delim, char **last);
#endif
File diff suppressed because it is too large. Load diff
-312
View File
@@ -1,312 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2005 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Sascha Schumann <sascha@schumann.cx> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef VIRTUAL_CWD_H
#define VIRTUAL_CWD_H
#include "TSRM.h"
#include "tsrm_config_common.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <ctype.h>
#ifdef HAVE_UTIME_H
#include <utime.h>
#endif
#ifdef HAVE_STDARG_H
#include <stdarg.h>
#endif
#ifndef TSRM_WIN32
#include <unistd.h>
#endif
#if defined(__osf__) || defined(_AIX)
#include <errno.h>
#endif
#ifdef TSRM_WIN32
#include "readdir.h"
#include <sys/utime.h>
/* mode_t isn't defined on Windows */
typedef unsigned short mode_t;
#define DEFAULT_SLASH '\\'
#define DEFAULT_DIR_SEPARATOR ';'
#define IS_SLASH(c) ((c) == '/' || (c) == '\\')
#define IS_SLASH_P(c) (*(c) == '/' || \
(*(c) == '\\' && !IsDBCSLeadByte(*(c-1))))
/* COPY_WHEN_ABSOLUTE is 2 under Win32 because by chance both regular absolute paths
in the file system and UNC paths need copying of two characters */
#define COPY_WHEN_ABSOLUTE(path) 2
#define IS_UNC_PATH(path, len) \
(len >= 2 && IS_SLASH(path[0]) && IS_SLASH(path[1]))
#define IS_ABSOLUTE_PATH(path, len) \
(len >= 2 && ((isalpha(path[0]) && path[1] == ':') || IS_UNC_PATH(path, len)))
#elif defined(NETWARE)
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#define DEFAULT_SLASH '/'
#define DEFAULT_DIR_SEPARATOR ';'
#define IS_SLASH(c) ((c) == '/' || (c) == '\\')
#define IS_SLASH_P(c) IS_SLASH(*(c))
/* Colon indicates volume name, either first character should be forward slash or backward slash */
#define IS_ABSOLUTE_PATH(path, len) \
((strchr(path, ':') != NULL) || ((len >= 1) && ((path[0] == '/') || (path[0] == '\\'))))
#else
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#define DEFAULT_SLASH '/'
#ifdef __riscos__
#define DEFAULT_DIR_SEPARATOR ';'
#else
#define DEFAULT_DIR_SEPARATOR ':'
#endif
#define IS_SLASH(c) ((c) == '/')
#define IS_SLASH_P(c) (*(c) == '/')
#endif
#ifndef COPY_WHEN_ABSOLUTE
#define COPY_WHEN_ABSOLUTE(path) 0
#endif
#ifndef IS_ABSOLUTE_PATH
#define IS_ABSOLUTE_PATH(path, len) \
(IS_SLASH(path[0]))
#endif
#ifdef TSRM_EXPORTS
#define CWD_EXPORTS
#endif
#ifdef TSRM_WIN32
# ifdef CWD_EXPORTS
# define CWD_API __declspec(dllexport)
# else
# define CWD_API __declspec(dllimport)
# endif
#else
#define CWD_API
#endif
typedef struct _cwd_state {
char *cwd;
int cwd_length;
} cwd_state;
typedef int (*verify_path_func)(const cwd_state *);
CWD_API void virtual_cwd_startup(void);
CWD_API void virtual_cwd_shutdown(void);
CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC);
CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC);
CWD_API int virtual_chdir(const char *path TSRMLS_DC);
CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC);
CWD_API int virtual_filepath(const char *path, char **filepath TSRMLS_DC);
CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path TSRMLS_DC);
CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC);
CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC);
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);
CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC);
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC);
CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC);
#if defined(TSRM_WIN32)
/* these are not defined in win32 headers */
#ifndef W_OK
#define W_OK 0x02
#endif
#ifndef R_OK
#define R_OK 0x04
#endif
#ifndef X_OK
#define X_OK 0x01
#endif
#ifndef F_OK
#define F_OK 0x00
#endif
#endif
/* On AIX & Tru64 when a file does not exist realpath() returns
* NULL, and sets errno to ENOENT. Unlike in other libc implementations
* the destination is not filled and remains undefined. Therefor, we
* must populate it manually using strcpy as done on systems with no
* realpath() function.
*/
#if defined(__osf__) || defined(_AIX)
static char *php_realpath_hack(char *src, char *dest)
{
char *ret;
if ((ret = realpath(src, dest)) == NULL && errno == ENOENT) {
return strcpy(dest, src);
} else {
return ret;
}
}
#endif
#if HAVE_UTIME
CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC);
#endif
CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group TSRMLS_DC);
#endif
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath);
#define REALPATH_CACHE
#define REALPATH_CACHE_TTL (2*60) /* 2 minutes */
#define REALPATH_CACHE_SIZE 0 /* disabled while php.ini isn't loaded */
#ifdef REALPATH_CACHE
typedef struct _realpath_cache_bucket {
unsigned long key;
char *path;
int path_len;
char *realpath;
int realpath_len;
time_t expires;
struct _realpath_cache_bucket *next;
} realpath_cache_bucket;
#endif
typedef struct _virtual_cwd_globals {
cwd_state cwd;
#ifdef REALPATH_CACHE
long realpath_cache_size;
long realpath_cache_size_limit;
long realpath_cache_ttl;
realpath_cache_bucket *realpath_cache[1024];
#endif
} virtual_cwd_globals;
#ifdef ZTS
extern ts_rsrc_id cwd_globals_id;
# define CWDG(v) TSRMG(cwd_globals_id, virtual_cwd_globals *, v)
#else
extern virtual_cwd_globals cwd_globals;
# define CWDG(v) (cwd_globals.v)
#endif
/* The actual macros to be used in programs using TSRM
* If the program defines VIRTUAL_DIR it will use the
* virtual_* functions
*/
#ifdef VIRTUAL_DIR
#define VCWD_GETCWD(buff, size) virtual_getcwd(buff, size TSRMLS_CC)
#define VCWD_FOPEN(path, mode) virtual_fopen(path, mode TSRMLS_CC)
/* Because open() has two modes, we have to macros to replace it */
#define VCWD_OPEN(path, flags) virtual_open(path TSRMLS_CC, flags)
#define VCWD_OPEN_MODE(path, flags, mode) virtual_open(path TSRMLS_CC, flags, mode)
#define VCWD_CREAT(path, mode) virtual_creat(path, mode TSRMLS_CC)
#define VCWD_CHDIR(path) virtual_chdir(path TSRMLS_CC)
#define VCWD_CHDIR_FILE(path) virtual_chdir_file(path, virtual_chdir TSRMLS_CC)
#define VCWD_GETWD(buf)
#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)
#define VCWD_OPENDIR(pathname) virtual_opendir(pathname TSRMLS_CC)
#define VCWD_POPEN(command, type) virtual_popen(command, type TSRMLS_CC)
#define VCWD_ACCESS(pathname, mode) virtual_access(pathname, mode TSRMLS_CC)
#if HAVE_UTIME
#define VCWD_UTIME(path, time) virtual_utime(path, time TSRMLS_CC)
#endif
#define VCWD_CHMOD(path, mode) virtual_chmod(path, mode TSRMLS_CC)
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#define VCWD_CHOWN(path, owner, group) virtual_chown(path, owner, group TSRMLS_CC)
#endif
#else
#define VCWD_GETCWD(buff, size) getcwd(buff, size)
#define VCWD_FOPEN(path, mode) fopen(path, mode)
#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)
#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) 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)
#define VCWD_RMDIR(pathname) rmdir(pathname)
#define VCWD_OPENDIR(pathname) opendir(pathname)
#define VCWD_POPEN(command, type) popen(command, type)
#if defined(TSRM_WIN32)
#define VCWD_ACCESS(pathname, mode) tsrm_win32_access(pathname, mode)
#else
#define VCWD_ACCESS(pathname, mode) access(pathname, mode)
#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)
#endif
#endif
#endif /* VIRTUAL_CWD_H */
-388
View File
@@ -1,388 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2005 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Daniel Beulshausen <daniel@php4win.de> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#include <process.h>
#include <time.h>
#define TSRM_INCLUDE_FULL_WINDOWS_HEADERS
#include "TSRM.h"
#ifdef TSRM_WIN32
#include "tsrm_win32.h"
#ifdef ZTS
static ts_rsrc_id win32_globals_id;
#else
static tsrm_win32_globals win32_globals;
#endif
static void tsrm_win32_ctor(tsrm_win32_globals *globals TSRMLS_DC)
{
globals->process = NULL;
globals->shm = NULL;
globals->process_size = 0;
globals->shm_size = 0;
globals->comspec = _strdup((GetVersion()<0x80000000)?"cmd.exe":"command.com");
}
static void tsrm_win32_dtor(tsrm_win32_globals *globals TSRMLS_DC)
{
shm_pair *ptr;
if (globals->process) {
free(globals->process);
}
if (globals->shm) {
for (ptr = globals->shm; ptr < (globals->shm + globals->shm_size); ptr++) {
UnmapViewOfFile(ptr->addr);
CloseHandle(ptr->segment);
UnmapViewOfFile(ptr->descriptor);
CloseHandle(ptr->info);
}
free(globals->shm);
}
free(globals->comspec);
}
TSRM_API void tsrm_win32_startup(void)
{
#ifdef ZTS
ts_allocate_id(&win32_globals_id, sizeof(tsrm_win32_globals), (ts_allocate_ctor)tsrm_win32_ctor, (ts_allocate_ctor)tsrm_win32_dtor);
#else
tsrm_win32_ctor(&win32_globals TSRMLS_CC);
#endif
}
TSRM_API void tsrm_win32_shutdown(void)
{
#ifndef ZTS
tsrm_win32_dtor(&win32_globals TSRMLS_CC);
#endif
}
TSRM_API int tsrm_win32_access(const char *pathname, int mode)
{
SHFILEINFO sfi;
if (mode == 1 /*X_OK*/) {
return access(pathname, 0) == 0 &&
SHGetFileInfo(pathname, 0, &sfi, sizeof(SHFILEINFO), SHGFI_EXETYPE) != 0 ? 0 : -1;
} else {
return access(pathname, mode);
}
}
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)++;
return ptr;
}
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;
}
if (!addr && ptr->descriptor->shm_perm.key == key) {
break;
} else if (ptr->addr == addr) {
break;
}
}
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)++;
return ptr;
}
static HANDLE dupHandle(HANDLE fh, BOOL inherit) {
HANDLE copy, self = GetCurrentProcess();
if (!DuplicateHandle(self, fh, self, &copy, 0, inherit, DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE)) {
return NULL;
}
return copy;
}
TSRM_API FILE *popen(const char *command, const char *type)
{
return popen_ex(command, type, NULL, NULL);
}
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env)
{
FILE *stream = NULL;
int fno, str_len = strlen(type), read, mode;
STARTUPINFO startup;
PROCESS_INFORMATION process;
SECURITY_ATTRIBUTES security;
HANDLE in, out;
char *cmd;
process_pair *proc;
TSRMLS_FETCH();
security.nLength = sizeof(SECURITY_ATTRIBUTES);
security.bInheritHandle = TRUE;
security.lpSecurityDescriptor = NULL;
if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) {
return NULL;
}
memset(&startup, 0, sizeof(STARTUPINFO));
memset(&process, 0, sizeof(PROCESS_INFORMATION));
startup.cb = sizeof(STARTUPINFO);
startup.dwFlags = STARTF_USESTDHANDLES;
startup.hStdError = GetStdHandle(STD_ERROR_HANDLE);
read = (type[0] == 'r') ? TRUE : FALSE;
mode = ((str_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
if (read) {
in = dupHandle(in, FALSE);
startup.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
startup.hStdOutput = out;
} else {
out = dupHandle(out, FALSE);
startup.hStdInput = in;
startup.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
}
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;
}
free(cmd);
CloseHandle(process.hThread);
proc = process_get(NULL TSRMLS_CC);
if (read) {
fno = _open_osfhandle((long)in, _O_RDONLY | mode);
CloseHandle(out);
} else {
fno = _open_osfhandle((long)out, _O_WRONLY | mode);
CloseHandle(in);
}
stream = _fdopen(fno, type);
proc->prochnd = process.hProcess;
proc->stream = stream;
return stream;
}
TSRM_API int pclose(FILE *stream)
{
DWORD termstat = 0;
process_pair *process;
TSRMLS_FETCH();
if ((process = process_get(stream TSRMLS_CC)) == NULL) {
return 0;
}
fflush(process->stream);
fclose(process->stream);
WaitForSingleObject(process->prochnd, INFINITE);
GetExitCodeProcess(process->prochnd, &termstat);
process->stream = NULL;
CloseHandle(process->prochnd);
return termstat;
}
TSRM_API int shmget(int key, int size, int flags)
{
shm_pair *shm;
char shm_segment[26], shm_info[29];
HANDLE shm_handle, info_handle;
BOOL created = FALSE;
if (size < 0) {
return -1;
}
sprintf(shm_segment, "TSRM_SHM_SEGMENT:%d", key);
sprintf(shm_info, "TSRM_SHM_DESCRIPTOR:%d", key);
shm_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_segment);
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);
created = TRUE;
}
if ((!shm_handle || !info_handle)) {
return -1;
}
}
shm = shm_get(key, NULL);
shm->segment = shm_handle;
shm->info = info_handle;
shm->descriptor = MapViewOfFileEx(shm->info, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
if (created) {
shm->descriptor->shm_perm.key = key;
shm->descriptor->shm_segsz = size;
shm->descriptor->shm_ctime = time(NULL);
shm->descriptor->shm_cpid = getpid();
shm->descriptor->shm_perm.mode = flags;
shm->descriptor->shm_perm.cuid = shm->descriptor->shm_perm.cgid= 0;
shm->descriptor->shm_perm.gid = shm->descriptor->shm_perm.uid = 0;
shm->descriptor->shm_atime = shm->descriptor->shm_dtime = 0;
shm->descriptor->shm_lpid = shm->descriptor->shm_nattch = 0;
shm->descriptor->shm_perm.mode = shm->descriptor->shm_perm.seq = 0;
}
if (shm->descriptor->shm_perm.key != key || size > shm->descriptor->shm_segsz ) {
CloseHandle(shm->segment);
UnmapViewOfFile(shm->descriptor);
CloseHandle(shm->info);
return -1;
}
return key;
}
TSRM_API void *shmat(int key, const void *shmaddr, int flags)
{
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
return (void*)-1;
}
shm->descriptor->shm_atime = time(NULL);
shm->descriptor->shm_lpid = getpid();
shm->descriptor->shm_nattch++;
shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
return shm->addr;
}
TSRM_API int shmdt(const void *shmaddr)
{
shm_pair *shm = shm_get(0, (void*)shmaddr);
if (!shm->segment) {
return -1;
}
shm->descriptor->shm_dtime = time(NULL);
shm->descriptor->shm_lpid = getpid();
shm->descriptor->shm_nattch--;
return UnmapViewOfFile(shm->addr) ? 0 : -1;
}
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
return -1;
}
switch (cmd) {
case IPC_STAT:
memcpy(buf, shm->descriptor, sizeof(struct shmid_ds));
return 0;
case IPC_SET:
shm->descriptor->shm_ctime = time(NULL);
shm->descriptor->shm_perm.uid = buf->shm_perm.uid;
shm->descriptor->shm_perm.gid = buf->shm_perm.gid;
shm->descriptor->shm_perm.mode = buf->shm_perm.mode;
return 0;
case IPC_RMID:
if (shm->descriptor->shm_nattch < 1) {
shm->descriptor->shm_perm.key = -1;
}
return 0;
default:
return -1;
}
}
TSRM_API char *realpath(char *orig_path, char *buffer)
{
int ret = GetFullPathName(orig_path, _MAX_PATH, buffer, NULL);
if(!ret || ret > _MAX_PATH) {
return NULL;
}
return buffer;
}
#endif
-106
View File
@@ -1,106 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2005 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Daniel Beulshausen <daniel@php4win.de> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef TSRM_WIN32_H
#define TSRM_WIN32_H
#include "TSRM.h"
#include <windows.h>
struct ipc_perm {
int key;
unsigned short uid;
unsigned short gid;
unsigned short cuid;
unsigned short cgid;
unsigned short mode;
unsigned short seq;
};
struct shmid_ds {
struct ipc_perm shm_perm;
int shm_segsz;
time_t shm_atime;
time_t shm_dtime;
time_t shm_ctime;
unsigned short shm_cpid;
unsigned short shm_lpid;
short shm_nattch;
};
typedef struct {
FILE *stream;
HANDLE prochnd;
} process_pair;
typedef struct {
void *addr;
HANDLE info;
HANDLE segment;
struct shmid_ds *descriptor;
} shm_pair;
typedef struct {
process_pair *process;
shm_pair *shm;
int process_size;
int shm_size;
char *comspec;
} tsrm_win32_globals;
#ifdef ZTS
# define TWG(v) TSRMG(win32_globals_id, tsrm_win32_globals *, v)
#else
# define TWG(v) (win32_globals.v)
#endif
#define IPC_PRIVATE 0
#define IPC_CREAT 00001000
#define IPC_EXCL 00002000
#define IPC_NOWAIT 00004000
#define IPC_RMID 0
#define IPC_SET 1
#define IPC_STAT 2
#define IPC_INFO 3
#define SHM_R PAGE_READONLY
#define SHM_W PAGE_READWRITE
#define SHM_RDONLY FILE_MAP_READ
#define SHM_RND FILE_MAP_WRITE
#define SHM_REMAP FILE_MAP_COPY
TSRM_API void tsrm_win32_startup(void);
TSRM_API void tsrm_win32_shutdown(void);
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env);
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 shmget(int key, int size, int flags);
TSRM_API void *shmat(int key, const void *shmaddr, int flags);
TSRM_API int shmdt(const void *shmaddr);
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf);
TSRM_API char *realpath(char *orig_path, char *buffer);
#endif
-22097
View File
File diff suppressed because it is too large. Load diff
-186
View File
@@ -1,186 +0,0 @@
// $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
-56
View File
@@ -1,56 +0,0 @@
--------------------------------------------------------------------
The Zend Engine License, Version 2.00
Copyright (c) 1999-2005 Zend Technologies Ltd. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is 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 "Zend" and "Zend Engine" must not be used to endorse
or promote products derived from this software without prior
permission from Zend Technologies Ltd. For written permission,
please contact license@zend.com.
4. Zend Technologies Ltd. may publish revised and/or new versions
of the license from time to time. Each version will be given a
distinguishing version number.
Once covered code has been published under a particular version
of the license, you may always continue to use it under the
terms of that version. You may also choose to use such covered
code under the terms of any subsequent version of the license
published by Zend Technologies Ltd. No one other than Zend
Technologies Ltd. has the right to modify the terms applicable
to covered code created under this License.
5. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes the Zend Engine, freely available at
http://www.zend.com"
6. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
"The Zend Engine is freely available at http://www.zend.com"
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``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 ZEND
TECHNOLOGIES LTD. 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.
--------------------------------------------------------------------
-54
View File
@@ -1,54 +0,0 @@
## Process this file with automake to produce Makefile.in -*- makefile -*-
#CLEANFILES = zend_language_parser.c zend_language_parser.h zend_language_scanner.c zend_language_parser.output zend_ini_parser.c zend_ini_parser.h zend_ini_scanner.c zend_ini_parser.output
AUTOMAKE_OPTIONS=foreign
noinst_LTLIBRARIES=libZend.la
libZend_la_SOURCES=\
zend_language_parser.y zend_language_scanner.l \
zend_ini_parser.y zend_ini_scanner.l \
zend_alloc.c zend_compile.c zend_constants.c zend_dynamic_array.c \
zend_execute.c zend_execute_API.c zend_highlight.c zend_llist.c \
zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
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_mm.c \
zend_default_classes.c zend_reflection_api.c \
zend_iterators.c zend_interfaces.c zend_exceptions.c \
zend_strtod.c zend_multibyte.c
libZend_la_LDFLAGS =
libZend_la_LIBADD = @ZEND_EXTRA_LIBS@
# automake isn't too clever about "non-standard" use of lex and yacc
$(libZend_la_OBJECTS): zend_language_parser.h
zend_ini_scanner.lo: zend_ini_parser.h
# Language parser/scanner rules
zend_language_scanner.c: $(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
$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o zend_language_parser.c
# INI parser/scanner rules
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
$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
zend_ini_parser.h: zend_ini_parser.c
depend:
zend_execute.lo: $(srcdir)/zend_execute.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(INLINE_CFLAGS) -c $(srcdir)/zend_execute.c
-1
View File
@@ -1 +0,0 @@
Zend/zend_execute.lo: $(srcdir)/zend_vm_execute.h $(srcdir)/zend_vm_opcodes.h
-195
View File
@@ -1,195 +0,0 @@
Creating an object
------------------
Object can be created in the following ways:
1. As a result of a function call. E.g.:
$foo = create_new_foo("parameter");
$foo->run();
The function should create a new zval, create new object and get the
handle for it, set handle and handler table as needed. Note that the
handle is the only ID of the object, so it should be enough to
identify it.
2. Overriding create_object handler for class. E.g.:
$foo = new Java("some.Class.here", "parameter");
$foo->run();
The create_object handler function should create a new zval, create
new object and get the handle for it, set handle and handler table as
needed, and also provide constructor method that would handle
constructor call. The get_constructor handler table entry should be
used for that. Do not rely class entry's constructor, unless you refer
to it from get_constructor handler.
Object maintenance
------------------
The handlers add_ref and del_ref are called when a new zval referring
to the object is created. This does not create a new object - both
zvals still refer to the same object.
clone_obj handler should create a new object, identical to an old one,
but being a separate entity.
delete_obj should destroy an object, all references to it become
invalid.
Object access - read
--------------------
read_property is used to read object's property. This value is not
meant to be changed. The handler returns zval * with the value.
Object access - write
---------------------
write_property is used to directly write object's property by
name. This handler is used to assign property variables or to change them
in operations like += or ++ (unless get_property_zval_ptr is also set).
get_property_zval_ptr is used to obtain pointer to modifiable zval for
operations like += or ++. This should be used only if your object model
stores properties as real zval's that can be modified from outside.
Otherwise this handler should be NULL and the engine will use
read_property and write_property instead.
get_property_ptr is used to obtain zval ** for future writing to
it. If your object properties are stored as zval*, return real place
where the property is stored. If the aren't, the best way is to create
proxy object and handle it via get and set methods (see below).
This method is meant to be used for send-by-reference and assign-by-reference
use of object properties. If you don;t want to implement property
referencing for your objects, you can set this handler to NULL.
get and set handlers are used when engine needs to access the object
as a value. E.g., in the following situation:
$foo =& $obj->bar;
$foo = 1;
if $foo is an object (e.g., proxy object from get_property_ptr) it
would be accessed using write handler.
Object access - method call
---------------------------
get_method handler is used to find method description by name. It
should set right type, function name and parameter mask for the
method. If the type is ZEND_OVERLOADED_FUNCTION, the method would be
called via call_method handler, otherwise it would be called with
standard Zend means.
get_constructor performs the same function as get_method, but for the
object constructor.
call_method handler is used to perform method call. Parameters are
passed like to any other Zend internal function.
Object - comparison
-------------------
Objects can be compared via compare_objects handler. This is used with
== operation, === compares objects by handles, i.e., return true if
and only if it's really the same object. Note that objects from
different object types (i.e., having different handlers) can not be
compared.
Objects - reflection
--------------------
get_class_name is used to retrieve class name of the object.
get_class_entry returns class entry (zend_class_entry) for the object,
in case there exists PHP class for it.
No other reflection functions are currently implemented.
Objects - data structures and handlers
---------------------------------------
The object is represented by the following structure:
struct _zend_object_value {
zend_object_handle handle;
zend_object_handlers *handlers;
};
handle is an ID of the object among the objects of the same type (not
class!). The type of the object and how it behaves is determined by
the handler table.
typedef struct _zend_object_handlers {
zend_object_add_ref_t add_ref;
zend_object_del_ref_t del_ref;
zend_object_delete_obj_t delete_obj;
zend_object_clone_obj_t clone_obj;
zend_object_read_property_t read_property;
zend_object_write_property_t write_property;
zend_object_get_property_ptr_t get_property_ptr;
zend_object_get_property_zval_ptr_t get_property_zval_ptr;
zend_object_get_t get;
zend_object_set_t set;
zend_object_has_property_t has_property;
zend_object_unset_property_t unset_property;
zend_object_get_properties_t get_properties;
zend_object_get_method_t get_method;
zend_object_call_method_t call_method;
zend_object_get_constructor_t get_constructor;
zend_object_get_class_entry_t get_class_entry;
zend_object_get_class_name_t get_class_name;
zend_object_compare_t compare_objects;
} zend_object_handlers;
See zend_object_handlers.h for prototypes. All objects are passed as zval's.
Handlers explained:
add_ref - called when a copy of the object handle is created.
del_ref - called when a copy of the object handle is destroyed.
delete_obj - called when an object needs to be destroyed.
clone_obj - called when a new object identical to an old one should be
created (unlike Zend Engine 1, this never happens unless explicitly
asked for).
read_property - returns zval *, containing the value of the
property. Is used when value of the property should be retrieved for
reading.
write_property - assigns value to certain property of the object.
get_property_zval_ptr - retrieves zval** for being directly modified by
the engine. If your properties are not zval's, don't define it.
get_property_ptr - retrieves zval** for the property of the value, to
be used for read and write. If object properties are not zval's
natively, this method should create and return proxy object for use
with get and set methods.
get - retrieves zval* for object contents. To be used mainly with
proxy objects from get_property_ptr, but also may be used for
convert_to_* functions.
set - sets value for object contents. To be used mainly with
proxy objects from get_property_ptr.
has_property - checks if the object has certain property set.
unset_property - removes value for the property of the object
get_method - retrieves description of the method
call_method - calls the method (parameters should be put on stack like
for any other PHP internal function).
get_constructor - get description for the object constructor method
get_class_entry - should return the class entry for the object
get_class_name - get the name of the class the object belongs to
compare_objects - compares if two objects are equal
-108
View File
@@ -1,108 +0,0 @@
ZEND_VM
=======
ZEND_VM architecture allows specializing opcode handlers according to op_type
fields and using different execution methods (call threading, switch threading
and direct threading). As a result ZE2 got more than 20% speedup on raw PHP
code execution (with specialized executor and direct threading execution
method). As in most PHP applications raw execution speed isn't the limiting
factor but system calls and database callls are, your mileage with this patch
will vary.
Most parts of the old zend_execute.c go into zend_vm_def.h. Here you can
find opcode handlers and helpers. The typical opcode handler template looks
like this:
ZEND_VM_HANDLER(<OPCODE-NUMBER>, <OPCODE>, <OP1_TYPES>, <OP2_TYPES>)
{
<HANDLER'S CODE>
}
<OPCODE-NUMBER> is a opcode number (0, 1, ...)
<OPCODE> is an opcode name (ZEN_NOP, ZEND_ADD, :)
<OP1_TYPES> & <OP2_TYPES> are masks for allowed operand op_types. Specializer
will generate code only for defined combination of types. You can use any
combination of the following op_types UNUSED, CONST, VAR, TMP and CV also
you can use ANY mask to disable specialization according operand's op_type.
<HANDLER'S CODE> is a handler's code itself. For most handlers it stills the
same as in old zend_execute.c, but now it uses macros to access opcode operands
and some internal executor data.
You can see the conformity of new macros to old code in the following list:
EXECUTE_DATA
execute_data
ZEND_VM_DISPATCH_TO_HANDLER(<OP>)
return <OP>_helper(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
return <NAME>(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
return <NAME>(<VAL>, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_CONTINUE()
return 0
ZEND_VM_NEXT_OPCODE()
NEXT_OPCODE()
ZEND_VM_SET_OPCODE(<TARGET>
SET_OPCODE(<TARGET>
ZEND_VM_INC_OPCODE()
INC_OPCOD()
ZEND_VM_RETURN_FROM_EXECUTE_LOOP()
RETURN_FROM_EXECUTE_LOOP()
ZEND_VM_C_LABEL(<LABEL>):
<LABEL>:
ZEND_VM_C_GOTO(<LABEL>)
goto <LABEL>
OP<X>_TYPE
opline->op<X>.op_type
GET_OP<X>_ZVAL_PTR(<TYPE>)
get_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
GET_OP<X>_ZVAL_PTR_PTR(<TYPE>)
get_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
GET_OP<X>_OBJ_ZVAL_PTR(<TYPE>)
get_obj_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
GET_OP<X>_OBJ_ZVAL_PTR_PTR(<TYPE>)
get_obj_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
IS_OP<X>_TMP_FREE()
IS_TMP_FREE(free_op<X>)
FREE_OP<X>()
FREE_OP(free_op<X>)
FREE_OP<X>_IF_VAR()
FREE_VAR(free_op<X>)
FREE_OP<X>_VAR_PTR()
FREE_VAR_PTR(free_op<X>)
Executor's helpers can be defined without parameters or with one parameter.
This is done with the following constructs:
ZEND_VM_HELPER(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>)
{
<HELPER'S CODE>
}
ZEND_VM_HELPER_EX(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>, <PARAM_SPEC>)
{
<HELPER'S CODE>
}
Executor's code is generated by PHP script zend_vm_gen.php it uses zend_vm_def.h
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
included from zend_compile.h. The second one is an executor code itself. It is
included from zend_execute.c.
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
disable opcode specialization using --without-specializer. You can include or
exclude old executor together with specialized one using --without-old-executor.
At last you can debug executor using original zend_vm_def.h or generated file
zend_vm_execute.h. Debugging with original file requires --with-lines
option. By default ZE2 uses the following command to generate executor:
$ php zend_vm_gen.php --with-vm-kind=CALL
Zend Engine II currently includes two executors during the build process, one
is the specialized version and the other is the old one non-specialized with
function handlers. By default Zend Engine II uses the specialized one but you
can switch to the old executor at runtime by calling zend_vm_use_old_executor().
-136
View File
@@ -1,136 +0,0 @@
Revamped object model using object handles
===========================================
Background
----------
In the Zend Engine 1.0 (and its predecessor the PHP 3 scripting
engine) the object model's design is that instantiated objects are
language values. This means that when programmers are performing
operations, such variable assignment and passing parameters to
functions, objects are handled very similarly to the way other
primitive types are handled such as integers and strings.
Semantically this means that the whole object is being copied. The
approach Java takes is different where one refers to objects by handle
and not by value (one can think of a handle as an objects' ID).
Need
----
Unfortunately, the approach taken up to now has severely limited the
Zend Engine's object oriented model, both feature and simplicity
wise. One of the main problems with the former approach is that object
instantiation and duplication is very hard to control, a problem which
can not only lead to inefficient development but also often to strange
run-time behavior. Changing the object model to a handle oriented
model will allow the addressing of many needs such as destructors,
de-referencing method return values, tight control of object
duplication and more.
Overview
--------
The proposed object model is very much influenced by the Java
model. In general, when you create a new object you will be getting a
handle to the object instead of the object itself. When this handle is
sent to functions, assigned and copied it is only the handle which is
copied/sent/assigned. The object itself is never copied nor
duplicated. This results in all handles of this object to always point
at the same object making it a very consistent solution and saving
unnecessary duplication and confusing behavior.
Functionality
-------------
After this change the basic use of objects will be almost identical to
previous versions of the scripting engine. However, you won't bump
into awkward and confusing copying & destructing of objects. In order
to create and use a new object instance you will do the following:
$object = new MyClass(); $object->method();
The previous code will assign $object the handle of a new instance of
the class MyClass and call one of its methods.
Consider the following code:
1 class MyClass
2 {
3 function setMember($value)
4 {
5 $this->member = $value;
6 }
7
8 function getMember()
9 {
10 return $this->member;
11 }
12 }
13
14 function foo($obj)
15 {
16 $obj->setMember("foo");
17 }
18
19 $object = new MyClass();
20 $object->setMember("bar");
21 foo($object);
22 print $object->getMember();
Without the new Java-like handles, at line 20 the objects' data member
member is set to the string value of "bar". Because of the internal
representation of objects in the Zend Engine 1.0, the object is marked
as a reference, and when it is sent by value to the function foo, it
is duplicated (!). Therefore, the call to foo() on line 21 will
result in the $obj->setMember("foo") call being called on a duplicate
of $object. Line 22 will then result in "bar" being printed.
This is how the scripting engine has worked until today. Most
developers are probably unaware of the fact that they aren't always
talking to the same object but often duplicates; others may have
realized this can usually be solved by always passing objects by
reference (unless a replica is actually desired, which is uncommon).
The new object model will allow for a much more intuitive
implementation of the code. On line 21, the object's handle (ID) is
passed to foo() by value. Inside foo(), the object is fetched
according to this handle and, therefore, the setMember() method is
called on the originally instantiated object and not a copy. Line 22
will therefore result in "foo" being printed. This approach gives
developers tighter control of when objects are created and duplicated.
An additional not-as-important benefit is that the object handle will
be passed to foo() by value, which most probably will also save
unnecessary duplication of the value containing the ID itself and thus
additionally improving run-time performance.
This was just a simple description of why the new object model solves
awkward behavior and makes object handling much easier, intuitive and
efficient. The importance of this change goes far beyond what is
mentioned in this section as you will see in further sections which
describe new features with a majority of them being based on this
change.
Compatibility Notes
--------------------
Many PHP programmers aren't even aware of the copying quirks of the
current object model and, therefore, there is a relatively good chance
that the amount of PHP applications that will work out of the box or
after a very small amount of modifications would be high.
To simplify migration, version 2.0 will support an optional
'auto-clone' feature, which will perform a cloning of the object
whenever it would have been copied in version 1.0. Optionally, it
will also be possible to request that the engine will emit an E_NOTICE
message whenever such an automatic clone occurs, in order to allow
developers to gradually migrate to the version 2.0-style behavior
(without automatic clones).
Dependencies
------------
The new object model is not dependent on other features. Many of the
other Zend Engine 2.0 features, such as the $foo->bar()->barbara()
syntax, destructors and others completely rely on this new object
model.
-169
View File
@@ -1,169 +0,0 @@
Title: Zend 2.0 Namespaces
Version: $Revision$
Status: declined
Maintainer: Stig S. Bakken <ssb@php.net>
Created: 2001-09-08
Modified: 2001-09-08
1. Background/Need
==================
PHP and Zend 1.0 have come to a point where a lot of reusable code is
being written; from simple functions and classes to entire application
frameworks. It is becoming increasingly difficult to avoid symbol
name collisions with the current scoping methods.
The symbol scopes available in Zend 1.0 are the global scope, the
class scope and the function scope. All scopes but classes may
contain variables, only the class and global scopes may contain
functions, while only the global scope may contain constants and
classes. This means that all of Zend 1.0's scoping methods are
inherently limited for solving symbol name collision problems.
2. Overview
===========
Namespaces in Zend 2.0 provide a way to manage the symbol collision
problem by making it possible to define multiple symbol tables able to
contain all types of symbols. Zend will get the notion of a current
namespace, defaulting to the current global one. The current name
space may be changed on a file-by-file basis. Symbols in other name
spaces than the current one may be referenced using a new namespace
operator. It will be possible to "import" symbols from one namespace
into another.
3. Functionality
================
3.1. Namespace Syntax
=====================
The namespace operator ":" is used to refer to symbols in other
namespaces than the current one:
Class: Namespace:class
Function: Namespace:function
Static method: Namespace:class::method
Variable: $Namespace:variable
Constant: Namespace:CONSTANT
Class variable: $Namespace:class::variable
To refer to symbols in the global namespace, symbols are prefixed with
only the namespace operator:
Class: :class
Function: :function
Static method: :class::method
Variable: $:variable
Constant: :CONSTANT
Class variable: $:class::variable
Note: $:variable will effectively be just another syntax for
$GLOBALS['variable'].
A namespace may have a name containing a ":", it is always the last
":" character in the symbol qualifier that is the actual namespace
operator:
Class: Name:Space:class
Function: Name:Space:function
Static method: Name:Space:class::method
Variable: $Name:Space:variable
Constant: Name:Space:CONSTANT
Class variable: $Name:Space:class::variable
(Here, the ":" between "Name" and "Space" is part of the name, it is
the one after "Space" that is the namespace operator.)
3.2. Defining Namespaces
========================
Individual files may define a namespace that will apply to the entire
file. If no "namespace" operator occurs in the file, it will be in
the global namespace:
1 namespace HTML;
2
3 class Form {
4 function Form() {
5 // constructor
6 }
7 // ...
8 }
Or with the "nested" name syntax:
1 namespace HTML:Form;
2
3 class Image {
4 var $src;
5 function Image($src) {
6 $this->src = $src;
7 }
8 // ...
9 }
Code executed within the "HTML" namespace may refer to the Form class
as just "Form". Code executed from within other namespaces has to
refer to it as "HTML:Form". The "namespace" statement must occur
before any other statements in the file.
# [ssb 2001-09-08]:
# Should it be possible to "add" symbols to a namespace by including a
# second file with the same namespace statement?
3.3. Importing Symbols
======================
It is possible to import symbols from another namespace into the
current one with the "import" statement:
import * from HTML; // all symbols
import Form from HTML; // single symbols
import Form,Table from HTML; // multiple symbols
There is a potential for name clashes between symols of different
types that have the same qualifier syntax. These are resolved in this
order: class, function, constant.
Optionally, the symbol type may be explicitly given to import (as
"class", "function", "variable" or "constant"):
import class Form from HTML;
And finally, you may import all symbols of a given type:
import constant * from HTML:Table;
The namespace with its symbols must already be defined before using
"import".
4. Compatibility Notes
======================
Old code that does not take advantage of namespaces will run without
modifications.
5. Dependencies
===============
The class variable syntax depends on this class variables being
implemented in the new ZE2 object model.
6. Acknowledgements
===================
Andi Gutmans <andi@zend.com> and Zeev Suraski <zeev@zend.com> for
initial ZE2 namespaces proposal
Dean Hall <php@apt7.com> for the initial symbol qualification syntax
-72
View File
@@ -1,72 +0,0 @@
Title: Loose type requirements for functions
Version: $Revision$
Status: draft
Maintainer: Brian Moon <brianm@dealnews.com>
Created: 2001-09-17
Modified: 2001-09-17
1. Background/Need
==================
Many internal function of PHP will reject parameters because of their
type (the array and variable function come to mind). For userland
this is not an easy task as there is no uniform way to do it. An
addition to the engine for requiring loose types would allow
delevopers to know that the data passed to their functions is of the
correct type and reduce the need for duplicating the same code in
every function to check for the type of data.
2. Overview
===========
Loose typing mostly means evaluating the contents of the variable and
not the type of the variable itself. The requirements for this would
and should work much like several of the is_* functions do now.
The typing of parameters would be optional and those not typed would
simply continue to be treated as they are now.
3. Functionality
================
3.1. Allowed Types
==================
Only loose types should be needed to ensure the data is usable by the
function. Duplicating the functionallity of is_scalar, is_resource,
is_array and is_object should give developers all the information they
need to use a variable correctly.
3.2. Syntax
===========
The current function syntax should be expanded to allow typing of
variables inline in a C style.
function foo ($var){
}
could be changed to require an array such as:
function foo (array $var){
}
3.3. Errors
===========
Mis-matches in type should be reported as fatal errors and should halt
the execution of a script as that function can not be run and code
following could not reliably run.
4. Compatibility Notes
======================
Old code that does not take advantage of this will run without
modifications.
-1166
View File
File diff suppressed because it is too large. Load diff
-610
View File
@@ -1,610 +0,0 @@
# Microsoft Developer Studio Project File - Name="Zend" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=Zend - Win32 Release_inline
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Zend.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Zend.mak" CFG="Zend - Win32 Release_inline"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Zend - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "Zend - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "Zend - Win32 Release_inline" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "Zend - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDebug" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDebug" /D "_LIB" /D "Zend_EXPORTS" /D ZEND_DEBUG=0 /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D "ZEND_WIN32" /FR /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x40d /d "NDebug"
# ADD RSC /l 0x40d /d "NDebug"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "Zend - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_Debug" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /D "_Debug" /D "_LIB" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D ZEND_DEBUG=1 /D "ZEND_WIN32" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x40d /d "_Debug"
# ADD RSC /l 0x40d /d "_Debug"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "Zend - Win32 Release_inline"
# PROP BASE Use_MFC 0
# PROP BASE Output_Dir "Zend___Win32_Release_inline"
# PROP BASE Intermediate_Dir "Zend___Win32_Release_inline"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Output_Dir "Release_inline"
# PROP Intermediate_Dir "Release_inline"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDebug" /D "_LIB" /D "Zend_EXPORTS" /D ZEND_DEBUG=0 /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /FR /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDebug" /D "_LIB" /D "Zend_EXPORTS" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D ZEND_DEBUG=0 /D "ZEND_WIN32_FORCE_INLINE" /D "WIN32" /D "_MBCS" /D "ZEND_WIN32" /FR /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x40d /d "NDebug"
# ADD RSC /l 0x40d /d "NDebug"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "Zend - Win32 Release"
# Name "Zend - Win32 Debug"
# Name "Zend - Win32 Release_inline"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\zend.c
# End Source File
# Begin Source File
SOURCE=.\zend_alloc.c
# End Source File
# Begin Source File
SOURCE=.\zend_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_builtin_functions.c
# End Source File
# Begin Source File
SOURCE=.\zend_compile.c
# End Source File
# Begin Source File
SOURCE=.\zend_constants.c
# End Source File
# Begin Source File
SOURCE=.\zend_default_classes.c
# End Source File
# Begin Source File
SOURCE=.\zend_dynamic_array.c
# End Source File
# Begin Source File
SOURCE=.\zend_execute.c
# End Source File
# Begin Source File
SOURCE=.\zend_execute_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_extensions.c
# End Source File
# Begin Source File
SOURCE=.\zend_hash.c
# End Source File
# Begin Source File
SOURCE=.\zend_highlight.c
# End Source File
# Begin Source File
SOURCE=.\zend_indent.c
# End Source File
# Begin Source File
SOURCE=.\zend_ini.c
# End Source File
# Begin Source File
SOURCE=.\zend_ini_parser.c
# End Source File
# Begin Source File
SOURCE=.\zend_ini_scanner.c
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.c
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.c"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.c"
# End Source File
# Begin Source File
SOURCE=.\zend_list.c
# End Source File
# Begin Source File
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
SOURCE=.\zend_objects.c
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_opcode.c
# End Source File
# Begin Source File
SOURCE=.\zend_operators.c
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.c
# End Source File
# Begin Source File
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
SOURCE=.\zend_stack.c
# End Source File
# Begin Source File
SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.c
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.c
# End Source File
# Begin Source File
SOURCE=.\zend_variables.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\FlexLexer.h
# End Source File
# Begin Source File
SOURCE=.\zend.h
# End Source File
# Begin Source File
SOURCE=.\zend_alloc.h
# End Source File
# Begin Source File
SOURCE=.\zend_API.h
# End Source File
# Begin Source File
SOURCE=.\zend_builtin_functions.h
# End Source File
# Begin Source File
SOURCE=.\zend_compile.h
# End Source File
# Begin Source File
SOURCE=.\zend_config.w32.h
# End Source File
# Begin Source File
SOURCE=.\zend_constants.h
# End Source File
# Begin Source File
SOURCE=.\zend_default_classes.h
# End Source File
# Begin Source File
SOURCE=.\zend_dynamic_array.h
# End Source File
# Begin Source File
SOURCE=.\zend_errors.h
# End Source File
# Begin Source File
SOURCE=.\zend_execute.h
# End Source File
# Begin Source File
SOURCE=.\zend_execute_locks.h
# End Source File
# Begin Source File
SOURCE=.\zend_extensions.h
# End Source File
# Begin Source File
SOURCE=.\zend_fast_cache.h
# End Source File
# Begin Source File
SOURCE=.\zend_globals.h
# End Source File
# Begin Source File
SOURCE=.\zend_globals_macros.h
# End Source File
# Begin Source File
SOURCE=.\zend_hash.h
# End Source File
# Begin Source File
SOURCE=.\zend_highlight.h
# End Source File
# Begin Source File
SOURCE=.\zend_indent.h
# End Source File
# Begin Source File
SOURCE=.\zend_ini.h
# End Source File
# Begin Source File
SOURCE=.\zend_ini_parser.h
# End Source File
# Begin Source File
SOURCE=.\zend_ini_scanner.h
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.h
# End Source File
# Begin Source File
SOURCE=.\zend_istdiostream.h
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.h"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.h"
# End Source File
# Begin Source File
SOURCE=.\zend_list.h
# End Source File
# Begin Source File
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
SOURCE=.\zend_object_handlers.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.h
# End Source File
# Begin Source File
SOURCE=.\zend_operators.h
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.h
# End Source File
# Begin Source File
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
SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.h
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.h
# End Source File
# Begin Source File
SOURCE=.\zend_variables.h
# End Source File
# End Group
# Begin Group "Parsers"
# PROP Default_Filter "y"
# Begin Source File
SOURCE=.\zend_ini_parser.y
!IF "$(CFG)" == "Zend - Win32 Release"
!ELSEIF "$(CFG)" == "Zend - Win32 Debug"
# Begin Custom Build
InputDir=.
InputPath=.\zend_ini_parser.y
BuildCmds= \
bison --output=zend_ini_parser.c -v -d -p ini_ zend_ini_parser.y
"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "Zend - Win32 Release_inline"
!ENDIF
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.y"
!IF "$(CFG)" == "Zend - Win32 Release"
# Begin Custom Build
InputDir=.
InputPath=".\zend_language_parser.y"
BuildCmds= \
bison --output=zend_language_parser.c -v -d -p zend zend_language_parser.y
"$(InputDir)\zend_language_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_language_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "Zend - Win32 Debug"
# Begin Custom Build
InputDir=.
InputPath=".\zend_language_parser.y"
BuildCmds= \
bison --output=zend_language_parser.c -v -d -p zend zend_language_parser.y
"$(InputDir)\zend_language_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_language_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "Zend - Win32 Release_inline"
# Begin Custom Build
InputDir=.
InputPath=".\zend_language_parser.y"
BuildCmds= \
bison --output=zend_language_parser.c -v -d -p zend zend_language_parser.y
"$(InputDir)\zend_language_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_language_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ENDIF
# End Source File
# End Group
# Begin Group "Scanners"
# PROP Default_Filter "l"
# Begin Source File
SOURCE=.\flex.skl
# End Source File
# Begin Source File
SOURCE=.\zend_ini_scanner.l
!IF "$(CFG)" == "Zend - Win32 Release"
!ELSEIF "$(CFG)" == "Zend - Win32 Debug"
# Begin Custom Build
InputPath=.\zend_ini_scanner.l
"zend_ini_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pini_ -ozend_ini_scanner.c zend_ini_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "Zend - Win32 Release_inline"
!ENDIF
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.l"
!IF "$(CFG)" == "Zend - Win32 Release"
# Begin Custom Build
InputPath=".\zend_language_scanner.l"
"zend_language_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -i -Pzend -ozend_language_scanner.c zend_language_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "Zend - Win32 Debug"
# Begin Custom Build
InputPath=".\zend_language_scanner.l"
"zend_language_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -i -Pzend -ozend_language_scanner.c zend_language_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "Zend - Win32 Release_inline"
# Begin Custom Build
InputPath=".\zend_language_scanner.l"
"zend_language_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -i -Pzend -ozend_language_scanner.c zend_language_scanner.l
# End Custom Build
!ENDIF
# End Source File
# End Group
# Begin Group "Text Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\ZEND_BUGS
# End Source File
# Begin Source File
SOURCE=.\ZEND_CHANGES
# End Source File
# Begin Source File
SOURCE=.\ZEND_TODO
# End Source File
# End Group
# Begin Group "Resources"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\zend.ico
# End Source File
# End Group
# End Target
# End Project
-315
View File
@@ -1,315 +0,0 @@
dnl
dnl $Id$
dnl
dnl This file contains Zend specific autoconf functions.
dnl
AC_DEFUN([LIBZEND_CHECK_INT_TYPE],[
AC_MSG_CHECKING(for $1)
AC_TRY_COMPILE([
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if HAVE_INTTYPES_H
#include <inttypes.h>
#elif HAVE_STDINT_H
#include <stdint.h>
#endif],
[if (($1 *) 0)
return 0;
if (sizeof ($1))
return 0;
],[
AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z_-,A-Z__), 1,[Define if $1 type is present. ])
AC_MSG_RESULT(yes)
], AC_MSG_RESULT(no)
)dnl
])
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
dnl Ugly hack to get around a problem with gcc on AIX.
if test "$CC" = "gcc" -a "$ac_cv_prog_cc_g" = "yes" -a \
"`uname -sv`" = "AIX 4"; then
CFLAGS=`echo $CFLAGS | sed -e 's/-g//'`
fi
dnl Hack to work around a Mac OS X cpp problem
dnl Known versions needing this workaround are 5.3 and 5.4
if test "$ac_cv_prog_gcc" = "yes" -a "`uname -s`" = "Rhapsody"; then
CPPFLAGS="$CPPFLAGS -traditional-cpp"
fi
AC_CHECK_HEADERS(
inttypes.h \
stdint.h \
limits.h \
malloc.h \
string.h \
unistd.h \
stdarg.h \
sys/types.h \
sys/time.h \
signal.h \
unix.h \
stdlib.h \
mach-o/dyld.h \
dlfcn.h)
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
AC_DEFUN([LIBZEND_LIBDL_CHECKS],[
AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl $LIBS"])
AC_CHECK_FUNC(dlopen,[AC_DEFINE(HAVE_LIBDL, 1,[ ])])
])
AC_DEFUN([LIBZEND_DLSYM_CHECK],[
dnl
dnl Ugly hack to check if dlsym() requires a leading underscore in symbol name.
dnl
AC_MSG_CHECKING([whether dlsym() requires a leading underscore in symbol names])
_LT_AC_TRY_DLOPEN_SELF([
AC_MSG_RESULT(no)
], [
AC_MSG_RESULT(yes)
AC_DEFINE(DLSYM_NEEDS_UNDERSCORE, 1, [Define if dlsym() requires a leading underscore in symbol names. ])
], [
AC_MSG_RESULT(no)
], [])
])
dnl This is required for QNX and may be some BSD derived systems
AC_CHECK_TYPE( uint, unsigned int )
AC_CHECK_TYPE( ulong, unsigned long )
dnl Check if int32_t and uint32_t are defined
LIBZEND_CHECK_INT_TYPE(int32_t)
LIBZEND_CHECK_INT_TYPE(uint32_t)
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)
AC_ZEND_BROKEN_SPRINTF
AC_CHECK_FUNCS(finite isfinite isinf isnan)
ZEND_FP_EXCEPT
])
AC_DEFUN([LIBZEND_ENABLE_DEBUG],[
AC_ARG_ENABLE(debug,
[ --enable-debug Compile with debugging symbols],[
ZEND_DEBUG=$enableval
],[
ZEND_DEBUG=no
])
])
AC_DEFUN([LIBZEND_OTHER_CHECKS],[
AC_ARG_WITH(zend-vm,
[ --with-zend-vm=TYPE Set virtual machine dispatch method. Type is
one of "CALL", "SWITCH" or "GOTO" [TYPE=CALL]],[
PHP_ZEND_VM=$withval
],[
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
],[
ZEND_MAINTAINER_ZTS=no
])
AC_ARG_ENABLE(inline-optimization,
[ --disable-inline-optimization
If building zend_execute.lo fails, try this switch],[
ZEND_INLINE_OPTIMIZATION=$enableval
],[
ZEND_INLINE_OPTIMIZATION=yes
])
AC_ARG_ENABLE(memory-limit,
[ --enable-memory-limit Compile with memory limit support], [
ZEND_MEMORY_LIMIT=$enableval
],[
ZEND_MEMORY_LIMIT=no
])
AC_ARG_ENABLE(zend-multibyte,
[ --enable-zend-multibyte Compile with zend multibyte support], [
ZEND_MULTIBYTE=$enableval
],[
ZEND_MULTIBYTE=no
])
AC_MSG_CHECKING([virtual machine dispatch method])
AC_MSG_RESULT($PHP_ZEND_VM)
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])
;;
GOTO)
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_GOTO,[virtual machine dispatch method])
;;
*)
PHP_ZEND_VM=CALL
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_CALL,[virtual machine dispatch method])
;;
esac
if test "$ZEND_DEBUG" = "yes"; then
AC_DEFINE(ZEND_DEBUG,1,[ ])
echo " $CFLAGS" | grep ' -g' >/dev/null || DEBUG_CFLAGS="-g"
if test "$CFLAGS" = "-g -O2"; then
CFLAGS=-g
fi
test -n "$GCC" && DEBUG_CFLAGS="$DEBUG_CFLAGS -Wall"
test -n "$GCC" && test "$USE_MAINTAINER_MODE" = "yes" && \
DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations"
else
AC_DEFINE(ZEND_DEBUG,0,[ ])
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_MEMORY_LIMIT" = "yes"; then
AC_DEFINE(MEMORY_LIMIT, 1, [Memory limit])
else
AC_DEFINE(MEMORY_LIMIT, 0, [Memory limit])
fi
if test "$ZEND_MULTIBYTE" = "yes"; then
AC_DEFINE(ZEND_MULTIBYTE, 1, [ ])
fi
changequote({,})
if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
INLINE_CFLAGS=`echo $ac_n "$CFLAGS $ac_c" | sed s/-O[0-9s]*//`
else
INLINE_CFLAGS="$CFLAGS"
fi
changequote([,])
AC_C_INLINE
AC_SUBST(INLINE_CFLAGS)
AC_MSG_CHECKING(target system is Darwin)
if echo "$target" | grep "darwin" > /dev/null; then
AC_DEFINE([DARWIN], 1, [Define if the target system is darwin])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
dnl test and set the alignment define for ZEND_MM
dnl this also does the logarithmic test for ZEND_MM.
AC_MSG_CHECKING(for MM alignment and log values)
AC_TRY_RUN([
#include <stdio.h>
typedef union _mm_align_test {
void *ptr;
double dbl;
long lng;
} mm_align_test;
#if (defined (__GNUC__) && __GNUC__ >= 2)
#define ZEND_MM_ALIGNMENT (__alignof__ (mm_align_test))
#else
#define ZEND_MM_ALIGNMENT (sizeof(mm_align_test))
#endif
int main()
{
int i = ZEND_MM_ALIGNMENT;
int zeros = 0;
FILE *fp;
while (i & ~0x1) {
zeros++;
i = i >> 1;
}
fp = fopen("conftest.zend", "w");
fprintf(fp, "%d %d\n", ZEND_MM_ALIGNMENT, zeros);
fclose(fp);
exit(0);
}
], [
LIBZEND_MM_ALIGN=`cat conftest.zend | cut -d ' ' -f 1`
LIBZEND_MM_ALIGN_LOG2=`cat conftest.zend | cut -d ' ' -f 2`
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ])
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ])
], [], [
dnl cross-compile needs something here
LIBZEND_MM_ALIGN=8
])
AC_MSG_RESULT(done)
])
AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
])
-258
View File
@@ -1,258 +0,0 @@
# Microsoft Developer Studio Generated Dependency File, included by ZendCore.mak
.\zend_alloc.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
.\alloca.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_config.w32.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_compile.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
.\zend_constants.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_operators.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_execute.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
.\zend_highlight.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_highlight.h"\
".\zend_llist.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_language_parser.tab.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
.\zend_llist.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_llist.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_opcode.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
.\zend_operators.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
.\zend_ptr_stack.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_ptr_stack.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_stack.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_stack.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_variables.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
".\zend_list.h"\
.\zend.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_operators.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_API.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
".\zend_list.h"\
.\zend_hash.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_config.w32.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_ini.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
".\zend_ini.h"\
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
-743
View File
@@ -1,743 +0,0 @@
# Microsoft Developer Studio Project File - Name="ZendTS" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=ZendTS - Win32 Release_TSDbg
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "ZendTS.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "ZendTS.mak" CFG="ZendTS - Win32 Release_TSDbg"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "ZendTS - Win32 Release_TS" (based on "Win32 (x86) Static Library")
!MESSAGE "ZendTS - Win32 Debug_TS" (based on "Win32 (x86) Static Library")
!MESSAGE "ZendTS - Win32 Release_TS_inline" (based on "Win32 (x86) Static Library")
!MESSAGE "ZendTS - Win32 Release_TSDbg" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "ZendTS - Win32 Release_TS"
# PROP BASE Use_MFC 0
# PROP BASE Output_Dir "Release_TS"
# PROP BASE Intermediate_Dir "Release_TS"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Output_Dir "Release_TS"
# PROP Intermediate_Dir "Release_TS"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDebug_TS" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDebug_TS" /D ZEND_DEBUG=0 /D _WIN32_WINNT=0x400 /D "_LIB" /D "TSRM_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "ZEND_WIN32" /D "WIN32" /D "_MBCS" /FR /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x40d /d "NDebug_TS"
# ADD RSC /l 0x40d /d "NDebug_TS"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "ZendTS - Win32 Debug_TS"
# PROP BASE Use_MFC 0
# PROP BASE Output_Dir "Debug_TS"
# PROP BASE Intermediate_Dir "Debug_TS"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Output_Dir "Debug_TS"
# PROP Intermediate_Dir "Debug_TS"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_Debug_TS" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /D "_Debug_TS" /D ZEND_DEBUG=1 /D "_LIB" /D "TSRM_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "ZEND_WIN32" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x40d /d "_Debug_TS"
# ADD RSC /l 0x40d /d "_Debug_TS"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TS_inline"
# PROP BASE Use_MFC 0
# PROP BASE Output_Dir "ZendTS___Win32_Release_TS_inline"
# PROP BASE Intermediate_Dir "ZendTS___Win32_Release_TS_inline"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Output_Dir "Release_TS_inline"
# PROP Intermediate_Dir "Release_TS_inline"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDebug_TS" /D "_LIB" /D "TSRM_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "WIN32" /D "_MBCS" /D ZEND_DEBUG=0 /FR /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDebug_TS" /D ZEND_DEBUG=0 /D "ZEND_WIN32_FORCE_INLINE" /D _WIN32_WINNT=0x400 /D "_LIB" /D "TSRM_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "ZEND_WIN32" /D "WIN32" /D "_MBCS" /FR /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x40d /d "NDebug_TS"
# ADD RSC /l 0x40d /d "NDebug_TS"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TSDbg"
# PROP BASE Use_MFC 0
# PROP BASE Output_Dir "ZendTS___Win32_Release_TSDbg"
# PROP BASE Intermediate_Dir "ZendTS___Win32_Release_TSDbg"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Output_Dir "Release_TSDbg"
# PROP Intermediate_Dir "Release_TSDbg"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDebug_TS" /D ZEND_DEBUG=0 /D _WIN32_WINNT=0x400 /D "_LIB" /D "TSRM_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "ZEND_WIN32" /D "WIN32" /D "_MBCS" /FR /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /GX /Zi /Od /I "." /D "NDebug_TS" /D ZEND_DEBUG=0 /D _WIN32_WINNT=0x400 /D "_LIB" /D "TSRM_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "ZEND_WIN32" /D "WIN32" /D "_MBCS" /FR /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x40d /d "NDebug_TS"
# ADD RSC /l 0x40d /d "NDebug_TS"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "ZendTS - Win32 Release_TS"
# Name "ZendTS - Win32 Debug_TS"
# Name "ZendTS - Win32 Release_TS_inline"
# Name "ZendTS - Win32 Release_TSDbg"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\zend.c
# End Source File
# Begin Source File
SOURCE=.\zend_alloc.c
# End Source File
# Begin Source File
SOURCE=.\zend_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_builtin_functions.c
# End Source File
# Begin Source File
SOURCE=.\zend_compile.c
# End Source File
# Begin Source File
SOURCE=.\zend_constants.c
# End Source File
# Begin Source File
SOURCE=.\zend_default_classes.c
# End Source File
# Begin Source File
SOURCE=.\zend_dynamic_array.c
# End Source File
# Begin Source File
SOURCE=.\zend_exceptions.c
# End Source File
# Begin Source File
SOURCE=.\zend_execute.c
# End Source File
# Begin Source File
SOURCE=.\zend_execute_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_extensions.c
# End Source File
# Begin Source File
SOURCE=.\zend_hash.c
# End Source File
# Begin Source File
SOURCE=.\zend_highlight.c
# End Source File
# Begin Source File
SOURCE=.\zend_indent.c
# End Source File
# Begin Source File
SOURCE=.\zend_ini.c
# End Source File
# Begin Source File
SOURCE=.\zend_ini_parser.c
# End Source File
# Begin Source File
SOURCE=.\zend_ini_scanner.c
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.c
# End Source File
# Begin Source File
SOURCE=.\zend_iterators.c
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.c"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.c"
# End Source File
# Begin Source File
SOURCE=.\zend_list.c
# End Source File
# Begin Source File
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
SOURCE=.\zend_objects.c
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_opcode.c
# End Source File
# Begin Source File
SOURCE=.\zend_operators.c
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.c
# End Source File
# Begin Source File
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
SOURCE=.\zend_stack.c
# End Source File
# Begin Source File
SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.c
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.c
# End Source File
# Begin Source File
SOURCE=.\zend_variables.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\FlexLexer.h
# End Source File
# Begin Source File
SOURCE=.\zend.h
# End Source File
# Begin Source File
SOURCE=.\zend_alloc.h
# End Source File
# Begin Source File
SOURCE=.\zend_API.h
# End Source File
# Begin Source File
SOURCE=.\zend_builtin_functions.h
# End Source File
# Begin Source File
SOURCE=.\zend_compile.h
# End Source File
# Begin Source File
SOURCE=.\zend_config.w32.h
# End Source File
# Begin Source File
SOURCE=.\zend_constants.h
# End Source File
# Begin Source File
SOURCE=.\zend_default_classes.h
# End Source File
# Begin Source File
SOURCE=.\zend_dynamic_array.h
# End Source File
# Begin Source File
SOURCE=.\zend_errors.h
# End Source File
# Begin Source File
SOURCE=.\zend_exceptions.h
# End Source File
# Begin Source File
SOURCE=.\zend_execute.h
# End Source File
# Begin Source File
SOURCE=.\zend_extensions.h
# End Source File
# Begin Source File
SOURCE=.\zend_fast_cache.h
# End Source File
# Begin Source File
SOURCE=.\zend_globals.h
# End Source File
# Begin Source File
SOURCE=.\zend_globals_macros.h
# End Source File
# Begin Source File
SOURCE=.\zend_hash.h
# End Source File
# Begin Source File
SOURCE=.\zend_highlight.h
# End Source File
# Begin Source File
SOURCE=.\zend_indent.h
# End Source File
# Begin Source File
SOURCE=.\zend_ini.h
# End Source File
# Begin Source File
SOURCE=.\zend_ini_parser.h
# End Source File
# Begin Source File
SOURCE=.\zend_ini_scanner.h
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.h
# End Source File
# Begin Source File
SOURCE=.\zend_istdiostream.h
# End Source File
# Begin Source File
SOURCE=.\zend_iterators.h
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.h"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.h"
# End Source File
# Begin Source File
SOURCE=.\zend_list.h
# End Source File
# Begin Source File
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
SOURCE=.\zend_object_handlers.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.h
# End Source File
# Begin Source File
SOURCE=.\zend_operators.h
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.h
# End Source File
# Begin Source File
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
SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.h
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.h
# End Source File
# Begin Source File
SOURCE=.\zend_variables.h
# End Source File
# End Group
# Begin Group "Parsers"
# PROP Default_Filter "y"
# Begin Source File
SOURCE=.\zend_ini_parser.y
!IF "$(CFG)" == "ZendTS - Win32 Release_TS"
# Begin Custom Build
InputDir=.
InputPath=.\zend_ini_parser.y
BuildCmds= \
bison --output=zend_ini_parser.c -v -d -p ini_ zend_ini_parser.y
"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Debug_TS"
# Begin Custom Build
InputDir=.
InputPath=.\zend_ini_parser.y
BuildCmds= \
bison --output=zend_ini_parser.c -v -d -p ini_ zend_ini_parser.y
"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TS_inline"
# Begin Custom Build
InputDir=.
InputPath=.\zend_ini_parser.y
BuildCmds= \
bison --output=zend_ini_parser.c -v -d -p ini_ zend_ini_parser.y
"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TSDbg"
# Begin Custom Build
InputDir=.
InputPath=.\zend_ini_parser.y
BuildCmds= \
bison --output=zend_ini_parser.c -v -d -p ini_ zend_ini_parser.y
"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ENDIF
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.y"
!IF "$(CFG)" == "ZendTS - Win32 Release_TS"
# Begin Custom Build
InputDir=.
InputPath=".\zend_language_parser.y"
BuildCmds= \
bison --output=zend_language_parser.c -v -d -p zend zend_language_parser.y
"$(InputDir)\zend_language_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_language_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Debug_TS"
# Begin Custom Build
InputDir=.
InputPath=".\zend_language_parser.y"
BuildCmds= \
bison --output=zend_language_parser.c -v -d -p zend zend_language_parser.y
"$(InputDir)\zend_language_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_language_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TS_inline"
# Begin Custom Build
InputDir=.
InputPath=".\zend_language_parser.y"
BuildCmds= \
bison --output=zend_language_parser.c -v -d -p zend zend_language_parser.y
"$(InputDir)\zend_language_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_language_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TSDbg"
# Begin Custom Build
InputDir=.
InputPath=".\zend_language_parser.y"
BuildCmds= \
bison --output=zend_language_parser.c -v -d -p zend zend_language_parser.y
"$(InputDir)\zend_language_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputDir)\zend_language_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ENDIF
# End Source File
# End Group
# Begin Group "Scanners"
# PROP Default_Filter "l"
# Begin Source File
SOURCE=.\flex.skl
# End Source File
# Begin Source File
SOURCE=.\zend_ini_scanner.l
!IF "$(CFG)" == "ZendTS - Win32 Release_TS"
# Begin Custom Build
InputPath=.\zend_ini_scanner.l
"zend_ini_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pini_ -ozend_ini_scanner.c zend_ini_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Debug_TS"
# Begin Custom Build
InputPath=.\zend_ini_scanner.l
"zend_ini_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pini_ -ozend_ini_scanner.c zend_ini_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TS_inline"
# Begin Custom Build
InputPath=.\zend_ini_scanner.l
"zend_ini_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pini_ -ozend_ini_scanner.c zend_ini_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TSDbg"
# Begin Custom Build
InputPath=.\zend_ini_scanner.l
"zend_ini_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pini_ -ozend_ini_scanner.c zend_ini_scanner.l
# End Custom Build
!ENDIF
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.l"
!IF "$(CFG)" == "ZendTS - Win32 Release_TS"
# Begin Custom Build
InputPath=".\zend_language_scanner.l"
"zend_language_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pzend -ozend_language_scanner.c zend_language_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Debug_TS"
# Begin Custom Build
InputPath=".\zend_language_scanner.l"
"zend_language_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pzend -ozend_language_scanner.c zend_language_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TS_inline"
# Begin Custom Build
InputPath=".\zend_language_scanner.l"
"zend_language_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pzend -ozend_language_scanner.c zend_language_scanner.l
# End Custom Build
!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TSDbg"
# Begin Custom Build
InputPath=".\zend_language_scanner.l"
"zend_language_scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
flex -B -i -Sflex.skl -Pzend -ozend_language_scanner.c zend_language_scanner.l
# End Custom Build
!ENDIF
# End Source File
# End Group
# Begin Group "Text Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\LICENSE
# End Source File
# Begin Source File
SOURCE=.\ZEND_BUGS
# End Source File
# Begin Source File
SOURCE=.\ZEND_CHANGES
# End Source File
# End Group
# Begin Group "Resources"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\zend.ico
# End Source File
# End Group
# End Target
# End Project
-121
View File
@@ -1,121 +0,0 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2005 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.zend.com/license/2_00.txt. |
| If you did not receive a copy of the Zend license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@zend.com so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#define ZEND_API
#define ZEND_DLEXPORT
#define ZEND_DLIMPORT
@TOP@
#undef uint
#undef ulong
/* Define if you want to enable memory limit support */
#define MEMORY_LIMIT 0
@BOTTOM@
#ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#ifdef HAVE_IEEEFP_H
# include <ieeefp.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if ZEND_BROKEN_SPRINTF
int zend_sprintf(char *buffer, const char *format, ...);
#else
# define zend_sprintf sprintf
#endif
#include <math.h>
/* To enable the is_nan, is_infinite and is_finite PHP functions */
#ifdef NETWARE
#define HAVE_ISNAN 1
#define HAVE_ISINF 1
#define HAVE_ISFINITE 1
#endif
#ifndef zend_isnan
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
#else
#define zend_isnan(a) 0
#endif
#endif
#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
#ifdef HAVE_FINITE
#define zend_finite(a) finite(a)
#elif defined(HAVE_ISFINITE) || defined(isfinite)
#define zend_finite(a) isfinite(a)
#elif defined(fpclassify)
#define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0)
#else
#define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1)
#endif
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
#ifdef NETWARE
#ifdef USE_WINSOCK
#/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
#/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
#endif
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
-104
View File
@@ -1,104 +0,0 @@
dnl $Id$
dnl
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"
# for standalone build of Zend Engine
test -z "$SED" && SED=sed
if test "$YACC"; then
AC_CACHE_CHECK([for bison version], php_cv_bison_version, [
set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /'|tr -d a-z`
bison_version="${1}.${2}"
php_cv_bison_version=invalid
for bison_check_version in $bison_version_list; do
if test "$bison_version" = "$bison_check_version"; then
php_cv_bison_version="$bison_check_version (ok)"
fi
done
])
else
bison_version=none
fi
case $php_cv_bison_version in
""|invalid[)]
bison_msg="bison versions supported for regeneration of the Zend/PHP parsers: $bison_version_list (found: $bison_version)."
AC_MSG_WARN([$bison_msg])
YACC="exit 0;"
;;
esac
])
AC_DEFUN([ZEND_FP_EXCEPT],[
AC_CACHE_CHECK(whether fp_except is defined, ac_cv_type_fp_except,[
AC_TRY_COMPILE([
#include <floatingpoint.h>
],[
fp_except x = (fp_except) 0;
],[
ac_cv_type_fp_except=yes
],[
ac_cv_type_fp_except=no
],[
ac_cv_type_fp_except=no
])])
if test "$ac_cv_type_fp_except" = "yes"; then
AC_DEFINE(HAVE_FP_EXCEPT, 1, [whether floatingpoint.h defines fp_except])
fi
])
dnl
dnl Check for broken sprintf()
dnl
AC_DEFUN([AC_ZEND_BROKEN_SPRINTF],[
AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[
AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[
ac_cv_broken_sprintf=no
],[
ac_cv_broken_sprintf=yes
],[
ac_cv_broken_sprintf=no
])
])
if test "$ac_cv_broken_sprintf" = "yes"; then
ac_result=1
else
ac_result=0
fi
AC_DEFINE_UNQUOTED(ZEND_BROKEN_SPRINTF, $ac_result, [Whether sprintf is broken])
])
dnl
dnl AC_ZEND_C_BIGENDIAN
dnl Replacement macro for AC_C_BIGENDIAN
dnl
AC_DEFUN([AC_ZEND_C_BIGENDIAN],
[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php,
[
ac_cv_c_bigendian_php=unknown
AC_TRY_RUN(
[
int main(void)
{
short one = 1;
char *cp = (char *)&one;
if (*cp == 0) {
return(0);
} else {
return(1);
}
}
], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown])
])
if test $ac_cv_c_bigendian_php = yes; then
AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word])
fi
])
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
-419
View File
@@ -1,419 +0,0 @@
<?php
function simple() {
$a = 0;
for ($i = 0; $i < 1000000; $i++)
$a++;
$thisisanotherlongname = 0;
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
$thisisanotherlongname++;
}
/****/
function simplecall() {
for ($i = 0; $i < 1000000; $i++)
strlen("hallo");
}
/****/
function hallo($a) {
}
function simpleucall() {
for ($i = 0; $i < 1000000; $i++)
hallo("hallo");
}
/****/
function simpleudcall() {
for ($i = 0; $i < 1000000; $i++)
hallo2("hallo");
}
function hallo2($a) {
}
/****/
function mandel() {
$w1=50;
$h1=150;
$recen=-.45;
$imcen=0.0;
$r=0.7;
$s=0; $rec=0; $imc=0; $re=0; $im=0; $re2=0; $im2=0;
$x=0; $y=0; $w2=0; $h2=0; $color=0;
$s=2*$r/$w1;
$w2=40;
$h2=12;
for ($y=0 ; $y<=$w1; $y=$y+1) {
$imc=$s*($y-$h2)+$imcen;
for ($x=0 ; $x<=$h1; $x=$x+1) {
$rec=$s*($x-$w2)+$recen;
$re=$rec;
$im=$imc;
$color=1000;
$re2=$re*$re;
$im2=$im*$im;
while( ((($re2+$im2)<1000000) && $color>0)) {
$im=$re*$im*2+$imc;
$re=$re2-$im2+$rec;
$re2=$re*$re;
$im2=$im*$im;
$color=$color-1;
}
if ( $color==0 ) {
print "_";
} else {
print "#";
}
}
print "<br>";
flush();
}
}
/****/
function mandel2() {
$b = " .:,;!/>)|&IH%*#";
//float r, i, z, Z, t, c, C;
for ($y=30; printf("\n"), $C = $y*0.1 - 1.5, $y--;){
for ($x=0; $c = $x*0.04 - 2, $z=0, $Z=0, $x++ < 75;){
for ($r=$c, $i=$C, $k=0; $t = $z*$z - $Z*$Z + $r, $Z = 2*$z*$Z + $i, $z=$t, $k<5000; $k++)
if ($z*$z + $Z*$Z > 500000) break;
echo $b[$k%16];
}
}
}
/****/
function Ack($m, $n){
if($m == 0) return $n+1;
if($n == 0) return Ack($m-1, 1);
return Ack($m - 1, Ack($m, ($n - 1)));
}
function ackermann($n) {
$r = Ack(3,$n);
print "Ack(3,$n): $r\n";
}
/****/
function ary($n) {
for ($i=0; $i<$n; $i++) {
$X[$i] = $i;
}
for ($i=$n-1; $i>=0; $i--) {
$Y[$i] = $X[$i];
}
$last = $n-1;
print "$Y[$last]\n";
}
/****/
function ary2($n) {
for ($i=0; $i<$n;) {
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
}
for ($i=$n-1; $i>=0;) {
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
}
$last = $n-1;
print "$Y[$last]\n";
}
/****/
function ary3($n) {
for ($i=0; $i<$n; $i++) {
$X[$i] = $i + 1;
$Y[$i] = 0;
}
for ($k=0; $k<1000; $k++) {
for ($i=$n-1; $i>=0; $i--) {
$Y[$i] += $X[$i];
}
}
$last = $n-1;
print "$Y[0] $Y[$last]\n";
}
/****/
function fibo_r($n){
return(($n < 2) ? 1 : fibo_r($n - 2) + fibo_r($n - 1));
}
function fibo($n) {
$r = fibo_r($n);
print "$r\n";
}
/****/
function hash($n) {
for ($i = 1; $i <= $n; $i++) {
$X[dechex($i)] = $i;
}
$c = 0;
for ($i = $n; $i > 0; $i--) {
if ($X[dechex($i)]) { $c++; }
}
print "$c\n";
}
/****/
function hash2($n) {
for ($i = 0; $i < $n; $i++) {
$hash1["foo_$i"] = $i;
$hash2["foo_$i"] = 0;
}
for ($i = $n; $i > 0; $i--) {
foreach($hash1 as $key => $value) $hash2[$key] += $value;
}
$first = "foo_0";
$last = "foo_".($n-1);
print "$hash1[$first] $hash1[$last] $hash2[$first] $hash2[$last]\n";
}
/****/
function gen_random ($n) {
global $LAST;
return( ($n * ($LAST = ($LAST * IA + IC) % IM)) / IM );
}
function heapsort_r($n, &$ra) {
$l = ($n >> 1) + 1;
$ir = $n;
while (1) {
if ($l > 1) {
$rra = $ra[--$l];
} else {
$rra = $ra[$ir];
$ra[$ir] = $ra[1];
if (--$ir == 1) {
$ra[1] = $rra;
return;
}
}
$i = $l;
$j = $l << 1;
while ($j <= $ir) {
if (($j < $ir) && ($ra[$j] < $ra[$j+1])) {
$j++;
}
if ($rra < $ra[$j]) {
$ra[$i] = $ra[$j];
$j += ($i = $j);
} else {
$j = $ir + 1;
}
}
$ra[$i] = $rra;
}
}
function heapsort($N) {
global $LAST;
define("IM", 139968);
define("IA", 3877);
define("IC", 29573);
$LAST = 42;
for ($i=1; $i<=$N; $i++) {
$ary[$i] = gen_random(1);
}
heapsort_r($N, $ary);
printf("%.10f\n", $ary[$N]);
}
/****/
function mkmatrix ($rows, $cols) {
$count = 1;
$mx = array();
for ($i=0; $i<$rows; $i++) {
for ($j=0; $j<$cols; $j++) {
$mx[$i][$j] = $count++;
}
}
return($mx);
}
function mmult ($rows, $cols, $m1, $m2) {
$m3 = array();
for ($i=0; $i<$rows; $i++) {
for ($j=0; $j<$cols; $j++) {
$x = 0;
for ($k=0; $k<$cols; $k++) {
$x += $m1[$i][$k] * $m2[$k][$j];
}
$m3[$i][$j] = $x;
}
}
return($m3);
}
function matrix($n) {
$SIZE = 30;
$m1 = mkmatrix($SIZE, $SIZE);
$m2 = mkmatrix($SIZE, $SIZE);
while ($n--) {
$mm = mmult($SIZE, $SIZE, $m1, $m2);
}
print "{$mm[0][0]} {$mm[2][3]} {$mm[3][2]} {$mm[4][4]}\n";
}
/****/
function nestedloop($n) {
$x = 0;
for ($a=0; $a<$n; $a++)
for ($b=0; $b<$n; $b++)
for ($c=0; $c<$n; $c++)
for ($d=0; $d<$n; $d++)
for ($e=0; $e<$n; $e++)
for ($f=0; $f<$n; $f++)
$x++;
print "$x\n";
}
/****/
function sieve($n) {
$count = 0;
while ($n-- > 0) {
$count = 0;
$flags = range (0,8192);
for ($i=2; $i<8193; $i++) {
if ($flags[$i] > 0) {
for ($k=$i+$i; $k <= 8192; $k+=$i) {
$flags[$k] = 0;
}
$count++;
}
}
}
print "Count: $count\n";
}
/****/
function strcat($n) {
$str = "";
while ($n-- > 0) {
$str .= "hello\n";
}
$len = strlen($str);
print "$len\n";
}
/*****/
function getmicrotime()
{
$t = gettimeofday();
return ($t['sec'] + $t['usec'] / 1000000);
}
function start_test()
{
ob_start();
return getmicrotime();
}
function end_test($start, $name)
{
global $total;
$end = getmicrotime();
ob_end_clean();
$total += $end-$start;
$num = number_format($end-$start,3);
$pad = str_repeat(" ", 24-strlen($name)-strlen($num));
echo $name.$pad.$num."\n";
ob_start();
return getmicrotime();
}
function total()
{
global $total;
$pad = str_repeat("-", 24);
echo $pad."\n";
$num = number_format($total,3);
$pad = str_repeat(" ", 24-strlen("Total")-strlen($num));
echo "Total".$pad.$num."\n";
}
$t0 = $t = start_test();
simple();
$t = end_test($t, "simple");
simplecall();
$t = end_test($t, "simplecall");
simpleucall();
$t = end_test($t, "simpleucall");
simpleudcall();
$t = end_test($t, "simpleudcall");
mandel();
$t = end_test($t, "mandel");
mandel2();
$t = end_test($t, "mandel2");
ackermann(7);
$t = end_test($t, "ackermann(7)");
ary(50000);
$t = end_test($t, "ary(50000)");
ary2(50000);
$t = end_test($t, "ary2(50000)");
ary3(2000);
$t = end_test($t, "ary3(2000)");
fibo(30);
$t = end_test($t, "fibo(30)");
hash(50000);
$t = end_test($t, "hash(50000)");
hash2(500);
$t = end_test($t, "hash2(500)");
heapsort(20000);
$t = end_test($t, "heapsort(20000)");
matrix(20);
$t = end_test($t, "matrix(20)");
nestedloop(12);
$t = end_test($t, "nestedloop(12)");
sieve(30);
$t = end_test($t, "sieve(30)");
strcat(200000);
$t = end_test($t, "strcat(200000)");
total($t0, "Total");
?>
-43
View File
@@ -1,43 +0,0 @@
# Makefile to generate build tools
#
# Standard usage:
# make -f build.mk
#
# Written by Sascha Schumann
#
# $Id$
LT_TARGETS = ltmain.sh ltconfig
config_h_in = zend_config.h.in
makefile_am_files = Makefile.am
makefile_in_files = $(makefile_am_files:.am=.in)
makefile_files = $(makefile_am_files:e.am=e)
targets = $(makefile_in_files) $(LT_TARGETS) configure $(config_h_in)
all: $(targets)
clean:
rm -f $(targets)
$(LT_TARGETS):
rm -f $(LT_TARGETS)
libtoolize --automake $(AMFLAGS) -f
$(makefile_in_files): $(makefile_am_files)
automake -a -i $(AMFLAGS) $(makefile_files)
aclocal.m4: configure.in acinclude.m4
aclocal
$(config_h_in): configure.in acconfig.h
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
configure: aclocal.m4 configure.in
autoconf
-33
View File
@@ -1,33 +0,0 @@
#!/bin/sh
case "$1" in
--copy)
automake_flags=--copy
shift
;;
esac
libtoolize --force --automake $automake_flags
mv aclocal.m4 aclocal.m4.old 2>/dev/null
aclocal
if cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then
echo "buildconf: keeping ${1}aclocal.m4"
mv aclocal.m4.old aclocal.m4
else
echo "buildconf: created or modified ${1}aclocal.m4"
fi
autoheader
automake --add-missing --include-deps $automake_flags
mv configure configure.old 2>/dev/null
autoconf
if cmp configure.old configure > /dev/null 2>&1; then
echo "buildconf: keeping ${1}configure"
mv configure.old configure
else
echo "buildconf: created or modified ${1}configure"
fi
-51
View File
@@ -1,51 +0,0 @@
dnl $Id$
dnl Process this file with autoconf to produce a configure script.
AC_INIT(zend.c)
AM_INIT_AUTOMAKE(zend, 0.80A, nodefine)
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
dnl We want this one before the checks, so the checks can modify CFLAGS.
test -z "$CFLAGS" && auto_cflags=1
AC_CHECK_SIZEOF(long, 8)
AC_CHECK_SIZEOF(int, 4)
sinclude(Zend.m4)
LIBZEND_BASIC_CHECKS
LIBZEND_LIBDL_CHECKS
LIBZEND_DLSYM_CHECK
AM_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
AM_SET_LIBTOOL_VARIABLE([--silent])
fi
dnl
dnl Check for /usr/pkg/{lib,include} which is where NetBSD puts binary
dnl and source packages. This should be harmless on other OSs.
dnl
if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
CFLAGS="$CFLAGS -I/usr/pkg/include"
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
fi
LIBZEND_ENABLE_DEBUG
LIBZEND_OTHER_CHECKS
ZEND_EXTRA_LIBS="$LIBS"
LIBS=""
AC_SUBST(ZEND_EXTRA_LIBS)
AC_OUTPUT(Makefile)
# Local Variables:
# tab-width: 4
# End:
-1648
View File
File diff suppressed because it is too large. Load diff
-19
View File
@@ -1,19 +0,0 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2005 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.zend.com/license/2_00.txt. |
| If you did not receive a copy of the Zend license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@zend.com so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: |
+----------------------------------------------------------------------+
*/
/* $Id$ */
-15
View File
@@ -1,15 +0,0 @@
--TEST--
Array type hint
--FILE--
<?php
function foo(array $a) {
echo count($a)."\n";
}
foo(array(1,2,3));
foo(123);
?>
--EXPECTF--
3
Fatal error: Argument 1 must be an array, called in %sarray_type_hint_001.php on line 7 and defined in %sarray_type_hint_001.php on line 2
-22
View File
@@ -1,22 +0,0 @@
--TEST--
Bug #19859 (__call() does not catch call_user_func_array() calls)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class test
{
function __call($method,$args)
{
print "test::__call invoked for method '$method'\n";
}
}
$x = new test;
$x->fake(1);
call_user_func_array(array($x,'fake'),array(1));
call_user_func(array($x,'fake'),2);
?>
--EXPECT--
test::__call invoked for method 'fake'
test::__call invoked for method 'fake'
test::__call invoked for method 'fake'
-43
View File
@@ -1,43 +0,0 @@
--TEST--
Bug #20240 (order of destructor calls)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class test
{
public $member;
function test() {
$this->member = 1;
register_shutdown_function(array($this, 'destructor'));
}
function destructor() {
print __METHOD__ . "\n";
}
function __destruct() {
print __METHOD__ . "\n";
}
function add() {
$this->member += 1;
print $this->member."\n";
}
}
$t = new test();
$t->add();
$t->add();
echo "Done\n";
?>
--EXPECT--
2
3
Done
test::__destruct
test::destructor
-26
View File
@@ -1,26 +0,0 @@
--TEST--
Bug #20242 (Method call in front of class definition)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '>=')) die('skip ZendEngine 2 does not support this'); ?>
--FILE--
<?php
// THIS IS A WON'T FIX FOR ZE2
test::show_static();
$t = new test;
$t->show_method();
class test {
static function show_static() {
echo "static\n";
}
function show_method() {
echo "method\n";
}
}
?>
--EXPECT--
static
method
-37
View File
@@ -1,37 +0,0 @@
--TEST--
Bug #21478 (Zend/zend_alloc.c :: shutdown_memory_manager produces segfault)
--SKIPIF--
<?php
if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed');
if (!function_exists('stream_filter_register')) die('skip stream_filter_register() not available');
?>
--FILE--
<?php
class debugfilter extends php_user_filter {
function filter($in, $out, &$consumed, $closing) {
while ($bucket = stream_bucket_make_writeable($in)) {
$bucket->data = strtoupper($bucket->data);
stream_bucket_append($out, $bucket);
$consumed += strlen($bucket->data);
}
return PSFS_PASS_ON;
}
}
stream_filter_register("myfilter","debugfilter");
$fp = fopen(dirname(__FILE__)."/test.txt","w");
stream_filter_append($fp, "myfilter");
stream_filter_append($fp, "myfilter");
stream_filter_append($fp, "myfilter");
fwrite($fp, "This is a test.\n");
print "Done.\n";
fclose($fp);
// Uncommenting the following 'print' line causes the segfault to stop occuring
// print "2\n";
readfile(dirname(__FILE__)."/test.txt");
unlink(dirname(__FILE__)."/test.txt");
?>
--EXPECT--
Done.
THIS IS A TEST.
-39
View File
@@ -1,39 +0,0 @@
--TEST--
Bug #21888 (protected property and protected method of the same name)
--SKIPIF--
<?php
if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed');
?>
--FILE--
<?php
class mom {
protected $prot = "protected property\n";
protected function prot() {
print "protected method\n";
}
}
class child extends mom {
public function callMom() {
$this->prot();
}
public function viewMom() {
print $this->prot;
}
}
$c = new child();
$c->callMom();
$c->viewMom();
?>
--EXPECT--
protected method
protected property
--EXPECT--
protected method
protected property
-31
View File
@@ -1,31 +0,0 @@
--TEST--
bug #22725 (A derived class can call a parent's protected method that calls a private method)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE--
<?php
class Foo {
private function aPrivateMethod() {
echo "Foo::aPrivateMethod() called.\n";
}
protected function aProtectedMethod() {
echo "Foo::aProtectedMethod() called.\n";
$this->aPrivateMethod();
}
}
class Bar extends Foo {
public function aPublicMethod() {
echo "Bar::aPublicMethod() called.\n";
$this->aProtectedMethod();
}
}
$o = new Bar;
$o->aPublicMethod();
?>
--EXPECT--
Bar::aPublicMethod() called.
Foo::aProtectedMethod() called.
Foo::aPrivateMethod() called.
-34
View File
@@ -1,34 +0,0 @@
--TEST--
Bug #22836 (returning references to NULL)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
function &f()
{
$x = "foo";
var_dump($x);
print "'$x'\n";
return ($a);
}
for ($i = 0; $i < 8; $i++) {
$h =& f();
}
?>
--EXPECTF--
string(3) "foo"
'foo'
string(3) "foo"
'foo'
string(3) "foo"
'foo'
string(3) "foo"
'foo'
string(3) "foo"
'foo'
string(3) "foo"
'foo'
string(3) "foo"
'foo'
string(3) "foo"
'foo'
-12
View File
@@ -1,12 +0,0 @@
--TEST--
Bug #23104 (Hash position not reset for constant arrays)
--FILE--
<?php
function foo($bar = array("a", "b", "c"))
{
var_dump(current($bar));
}
foo();
?>
--EXPECT--
string(1) "a"
-24
View File
@@ -1,24 +0,0 @@
--TEST--
Bug #24436 (isset()/empty() produce errors with non-existent variables in classes)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--INI--
error_reporting=2047
--FILE--
<?php
class test {
function __construct() {
if (empty($this->test[0][0])) { print "test1\n";}
if (!isset($this->test[0][0])) { print "test2\n";}
if (empty($this->test)) { print "test1\n";}
if (!isset($this->test)) { print "test2\n";}
}
}
$test1 = new test();
?>
--EXPECT--
test1
test2
test1
test2
-30
View File
@@ -1,30 +0,0 @@
--TEST--
Bug #24635 (crash on dtor calling other functions)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class SiteClass {
function __construct() { $this->page = new PageClass(); }
}
class PageClass {
function Display() {
$section = new SectionClass("PageClass::Display");
}
}
class SectionClass {
function __construct($comment) {
$this->Comment = $comment;
}
function __destruct() {
out($this->Comment); // this line doesn't crash PHP
out("\n<!-- End Section: " . $this->Comment . "-->"); // this line
}
}
function out($code) { return; }
$site = new SiteClass();
$site->page->Display();
echo "OK\n";
?>
--EXPECT--
OK
-13
View File
@@ -1,13 +0,0 @@
--TEST--
Bug #24699 (Memory Leak with per-class constants)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class TEST { const FOO = SEEK_CUR; };
class TEST2 { const FOO = 1; };
class TEST3 { const FOO = PHP_VERSION; };
print TEST::FOO."\n";
?>
--EXPECT--
1
-9
View File
@@ -1,9 +0,0 @@
--TEST--
Bug #24773 (unset() of integers treated as arrays causes a crash)
--FILE--
<?php
$array = 'test';
unset($array["lvl1"]["lvl2"]["b"]);
?>
--EXPECTF--
Fatal error: Cannot unset string offsets in %s on line %d
-28
View File
@@ -1,28 +0,0 @@
--TEST--
Bug #24884 (calling $this->__clone(); crashes php)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE--
<?php
class Test {
function __copy()
{
$string = PHP_VERSION;
$version = $string{0};
if($string < 5)
{
return $this;
}
else
{
return clone $this;
}
}
}
$test = new Test();
$test2 = $test->__copy();
var_dump($test2);
?>
--EXPECT--
object(Test)#2 (0) {
}
-19
View File
@@ -1,19 +0,0 @@
--TEST--
Bug #26010 (private / protected variables get exposed by get_object_vars())
--FILE--
<?php
class foo {
private $private = 'private';
protected $protected = 'protected';
public $public = 'public';
}
$data = new foo();
$obj_vars = get_object_vars($data);
var_dump($obj_vars);
?>
--EXPECT--
array(1) {
["public"]=>
string(6) "public"
}
-9
View File
@@ -1,9 +0,0 @@
--TEST--
Bug #26077 Memory leaks when creating an instance of an object
--FILE--
<?php
class foo {} new foo();
?>
===DONE===
--EXPECT--
===DONE===
-67
View File
@@ -1,67 +0,0 @@
--TEST--
Bug #26166 (__toString() crash when no values returned)
--FILE--
<?php
class Foo
{
function __toString()
{
return "Hello World!\n";
}
}
class Bar
{
private $obj;
function __construct()
{
$this->obj = new Foo();
}
function __toString()
{
return $this->obj->__toString();
}
}
$o = new Bar;
echo $o;
echo "===THROW===\n";
class Error
{
function __toString() {
throw new Exception("This is an error!");
}
}
$o = new Error;
try {
echo $o;
}
catch (Exception $e) {
echo "Got the exception\n";
}
echo "===NONE===\n";
class None
{
function __toString() {
}
}
$o = new None;
echo $o;
?>
===DONE===
--EXPECTF--
Hello World!
===THROW===
Got the exception
===NONE===
Fatal error: Method None::__toString() must return a string value in %sbug26166.php on line %d
-29
View File
@@ -1,29 +0,0 @@
--TEST--
Bug #26229 (getIterator() segfaults when it returns arrays or scalars)
--FILE--
<?php
class array_iterator implements IteratorAggregate {
public function getIterator() {
return array('foo', 'bar');
}
}
$obj = new array_iterator;
try
{
foreach ($obj as $property => $value)
{
var_dump($value);
}
}
catch(Exception $e)
{
echo $e->getMessage() . "\n";
}
?>
===DONE===
--EXPECTF--
Objects returned by array_iterator::getIterator() must be traversable or implement interface Iterator
===DONE===
Loaded 100 of 4515 files, more files were not shown because too many files have changed in this diff. Show more