Compare commits

..
3781 Commits
Author SHA1 Message Date
Gwynne Raskind 123db9f56c one more attempt at ridding us of some of those annoying mime types 2009-07-16 08:10:50 +00:00
SVN Migration ed452f2301 This commit was manufactured by cvs2svn to create branch 'PECL'. 2008-11-27 19:45:28 +00:00
Scott MacVicar ceabdbb483 MFH Add asprintf, use regular system malloc and free and add checks in configure.in for the functions 2008-11-27 19:45:27 +00:00
Dmitry Stogov 7d4fd3fd38 Fixed bug #46409 (__invoke method called outside of object context when using array_map) 2008-11-27 19:01:23 +00:00
Ilia Alshanetsky d741138a46 Fixed bug #46696 (cURL fails in upload files with specified content-type) 2008-11-27 17:00:04 +00:00
Ant Phillips 12e27a7014 Directory tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-11-27 14:50:28 +00:00
Dmitry Stogov 725640d82b Fixed bug #44882 (SOAP extension object decoding bug) 2008-11-27 14:49:56 +00:00
Ant Phillips 587363da3c Latest and greatest versions of these session tests - checked on 5.2.X snap on Windows, Linux and Linux 64 bit. 2008-11-27 14:39:33 +00:00
Ant Phillips 45e14cea18 Latest and greatest versions of these session tests - checked on 5.3 snap on Windows, Linux and Linux 64 bit. 2008-11-27 13:50:28 +00:00
Dmitry Stogov f80d26e68a Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter) 2008-11-27 11:25:40 +00:00
Scott MacVicar b388624d7d MFH Update libsqlite to 3.6.6.2 2008-11-27 08:46:13 +00:00
Felipe Pena d5bb19938d - MFH: New parameter parsing API 2008-11-27 02:17:22 +00:00
Antony Dovgal a9132bb75f fix test 2008-11-26 11:30:48 +00:00
Felipe Pena 1f89cd329f - New test 2008-11-26 10:17:01 +00:00
Ant Phillips f689708192 File system tests: checked on PHP 5.3 (Windows, Linux and Linux 64 bit). 2008-11-26 10:10:19 +00:00
Arnaud Le Blanc dffdb48c3b MFH: Fixed bug #46673 (stream_lock call with wrong paramater) 2008-11-26 04:19:20 +00:00
Arnaud Le Blanc c5c9fd8b07 MFH: Missed file from commit for #44181 & #44182 2008-11-26 04:08:19 +00:00
Arnaud Le Blanc 18794addbd MFH: Added ENT_IGNORE as a compatibility flag for htmlentities() and
htmlspecialchars() to skip multibyte sequences intead of returning an
empty string (as iconv's //IGNORE). These functions will still never
return an invalid or incomplete multibyte sequence.
Fixes #43896
2008-11-26 03:00:06 +00:00
Arnaud Le Blanc a05edaf2bd MFB 5.2 2008-11-26 02:43:16 +00:00
Arnaud Le Blanc 5b4a154a59 MFH: Fixed bug #42473 (ob_start php://output and headers) 2008-11-26 01:20:31 +00:00
Arnaud Le Blanc 6a6289a90d MFH: Fixed bugs #44181 & #44182 (extract() and references)
(robin_fernandes at uk dot ibm dot com)
2008-11-26 00:59:41 +00:00
Stanislav Malyshev 16dc391f1f cleanup from ::->\ change 2008-11-26 00:57:05 +00:00
Ilia Alshanetsky 87f1f82677 Upgraded bundled sqlite to version 3.6.6.1 2008-11-25 23:50:42 +00:00
Stanislav Malyshev 2016a84cae cleanup 2008-11-25 22:15:22 +00:00
Stanislav Malyshev b2cd1a717a fix tests for array/object BC 2008-11-25 22:13:44 +00:00
Felipe Pena 8f32490ca3 - Fixed bug #46665 (Triggering autoload with a variable classname causes truncated autoload param) 2008-11-25 21:14:23 +00:00
Dmitry Stogov ea45b713c8 Added support for namespaces with brackets. (Greg) 2008-11-25 09:56:32 +00:00
Arnaud Le Blanc cc2c720912 MFH: Fixed endless loop in cli when ignore_user_abort is on 2008-11-25 03:52:00 +00:00
Stanislav Malyshev 281676da26 MFB: fix php_value application order for Apache 2008-11-24 22:23:11 +00:00
Ilia Alshanetsky 24e7e62307 Fixed bug #46626 (mb_convert_case does not handle apostrophe correctly) 2008-11-24 21:23:03 +00:00
Arnaud Le Blanc c3f0c8dd3c MFH 2008-11-24 19:17:34 +00:00
Stanislav Malyshev 45572a498a restore BC for arrays
[DOC] natsort, natcasesort, usort, uasort, uksort, array_flip, array_unique
still won't work with objects
2008-11-24 18:12:17 +00:00
Stanislav Malyshev fce39ed9f7 add object-compatible array modes 2008-11-24 18:10:36 +00:00
David Soria Parra a9282f72a8 MFH: Revert fix for 43782, as it caused problems. 2008-11-24 15:36:47 +00:00
Sanjay Mantoor db0376cf94 Fixed testcsae inputs so that test runs faster 2008-11-24 11:10:02 +00:00
Arnaud Le Blanc a23d168531 MFH: Fixed bug #46649 (Setting array element with that same array produces
inconsistent results)
2008-11-23 20:35:16 +00:00
Felipe Pena 65cfb01eaa - MFH: New parameter parsing API 2008-11-23 20:01:21 +00:00
David Coallier f6b6746f2e - Removed the "unreleased-fix-feature" entry as per Marcus's request
- Made sure to include my PDO fix in the proper 5.3 release
2008-11-22 22:54:17 +00:00
Scott MacVicar 74ee87a631 MFH Patch file for sqlite3 amalgamation so things don't get missed. 2008-11-22 15:44:21 +00:00
Scott MacVicar 49a15f0bd4 MFH Better fix for va_copy since some architectures like to do a deep copy. 2008-11-22 15:16:47 +00:00
David Coallier a9879d34a8 - Added news item for bug #46615 2008-11-22 14:34:00 +00:00
David Coallier 16de7fbd16 - MFH
- Bug #46615
- Return the count - 1 when invoking SplHeap->key()
- Adjusted the tests
2008-11-22 14:19:47 +00:00
Pierre Joye b2e419ef40 - Fix windows build
please keep the fixes while merging the new versions.
   if the updates do not contain the fixes, create a little todo list so it is
   not forgotten (wiki)
2008-11-22 13:41:21 +00:00
Pierre Joye bbb88024ec - make va_copy safer using () around arguments 2008-11-22 13:34:15 +00:00
Scott MacVicar add2b6df3a MFH Fix build on Windows 2008-11-22 12:39:16 +00:00
Scott MacVicar 7ba273e3b5 MFH Error handler isn't properly restored when using fetchObject() with SQLite 2008-11-22 11:48:42 +00:00
Scott MacVicar 2d73897856 MFH Update libsqlite to 3.6.6 2008-11-22 11:06:04 +00:00
Scott MacVicar 3a93ef37c4 MFH Warnings from libmagic should be notices rather than sent to stderr, this fixes a test on Windows 2008-11-22 10:29:05 +00:00
Felipe Pena 01dec97a90 - Missing SKIPIF :( 2008-11-21 22:55:58 +00:00
Felipe Pena a9455b5be6 - MFH: Fixed memory leak in readline_callback_handler_remove() 2008-11-21 22:27:02 +00:00
Scott MacVicar bfbe9a34ab MFH Add vasprintf() so the buffer can be automatically calculated, you need to efree this when done though! 2008-11-21 22:05:03 +00:00
Felipe Pena a7dc862b6d - New tests 2008-11-21 21:44:11 +00:00
Felipe Pena bf90950756 - Fix test 2008-11-21 21:03:35 +00:00
Felipe Pena 8d85566ebe - New tests 2008-11-21 21:00:47 +00:00
Felipe Pena f649d973aa - BFN #46578 2008-11-21 20:36:12 +00:00
Felipe Pena b4150fdc3f - MFH: Fixed bug #46578 (strip_tags() does not honor end-of-comment when it encounters a single quote) 2008-11-21 19:16:50 +00:00
Jani Taskinen 80d5100309 MFH 2008-11-21 16:41:04 +00:00
Pierre Joye 67d86010ae - MFH:
- expose PHP_BUILD in the Makefile
 - ICU 3.8/4.0 are dynamically linked, add $PHP_BUILD\bin to the PATH so php.exe can find them (nmake test, nmake snaps)
2008-11-21 14:18:27 +00:00
Pierre Joye 941749f5ec - MFH: add build type (debug/release) and TS info to the summary 2008-11-21 14:17:33 +00:00
Iain Lewis 28c1803bcf Adding some tests for array_product 2008-11-21 13:00:01 +00:00
Sanjay Mantoor 223c2d002e New testcases for gmmktime function 2008-11-21 06:22:58 +00:00
Felipe Pena 8b00dc3f9e - Changed split() to preg_split() 2008-11-20 23:11:25 +00:00
Felipe Pena e7cd391e21 - BFN 2008-11-20 22:30:51 +00:00
Felipe Pena da067890db - MFH: Fixed memory leaks in readline_completion_function() 2008-11-20 22:25:37 +00:00
Andrey Hristov d43b7b022f MFH:
Windows fixes for mysqlnd
Less warnings + PHPAPI for mysqlnd_poll
2008-11-20 17:21:36 +00:00
Kalle Sommer Nielsen e61c2e8c17 MFH: Fix typo 2008-11-20 16:06:26 +00:00
Mark Karpeles 75b07963e3 - MFH: ext/wddx: classes providing __sleep() are stored without properties (fixed)
- ext/wddx: fixed wddx_add_vars() ignoring first var in php 5.3
2008-11-20 15:55:00 +00:00
Felipe Pena 8258b703c5 - MFH: Fixed memory leak in wddx_add_vars() 2008-11-20 14:48:41 +00:00
Felipe Pena d41c3506f6 - MFH: Added ZEND_FETCH_RESOURCE_NO_RETURN 2008-11-20 14:47:55 +00:00
Mark Karpeles 995deb9aef - MFH: #46496, wddx_serialize treats input as ISO-8859-1 (Mark Karpeles) 2008-11-20 14:14:05 +00:00
Felipe Pena 277c3e4172 - Fixed tests 2008-11-20 13:31:34 +00:00
Felipe Pena 83a6215dcc - Fixed test 2008-11-20 13:27:00 +00:00
Pierre Joye 2295b682a4 - MFH: declarations must be.. 1st 2008-11-20 10:22:55 +00:00
Arnaud Le Blanc 756aef0607 CS 2008-11-19 17:53:47 +00:00
Andrey Hristov e62f5f8f03 MFH:
Fix a small bug that mysqlnd::next_result didn't care about an error in a
multi-statement. In an inner layer the error has been already set, thus it
needed better massage on the top level.
2008-11-19 17:45:43 +00:00
Felipe Pena 83c0eb69ad - Fixed tests 2008-11-19 16:58:28 +00:00
Arnaud Le Blanc a46300ec06 Improved ArrayObject performance (made spl_hash_verify_pos() an O(1)
and removed some spl_array_get_hash_table() calls). Fixes #46039
2008-11-19 14:41:40 +00:00
Felipe Pena 2ea37c7780 - Fixed tests 2008-11-19 11:41:47 +00:00
Pierre Joye 60742c414d - new naming and allow libcurl static build 2008-11-19 09:28:13 +00:00
Etienne Kneuss 5b4c00a1f3 typo 2008-11-19 02:03:26 +00:00
Etienne Kneuss 3919b16f04 MFH: Fix #46241 (stacked error_handlers, error_handling in general) 2008-11-19 02:00:53 +00:00
Alexey Zakhlestin 202426a1fb new parameter-parsing api 2008-11-18 19:07:47 +00:00
Andrey Hristov 3343619b9a MFH: Fix Windows build, pure C compiler 2008-11-18 18:02:44 +00:00
Felipe Pena 1881091e0f - Deprecate ereg 2008-11-18 17:55:07 +00:00
Andrey Hristov 825034cea5 MFH:
Asynchronous queries for mysqli, when mysqlnd is enabled.
Includes 4 tests for mysqli_poll
2008-11-18 17:02:18 +00:00
Ant Phillips 4126370491 Reflection tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit). 2008-11-18 15:36:48 +00:00
Pierre Joye c213742fe2 - MFH: declaration has to be first... 2008-11-18 14:27:09 +00:00
Pierre Joye d316c3e0d1 - MFB: fix title 2008-11-18 02:03:38 +00:00
Pierre Joye d543e3d987 - #41033, enable signing with DSA keys 2008-11-18 01:56:12 +00:00
Felipe Pena 34742e3f13 MFH:
- Changed 'strlen' to use ZEND_FUNCTION(strlen)
- Removed duplicated arginfo structs
2008-11-17 22:21:55 +00:00
Scott MacVicar 4525c2d41e Missed test for previous commit 2008-11-17 21:54:47 +00:00
Scott MacVicar 1858b25407 MFH Add openssl_random_pseudo_bytes() in order to expose access to a PRG, this wraps around whatever the OS provides.
- OpenBSD uses arc4random()
- Windows uses the Windows Crypto API
- FreeBSD, Linux, etc use /dev/random or /dev/urandom if available
[DOC]
2008-11-17 21:54:25 +00:00
Scott MacVicar cd3f5c1fa7 MFH Fix #46033 - Segfault when instantiating SQLite3stmt and SQLite3Result directly. 2008-11-17 19:34:03 +00:00
Stanislav Malyshev 4cb8b8ba40 Improve use syntax
[DOC] use \foo\bar is the same as use foo\bar
2008-11-17 18:00:44 +00:00
Scott MacVicar 0fab3f5b68 MFH Sync libsqlite to 3.6.5 2008-11-17 17:13:55 +00:00
David Soria Parra 978129fd9b MFH: Feature request #46595. Use cc as default compiler and fallback to gcc. 2008-11-17 15:17:49 +00:00
Ant Phillips 0b79202140 Commit tests for ext/reflection 2008-11-17 12:26:43 +00:00
Felipe Pena fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Pierre Joye df3dc8d974 - MFB: skip if pcntl is not present 2008-11-16 23:22:43 +00:00
Pierre Joye c25d835bbe - entry for #46127 2008-11-16 23:15:28 +00:00
Pierre Joye 569a48922e - MFH: #46127, php_openssl_tcp_sockop_accept forgets to set context on accepted stream 2008-11-16 23:14:12 +00:00
Ilia Alshanetsky 4907faecd1 Fixed memory leak inside readline_callback_handler_install() function 2008-11-16 18:00:50 +00:00
Felipe Pena 96ab6ace7c - MFH: Fixed strlen function entry (missing arginfo struct size, thanks Philip!) 2008-11-16 00:45:03 +00:00
Arnaud Le Blanc c6e1b8bc67 MFH: Added stream_cast() and stream_set_options() to user-space stream
wrappers, allowing stream_select(), stream_set_blocking(),
stream_set_timeout() and stream_set_write_buffer() to work with user-space
stream wrappers.
Will document.
2008-11-15 12:52:13 +00:00
Hannes Magnusson dd9e9f26e2 MFH: Interfaces extend other interfaces, not implement 2008-11-14 19:22:43 +00:00
Sanjay Mantoor ccef11d68f New testcases for gmdate function 2008-11-14 09:16:00 +00:00
Arnaud Le Blanc 3b9fce6246 MFH: Fix proto line 2008-11-14 06:00:48 +00:00
Hannes Magnusson 4562ddaba4 MFH: Document the xmlrpc_errors option 2008-11-13 19:06:28 +00:00
Stanislav Malyshev 2a5079e64c [DOC] Add option for error_log to send directly to SAPI logger 2008-11-13 18:48:25 +00:00
Ilia Alshanetsky 9c9b5b3925 Fixed a bug inside dba_replace() that could cause file truncation with
invalid keys
2008-11-13 18:21:40 +00:00
Felipe Pena c29ebd8a23 - MFH: Better fix 2008-11-13 18:14:50 +00:00
Pierre Joye c8103324bf - MFH: declaration goes first... 2008-11-13 14:40:06 +00:00
Arnaud Le Blanc aaaf67e19e Updated header_handler in apache2filter and apache_hooks 2008-11-13 13:41:08 +00:00
Felipe Pena 494dbdb1c1 - MFH: Fixed invalid reads 2008-11-13 13:08:12 +00:00
Arnaud Le Blanc 8c4151ad72 Added header_remove() (chsc at peytz dotdk, Arnaud)
[DOC] proto void header_remove([string header_name])
      Removes an HTTP header previously set using header()
      The header_name parameter is optionnal, all headers are
      removed if it is not set

[SAPIs] The header_handler callback in sapi_module_struct has
           been changed, it now take a new argument.

           When it is set to SAPI_HEADER_DELETE, sapi_header->header is
           the name of an header, header_handler has to delete it.

           When it is set to SAPI_HEADER_DELETE_ALL, header_handler has
           to delete all headers.

           When sapi_header_op_enum is SAPI_HEADER_ADD or _REPLACE,
           sapi_header->header is in the form "Name: value", header_handler
           has to add or replace the given header.

           In all cases, header_handler must not free sapi_header or
           sapi_header->header. SAPI_HEADER_ADD must be returned if the
           header has been added or replaced, or 0 in other cases.
2008-11-13 10:14:04 +00:00
Arnaud Le Blanc 06119f4748 MFH: Added stream_context_get_params() 2008-11-13 05:47:47 +00:00
Felipe Pena 39b1f65aab - Fixed tests 2008-11-13 01:49:51 +00:00
Felipe Pena cd5d85856c - MFH: Fixed macro redefinition warning 2008-11-13 01:35:21 +00:00
Felipe Pena a94cd6d54f - MFH: Fixed a macro redefinition on BSD for different purpose 2008-11-12 23:38:02 +00:00
Felipe Pena 3c121bf15f - MFH: Removed unused variables 2008-11-12 17:26:36 +00:00
Felipe Pena cd0a8efe41 - Fix test 2008-11-12 17:16:51 +00:00
Felipe Pena f85b94ef33 - Silent valgrind 2008-11-12 16:40:40 +00:00
Pierre Joye b9853c4ff0 - MFH:
- #14962, makes extractTo 2nd argument really optional
 - replace ZEND_ENGINE_2_1 by PHP_ZIP_USE_OO
2008-11-12 11:41:21 +00:00
Antony Dovgal 512b812761 make sure the slash is actually thre before reading past it 2008-11-12 09:05:48 +00:00
Stanislav Malyshev a51bbb2754 fix potential crash in zend_do_assign due to opcodes realloc 2008-11-12 00:44:56 +00:00
Stanislav Malyshev 6ebc2b21f1 fix crash - using old opline after realloc 2008-11-12 00:23:21 +00:00
Ilia Alshanetsky 681515b3df Removed unused vars 2008-11-12 00:10:24 +00:00
Stanislav Malyshev 3cd19b8ecb fix memleak 2008-11-11 21:11:24 +00:00
Stanislav Malyshev 1b4134c07b Namespace resolution streamlining patch
[DOC] new resolution rules should be documented soon
2008-11-11 19:45:29 +00:00
Stanislav Malyshev caa133b3d3 some new tests 2008-11-11 19:44:16 +00:00
Felipe Pena a2556b1f1c - MFH: New parameter parsing API 2008-11-11 17:54:43 +00:00
Felipe Pena 02050bc6f5 - New tests 2008-11-11 17:54:11 +00:00
Felipe Pena 9b894e6e62 - Fixed bug #46546 (Segmentation fault when using declare statement with non-string value)
# This issue only happens in this branch
2008-11-11 16:15:53 +00:00
Felipe Pena 9178503610 MFH:
- Added ZEND_FETCH_RESOURCE2_NO_RETURN() (a version of ZEND_FETCH_RESOURCE2 but without the ZEND_VERIFY_RESOURCE() which contains RETURN_FALSE)
- Fixed bug #46543 (ibase_trans() memory leaks when using wrong parameters)
2008-11-11 13:28:22 +00:00
Pierre Joye 5fc86e0213 - MFH: fix build with all curl versions, even very old (thx Felipe for having found all versions info) 2008-11-11 12:26:04 +00:00
Jani Taskinen 5493b4b7d1 fix build 2008-11-11 11:56:01 +00:00
Arnaud Le Blanc e13a4238e5 MFH: Fixed stream_get_contents() when using $maxlength and socket is not
closed. indeyets@php.net on #46049.
2008-11-11 01:55:51 +00:00
Arnaud Le Blanc f6345133b3 MFH: Fixed bug #44818 (php://memory writeable when opened read only) 2008-11-11 00:44:55 +00:00
Pierre Joye dcdf00bdfc - MFH: make the curl phpinfo more verbose 2008-11-10 22:59:28 +00:00
Felipe Pena 493b0589e8 - Make expected result compatible with recent Firebird version 2008-11-10 22:33:53 +00:00
Kalle Sommer Nielsen 220049d05f MFH: State that bugs should be sorted desc. 2008-11-10 22:10:59 +00:00
Andrey Hristov abf612ba59 MFH: Remove unneeded cast 2008-11-10 20:06:23 +00:00
Ilia Alshanetsky 757087553b MFH: Fixed compiler warnings 2008-11-10 19:04:05 +00:00
Sean Coates 4e3929d278 add test for ArrayObject acting as array (for 5.3) 2008-11-10 19:01:35 +00:00
David Coallier feeaa6568e - Added resolution of bug #44153, #44154 2008-11-10 18:54:30 +00:00
David Coallier 9334bbd650 - After readying Johannes's mail, the conclusion that a "smarter" system
to find out if the return_value had the correct number of elements was
  definitely needed. Simply added a difference to both dbh and stmt to
  make sure that the error info always has 3 elements.

- Bug #44154 (pdo->errorInfo doesn't always return three elements)
- Now pdo->errorInfo() AND stmt->errorInfo() return three elements.

- [DOC] Make sure that not only the pdo->errorInfo() is returning 3 elms, but
  also the PDOStatement object
2008-11-10 18:47:28 +00:00
David Coallier 55ad0efd17 - Make test conform to the error reporting that always returns
three elements. Adjusted all bugs and tests that were using
  errorInfo() and errorCode() (dbh & stmt)
2008-11-10 18:44:04 +00:00
Felipe Pena 1460f722e3 - New tests 2008-11-10 18:02:56 +00:00
Felipe Pena 4680f6ab3d - Fixed tests (thanks Timm) 2008-11-10 15:07:26 +00:00
Timm Friebe dc07057b06 - Removed notes about fixes to sybase_ct that are already announced in PHP 5.2 news 2008-11-10 14:45:30 +00:00
David Coallier d781f9d67f - Hrphm, sorry about that, forgot the array value. Now the test runs fine 2008-11-10 12:49:51 +00:00
David Coallier d2c1047241 - Adjusted test to make sure it reflects the behavior of the method 2008-11-10 12:40:23 +00:00
Derick Rethans cb448dca05 - Make it work with bison 2.4. 2008-11-10 12:05:28 +00:00
Felipe Pena 7368bfce56 - New tests 2008-11-10 11:39:57 +00:00
Timm Friebe 9543aa058d - Documented sybase_connect()'s new optional parameter 'new' 2008-11-10 11:03:22 +00:00
Timm Friebe 15adc0ddaf - Added test for optional parameter "new" to sybase_connect() 2008-11-10 11:00:48 +00:00
Timm Friebe 12abaadf84 - Added optional parameter "new" to sybase_connect
# [DOC] If a second call is made to sybase_connect() with the same arguments
# no new link will be established, but instead, the link identifier of the
# already opened link will be returned. The new parameter modifies this
# behavior and makes sybase_connect() always open a new link, even if
# sybase_connect() was called before with the same parameters.
2008-11-10 10:59:44 +00:00
Sanjay Mantoor eb2e561bfe New testcases for date_sunset function 2008-11-10 07:12:00 +00:00
Arnaud Le Blanc 2756c75304 MFH 2008-11-10 06:30:16 +00:00
Arnaud Le Blanc cf7ad21ce5 MFH: Added the oldset parameter to pcntl_sigprocmask().
Already documented.
2008-11-10 05:57:18 +00:00
Sanjay Mantoor 42325f9d48 New testcases for date_sunrise function 2008-11-10 05:52:20 +00:00
Lukas Smith 6092e3a4a0 MFH 2008-11-09 12:13:04 +00:00
Kalle Sommer Nielsen 88bb4f6134 Fix NEWS 2008-11-09 11:39:15 +00:00
Timm Friebe 39bd93bc62 - Fixed sybase_close() to actually close connections
# Broken during parameter parsing refactoring lately, OK in PHP_5_2
2008-11-09 11:39:14 +00:00
Timm Friebe 4b96eea15f - Initial release 2008-11-09 11:38:17 +00:00
Timm Friebe 66f5639327 - Initial release 2008-11-09 10:57:09 +00:00
Timm Friebe 7dc8109ff3 - Initial release 2008-11-09 10:44:03 +00:00
Timm Friebe 34906d50f3 - Added note on bugfix for #30312
- Added entry on CS_ROW_FAIL patch fix
2008-11-09 10:32:35 +00:00
Timm Friebe 2268bf47e3 - Added test for sybase_free_result() without full fetch 2008-11-09 10:29:52 +00:00
Timm Friebe 963aa85764 - Initial release
# Tests sybase_unbuffered_query() together with sybase_free_result()
2008-11-09 10:26:31 +00:00
Rasmus Lerdorf f121e72ac7 Fix for bug #46525 2008-11-08 22:56:17 +00:00
Felipe Pena d5ad77167a - MFH: Added connection checking on SKIPIF 2008-11-08 15:39:01 +00:00
Timm Friebe ec17daec29 - Adjusted tests to reality
# We select 123456789.12345679, we should have this returned and not
# something 123456789.123457 (rounded)
2008-11-08 13:32:29 +00:00
Timm Friebe 8089d14c9a - Fixed problems with segmentation faults when using unbuffered queries
# Double-freeing results caused these
2008-11-08 13:22:14 +00:00
Timm Friebe 9224d4cc6c - Made this test independent of date format 2008-11-08 13:21:30 +00:00
Timm Friebe 65c5b135d5 - Initial release 2008-11-08 13:21:01 +00:00
Timm Friebe b99923a434 - QA: Unified error messages in php_sybase_query() 2008-11-08 12:24:52 +00:00
Timm Friebe 927804e288 - Changed while loop in php_sybase_fetch_result_row() to also read rows with
retcode == CS_ROW_FAIL.
# Reported by Detlef Neumerkel and Frank Irnich of Sybase
2008-11-08 12:05:46 +00:00
Timm Friebe 87ad2dd067 - Changed source to read host, user and password from environment
# E.g. nmake test TESTS=ext/sybase_ct PHP_SYBASE_HOST=db PHP_SYBASE_USER=sa PHP_SYBASE_PASS=***
2008-11-08 11:47:35 +00:00
Timm Friebe 847e9922d1 - Made this test independent of field types in master..sysprocesses
# char on ASE 11, varchar on ASE 15
2008-11-08 11:46:06 +00:00
Timm Friebe d40014873f - Fixed expected warning messages
# Changed during migration to parameter parsing API
2008-11-08 11:45:03 +00:00
Antony Dovgal f26f2c0961 fix more invalid reads 2008-11-08 11:00:23 +00:00
Felipe Pena a4390f3e46 MFH:
- Fixed bug #46521 (Curl ZTS OpenSSL, error in config.m4 fragment)
  Noticed by: jd at cpanel dot net
2008-11-07 21:14:46 +00:00
Alexey Zakhlestin f9d86cf9d3 new parameter-parsing API 2008-11-07 13:28:23 +00:00
Alexey Zakhlestin deb420ee63 new parameter-parsing API 2008-11-07 12:39:11 +00:00
Kalle Sommer Nielsen 2b0df36f42 MFH: New parameter parsing API 2008-11-07 11:05:24 +00:00
Antony Dovgal 57b9a6449a fix typo causing invalid reads 2008-11-07 10:51:26 +00:00
Alexey Zakhlestin 9942da41cf added const, as required by struct-definition 2008-11-07 09:12:39 +00:00
David Soria Parra acdc79e876 Use right format 2008-11-06 22:12:12 +00:00
David Soria Parra 6e3bf2157e Refer to a feature request that contains a better description of the flags 2008-11-06 21:56:06 +00:00
Philip Olson 453a17a9bf Added the "update INSTALL and win32/install.txt" tasks 2008-11-06 21:35:42 +00:00
David Soria Parra 47e909faed MFH: Detect Sun C compiler and set default flags if it is used 2008-11-06 20:42:11 +00:00
Andrey Hristov 737c3c89c6 MFB: More Windows types cleanup 2008-11-06 18:48:55 +00:00
Andrey Hristov e49366850f MFH: Use win32/php_stdint.h for stdint types on Windows 2008-11-06 14:21:50 +00:00
Pierre Joye 710638db54 - revert previous commit (borked editor) 2008-11-06 13:30:18 +00:00
Pierre Joye 11f6df597a - bump year 2008-11-06 13:11:56 +00:00
Andrey Hristov e099d732a6 MFH: More cleanup of config-win.h 2008-11-06 11:29:20 +00:00
Johannes Schlüter ef3ce03e5e MFH: Don't enable mysqlnd when pdo_mysql is being built with libmysql 2008-11-06 11:12:21 +00:00
Andrey Hristov 9186528994 MFH:
Get rid of many defines (which simplifies the code a lot),
as well as uint->unsigned int
2008-11-06 10:37:47 +00:00
Pierre Joye 963f7c0234 - typo 2008-11-06 10:17:44 +00:00
Pierre Joye 789eb9cc9a - fix build on linux (static)
- add gd[Format]Version[Int|String] first methods to work around the png
  header issues
2008-11-06 10:14:37 +00:00
Derick Rethans f2720ecc34 - MFH: Export DateTime and DateTimeZone class entries so that external
extensions can make use of it as well.
2008-11-06 09:45:58 +00:00
Scott MacVicar 895eb06945 MFH: Support versions of valgrind from SVN. The version is shown as 3.4.0.SVN 2008-11-06 03:09:41 +00:00
Scott MacVicar a94ac5d436 MFH: Fix buffer overread in libmagic and sync a skipped change from 4.26 2008-11-06 03:00:04 +00:00
Felipe Pena a3714456e6 - Reorder 2008-11-06 01:38:56 +00:00
Etienne Kneuss c6fbd074ce Add references to #46421 #45976 2008-11-06 01:09:32 +00:00
Etienne Kneuss e415c37ed4 MFH: Fix #46421 (Take care about /) 2008-11-06 01:07:22 +00:00
Etienne Kneuss 27e41ff48c MFH: Fix #45976 (Move SXE from SPL to SimpleXML) 2008-11-06 00:37:13 +00:00
Felipe Pena a912d80adb MFH:
- Fixed wrong check
- Improved test
2008-11-05 23:40:38 +00:00
Arnaud Le Blanc bc569c56a6 sync zend_ini_scanner.c 2008-11-05 21:36:11 +00:00
Arnaud Le Blanc 2276e85f13 MFH: Added parse_ini_string() function (grange at lemonde dot fr, Arnaud)
[DOC] new function parse_ini_string()
      proto array parse_ini_string(string ini_string
          [, bool process_sections [, int scanner_mode]])
      Same as parse_ini_file() except that it takes a string instead of a
      filename.
2008-11-05 21:35:02 +00:00
Hannes Magnusson cab00baafa Fixed bug#46445 (run-tests2.php is missing or README.TESTING2 is unneeded) 2008-11-05 17:15:50 +00:00
Felipe Pena 2f26deb0e0 - Fixed Windows build 2008-11-05 11:00:38 +00:00
Derick Rethans 1c08ae1c8e - MFH: Fixed an issue with the * format specifier for parsing from a
user-defined format.
2008-11-05 10:42:42 +00:00
Kalle Sommer Nielsen 9b3ab1c67a MFH: New tests for syslog 2008-11-05 09:58:51 +00:00
Lukas Smith c172547008 MFH 2008-11-05 07:25:18 +00:00
Lukas Smith abbd6d3811 fixed ext/msql NEWS entry 2008-11-04 23:01:13 +00:00
Lukas Smith 53827be086 MFH 2008-11-04 23:00:57 +00:00
Lukas Smith 839cdb409e ext/msql is now in PECL starting alpha3 [DOC] 2008-11-04 22:31:48 +00:00
Lukas Smith 2c23aa9bf1 MFH 2008-11-04 22:22:43 +00:00
Brett Bieber 47964af98a Test - if this works, something is wrong. 2008-11-04 21:25:22 +00:00
Arnaud Le Blanc 9b0d76d585 Open STDIN and php://stdin streams with the relevant
wrapper when the file descriptor is a socket (inetd, etc)
Fixes bug #43731
2008-11-04 21:05:31 +00:00
Arnaud Le Blanc 43400aaf87 MFH: initialize memory 2008-11-04 20:40:30 +00:00
Pierre Joye a4e959e4a1 - MFH: add png and jpeg version info 2008-11-04 20:25:45 +00:00
David Coallier 80e3ed5630 - MFH
- Bug #44154: [DOC] Return 3 elements at all times. If the dbh stmt doesn't have
  an error code we used to return an array with one element. For the sake
  of consistency and verification of returned values at userland we are now
  returning an array with 3 elements. Note the two last elements are null but
  present

- Bug #4413: [DOC] If the error code returned by the DBH is null, we return
  a null value. This is used in order to help with empty error codes.
2008-11-04 18:28:41 +00:00
Felipe Pena 358ecee529 - Fixed tests 2008-11-04 17:50:30 +00:00
Arnaud Le Blanc d441b5db5b MFH: Fixed stream_get_line() to behave as documented on non-blocking
streams
2008-11-04 17:05:55 +00:00
Greg Beaver 981d2ee6d0 ignore stuff that clutters cvs diffs 2008-11-04 17:04:22 +00:00
Arnaud Le Blanc 55ccadecbe MDH: Avoids fclose() from complaining that stream_socket_pair() streams
have not been closed
2008-11-04 16:46:03 +00:00
Marcus Boerger 7126de4912 - Next step in namespaces, using / as namespace separator. 2008-11-04 15:58:55 +00:00
Marcus Boerger 6ca3ad3f41 - MFH We only rely on hash if it is built-in 2008-11-04 14:04:29 +00:00
Marcus Boerger 582cdf9a27 - MFH Add hash dependency at module source level 2008-11-04 13:33:15 +00:00
Pierre Joye 7102449f76 - sync tests with pecl 2008-11-04 13:24:39 +00:00
Marcus Boerger 4f04fdc735 - MFH Fix test 2008-11-04 11:12:23 +00:00
Marcus Boerger e2ab5164ce - MFH Fix dependency from Phar to hash 2008-11-04 01:27:52 +00:00
Arnaud Le Blanc 55e7b35e6b MFH: Fixed bug #46024 (stream_select() doesn't return the correct number) 2008-11-04 00:42:41 +00:00
Marcus Boerger 1c40f21ae8 - Fix tests: dos2unix 2008-11-04 00:27:05 +00:00
Felipe Pena a5e72fd696 - MFH: Improved fix 2008-11-03 23:44:38 +00:00
Arnaud Le Blanc 7fc9c9e429 cleanup 2008-11-03 23:34:26 +00:00
Arnaud Le Blanc 8e220d99df MFH: Fixed bug #44607 (stream_get_line unable to correctly identify the
"ending" in the stream content)
2008-11-03 23:29:17 +00:00
Felipe Pena 22147d94af - New test 2008-11-03 21:49:34 +00:00
Felipe Pena 27965c932f MFH:
- Fixed endless loop in PDOStatement::debugDumpParams()
  patch by: Jonah H. Harris <jonah.harris at gmail dot com>
2008-11-03 20:48:51 +00:00
Johannes Schlüter 850f9567b8 MFH: Use a better function name for closure related errors and debug_backtrace() 2008-11-03 19:28:32 +00:00
Elizabeth Marie Smith d4e4cebd65 MFH 2008-11-03 19:25:42 +00:00
Arnaud Le Blanc de29f4161f MFH: Fixed bug #45303 (Opening php:// wrapper in append mode results
in a warning)
2008-11-03 16:58:53 +00:00
Arnaud Le Blanc 0a2bfc7968 MFH: Fixed bug #43353 (wrong detection of 'data' wrapper causes notice) 2008-11-03 15:47:31 +00:00
Felipe Pena e0fededeba - MFH: Fixed bug #44327 (PDORow::queryString property & numeric offsets / Crash) 2008-11-03 15:33:23 +00:00
Felipe Pena ade487e693 - Opss, reverted accidental changes 2008-11-03 13:07:28 +00:00
Jani Taskinen 963abc546d - Fix order (this is not rocket science.. >:-p ) 2008-11-03 12:03:46 +00:00
Felipe Pena 7e25733927 - MFH: Fixed bug #42855 (dns_get_record() doesn't return all text from TXT record)
patch by: misc at e2007 dot cynergi dot com
2008-11-03 11:35:11 +00:00
Arnaud Le Blanc e47e0828f6 sync zend_ini_scanner.c 2008-11-02 23:36:53 +00:00
Arnaud Le Blanc b3d0514b6f Fixed bug #44575 (parse_ini_file comment # line problems)
[DOC] parse_ini_file(): comments starting with # are deprecated in PHP 5.3
      (comments starting with ; should be used instead)
2008-11-02 23:36:10 +00:00
Scott MacVicar 355f62c264 Add some missing news entries 2008-11-02 23:06:27 +00:00
Arnaud Le Blanc 517e365ce1 MFH: Fixed bug #42718 (FILTER_UNSAFE_RAW not applied when configured as
default filter)
2008-11-02 22:22:43 +00:00
Felipe Pena 7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felix De Vliegher d90dfe7dbf MFH: XFAIL test for bug #46196 on restore_error_handler(). 2008-11-02 20:15:46 +00:00
Felipe Pena 82a251172c - Backported str_getcsv() into 5.3 2008-11-02 18:32:12 +00:00
Felipe Pena 8f12025b21 - MFH: Added str_getcsv() 2008-11-02 18:24:34 +00:00
Scott MacVicar 3e543f2464 MFH: Sync libmagic with 4.26 and add support for the new v6 magic file format 2008-11-02 16:13:49 +00:00
Jani Taskinen 16c46c635f - Done in 5.2.7 2008-11-02 14:14:12 +00:00
Jani Taskinen ffa97c5496 MFH 2008-11-01 23:09:31 +00:00
Andrey Hristov a836ea7b71 Fix windows build 2008-11-01 21:22:29 +00:00
Andrey Hristov 9726d6b047 Fix the build 2008-10-31 21:29:54 +00:00
Andrey Hristov 77c1e145e1 MFB:
64bit fixes:
- fixes to sprintf modifiers, cleaning warnings
- use _t types, like uint64_t instead of uint64, thus skipping series of
typedefs.
2008-10-31 20:32:17 +00:00
Andrey Hristov 4f5895a4d2 MFH: Fix warnings in sprintf 2008-10-31 20:31:27 +00:00
Felipe Pena 16bce25da2 - Fixed memory leak when using offset out of range. (php_stream_copy_to_mem returns 0, but the empty string is alloced) 2008-10-30 15:53:18 +00:00
Felipe Pena 1eb552a712 - Fix the fix
- Improved test
2008-10-30 14:34:25 +00:00
Lars Strojny b51214fce7 MFH: #44938 2008-10-30 14:22:50 +00:00
Sanjay Mantoor 2ca0889e8c New testcases for gettimeofday function 2008-10-30 10:49:45 +00:00
Felipe Pena bfa5404e90 - MFH: Fixed bug #46426 (3rd parameter offset of stream_get_contents not works for "0") 2008-10-30 10:09:22 +00:00
Dmitry Stogov 8107a8f121 Fixed ability to use "internal" heaps in extensions. 2008-10-30 08:55:20 +00:00
Felix De Vliegher bdda0cff3f MFH: Tests for SQLite3Stmt::paramCount(). 2008-10-29 22:36:19 +00:00
Rob Richards 7465d0103f MFH: fix bug #46406 (Unregistering nodeclass throws E_FATAL) 2008-10-29 21:21:47 +00:00
Ilia Alshanetsky f2d9767eb5 Fixed bug #44938 (gettext functions crash with overly long domain) 2008-10-29 20:29:12 +00:00
Ilia Alshanetsky 22f3c8b05b Fixed bug #42294 (Unified solution for round() based on C99 round)
[DOC] New implementation of round() to work-around inconsistencies for win32
and 64 bit platforms.

This solution is very roughly based on BSD's implmentation of round(), which
itself is an implementation of C99 standard. We take the absolute value of number
we want to round time the 10 to the power of the number of decimal spaces we are
rounding to. The resulting value is rounded up and the pre-rounded value is
subtracted from it. If the difference is greater then 0.5000000001 we round up,
otherwise we round down.
2008-10-29 20:03:34 +00:00
Felipe Pena b9c03aa4a5 - MFH: Fixed bug #46064 (Exception when creating ReflectionProperty object on dynamicly created property) 2008-10-29 12:56:29 +00:00
Felix De Vliegher 101e472c66 MFH: Various tests for the sqlite ext.
The sqlite session tests are by Mats Lindh <mats at lindh.no>.
2008-10-29 11:44:34 +00:00
Zoe Slattery 7902763a82 scottish time variation 2008-10-28 19:24:49 +00:00
Andrey Hristov ec20906b1b Fix that instance too - mysql_get_client_version() returns unsigned long 2008-10-28 15:59:42 +00:00
Sanjay Mantoor b73113d644 New testcases for array_intersect_uassoc function 2008-10-28 10:24:41 +00:00
Derick Rethans e40786ca1b - Updated to version 2008.9 (2008i) 2008-10-28 08:17:33 +00:00
Ilia Alshanetsky a509ac3510 Fixed compiler warning 2008-10-27 23:27:21 +00:00
Johannes Schlüter d13d710cee Fix NEWS 2008-10-27 18:33:22 +00:00
Johannes Schlüter 40e42663f5 MFH: Fix #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS) 2008-10-27 18:32:08 +00:00
Johannes Schlüter 806ea848f4 BFN 2008-10-27 17:25:43 +00:00
Johannes Schlüter 04d9bbe65e MFH: Fix #46285 (lastInsertId() returns "0" when a deferenced PDOStatement is
executed)
2008-10-27 17:21:22 +00:00
Andrey Hristov 7d4c51c2bd MFH:
Fix overusage of memory when the result set is empty. Then no memory will be
allocated compared to before. Also grow (realloc) the rset with 10% instead
of 33% - more reallocs but better memory usage. Of course later theres is a
realloc to shrink the rset t ofree it from unused rows but its better to
to eat too much at once.
2008-10-27 15:14:17 +00:00
Arnaud Le Blanc 877d5f8fed MFH: Fix compile error 2008-10-27 14:59:03 +00:00
Andrey Hristov b18bf1f880 Fix a name 2008-10-27 14:38:31 +00:00
Andrey Hristov 34ca27a191 MFH: Fix an issue with mysqli.default_port not being used 2008-10-27 14:34:35 +00:00
Hannes Magnusson 5668f32b68 MFH: Improve test and fix skipif 2008-10-27 14:25:33 +00:00
Andrey Hristov 4df718a477 MFH:
Warning if the library API version differs from the headers used to compile.
Patch versions are not considered but major.minor
Fix build of ext/mysql with 4.0.x and pre.
2008-10-27 12:09:36 +00:00
Felipe Pena c0611c10ef - Fixed condition 2008-10-26 23:34:13 +00:00
Felipe Pena 8502d0b7a6 - Fixed test 2008-10-26 23:00:35 +00:00
Kalle Sommer Nielsen a6a68ba758 Fixed #44748 (php.ini comments on magic_quotes_gpc promote bad practices) 2008-10-26 15:38:47 +00:00
Ilia Alshanetsky 8bd2943877 Fixed compiler warning 2008-10-26 14:35:41 +00:00
Felipe Pena 5d804d163a - MFH: Fixed bug #46388 (stream_notification_callback inside of object destroys object variables) 2008-10-26 13:25:06 +00:00
Derick Rethans 0d084028c8 - Fixed NEWS entries. 2008-10-26 12:56:46 +00:00
Greg Beaver 86f8d0a8e9 fix several errors found by valgrind
1 - entry metadata not properly processed or retrieved from cached phars
2 - copy on write was using a void return value instead of int, a dangerous oversight in phar_update_cached_entry
3 - metadata creation in entries for cached phars was causing an invalid read
2008-10-26 05:49:09 +00:00
Felipe Pena 5153c19714 - MFH: Fixed bug #46389 (NetWare needs small patch for _timezone) (patch by guenter at php.net) 2008-10-26 02:00:44 +00:00
Pierre Joye 7376ddb66a - add php-test-pack-[version].zip to nmake snap so we can distribute the tests as single zip
TODO: add run-tests.bat to the package
2008-10-26 00:14:23 +00:00
Felipe Pena 8fa119a6f6 - MFH: Fixed bug #46382 (Mismatching allocation and deallocation in stresstest.cpp) (dvice_null at yahoo dot com) 2008-10-24 23:16:46 +00:00
Antony Dovgal 73f81e9df6 add test 2008-10-24 20:17:01 +00:00
Felipe Pena cc9a286005 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 16:03:15 +00:00
Felipe Pena df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Felipe Pena c96d79b2e6 - MFH: Fixed bug #46082 (stream_set_blocking() can cause a crash in some circumstances) 2008-10-24 10:44:43 +00:00
Felipe Pena ff8246ff6e - MFH: Removed unnecessary check for array (#46273, noticed by serovov at gmail dot com) 2008-10-24 10:28:29 +00:00
Arnaud Le Blanc 96103c8793 BFN moved to PHP_5_2 2008-10-23 20:23:57 +00:00
Felipe Pena 981a23fff3 - MFH: Fixed bug #43925 (Incorrect argument counter in prepared statements with pgsql) 2008-10-23 18:53:05 +00:00
Pierre Joye 7d5a67a022 - flatten path and make them relative before extraction
- remove unnecessary export
2008-10-23 16:12:55 +00:00
Ilia Alshanetsky 8a106deb24 Revert define() fix, it needs further review 2008-10-22 23:28:34 +00:00
Stanislav Malyshev 5c50be3674 fix instantclient detection 2008-10-22 19:29:24 +00:00
Arnaud Le Blanc 15aced54b0 MFH: Fixed bug #46360 (TCP_NODELAY constant for socket_{get,set}_option) 2008-10-22 18:59:33 +00:00
Scott MacVicar a8c8963bc0 MFH: Fix a stat on a null when the internal database is used. 2008-10-22 16:34:40 +00:00
Scott MacVicar a6ec097f68 MFH: When using the internal database and there is an error it could try free some invalid things. This was causing a bus error on ppc. 2008-10-22 14:15:47 +00:00
Sanjay Mantoor 5a37a48082 New PHP testcases for array_diff_ukey function 2008-10-22 05:53:36 +00:00
Arnaud Le Blanc 1d5ba8bb21 MFH: initialize optional vars 2008-10-21 23:39:15 +00:00
Ilia Alshanetsky b2bc40f70c Already in 5.2 2008-10-21 23:22:00 +00:00
Arnaud Le Blanc d69dfa4b9f MFH: initialize optional vars 2008-10-21 22:08:38 +00:00
Arnaud Le Blanc 261f0c32a5 initialize optional vars 2008-10-21 22:08:20 +00:00
Arnaud Le Blanc 5b320b8a9b BFN moved to PHP_5_2 2008-10-21 16:44:30 +00:00
Alexey Zakhlestin 575ba83c0b skip tests on systems without fnmatch() function (f.e.: old darwin) 2008-10-21 13:38:18 +00:00
Alexey Zakhlestin a4d609ab04 proper check for php-version 2008-10-21 12:59:45 +00:00
Alexey Zakhlestin a7730c9c8c these tests work just fine on macos-x 2008-10-21 12:45:35 +00:00
Alexey Zakhlestin 7ff4c359e6 fixed wrong check for version 2008-10-21 12:26:35 +00:00
Zoe Slattery 5fe0e9c5ed Committing test for till 2008-10-21 09:33:21 +00:00
Arnaud Le Blanc 007538e228 typo 2008-10-21 03:32:11 +00:00
Arnaud Le Blanc e3c556c85e MFH: Fixed FCGI_GET_VALUES requests (fixes #45522) 2008-10-21 03:19:28 +00:00
Scott MacVicar 55a965f793 MFH Fix bug #46331 - The internal magic db is const memory and segfaults when you try to do byte swapping
on big endian machines. This fixes it by copying the memory for those processors, but this isn't ideal as
it wastes memory. Perhaps using a static cache would be better.
2008-10-20 23:36:14 +00:00
Ilia Alshanetsky 2357d51900 Fixed bug #46343 (IPv6 address filter accepts invalid address) 2008-10-20 23:22:45 +00:00
Rob Richards 2f3b8856ee MFH: fix bug #46323 (compilation of simplexml for NetWare breaks) 2008-10-20 19:29:04 +00:00
Arnaud Le Blanc f5dd8c00a0 WS 2008-10-20 18:43:32 +00:00
Arnaud Le Blanc 0f31ed2f77 Better fix for #46313 2008-10-20 18:42:58 +00:00
Arnaud Le Blanc c98e28795f Fixed #46313 (Magic quotes broke $_FILES)
# magic_quotes_gpc was disabled during registration of $_FILES["x"]["tmp_name"]
# and $GLOBALS["x"] (which is tmp_name with register_globals enabled). This
# caused "x" to not be escaped so there was 2 different keys for the same file
# in $_FILES, one with tmp_name and the other without.
# All other variables (name, size, etc) are registered with magic_quotes_gpc
# untouched, both in $_FILES and $GLOBALS and I did not found a reason for
# disabling it for tmp_name.
2008-10-20 17:09:10 +00:00
Pierre Joye 16bda08080 - add strto*i64 (VC6, decent compilers/crt have them) 2008-10-20 14:47:33 +00:00
Pierre Joye 61aeb63e8a - add strto*i64 support (VC6 only, decent compilers/crt have them) 2008-10-20 14:47:01 +00:00
Pierre Joye 144527b190 - support for VC6 and some other platforms (before some other cleanup) 2008-10-20 14:45:59 +00:00
Rob Richards f3f71b7351 MFH: fix bug #46335 (DOMText::splitText doesn't handle multibyte characters)
add test
2008-10-20 12:45:47 +00:00
Felipe Pena 02fee77584 - Fixed test 2008-10-19 18:23:53 +00:00
Johannes Schlüter a3e4b27857 Fix test 2008-10-19 18:08:29 +00:00
Ilia Alshanetsky e2bee4923b Fixed bug #46341 (Added missing validation checks into define() for class
constants)
2008-10-19 18:07:37 +00:00
Johannes Schlüter 0c6da3760b Add %S and %A to EXPECTF, they work like %s and %a but match empty strings, too 2008-10-19 18:05:43 +00:00
Etienne Kneuss 1a642296ba Fix #46317 (Iterator class not properly checked) 2008-10-19 18:00:24 +00:00
Johannes Schlüter c8361e7cfe MFH: fix mysqlnd detection 2008-10-19 12:43:34 +00:00
Johannes Schlüter c3dab8f191 MFH: Don't dereference NULL-pointer 2008-10-19 12:28:43 +00:00
Johannes Schlüter 0b216b4161 Fix test 2008-10-19 12:20:43 +00:00
Antony Dovgal 8696c38966 MFH: fix memleak 2008-10-17 22:09:44 +00:00
Zoe Slattery 057f422c03 Replacing explicit object ID with %d 2008-10-17 15:03:48 +00:00
Zoe Slattery f591bffba9 Committing for Robin Fernandes 2008-10-17 14:34:55 +00:00
Dmitry Stogov 41ad9b4d1f Fixed bug #46308 (Invalid write when changing property from inside getter) 2008-10-17 10:26:07 +00:00
Felipe Pena e52fc53bc2 - MFH: Fixed bug #45726 (PHP_Archive / Archive.php missing) 2008-10-17 01:58:20 +00:00
Ilia Alshanetsky e45af91313 Fixed bug #46319 (PHP sets default Content-Type header for HTTP 304 response
code, in cgi sapi)
2008-10-17 01:31:12 +00:00
Kalle Sommer Nielsen 9de7506f8e Use PHP_DEP_FE instead of throwing an E_DEPRECATED manually inside define_syslog_variables() (Thanks Hannes!) 2008-10-16 23:19:13 +00:00
Ed Batutis 8e0529e0d1 Fix for pecl bug 14664 - problem with older gcc 2008-10-16 18:06:05 +00:00
Moriyoshi Koizumi 0c5b6a66a9 * MFH remainder 2008-10-16 17:38:31 +00:00
Dmitry Stogov fe715fbd72 Fixed bug #42862 (IMAP toolkit crash: rfc822.c legacy routine buffer overflow) 2008-10-16 16:21:06 +00:00
Dmitry Stogov ec7cca7f2d ws 2008-10-16 15:49:29 +00:00
Dmitry Stogov 001a548b1a Fixed bug #43723 (SOAP not sent properly from client for <choice>) 2008-10-16 15:36:59 +00:00
Felipe Pena c0c9fb9def - Revert 2008-10-16 13:00:27 +00:00
Alexey Zakhlestin 35780b69a8 Updated functions-signatures (const) 2008-10-16 12:52:38 +00:00
Alexey Zakhlestin e06765b9c5 Fixed compilation warnings: tsrm_ls is not used here (anymore?) 2008-10-16 11:59:37 +00:00
Alexey Zakhlestin 5058774e1f propagated const, to avoid "discards qualifiers from pointer target type" errors 2008-10-16 11:38:25 +00:00
Moriyoshi Koizumi d7ddc19853 - MFH 2008-10-16 01:01:37 +00:00
Felipe Pena 8563497a94 MFH:
- Fixed:
  . Memory leak in pg_delete() when using PGSQL_DML_STRING.
  . Bug #24679 (pg_insert problem!)
  . Bug #35996 (pg_meta_data should take the schema into account)
  . Bug #40808 (pg_insert problem)
  . Bug #42078 (pg_meta_data mix tables metadata from different schemas)
- Improved:
  . Error messages
- Added:
  . Tests
2008-10-16 00:39:31 +00:00
Ilia Alshanetsky 5a28412ad2 Removed dead-code 2008-10-15 22:56:57 +00:00
Kalle Sommer Nielsen 12bd1eae9f [DOC] Deprecate define_syslog_variables() in 5.3 2008-10-15 18:41:57 +00:00
Felipe Pena 30173a8ec8 - Fixed possible efree(NULL) 2008-10-15 13:34:26 +00:00
Ilia Alshanetsky 7b57c9e6e1 Fixed bug #46271 (local_cert option is not resolved to full path) 2008-10-14 23:38:41 +00:00
Johannes Schlüter cb8c5cf48c Update NEWS 2008-10-14 19:03:36 +00:00
Johannes Schlüter 0614a7763e MFH: Add PDO::MYSQL_ATTR_COMPRESS connection flag [DOC] 2008-10-14 19:00:53 +00:00
Felipe Pena 42e3a93a8b - Added SKIPIF 2008-10-14 17:45:52 +00:00
Felipe Pena 84be2eb47b - MFH: Fixed bug #46292 (PDO::setFetchMode() shouldn't requires the 2nd arg when using FETCH_CLASSTYPE) 2008-10-14 17:36:02 +00:00
Scott MacVicar 3d61571709 Disable optimizations at the moment for libsqlite on VC6 with the amalgamation, will most likely need to track down what particular function is causing problems or consider setting the flags to /O1 for libsqlite specifically. 2008-10-14 09:56:25 +00:00
Greg Beaver 347a58939d last test for cached phar copy on write (forgot this one yesterday) 2008-10-14 00:38:01 +00:00
Felipe Pena 310ac30e5a MFH:
- Fixed bug #37100 (data is returned truncated with BINARY CURSOR)
  Patch by Tony
2008-10-13 13:44:32 +00:00
Derick Rethans 8f8f18bc18 - Updated to version 2008.8 (2008h) 2008-10-13 11:45:39 +00:00
Greg Beaver fdac2c9a12 increase code coverage 2008-10-13 04:50:37 +00:00
Greg Beaver 3a54017556 add complete tests verifying copy-on-write for cached phars 2008-10-13 04:21:09 +00:00
Greg Beaver 5bc1122056 fix faulty tests 2008-10-12 23:32:50 +00:00
Antony Dovgal 8b793f4274 MFH: fix ZTS build 2008-10-12 21:09:22 +00:00
Greg Beaver 114861e330 fix incorrect key for Phar destructor 2008-10-12 19:45:01 +00:00
Greg Beaver e16636f069 add tests for copy-on-write support
- fix metadata handling with cached phars
 - fix virtual_dirs with rmdir
 - ensure that after copy-on-write, all existing Phar objects link to the newly copied phar data
2008-10-12 19:40:11 +00:00
Greg Beaver eaf5d4c8b3 add missing --INI-- section 2008-10-12 18:54:00 +00:00
Greg Beaver a2b4f65a0c re-add as binary 2008-10-12 18:47:19 +00:00
Greg Beaver da731473aa oops, need to add as binary 2008-10-12 18:46:46 +00:00
Greg Beaver 15cac7f22f add missing file for tests 2008-10-12 18:45:46 +00:00
Felipe Pena a88f7fbc3e - Fixed compiler warnings 2008-10-12 15:01:12 +00:00
Felipe Pena e90d487720 - Removed unnecessary strcmp call (thanks Tony) 2008-10-12 13:46:10 +00:00
Felipe Pena d2d4e044c7 - Complete the fix for #46274, and tests 2008-10-12 13:01:31 +00:00
Greg Beaver 261d300a0f add new test for copy-on-write, fix copy-on-write for Phar/PharFileInfo methods 2008-10-12 06:53:32 +00:00
Greg Beaver 5a00c7baf0 re-add as binary 2008-10-12 06:41:27 +00:00
Greg Beaver 415a37bfae stupid cvs added this as text 2008-10-12 06:41:01 +00:00
Greg Beaver 0182bbf76b fix files for advanced include_path test 2008-10-12 06:40:36 +00:00
Greg Beaver 53e1428b06 increase code coverage 2008-10-12 05:41:22 +00:00
Greg Beaver 60969b5385 fix links for fseek as well 2008-10-11 22:20:57 +00:00
Greg Beaver 59379244ad fix reading links from streams (works with PharFileInfo->getContent()) 2008-10-11 22:12:07 +00:00
Greg Beaver bf268a68f9 cosmetics/maintainability: reduce code redundancy on error conditions 2008-10-11 21:22:58 +00:00
Greg Beaver eb41e0d64f work around crap stream filter implementation, update tests for compressed aliases in zip-based phar so they actually test the compression 2008-10-11 20:57:08 +00:00
Greg Beaver 59e52885a1 fix Bug #46026: bz2.decompress/zlib.inflate filter tries to decompress after end of stream
[DOC] add concatenation option to bz2.decompress stream filter
2008-10-11 19:14:08 +00:00
Felipe Pena 9552f1a573 - Fixed bug #46249 (pdo_pgsql always fill in NULL for empty BLOB)
- Fixed bug #46274 (pdo_pgsql - Segfault when using PDO::ATTR_STRINGIFY_FETCHES and blob)
2008-10-11 19:03:23 +00:00
Kalle Sommer Nielsen 0c183be27f MFH:
Add missing zend_parse_paramters_none() in pdo_drivers()
2008-10-10 23:38:14 +00:00
Stanislav Malyshev f2ada381bb improve OCI detection 2008-10-10 20:05:05 +00:00
Felipe Pena 6f81d12eb1 - Added skipif 2008-10-10 19:53:20 +00:00
Felipe Pena cefe0f3c22 - New test 2008-10-10 19:49:42 +00:00
Felipe Pena 86f0b45ef8 - MFH: Static'fication 2008-10-10 19:35:34 +00:00
Felipe Pena 8a5ee4b33a - Fixed tests 2008-10-10 16:51:43 +00:00
Felipe Pena a3c8772fd1 MFH:
- Fixed bug #46139 (PDOStatement->setFetchMode() forgets FETCH_PROPS_LATE)
  Initial patch by: chsc at peytz dot dk
2008-10-10 16:47:15 +00:00
Dmitry Stogov 3c5ff0f8f4 Fixed bug #46246 (difference between call_user_func(array($this, $method)) and $this->$method()) 2008-10-10 15:19:35 +00:00
Felipe Pena 1f54af9245 MFH:
- Fixed bug #44251 (Question mark and an escaped singel quote lead to an exception)
- Fixed bug #41125 (PDO mysql + quote() + prepare() can result in seg fault)
  Patch by: tsteiner at nerdclub dot net
2008-10-10 12:10:41 +00:00
Kalle Sommer Nielsen d77277c0e2 MFH:
* Fix gcov warnings about parameters not initialized (Thanks for noticing Felipe!)
* Changed int to be long in mssql_num_fields
2008-10-09 18:34:20 +00:00
Felipe Pena 8d03c0de19 - MFH: Fixed bug pecl#9641 (Unable to add driver specific methods to PDOStatement) (patch by Christopher Jones) 2008-10-09 13:00:58 +00:00
Felipe Pena 62d2239964 - Fix typo 2008-10-09 01:08:55 +00:00
Greg Beaver 61d3c9f8c7 note fix to bug #45907: undefined reference to 'PHP_SHA512Init' 2008-10-09 00:51:10 +00:00
Greg Beaver fffdf661c9 fix bug #45907: undefined reference to PHP_SHA512Init 2008-10-09 00:50:47 +00:00
Ilia Alshanetsky 529105427e use proper macro 2008-10-08 23:04:38 +00:00
Derick Rethans bac72c6052 - MFH: Fixed mime-type generation.
#- Charset markers need to be prepended with ; -- the tests were also wrong.
2008-10-08 09:44:24 +00:00
Felipe Pena e8f25c5b98 - MFH: Fixed bug #45575 (Segfault with invalid non-string as event handler callback)
patch by Christian seiler
2008-10-07 18:18:45 +00:00
Felipe Pena d0ad1517f5 - MFH: Fixed bug #46247 (ibase_set_event_handler() is allowing to pass callback without event) 2008-10-07 15:28:45 +00:00
Felipe Pena 8a24cfc98c - MFH: Fixed code ("Division by zero" anymore) 2008-10-07 12:51:21 +00:00
Kalle Sommer Nielsen 1b34fa1675 MFH:
* is_output and is_null parameters are now booleans instead of int in mssql_bind
* Added missing conditional from old parameter parsing
2008-10-06 21:50:48 +00:00
Ilia Alshanetsky 96d199d1b1 Removed deprecated usage of zend_get_parameters_ex() 2008-10-06 17:57:32 +00:00
Felipe Pena 1f150fa10c - MFH: Fixed compiler warning 2008-10-06 15:13:53 +00:00
Felipe Pena 0af1239a82 - MFH: Fixed bug #45373 (php crash on query with errors in params) 2008-10-06 14:33:34 +00:00
Derick Rethans 642f5cffd4 - Updated to version 2008.7 (2008g) 2008-10-06 14:27:41 +00:00
Ilia Alshanetsky 5bb68042b8 Fixed a few signedness warnings 2008-10-06 01:18:54 +00:00
Felipe Pena e68106988a - MFH: Fixed bug #46238 (Segmentation fault on static call with empty string method) 2008-10-06 00:40:02 +00:00
Etienne Kneuss 46aad39ee2 Moved to NEWS in 5_2 2008-10-05 14:50:42 +00:00
Etienne Kneuss 0d7d9b0540 Fix #46222 (Allow indirect modifications of Arrays inside ArrayObject + fix EG(uninitialized_zval_ptr) overwrite) 2008-10-05 14:20:55 +00:00
Kalle Sommer Nielsen b5661c4e0c MFH: New parameter parsing API (with lots of help from Felipe) 2008-10-05 04:55:49 +00:00
Felipe Pena e0327fcc4e - MFH: Initialize variable 2008-10-05 04:38:01 +00:00
Arnaud Le Blanc 8ad19e1801 MFH: Fixed #46164 (stream_filter_remove() closes the stream) 2008-10-05 01:40:19 +00:00
Felipe Pena e1443682af - MFH: Fixed bug #44991 (Compile Failure With freetds0.82) (patch by jklowden at freetds dot org) 2008-10-04 12:55:21 +00:00
Felipe Pena 892fb867c8 - MFH: Fixed bug #44991 (Compile Failure With freetds0.82) (patch by matthias at dsx dot at) 2008-10-04 12:52:58 +00:00
Felipe Pena a547b2589b MFH:
- Fixed:
 - Some segfaults when no connection is open
 - Warning about cfg_get_long (Kalle)
- New parameter parsing API
2008-10-03 17:21:50 +00:00
Pierre Joye 86a352afda - Declarations MUST BE done in the beginning of a context 2008-10-03 16:19:49 +00:00
Mikko Koppanen e3c65a369f Adds signal handling around popen/pclose in mail.c.
Related information on bugs #8992 and #14032
Original patch by D. Parthey
2008-10-03 13:32:41 +00:00
Zoe Slattery e72b3afeb5 Committting tests for Olafur Waage 2008-10-02 20:09:54 +00:00
Etienne Kneuss b879459973 MFH: Use enum alternative instead of explicit value 2008-10-02 19:54:03 +00:00
Antony Dovgal 97e667d250 MFH: use HashPosition to prevent race condition in multithreaded env 2008-10-02 08:46:16 +00:00
Felipe Pena 3ecc545018 - New test 2008-10-02 03:36:52 +00:00
Felipe Pena 604c7f6ad2 - MFH: Fixed bug #46215 (json_encode mutates its parameter and has some class-specific state) 2008-10-02 03:36:20 +00:00
Johannes Schlüter 80720205c0 MFH: Improve order in MINFO output 2008-10-01 21:36:43 +00:00
Ilia Alshanetsky fdcdf8c02b Fixed bug #46206 (pg_query_params/pg_execute convert passed values to
strings).
2008-10-01 20:30:23 +00:00
Johannes Schlüter 3c335a3b5e MFH: Handle failed connections right 2008-10-01 19:47:17 +00:00
Johannes Schlüter 5db154d49e MFH: Fix test 2008-10-01 19:45:22 +00:00
Antony Dovgal f5b09f1907 MFH: initialize variable 2008-10-01 14:31:01 +00:00
Dmitry Stogov 8d610e79ac Added ability to send user defined HTTP headers with SOAP request. 2008-10-01 13:13:34 +00:00
Scott MacVicar f37e905b8c MFH: Fix bug #46209 - Remove license condition that is no longer required. 2008-10-01 11:03:15 +00:00
Dmitry Stogov 71aad5da4a Fixed bug #43045 (SOAP encoding violation on "INF" for type double/float) 2008-10-01 08:42:48 +00:00
Dmitry Stogov f656c6fc70 Fixed bug #46205 (Closure - Memory leaks when ReflectionException is thrown) 2008-10-01 07:30:31 +00:00
Rob Richards a16bcaeb4b MFH: use getenv 2008-09-30 15:11:05 +00:00
Rob Richards 2e4989cc50 MFH: initialize keyresource 2008-09-30 14:41:49 +00:00
Greg Beaver 41c95a030d fix test (thanks Tony) 2008-09-30 13:25:48 +00:00
Rob Richards db5da11f8a MFH: Windows requires SystemRoot env var to run tests 2008-09-30 13:21:48 +00:00
Scott MacVicar 14982115cd MFH: SQLite3::escapeString can be static as it doesn't rely on an instance of SQLite 2008-09-30 11:14:48 +00:00
Greg Beaver 21c9fb32c1 note fix to Bug #46194 SIGSEGV when requested file is not found 2008-09-30 02:41:33 +00:00
Greg Beaver dcc919c449 fix Bug #46194: SIGSEGV when requested file is not found 2008-09-30 02:40:17 +00:00
Etienne Kneuss f0cf9b4c88 MFH: Fix #46192 (Serialization of ArrayObject with objects as storage) 2008-09-29 22:45:28 +00:00
Johannes Schlüter 45c04bb67d MFH: Free persistent cache and improve MINFO output 2008-09-29 21:20:50 +00:00
Johannes Schlüter 3540da5344 MFH: No mysqli stuff in ext/mysql 2008-09-29 21:18:31 +00:00
Rob Richards 612beefba8 BFN 2008-09-29 16:53:08 +00:00
Rob Richards 641347202b MFH: fix bug #46185 (importNode changes the namespace of an XML element)
add test
2008-09-29 16:52:45 +00:00
Rob Richards 84bfd4040e MFH: fix bug #46191 (BC break: DOMDocument saveXML() doesn't accept null) 2008-09-28 12:00:37 +00:00
Greg Beaver e1d0a964da fix 017.phpt in streams.c, and very dangerous intercepting of file functions in all cases introduced in multi-threaded fix 2008-09-26 23:34:57 +00:00
Greg Beaver c6f452fb53 note fix to Bug #46178 memory leak in ext/phar, remove 'useless entry' according to Hannes 2008-09-26 16:32:21 +00:00
Greg Beaver 1847779210 fix bug #46178: memory leak in ext/phar 2008-09-26 16:29:44 +00:00
Pierre Joye 142ee7a89d - add nts to the zip names 2008-09-26 13:29:11 +00:00
Sanjay Mantoor 55039a95fd New testcases for array_diff_uassoc() function 2008-09-26 11:53:48 +00:00
Greg Beaver f2ad965863 fix another memory leak 2008-09-26 04:54:08 +00:00
Greg Beaver 7a62dcaa5e fix obvious memory leak 2008-09-26 04:41:22 +00:00
Pierre Joye 1b5a8cc258 - MFH: add VC version and architecture to the created zip(s) names 2008-09-25 15:00:59 +00:00
Ilia Alshanetsky 310f4583a4 Fixed typo 2008-09-24 23:43:28 +00:00
Felipe Pena 6bc9869ad9 - MFH: Fixed bug #46157 (PDOStatement::fetchObject prototype error) 2008-09-23 23:07:52 +00:00
Nuno Lopes 8a77e55566 clean some dead code (with static analysis help) 2008-09-23 15:18:26 +00:00
Felipe Pena a1d2b4d940 - BFN #46160 2008-09-23 12:17:50 +00:00
Felipe Pena 54231ab577 - MFH: Fixed bug #46160 (SPL - Memory leak when exception is throwed in offsetSet method) 2008-09-23 12:06:01 +00:00
Rob Richards 169e68ed1a MFH: fix hints causing phpdoc crash 2008-09-22 15:09:46 +00:00
Felipe Pena fa592702a7 - New test 2008-09-22 13:09:50 +00:00
Felipe Pena 084124fb37 - MFH: Fixed bug #46088 (RegexIterator::accept - segfault) 2008-09-22 13:09:09 +00:00
Greg Beaver 498ffbc84f workaround for Bug #46147 for PHP < 5.2.7 2008-09-22 01:39:11 +00:00
Greg Beaver 17cfd5f24e MF52 fix Bug #46147: after stream seek, appending stream filter reads incorrect data 2008-09-22 01:26:14 +00:00
Ilia Alshanetsky 5c95af8be3 WS 2008-09-21 18:13:45 +00:00
George Wang ffe4bd566f *** empty log message *** 2008-09-21 02:38:32 +00:00
George Wang 0f4f00e3ae disable core dump by default 2008-09-21 02:34:08 +00:00
Pierre Joye f6b2e89ea6 - fix VC6 build 2008-09-20 23:10:16 +00:00
Arnaud Le Blanc a7279c4457 MFH: Fixed #46059 (Compile failure under IRIX 6.5.30 building posix.c) 2008-09-20 22:12:43 +00:00
Dmitry Stogov b6a4094c03 Fixed bug #46115 (Memory leak when calling a method using Reflection) 2008-09-19 12:48:33 +00:00
Andrey Hristov bf20aa12c7 MFH:Fix for bug#46019 MySQLi::init() leaks memory 2008-09-19 11:38:46 +00:00
Scott MacVicar ba2f507871 MFH: Show the library version currently loaded as well as the version the extension was compiled with. Useful for checking PHP is using the latest version. 2008-09-18 16:09:19 +00:00
Antony Dovgal eaec817e1b update tests 2008-09-18 12:16:15 +00:00
Scott MacVicar d875c9f889 MFH: mhash algorithm parameter was modified when it was a zval, also update a test. 2008-09-18 11:59:13 +00:00
Rob Richards 766ad69755 BFN 2008-09-18 11:49:36 +00:00
Rob Richards 24e9b91193 MFH: fix bug #46099 (Xsltprocessor::setProfiling - memory leak) 2008-09-18 11:47:59 +00:00
Antony Dovgal 46ab8303e1 fix test 2008-09-18 08:40:02 +00:00
Ilia Alshanetsky 4732ab390c Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on
multiple calls).
2008-09-17 23:27:53 +00:00
Dmitry Stogov e46d328934 Fixed bug #46106 (Memory leaks when using global statement) 2008-09-17 15:11:28 +00:00
Dmitry Stogov df9b7a1fe0 Fixed possible crash because of overriden error handler 2008-09-17 13:08:54 +00:00
Ilia Alshanetsky fcc0fdd125 Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). 2008-09-17 00:20:30 +00:00
Johannes Schlüter 2c98da2d17 MFH Fix #44425 (Extending PDO/MySQL class with a __call() function doesn't work) 2008-09-16 23:35:50 +00:00
Felipe Pena 4c32eb9989 - BFN #46071 2008-09-16 23:02:16 +00:00
Felipe Pena 516ac7e726 - MFH: Fixed bug #46071 (finfo_open() segfaults with wrong file name on BSD) 2008-09-16 22:25:52 +00:00
Antony Dovgal 86660c69b7 MFH 2008-09-16 14:36:27 +00:00
Andrey Hristov b429a84c2b MFH:
Fix a crash introduced yesterday in mysqlnd, non-zts mode - missing if () for
STAT_LAST was accessing wrong memory thus overwritting method pointers.

Windows doesn't have atoll(), which is C99, C89 has only atoi() + atol().
Win has _atoi64, so use it.
2008-09-16 14:35:01 +00:00
Antony Dovgal bbbb0f1ae5 fix test 2008-09-16 13:41:34 +00:00
Antony Dovgal 02022c766c MFH: fix compile warning 2008-09-16 09:48:17 +00:00
Scott MacVicar 3940782c25 MFH: Fix memory leak in a few cases 2008-09-16 09:46:24 +00:00
Ilia Alshanetsky e39d08794e Fixed bug #46087 (DOMXPath - segfault on destruction of a cloned object). 2008-09-16 00:38:45 +00:00
Scott MacVicar b845244370 Missed variable declaration. 2008-09-15 22:16:25 +00:00
Scott MacVicar db907e5bc3 Fixed bug #46086 (Segfault when accessing fileinfo class property) 2008-09-15 22:13:25 +00:00
Andrey Hristov 8bb2465a51 MFH:
Add float conversions too. Float users should understand how float works!!!
2008-09-15 18:09:20 +00:00
Felipe Pena 2fced40b76 MFH: - Added E_ERROR in constructors 2008-09-15 18:07:16 +00:00
Derick Rethans 77ba4c0e07 - Updated to version 2008.6 (2008f) 2008-09-15 18:02:58 +00:00
Andrey Hristov 5f7bd521f0 MFH:Compile-in a string-to-int conversion for INT columns by default,
controlled by a ini setting.
2008-09-15 14:07:44 +00:00
Dmitry Stogov 1474d9dfad Fixed bug #43053 (Regression: some numbers shown in scientific notation). (int-e at gmx dot de)
some 64bit test files may need to be fixed
2008-09-15 11:47:16 +00:00
Antony Dovgal 612c93b78b add missing .cvsignore 2008-09-15 11:00:50 +00:00
Etienne Kneuss 6ebc3a8b9b MFH: Fix #45656 (new Class silenting exceptions in autoloaders) 2008-09-15 10:19:53 +00:00
Felix De Vliegher 7251de9eb8 MFH: More fileinfo tests. 2008-09-15 08:51:43 +00:00
Scott MacVicar 52695ff939 MFH: Sync libsqlite to 3.6.2 with some VC6 patches 2008-09-15 01:22:06 +00:00
Scott MacVicar 8b912cc49c Fixed bug #46033 (Segfault when instantiating SQLite3Stmt and SQLite3Result) 2008-09-15 00:55:37 +00:00
Pierre Joye 6c7f41d482 - fix build (declaration must be fist in a given contex) 2008-09-14 22:10:24 +00:00
Nuno Lopes da804874f7 update list of pcre symbols 2008-09-14 14:15:52 +00:00
Greg Beaver 1799136925 fix compile on IRIX with MIPSPro (Bug #46072) 2008-09-14 06:47:08 +00:00
Greg Beaver dd51a607e2 increase code coverage, fix bzip2-compressed alias in zip 2008-09-14 06:31:20 +00:00
Greg Beaver 9eb83b6ae9 fix minor issues found by ICC (unused variables and the like) 2008-09-13 22:30:55 +00:00
Antony Dovgal 8209f891a4 MFH 2008-09-13 21:32:21 +00:00
Greg Beaver 86808da90b note fix of Bug #46060: Phar::addEmptyDir() breaks 2008-09-13 20:57:41 +00:00
Greg Beaver 760172fcee fix Bug #46060: addEmptyDir() breaks 2008-09-13 20:57:09 +00:00
Moriyoshi Koizumi 111d815b41 - MFH: Reenable ini_set("mbstring.internal_encoding", VALUE) to work on runtime.
(noticed by Antony. Thanks!)
2008-09-13 19:53:01 +00:00
Moriyoshi Koizumi 8fe2cb8ced - MFH: Properly initialize/finalize the library. This plugs the leaks caused by
onig_new().
2008-09-13 02:33:15 +00:00
Moriyoshi Koizumi b8e81fd0a7 - MFH: mb_list_*() issue settlements 2008-09-13 00:30:51 +00:00
Moriyoshi Koizumi a4cb898283 - MFH: WS 2008-09-13 00:23:48 +00:00
Moriyoshi Koizumi e47bf9fbf5 - MFH: Add missing =DIR 2008-09-13 00:14:31 +00:00
Moriyoshi Koizumi 6c8d64f6b4 - MFH: use memcmp() for binary safety. 2008-09-12 23:35:01 +00:00
Arnaud Le Blanc 41201c78b2 Add tests for pcntl 2008-09-12 19:49:46 +00:00
Arnaud Le Blanc 52f5ee8805 MFH: initialize optional args 2008-09-12 19:49:18 +00:00
Arnaud Le Blanc 28c49938d3 MFH: make pharcommand.inc works without ereg 2008-09-12 16:09:01 +00:00
Andrey Hristov 99ea8068df MFH:
- More statistics
- Fixed endless loop - mysqlnd_stmt_next_result() returned FAIL but as it
  is defined to be 1 (and PASS is 0), checking for mysqlnd_stmt_more_result()
  was successful although we were expecting a FAIL.
2008-09-12 15:08:41 +00:00
Arnaud Le Blanc 343d958b25 MFH: Fix cwd when running tests out of tree with ZTS builds (fixes #45837) 2008-09-12 14:15:05 +00:00
Arnaud Le Blanc b08615c675 MFH Fix test 2008-09-12 12:17:07 +00:00
Felipe Pena b861898fc7 - MFH: Fixed unexpected zval changes 2008-09-12 01:14:14 +00:00
Ilia Alshanetsky 4c6db91b87 Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). 2008-09-11 23:56:43 +00:00
Lars Strojny fc9c3a17c6 MFH: prev()-tests by Iain Lewis <ilewis@uk.ibm.com> 2008-09-11 18:21:37 +00:00
Arnaud Le Blanc c238cb8f84 MFH: Fixed #46053 (SplFileObject::seek - Endless loop) 2008-09-11 15:31:58 +00:00
Arnaud Le Blanc 7f5079ab3a MFH: Fixed #46051 (SplFileInfo::openFile - memory overlap) 2008-09-11 15:22:49 +00:00
Rob Richards dea7f49f70 MFH: fix bug #46047 (SimpleXML converts empty nodes into object with nested array)
add test
2008-09-11 14:21:33 +00:00
Rob Richards 94fd10cd79 MFH: fix bug #45901 (wddx_serialize_value crash with SimpleXMLElement object)
add test
2008-09-11 14:17:31 +00:00
Antony Dovgal f2d766b917 fix test 2008-09-11 13:38:15 +00:00
Sanjay Mantoor 49eba8cb23 Fixed expected output 2008-09-11 11:21:53 +00:00
Sanjay Mantoor 313728200d New testcases for array_intersect_key() function 2008-09-11 10:48:12 +00:00
Greg Beaver d19e466d96 update NEWS to note bug #46032 fix 2008-09-11 03:29:54 +00:00
Greg Beaver e7b6fe1b45 fix Bug #46032: PharData::__construct wrong memory read 2008-09-11 03:29:15 +00:00
Stanislav Malyshev 92a547c7e4 fix file format 2008-09-11 00:41:29 +00:00
Stanislav Malyshev 530ffde4fd add some windows-style INI entries to tests 2008-09-11 00:34:48 +00:00
Stanislav Malyshev a873cfc134 update scanner files 2008-09-11 00:34:10 +00:00
Stanislav Malyshev 193dd31a22 Fix BC issue with ini scanner.
# Now in "": \LETTER is literal, \" is escaped ", value ending with \" is literal
2008-09-11 00:33:38 +00:00
Ilia Alshanetsky 66ec2ac601 Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()) 2008-09-10 23:19:38 +00:00
Rob Richards dcda8d83dd MFH: fix bug #46003 (isset on nonexisting node return unexpected results)
add test
2008-09-10 16:28:53 +00:00
Rob Richards e19c053adf MFH: fix bug #46029 (Segfault in DOMText when using with Reflection) 2008-09-10 15:40:11 +00:00
Felipe Pena 39a0c5f4e6 - Fixed mem. leak 2008-09-10 13:47:29 +00:00
Rob Richards 6d59a6d6b5 MFH: fix bug #45553 (Using XPath for attributes with a namespace does not work)
add test
2008-09-10 11:21:12 +00:00
Arnaud Le Blanc 49abf21fea MFH: Fix test 2008-09-10 11:12:25 +00:00
Arnaud Le Blanc 0ea8c1c70e BFN 2008-09-10 10:28:57 +00:00
Arnaud Le Blanc ffb76017d5 MFH: Fixed #45928 (large scripts from stdin are stripped at 16K border) 2008-09-10 10:28:39 +00:00
Ilia Alshanetsky b3bbaf7d06 Fixed unused var warning 2008-09-10 01:39:35 +00:00
Felipe Pena c818d0d013 MFH:
- Merged fix from SF project (Import Jeff Lawsons patches for XML datetime bug fixes)
  Fixed bugs:
  #45226 (xmlrpc_set_type() segfaults with valid ISO8601 date string)
  #18916 (xmlrpc_set_type() "not working")
2008-09-10 00:07:45 +00:00
Arnaud Le Blanc 506e49c6e1 MFH: Fixed bug #46031 (Segfault in AppendIterator::next) 2008-09-09 19:44:15 +00:00
Felipe Pena bbb083fa24 - New try 2008-09-09 13:26:40 +00:00
Nuno Lopes c778b3eb19 upgrade to PCRE 7.8. this includes a security improvement. I'll upgrade HEAD later (not urgent..) 2008-09-09 07:55:10 +00:00
Ilia Alshanetsky 6a2729ed4d Fixed a compiler warning 2008-09-09 01:21:07 +00:00
Stanislav Malyshev f77aa102ea fix tests to work both in ICU 3.6 and 3.8 2008-09-08 20:49:10 +00:00
Felipe Pena c3cda40f8f - MFH: Changed error level E_ERROR into E_WARNING in parameter validation 2008-09-08 19:41:42 +00:00
Alexey Zakhlestin 2955943a78 pcntl_sigwaitinfo() and pcntl_sigtimedwait() functions are conditionally enabled, so, test should verify if they are present 2008-09-08 12:08:41 +00:00
Antony Dovgal 4126e2d8f1 add missing file 2008-09-08 10:24:25 +00:00
Arnaud Le Blanc 0dac02dac2 MFH: Added tests for rfc1867 post handler 2008-09-08 09:25:07 +00:00
Arnaud Le Blanc 163202ac88 MFH: run-tests.php: Added %u|b% placeholder, like %unicode|string%, for
array keys in var_dump() output.
2008-09-08 09:23:51 +00:00
Felipe Pena 0c745885ca - Fixed some wrong format parameters 2008-09-08 01:33:08 +00:00
Felipe Pena 7b59a46711 - New entry 2008-09-07 23:08:20 +00:00
Felipe Pena 49fc9c9e13 - MFH: Fixed bug #46010 (warnings incorrectly generated for iv in ecb mode) 2008-09-07 22:57:37 +00:00
Johannes Schlüter 27637afb90 - MFH: The exact error message might differ (it's "Not owner" on Solaris) 2008-09-07 22:34:40 +00:00
Jani Taskinen 6495909d16 - Revert idiotic patch (hint: Windows IS NOT the most important OS!) 2008-09-07 17:59:24 +00:00
Arnaud Le Blanc ef38ff62a5 MFH: More accurate max_file_size / upload_max_filesize (fixes #45124) 2008-09-07 14:17:47 +00:00
Arnaud Le Blanc dd956381e2 MFH: Fixed #45911 (Cannot disable ext/hash) 2008-09-07 13:15:59 +00:00
Felipe Pena 166ea7073a - MFH: Removed the doubled error message (the error level is no longer E_ERROR) 2008-09-07 02:58:50 +00:00
Kalle Sommer Nielsen 1a1df46be2 MFH: Fix test on Windows 2008-09-07 00:42:40 +00:00
Felix De Vliegher d411698211 Tests for get_browser() 2008-09-06 23:20:15 +00:00
Ilia Alshanetsky a6860ce964 Removed unused variables 2008-09-06 21:31:01 +00:00
Arnaud Le Blanc 898ff10dc0 MFH: Fixed #43540 (rfc1867 handler newlength problem) 2008-09-06 17:18:40 +00:00
Alexey Zakhlestin ff22e27ec6 bugfix is also applied to 5.2, so NEWS moved there 2008-09-06 08:19:33 +00:00
Alexey Zakhlestin 8a2461af4c Fixed bug #45405 (snmp extension memory leak) 2008-09-06 07:57:22 +00:00
Stanislav Malyshev 29a57b1ddd fix formatter tests for ICU 3.8 2008-09-04 19:59:37 +00:00
Pierre Joye 5ec35396e0 - MFH: #45985, touch on opened file raises a warning 2008-09-04 08:05:27 +00:00
Stanislav Malyshev 9bb39338db fix tests 2008-09-04 00:16:58 +00:00
Stanislav Malyshev d8c0c2203b fix formatting/parsing 2008-09-04 00:15:25 +00:00
Stanislav Malyshev 95d9565902 ws cleanup 2008-09-04 00:08:17 +00:00
Stanislav Malyshev 74c83ca209 revert last change 2008-09-03 19:21:11 +00:00
Stanislav Malyshev 47980ee785 better detection for client libraries 2008-09-03 18:42:12 +00:00
Lukas Smith 97eb2d3ef8 MFH 2008-09-03 17:08:05 +00:00
Felipe Pena 11319aa113 - New test 2008-09-02 19:28:21 +00:00
Nuno Lopes 1e3ebc2373 kill dead variables. found by LLVM's clang static analyzer 2008-09-02 19:10:38 +00:00
Dmitry Stogov 51eb7f5de9 Fixed bug #45860 (header() function fails to correctly replace all Status lines) 2008-09-02 13:22:16 +00:00
Felipe Pena 5b0e87618b - Silent valgrind 2008-09-02 12:43:24 +00:00
Pierre Joye ed4db08f69 - fix test (file or path not found) (Thanks Dmitry for the notice) 2008-09-02 10:28:11 +00:00
Pierre Joye c8a0c3b0f5 - don't close caller streams in libmagic (prevent leak and zombie stream)
- string returned by magic_* are freed on magic_close, duplicate before
  calling magic_close (set return value)
- if stat failed, don't try to call magic_* (when FILEINFO_MODE_FILE)
2008-09-02 10:15:54 +00:00
Dmitry Stogov d5bba04ac5 Fixed Bug #43958 (class name added into the error message) 2008-09-02 09:45:49 +00:00
Jani Taskinen 66ebb8019b - Moved to PHP_5_2 2008-09-02 08:58:18 +00:00
Felipe Pena d13b704d25 - Fixed mime_content_type() behavior when a string is given
- Fixed check for "empty file name"
- MFH: New test
2008-09-01 23:44:00 +00:00
Johannes Schlüter 606e0f26a0 back to dev 2008-09-01 20:51:57 +00:00
Johannes Schlüter 8df3c31d86 dev -> release 2008-09-01 20:30:44 +00:00
Pierre Joye 99041160df - use php's stream in libmagic
- remove duplicate code (like mime_content_type() compatibility function
  now use the same base as finfo_file())
- make it portable (works now on windows too, belongs other OSes)

- ([20:28]  <lsmith> Pierre: ok please commit)
2008-09-01 18:56:06 +00:00
Pierre Joye 0f701b8d31 - fix typo and icu bundling 2008-09-01 18:19:58 +00:00
Steph Fox 8e972fcd7e I hate not being able to test. 2008-09-01 16:32:55 +00:00
Steph Fox 94dcaa27fb - Fix the fix (sorry, missed this until now) 2008-09-01 16:29:38 +00:00
Steph Fox e36c24fc50 - Remove pre-made phar.phar 2008-09-01 15:44:48 +00:00
Dmitry Stogov 41840d59a5 Disabled warning messages in SoapClient constructor 2008-09-01 14:55:30 +00:00
Dmitry Stogov 762d6706d3 Fixed bug #42318 (problem with nm on AIX, not finding object files) 2008-09-01 13:15:31 +00:00
Jani Taskinen bfc734e5ed - Remove extra ) 2008-09-01 09:21:37 +00:00
Jani Taskinen db24e89b35 fix news 2008-09-01 09:08:53 +00:00
Patrick van Kleef 9de6178bb4 - fixes for ext/odbc 2008-09-01 08:38:58 +00:00
Steph Fox 318d5f98ff - unnecessary ;
We are now 100% synched - let's keep it that way!
2008-08-31 21:02:55 +00:00
Steph Fox 7b74a7711c - cs, update package files following RC1 (just to keep it all in sync) 2008-08-31 21:01:12 +00:00
Greg Beaver 2f2b08a286 move to 2.0.0-dev 2008-08-31 20:50:09 +00:00
Greg Beaver cabf4c481e use TAR_FILE instead of '0' and '\0' instead of 0 2008-08-31 20:24:04 +00:00
Greg Beaver 4b81bd61d8 temp bandaid on broken build system, revert when snapshot build is fixed in win32 2008-08-31 19:51:49 +00:00
Greg Beaver b597a9c781 hadn't saved tar.c, use '\0' instead of 0 for char values, removes warning in intel compiler 2008-08-31 19:47:31 +00:00
Greg Beaver 28689c9c01 use '\0' instead of 0 for chars, removes intel warning 2008-08-31 19:46:35 +00:00
Greg Beaver 9397c4a5d1 remove unnecessary double variable declarations 2008-08-31 19:42:16 +00:00
Greg Beaver b2efb50cfd remove unnecessary ; 2008-08-31 19:38:40 +00:00
Steph Fox e8be4d93c5 - Ensure that we're always checking for OpenSSL support, rather than just for ext/openssl being loaded 2008-08-31 19:18:35 +00:00
Mikko Koppanen 05c24934cf Removed fileinfo related according to Jani's request 2008-08-31 17:05:12 +00:00
Nuno Lopes 426a1251f6 remove unicode skipif, as the test doesnt require such support 2008-08-31 15:28:35 +00:00
Alexey Zakhlestin 733c27c35b more detailed news-entry 2008-08-31 15:04:21 +00:00
Alexey Zakhlestin 210aed5bd6 added entry about change in ext/session 2008-08-31 14:56:14 +00:00
Alexey Zakhlestin c9fab63584 remove special treatment of /tmp path 2008-08-31 14:49:58 +00:00
Lukas Smith 043ae9ea98 MFH 2008-08-31 10:35:06 +00:00
Mikko Koppanen dc2f8f6e3c Changed name,name,name to name, name, name according to Pierre's advice 2008-08-31 10:20:57 +00:00
Mikko Koppanen 8a03f50679 Added news entries about changes in ext/fileinfo 2008-08-31 10:06:46 +00:00
Lukas Smith 824eea696d MFH 2008-08-31 08:32:32 +00:00
Greg Beaver 270964c193 use safer strlcpy, patch by Tony Dovgal 2008-08-31 07:15:25 +00:00
Greg Beaver 678db15b51 commit missing files for tests 2008-08-31 07:03:26 +00:00
Greg Beaver 513cec31d3 fix compile warning in PHP < 6.0 2008-08-31 06:58:04 +00:00
Greg Beaver c73badb3fd remove superfluous variable declarations, merge WS from pecl/phar 2008-08-31 06:51:49 +00:00
Greg Beaver eec1cf5f0a merge from pecl/phar strlen optimizations 2008-08-31 06:47:38 +00:00
Greg Beaver e30bf5af3b remove superfluous return statements, merge from pecl/phar 2008-08-31 06:42:46 +00:00
Greg Beaver 1c66670ee8 merge minor optimization removing strlen from pecl/phar 2008-08-31 06:38:09 +00:00
Greg Beaver 6dcdb77f7b remove unused variables, merge from pecl/phar 2008-08-31 06:31:53 +00:00
Greg Beaver 642f6aa673 remove superfluous double variable declaration, merge from pecl/phar 2008-08-31 06:28:01 +00:00
Greg Beaver 27cf27568d use %u instead of %d, merge from pecl/phar 2008-08-31 06:26:19 +00:00
Greg Beaver f679e900dd remove orphaned code, merge from pecl/phar 2008-08-31 06:13:42 +00:00
Greg Beaver 5c3749021a remove unused variables, merge from pecl/phar 2008-08-31 06:09:37 +00:00
Greg Beaver a7da5249e2 WS merge from pecl/phar 2008-08-31 06:04:38 +00:00
Greg Beaver 6ac2c92ede 2 fixes, merge minor fixes from pecl/phar. Merge in corrected fix from pecl/phar for is_tar setting of tar_type 2008-08-31 02:14:03 +00:00
Jani Taskinen 80f8ad97fb MFH:- Fixed bug #45956 (parse_ini_file() does not return false with syntax errors in parsed file) 2008-08-31 00:19:50 +00:00
Jani Taskinen 59aac03d5b update credits 2008-08-31 00:02:31 +00:00
Pierre Joye 10d0029dce - MFH: file will exist only on error (thx tony for the headup) 2008-08-30 23:55:04 +00:00
Greg Beaver 046f8dba55 sync with pecl/phar, missed one line change 2008-08-30 23:50:31 +00:00
Greg Beaver 3ebb94f6a2 sync with pecl/phar, this does not change any functionality in PHP 5.3, but makes syncing easier. This commit is only functional changes, WS will be next 2008-08-30 23:47:55 +00:00
Jani Taskinen 5bdff73b26 MFH: - Move tests to the correct dir 2008-08-30 23:22:27 +00:00
Greg Beaver 61b09ab834 fix OS-dependent order in test 2008-08-30 23:12:56 +00:00
Antony Dovgal 322d57fffd WS 2008-08-30 22:26:09 +00:00
Rasmus Lerdorf 5f178004ea Oops, fix the assert. 2008-08-30 18:27:29 +00:00
Rasmus Lerdorf f52d71d18e Fix for bugs 13961, 39927 and 45947 2008-08-30 16:47:46 +00:00
Pierre Joye 820c2002e4 - fix tests (clean on exit) 2008-08-30 16:24:33 +00:00
Marcus Boerger 3dadcee60b - MFH Fix test 2008-08-30 11:32:29 +00:00
Marcus Boerger 063ed94f28 - MFH Fix -p handling 2008-08-30 11:25:34 +00:00
Patrick van Kleef 905269f056 - MFH: Added odbc.default_cursortype to control the ODBC cursormodel
(bug #43668)
#[DOC]
2008-08-29 19:16:58 +00:00
Matt Wilmas 22a5aea161 MFH: - Updated unary_op_type typedef with TSRMLS_DC
- Added binary_op_type typedef
- Added missing ZEND_BOOL_XOR to get_binary_op()
2008-08-29 18:12:47 +00:00
Matt Wilmas 2e6d655efd MFH: - Saved opcode when unary +/- is applied to IS_CONST op (e.g. for negative numbers)
- Made '+' in static_scalar context behave as '-' by calling add_function()
2008-08-29 17:54:29 +00:00
Patrick van Kleef 1401532e97 - MFH: Fixed code to use ODBC 3.52 datatypes for 64bit systems (bug #43666) 2008-08-29 16:44:29 +00:00
Felipe Pena 9566ebabcb - Fixed tests (Disable COMPRESS support for now) 2008-08-29 15:28:45 +00:00
Dmitry Stogov 78d28494ca Fixed bug #45706 (Unserialization of classes derived from ArrayIterator fails) 2008-08-29 14:59:20 +00:00
Antony Dovgal 740ba5ac0a MFH: fix get_browser() (broken in the process of param API conversion) 2008-08-29 14:14:09 +00:00
Felipe Pena b8541928cb - Fixed tests 2008-08-29 14:10:38 +00:00
Antony Dovgal fa978e8595 MFH: check for \0 to be consistent with other functions 2008-08-29 13:48:38 +00:00
Derick Rethans 057b2401bf - Disable COMPRESS support for now, as it requires forking.
# @DOC [DOC] "DOC"
2008-08-29 13:39:01 +00:00
Derick Rethans 36f20d1730 - Remove ext/mime_magic, it was deprecated and it's only function is now part of
ext/fileinfo.
2008-08-29 13:31:44 +00:00
Derick Rethans 4ca7e129a7 - MFH: Adding back in mime_content_type(). 2008-08-29 13:29:42 +00:00
Marcus Boerger 42eb47d500 - MFH preg_filter()
# As discussed with Lukas
# [DOC] check out the test
2008-08-29 12:13:54 +00:00
Derick Rethans 6fbf14c544 - MFH: Some more cleanups, and fixed some warnings. 2008-08-29 12:05:46 +00:00
Derick Rethans e3cd394979 - MFH: Support for "back of <hour>" and "front of <hour>" phrases that are used
in Scotland.
2008-08-29 12:01:57 +00:00
Pierre Joye 4b5dd8e396 - [DOC] ming has been moved to pecl 2008-08-29 11:20:18 +00:00
Pierre Joye 587b679363 - MFH: move ming to pecl 2008-08-29 11:19:37 +00:00
Matt Wilmas d558979acc - Be more specific about when constant substitution occurs
- And should that be "values" or "value"? Hmm, feel free to improve wording
2008-08-29 11:12:34 +00:00
Pierre Joye 6b35a5df0a - MFH: fix warning 2008-08-29 11:09:28 +00:00
Antony Dovgal c7c4d96c73 fix invalid read 2008-08-29 10:53:13 +00:00
Felix De Vliegher ef8ae4dfc5 Some fileinfo tests 2008-08-29 10:29:55 +00:00
Felix De Vliegher 6476e43eef Added %unicode_string_optional% for differences in output between PHP 5 and 6 2008-08-29 10:25:54 +00:00
Dmitry Stogov 8bf32f28f2 Imporoved compile-time constant substitution (Matt) 2008-08-29 10:17:08 +00:00
Antony Dovgal f6e15a25da fix ZTS build 2008-08-29 10:12:29 +00:00
Scott MacVicar 907c24fd81 Test for fileinfo to check mime types. 2008-08-29 09:52:13 +00:00
Scott MacVicar 4690692519 Replace ereg code with pcre, fix duplicate macro names and segfault. Patch by Mikko 2008-08-29 09:49:01 +00:00
Felipe Pena 42feeddd40 MFH:
- Removed the undocumented object support in the leftover array functions [DOC]
  (natcasesort, natsort, array_walk, array_walk_recursive, array_unique, array_key_exists)
- Changed HASH_OF() to Z_ARRVAL_P()
- Fixed bug #45937 (array_walk and array_walk_recursive can alter private/protected object variable)
2008-08-29 03:05:43 +00:00
Christopher Jones 02b2bcd94b MFH: Bug #45888 (Refcounting in ZTS mode) 2008-08-28 06:33:24 +00:00
Christopher Jones 2b24b003fa Add #45458 2008-08-28 06:22:49 +00:00
Christopher Jones c5aa4a138e MFH: Bug #45458 (OCI8: Numeric keys for associative arrays are not handled properly) 2008-08-28 06:19:45 +00:00
Christopher Jones 38b404fcb6 MHF: Test initialization cleanup 2008-08-28 05:35:26 +00:00
Christopher Jones 999d4938b6 MFH: Update Oracle DLL examples to match build changes 2008-08-28 05:31:31 +00:00
David Soria Parra 9af185c7c9 Already in 5.2 2008-08-27 07:49:43 +00:00
Antony Dovgal 3bd40d9000 fix file check and avoid segfault 2008-08-27 07:40:44 +00:00
Felipe Pena 7208556ca4 - MFH: Fixed check for empty file name 2008-08-27 01:04:23 +00:00
Felipe Pena 1ef7dfce3d - MFH: Fixed crash in file_error_core() 2008-08-27 00:17:27 +00:00
Jani Taskinen c1f52e5868 MFH 2008-08-26 23:26:07 +00:00
George Wang f091e745c9 ignore signal SIGXFSZ 2008-08-26 22:05:17 +00:00
Alexey Zakhlestin e7eba5af6a switch to the new parameter-parse API 2008-08-26 17:34:16 +00:00
Alexey Zakhlestin 97e26d95b7 this test depends on session.hash_bits_per_character, but it was not explicitly set 2008-08-26 16:46:26 +00:00
Felipe Pena d8c43bde79 - MFH: Improved fix 2008-08-26 16:22:27 +00:00
David Soria Parra 9f68483734 MFH: Fixed bug #43782 (feof() does not detect timeout on socket) 2008-08-26 16:06:36 +00:00
Rasmus Lerdorf 421751d240 Remove stray folding tag here 2008-08-26 15:37:01 +00:00
Felipe Pena 727990f432 - MFH: Added check for empty file name 2008-08-26 15:06:28 +00:00
Ilia Alshanetsky b805c7f8b7 Upgraded the lib to use PHP memory allocation routines.
Fixed a crash caused by analysis of DEADJOE files
A little bit of CS inside libmagic
2008-08-26 12:23:29 +00:00
Antony Dovgal f10dd24e79 cleanup garbage 2008-08-26 11:06:09 +00:00
Antony Dovgal 838ac5fdaa fix typo 2008-08-26 10:59:10 +00:00
Dmitry Stogov ced680941a Fixed bug #45786 (FastCGI process exited unexpectedly) 2008-08-26 09:56:08 +00:00
Pierre Joye 41a3bf43c9 - support for copy of ICU DLLS for all ICU versions 2008-08-26 09:10:39 +00:00
Dmitry Stogov 03f4121452 Fixed bug #45910 (Cannot declare self-referencing constant) 2008-08-26 08:38:26 +00:00
Rob Richards 895ba9afc7 MFH: fix warning 2008-08-25 21:04:30 +00:00
Felipe Pena 1152c18e2a - New test 2008-08-25 19:55:54 +00:00
Felipe Pena 9dda408624 - New test 2008-08-25 19:38:37 +00:00
Rob Richards 0bbb07cff6 no zstr in 5_3 2008-08-25 19:38:04 +00:00
Felipe Pena 77e7f1c191 - New tests 2008-08-25 19:36:01 +00:00
Jani Taskinen 1081c6ce1e MFH 2008-08-25 19:07:20 +00:00
Etienne Kneuss efd817bf13 MFH: Fix #45826 (Custom serialization) 2008-08-25 18:40:44 +00:00
Pierre Joye d161d4b3b3 - and the last part of the fix, inline on win 2008-08-25 14:37:07 +00:00
Jani Taskinen 3b714ee113 MFH: fix build on win32 2008-08-25 14:10:38 +00:00
Jani Taskinen 505ad55773 MFH 2008-08-25 13:42:55 +00:00
Jani Taskinen f1e4ae0867 MFH 2008-08-25 12:15:05 +00:00
Jani Taskinen 3680365a70 - fixed in 5.2 branch 2008-08-25 08:37:10 +00:00
Felipe Pena f8330b9ccc MFH:
- New parameter parsing API
- CS
2008-08-24 20:50:41 +00:00
Etienne Kneuss cc9a8ee528 MFH:
- Copy custom callback to the child class if any
- Prevent overwriting valid parent callbacks when implementing Serializable
- Export zend_user_(un)serialize to be available for custom callbacks
2008-08-24 18:22:33 +00:00
Marcus Boerger ce2f9bb0cf - MFH Fix issue with destruction of overloaded objects 2008-08-24 16:49:19 +00:00
Marcus Boerger 0edbdd7680 - Add new test 2008-08-24 16:46:30 +00:00
Pierre Joye bfced427f7 - fix zlib detection and enable features available in 7.18.1 2008-08-24 15:16:39 +00:00
Felipe Pena 473019a9b5 - MFH: CS 2008-08-24 04:02:49 +00:00
Felipe Pena f08e7caee4 - Removed unnecessary variable 2008-08-24 02:13:23 +00:00
Felipe Pena b9748913de - MFH: WS, Comestics
- Folding
2008-08-24 00:47:22 +00:00
Pierre Joye 566a02af26 - MFH: fix build 2008-08-23 21:08:09 +00:00
Pierre Joye 37a37d8743 - MFB: fix build (common inline definition will be done later) 2008-08-23 20:42:18 +00:00
Pierre Joye 8b952208ec - keep inet_aton declaration on non windows (what inet_aton has to do with flock?) 2008-08-23 20:21:08 +00:00
Pierre Joye 2620304003 - MFH:
- drop bindlib usage on windows
 - inet_pton, inet_ntop and inet_aton are always available (VC9 uses the CRT implementation, VC6 our own)
2008-08-23 19:22:10 +00:00
Hannes Magnusson 847284086b fix proto 2008-08-23 18:06:59 +00:00
Pierre Joye 76c0f4288d - MFH: expose MAXPATHLEN (PHP_MAXPATHLEN) 2008-08-23 17:55:50 +00:00
Felipe Pena bc96985ba1 MFH:
- WS, Cosmetics
- Removed unnecessary variables
2008-08-23 16:32:04 +00:00
Arnaud Le Blanc 569ea28207 MFH: Fix build on solaris 2008-08-23 13:57:19 +00:00
Felipe Pena 9d5ab6e54f - MFH: Removed unused arguments 2008-08-22 15:54:21 +00:00
Dmitry Stogov 8ed8b011ef Removed redundant code 2008-08-22 15:28:29 +00:00
Antony Dovgal b6a2c27232 MFH: fix zend_register_functions() not displaying duplicate functions (reported by Gopal) 2008-08-22 14:51:30 +00:00
Felipe Pena 611ef9534f - New tests 2008-08-22 13:40:09 +00:00
Marcus Boerger 9a2fc26e59 - MFH Cleanup exports and allow to overwrite ext registration 2008-08-22 12:59:46 +00:00
Felipe Pena 317b48f3af MFH:
- Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and 'private' variables)
- Added some tests
2008-08-22 00:59:39 +00:00
Pierre Joye a7d2377ce4 - MFH: use date.timezone ini setting 2008-08-21 18:36:56 +00:00
Pierre Joye a9b8b3698b - MFH: use date.timezone ini setting instead of ENV 2008-08-21 18:33:21 +00:00
Pierre Joye 8c6ea95dc3 - MFH: fix test on windows 2008-08-21 18:25:13 +00:00
Marcus Boerger 41282aa813 - MFH Fix 64bit issue 2008-08-21 16:55:45 +00:00
Dmitry Stogov 653e523a97 Fixed destruction of dl() loaded extensions 2008-08-21 16:21:43 +00:00
Pierre Joye db31f78801 - MFH: different parser message on windows 2008-08-21 13:05:10 +00:00
Pierre Joye 050e5579f8 - MFH: "fix" crash on windows 2008-08-21 12:38:47 +00:00
Pierre Joye a6b21d3c98 - new API
- MFH: use 'C' on win
2008-08-21 12:25:07 +00:00
Pierre Joye 527e3a339c - MFH: don't skip if windows matches 2008-08-21 12:13:50 +00:00
Pierre Joye 979d3abbd8 - new params parsing API
- use "C" instead of ""
2008-08-21 12:05:30 +00:00
Dmitry Stogov 7d26893d6d Adder error code into error message 2008-08-21 11:27:57 +00:00
Pierre Joye 8d45abb514 - MFH: skip 007 on non windows platform and add a win specific version (file not found instead of filename too long) 2008-08-21 11:01:55 +00:00
Pierre Joye 9d7904932f - MFH: make it portable and clean on in the clean section, session file may still be open (can't be deleted) 2008-08-21 10:30:49 +00:00
Pierre Joye f1ebec34d9 - MFH: make it portable 2008-08-21 09:43:51 +00:00
Antony Dovgal a30c01d698 revert for now 2008-08-21 08:37:19 +00:00
Pierre Joye bb62bf8234 - +skip 2008-08-21 08:30:51 +00:00
Pierre Joye 72482c4f7d - skip on windows (setlocale can even crash on win+VC6...) 2008-08-21 08:27:04 +00:00
Antony Dovgal 898f19975c fix build 2008-08-21 07:38:16 +00:00
Greg Beaver c3e8485971 fix bug #45792: bz2 compressed files in zip failure 2008-08-21 05:17:28 +00:00
Pierre Joye 50066470cd - MFH: work around vc6 bug 2008-08-20 22:23:16 +00:00
Lars Strojny 50fa64885e Reverting local change 2008-08-20 21:26:04 +00:00
Lars Strojny 080157870f MFH: Allow mixed $initial (patch by Christian Seiler) 2008-08-20 20:35:40 +00:00
Pierre Joye 6b2be7c7e9 - quick fix for ICU dlls (better fix with n level deps will be done later) 2008-08-20 20:09:13 +00:00
Pierre Joye 818c4d75c8 - strncpy returns the byte copied not error code or 0 2008-08-20 13:27:10 +00:00
Pierre Joye 2cde8f416a - new args parsing API and correct LOCALE definition (why utf-8 when only ascii is tested) 2008-08-20 13:09:39 +00:00
Antony Dovgal e7a28edcba fix warning 2008-08-20 09:01:24 +00:00
Jani Taskinen 23c5effdbe - Fixed in PHP_5_2 2008-08-20 01:34:51 +00:00
Felipe Pena fdccff19b1 - Removed entries merged into 5_2 2008-08-20 01:32:56 +00:00
Antony Dovgal 9453a9213c MFH: fix memleak in browscap code (noticed by Gopal) 2008-08-19 15:16:33 +00:00
Antony Dovgal 881d80382b MFH: shutdown crypt correctly and fix memleak in ZTS mode 2008-08-19 15:14:46 +00:00
Dmitry Stogov 5293e7981e Fixed support for short windows file names 2008-08-19 15:00:20 +00:00
Felipe Pena 0bbc4d562b - Opss, I forgot add my name... 2008-08-19 11:15:59 +00:00
Felipe Pena 4252aa21c8 - Note about property_exists() 2008-08-19 11:10:17 +00:00
Johannes Schlüter 9a13dea744 MFH: constify strings 2008-08-19 10:42:11 +00:00
Johannes Schlüter aeab8bade6 MFH: Fix empty error message when connecting to a bad server 2008-08-19 10:16:12 +00:00
Pierre Joye 80d020011c - don't use /tmp as tmpdir and avoid endless loop when fopen or tmpnam failed 2008-08-18 21:24:52 +00:00
Felipe Pena c89c62047c - Fixed test 2008-08-18 19:49:33 +00:00
Pierre Joye 04c09fac0f - MFH: new parameter API error 2008-08-18 18:10:50 +00:00
Felipe Pena 09dd1d22dd - BFN: #45743 2008-08-18 17:53:10 +00:00
Felipe Pena e597dde580 - New tests 2008-08-18 17:46:54 +00:00
Felipe Pena 9c787d8c97 - MFH: Fixed bug #45743 (property_exists fails to find static protected member in child class) 2008-08-18 17:44:02 +00:00
Greg Beaver cfca5be40f fix windows build when building phar shared with native-ssl disabled (you can't use the symbols directly if openssl is built shared or is not built at all) 2008-08-18 14:58:03 +00:00
Antony Dovgal 9c8ecb35a6 MFH 2008-08-18 14:34:59 +00:00
Antony Dovgal 523cccc09d MFH: fix bug #45028 (CRC32 output endianness is different between crc32() and hash()) 2008-08-18 14:29:55 +00:00
Antony Dovgal 991ae6e7d3 MFH: add note on 64bit compatibility and mention check_parameters.php 2008-08-18 13:09:41 +00:00
Jani Taskinen e2451b6825 MFH: fix include 2008-08-18 10:49:59 +00:00
Dmitry Stogov 5304e5631f Fix for bug #45786 (FastCGI process exited unexpectedly) 2008-08-18 10:49:35 +00:00
Dmitry Stogov 5ade84afe4 Fixed bug #45835 (include and symlinks) 2008-08-18 10:28:17 +00:00
Dmitry Stogov 4e1e576053 Fixed arguments order 2008-08-18 09:31:34 +00:00
Dmitry Stogov 7523bb7fc2 Reverted wrong "fix" 2008-08-18 09:21:15 +00:00
Pierre Joye 85309f686a - MFH: this change was not part of the env patch 2008-08-18 07:50:10 +00:00
Antony Dovgal c1e0866da3 reverted because of test failures 2008-08-18 07:46:31 +00:00
Pierre Joye 7d1cd6a94b - unix is too young (<1970), make the test portable 2008-08-18 07:19:39 +00:00
Pierre Joye a87a90873c - [DOC] MFH: make putenv behaves like unix putenv on Windows:
.  FOO=1234 => set FOO to 1234
 .  FOO= => set FOO to an empty string
 .  FOO= => unset FOO
 . Use Set/GetEnvironmnent variable only
2008-08-18 07:11:00 +00:00
Arnaud Le Blanc e104699a5d MFH: Fix tests (closes #45841) 2008-08-18 04:45:49 +00:00
Arnaud Le Blanc f59fbc3755 MFH: Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). 2008-08-18 04:08:17 +00:00
Moriyoshi Koizumi 0699894884 - MFH: beware of signedness 2008-08-18 03:26:21 +00:00
Felipe Pena d79b879927 - New parameter parsing API (for mb_convert_variables()) 2008-08-18 00:37:16 +00:00
Felipe Pena 252d7d76a8 - MFH: New parameter parsing API 2008-08-17 22:14:14 +00:00
Arnaud Le Blanc c481ac1e41 generated zend_ini_scanner.c 2008-08-17 21:57:52 +00:00
Arnaud Le Blanc dee3bb2371 MFH: Allow underscore at start of labels as underscore has no meaning here
(fixes #44842)
2008-08-17 21:55:26 +00:00
Arnaud Le Blanc 1defd7a9e2 MFH: Fixed #45384 (parse_ini_file will result in parse error with no trailing
newline)
2008-08-17 21:00:22 +00:00
Jani Taskinen 13d7bb0025 fix news 2008-08-17 19:24:10 +00:00
Felipe Pena 813c90e8fd - Fix build 2008-08-17 17:04:10 +00:00
Pierre Joye 3dd3da7c72 - MFH: add %a for Compiler/Architecture 2008-08-17 16:44:13 +00:00
Pierre Joye 61c4fee6b0 - [DOC] MFH: improve fix for #43261 for % and " 2008-08-17 15:23:45 +00:00
Pierre Joye 59bed16665 - MFH: typo and inline doc fix 2008-08-17 14:32:41 +00:00
Pierre Joye b5e6d487d1 - MFH: fix test (portable), use . as basedir and create the tmp dir in the test directory 2008-08-17 13:07:39 +00:00
Jani Taskinen eacddfbce2 - unneeded file 2008-08-17 12:10:47 +00:00
Pierre Joye 88b2019477 - fix or improve tests
- add dump of the array_diff for compare_stats
2008-08-17 11:04:16 +00:00
Pierre Joye 8700c6af98 - fixes, portability and improvements for stat/file*/touch windows entry 2008-08-17 11:01:23 +00:00
Felipe Pena 0dbc79339c - New parameter parsing API (zend_get_parameters_array_ex--)
- Fixed tests
2008-08-16 21:32:41 +00:00
Pierre Joye 56035785a5 - MFH: remove confusion for non windows/linux users 2008-08-16 13:28:12 +00:00
Hannes Magnusson 59463c54ce Fix arginfo
# Yes Jani, it is correct in HEAD :)
2008-08-16 11:11:46 +00:00
Hannes Magnusson eea3226d58 MFH: [DOC] Added stream_context_set_default() function. (Davey Shafik) 2008-08-16 10:57:56 +00:00
Pierre Joye bb4eacb773 - wrong file commited (and fix test, thx Tony for the head up) 2008-08-16 10:54:17 +00:00
Antony Dovgal 6eb565a8b0 fix test 2008-08-16 10:48:29 +00:00
Felipe Pena 9e035152af - MFH: Fix build 2008-08-15 22:15:46 +00:00
Pierre Joye a7dccf7d9d - attempt to fix unexpected EOF on line 391/6 2008-08-15 19:56:06 +00:00
Felipe Pena 85ab423565 - MFH: Removed some TSRMLS_FETCH()s 2008-08-15 19:47:33 +00:00
Pierre Joye 5bf4d72487 - MFH: make it portable without loosing pertinent data 2008-08-15 19:33:56 +00:00
Hannes Magnusson 794d469c21 Fix typo 2008-08-15 19:31:04 +00:00
Pierre Joye 32546c9390 - MFH: make it portable without loosing pertinent data 2008-08-15 19:26:37 +00:00
Pierre Joye 9bdfe83e0c -MFH:
- fix test
 - add debug build mode (crt outputs callback for invalid parameters)
2008-08-15 19:01:42 +00:00
Pierre Joye e4e8f33716 - fix test 2008-08-15 17:00:27 +00:00
Pierre Joye 6d41937081 - MFH: New parameter parsing API > new warning 2008-08-15 16:51:23 +00:00
Jani Taskinen 718fb52b0e - Revert wrong fix 2008-08-15 16:36:39 +00:00
Pierre Joye 5c5ed51911 - MFH: no config.h in ext/ 2008-08-15 15:39:17 +00:00
Jani Taskinen f11ce93fd5 - Remove crap 2008-08-15 15:21:04 +00:00
Dmitry Stogov 4ccb9037cc - [DOC] make stat, touch, filemtime, filemsize and related functions more portable (almost 100% equivalent to linux now)
- [DOC] add support for touch($dir)
- fix windows server 2008/vista support (#45447) (Pierre)
2008-08-15 15:00:11 +00:00
Dmitry Stogov b76b5a6f17 Fixed realpath cache bug 2008-08-15 13:31:58 +00:00
Dmitry Stogov 628bc1f927 Fixed possible infinity loop in tests 2008-08-15 09:27:27 +00:00
Dmitry Stogov 4362b07e62 Fixed double call to MSHUTDOWN in case of php-cgi -m 2008-08-15 07:30:50 +00:00
Jani Taskinen 52797252b4 MFH 2008-08-14 23:47:42 +00:00
Jani Taskinen d07b7fbf70 MFH: fix tests 2008-08-14 23:44:29 +00:00
Kalle Sommer Nielsen 49494bed8b MFH:
* Last _WIN32_WINNT macro redef
* Include <config.w32.h> where _WIN32_WINNT was
2008-08-14 23:29:25 +00:00
Jani Taskinen 803f3011c6 MFH 2008-08-14 23:29:13 +00:00
Jani Taskinen 0b4e014888 - Fix test: Do not leave your crap behind! 2008-08-14 23:25:44 +00:00
Jani Taskinen a3e7c1a318 MFH 2008-08-14 22:51:31 +00:00
Jani Taskinen 9c3cc1f061 MFH:fix test 2008-08-14 21:54:01 +00:00
Etienne Kneuss f90255c66b MFH: Handlerify get_closure 2008-08-14 21:36:56 +00:00
Jani Taskinen 99d3c31788 Silencio for some unnecessary errors 2008-08-14 20:53:56 +00:00
Jani Taskinen f8c748af56 fix test 2008-08-14 20:51:55 +00:00
Jani Taskinen 13dff74889 fix tests 2008-08-14 20:51:35 +00:00
Jani Taskinen ec8318b438 MFH: fix test 2008-08-14 20:33:35 +00:00
Jani Taskinen e2571e66a5 - Something moved out -> update credits! 2008-08-14 19:21:39 +00:00
Felipe Pena 6b91caeba1 - Fixed test 2008-08-14 19:17:59 +00:00
Felipe Pena 542483cbe4 - New test 2008-08-14 19:14:56 +00:00
Jani Taskinen 282230038c keep the style 2008-08-14 18:19:49 +00:00
Nuno Lopes f797495527 after rereading the documentation about preg_grep(), lets match the behavior in HEAD (return the original array elements instead of the new string).
tune the test accordingly
2008-08-14 14:37:39 +00:00
Nuno Lopes 31c657b3bb Fixed bug #44925 (preg_grep() modifies input array) 2008-08-14 13:12:42 +00:00
Dmitry Stogov 878946a34f Fixed bug #45613 Segfault when using is_file() on Apache-2.2.8 2008-08-14 13:01:28 +00:00
Marcus Boerger 32f9d0e180 - MFH Improve exception linking 2008-08-14 10:24:52 +00:00
Antony Dovgal 261b4d0965 new function 2008-08-14 10:13:23 +00:00
Antony Dovgal a61c0c8414 MFH: add quoted_printable_encode() 2008-08-14 10:12:21 +00:00
Antony Dovgal 593e7c7da4 MFH: nuke unused var 2008-08-14 09:46:26 +00:00
Antony Dovgal 9e7d254f68 fix build
compile before commit?
2008-08-14 09:41:16 +00:00
Antony Dovgal a2059930aa fix folding 2008-08-14 09:29:22 +00:00
Kalle Sommer Nielsen b27d8ccda7 MFH: Fix arginfo for nl2br 2008-08-14 09:27:33 +00:00
Antony Dovgal e18b1c00b6 MFH: fix ws, cs and folding 2008-08-14 08:39:05 +00:00
Kalle Sommer Nielsen fcf11ba65e MFH: Implemented feature request #34381 (nl2br() should have an option for XHTML/HTML compatible BR element) 2008-08-14 02:56:23 +00:00
Kalle Sommer Nielsen 540326c31f MFH:
* Remove NTDDI_VERSION declaring and use the one in config.w32.h
* Remove another _WIN32_WINNT macro redef in win32/time.c
2008-08-13 22:40:39 +00:00
Felipe Pena 4da3495bd8 - Fixed build (ZTS) 2008-08-13 19:06:11 +00:00
Pierre Joye 1463a824e8 - move declaration on top and fix build error 2008-08-13 17:49:13 +00:00
Felipe Pena 3a9f17dfb8 - Fix build 2008-08-13 16:16:57 +00:00
Felipe Pena 7552edc481 - MFH: New parameter parsing API 2008-08-13 14:06:21 +00:00
Antony Dovgal 97b443029f fix long/int issues and a typo 2008-08-13 11:43:15 +00:00
Felipe Pena 987a1a5597 - BFN #45798 2008-08-13 11:20:25 +00:00
Antony Dovgal dd95e7427b MFH: fix compile warnings (patch by Phil Oleson) 2008-08-13 08:08:47 +00:00
Dmitry Stogov 1ff61ab8a4 Fixed bug #45805 (Crach on throwing exception from error handler) 2008-08-13 07:21:30 +00:00
Stanislav Malyshev 6a5e8b389d report old bugfix 2008-08-13 01:00:11 +00:00
Jani Taskinen e5e6f553a2 MFH 2008-08-13 00:53:28 +00:00
Nuno Lopes f87d4530c2 mark empty_fcall_info and empty_fcall_info_cache as constant. a few less bytes in the dirty page :P 2008-08-12 21:45:52 +00:00
Felipe Pena 9f3cb0ecb3 - Fixed test 2008-08-12 19:53:50 +00:00
Felipe Pena 318efa7f10 - New parameter parsing API (for fscanf) 2008-08-12 19:38:54 +00:00
Felipe Pena cf7384aa40 - MFH: Constness (Added const qualifier to several function parameters) 2008-08-12 17:20:25 +00:00
Dmitry Stogov 05376077b3 Fixed bug #45779 (regression with shebang lines processing) 2008-08-12 16:43:53 +00:00
Marcus Boerger bfb468c275 - Fix http://bugs.php.net/bug.php?id=45613 2008-08-12 14:56:52 +00:00
Felipe Pena 9f40f81543 - MFH: Fixed bug #45798 (sqlite3 doesn't notice if variable was bound) 2008-08-12 13:37:32 +00:00
Pierre Joye eae2c5390d - MFH: update test after php's portable realpath change (filename/ is not valid anymore) 2008-08-12 13:05:17 +00:00
Pierre Joye 01dca9a7f4 - MFH: not supported on windpws 2008-08-12 11:56:09 +00:00
Marcus Boerger 4ff965ee6c - MFH Add new test 2008-08-12 11:52:16 +00:00
Marcus Boerger d8530cc8a9 - MFH Add new test 2008-08-12 11:24:24 +00:00
Josie Messa ce5c43a1ed - Committing new array_diff_key tests for Sanjay Mantoor 2008-08-12 11:01:59 +00:00
Marcus Boerger 4344e2ec9e - MFH Add missing ';'s 2008-08-12 10:23:02 +00:00
Dmitry Stogov 3fadad3160 - Added system independent realpath() implementation which caches intermediate directories in realpath-cache
- Fixed bug #45044 (relative paths not resolved correctly)
- Fixed bug #43817 (opendir() fails on Windows directories with parent directory unaccessible).
[DOC] The semantic of realpath() on BSD and Windows is changed. Now it should work exactly in the same way as on Linux (POSIX.1-2001)
2008-08-12 08:01:24 +00:00
Arnaud Le Blanc a12b6846e5 MFH: clear stat cache in chroot() 2008-08-11 23:14:36 +00:00
Greg Beaver 95a8499996 increase code coverage 2008-08-11 22:43:02 +00:00
Arnaud Le Blanc 6e20eba4f4 MFH: Fixed #45181 (chdir() should clear relative entries in stat cache) 2008-08-11 22:38:31 +00:00
Christian Seiler 066ea4f66c MFH: Fixed segfaults (tests added) 2008-08-11 22:31:22 +00:00
Felipe Pena eb1837d9de MFH:
- Added arginfo
- Fixed WS
- Changed C++ comments to C comments
2008-08-11 19:48:00 +00:00
Marcus Boerger 6d083e2c39 - Cleanup 2008-08-11 19:35:00 +00:00
Marcus Boerger 3053a62621 - MFH Fix shutdown order 2008-08-11 17:44:15 +00:00
Marcus Boerger 0d7045e13b - MFH EXPECT rather than EXPECTF 2008-08-11 17:30:37 +00:00
Marcus Boerger 106864bcbb - MFH Fix memleak with new error handling stack'ing 2008-08-11 17:19:20 +00:00
Nuno Lopes 65b1e128a9 MFH: fix build when pcre is not present 2008-08-11 15:42:35 +00:00
Arnaud Le Blanc c573dd6614 MFH: Missing files in previous commit (Check the relevant path for open_basedir
in symlink())
2008-08-11 15:33:02 +00:00
Arnaud Le Blanc de24949cce MFH: Check the relevant path for open_basedir in symlink() 2008-08-11 15:30:44 +00:00
Nuno Lopes ba7cfd2fa7 add 2008-08-11 15:20:57 +00:00
Felipe Pena 038373244b - MFH: New tests 2008-08-11 14:00:02 +00:00
Felipe Pena 301af6d4a9 - MFH: has_property check 2008-08-11 13:56:24 +00:00
Pierre Joye 4d47ccb963 - MFH: skip on windows, chgrp not supported 2008-08-11 13:30:06 +00:00
Pierre Joye 7023ed85d7 - [DOC] MFH: detect if dest is a dir (if the given stream layer supports stat)
and fails
 . remove win32 specific test. The errors are not the same
2008-08-11 13:11:31 +00:00
Felipe Pena e82568d9e4 - Fix build (ZTS) 2008-08-11 12:48:22 +00:00
Marcus Boerger 05d896cce9 - MFH Closure/Reflection integration (original idea by Christian Seiler) 2008-08-11 12:43:21 +00:00
Johannes Schlüter f869bbfc1b MFH: Fix #45763 (mysqli::multi_query does not work with mysqlnd) 2008-08-11 12:33:56 +00:00
Pierre Joye b9536062a8 - remove and add again as text not binary 2/2 2008-08-11 12:20:42 +00:00
Pierre Joye a37c895917 - remove and add again as text not binary 1/2 2008-08-11 12:20:24 +00:00
Pierre Joye a291e00be6 - MFH: make it platform independent (/ vs \) 2008-08-11 11:52:10 +00:00
Marcus Boerger 1b7e862444 - WS (actually my falut) 2008-08-11 10:30:21 +00:00
Dmitry Stogov a4a3ed44bb - Made closures implementation reflection friendly (Christian)
- Changed E_ERROR(s) into E_RECOVERABLE_ERROR(s) (Marcus)
2008-08-11 08:49:00 +00:00
Greg Beaver 8526b78286 increase code coverage 2008-08-11 03:53:57 +00:00
Felipe Pena 18d07065c0 - MFH: Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause an error) 2008-08-11 00:47:45 +00:00
Henrique do Nascimento Angelo 157ad7764e missing entries 2008-08-10 22:02:05 +00:00
Felipe Pena ef2489f6e7 - MFH: New parameter parsing API (for *printf()) 2008-08-10 21:49:01 +00:00
Pierre Joye 1804a397e6 - debugbreak may not be desired (harmless in release mode :) 2008-08-10 21:42:48 +00:00
Pierre Joye 9b14a298a1 - MFH: fix the VC6 fix or strncpy_s (md5 crypt failed with VC9 as it used strncpy wrongly) 2008-08-10 21:34:26 +00:00
Antony Dovgal 18547585bf new test 2008-08-10 21:24:08 +00:00
Antony Dovgal 273ebb45c9 MFH 2008-08-10 19:48:54 +00:00
Felipe Pena f2fc267e3a - MFH: New parameter parsing API (for min() and max()) 2008-08-10 17:50:44 +00:00
Jani Taskinen 6ed5bbe43a - Already in 5.2 NEWS 2008-08-10 15:02:37 +00:00
Pierre Joye c269ad9173 - MFH: fix string len 2008-08-10 14:15:53 +00:00
Arnaud Le Blanc 71e50de4fc MFH: Fixed bug #45581 (htmlspecialchars() double encoding &#x hex items) 2008-08-10 13:26:13 +00:00
Arnaud Le Blanc 4cf7d9bf6f MFH: Fixed test 2008-08-10 12:05:00 +00:00
Arnaud Le Blanc f1917e104b MFH:
Do not expand $target in symlink(). This made it impossible to symlink to a
symlink. This also caused the target to be wrongly expanded relatively to
the CWD when target was not an absolute path.
2008-08-10 11:54:41 +00:00
Pierre Joye 5c7e2072c6 - [DOC] win's strftime does not support all posix formatting code and have some win specific rules see http://msdn.microsoft.com/en-us/library/fe06s4ak(VS.80).aspx for a complete list: split test for win32 and posix 2008-08-10 11:27:48 +00:00
Felipe Pena af7918cf0f - New parameter parsing API 2008-08-10 05:38:07 +00:00
Felipe Pena 5f68027d58 - Fixed tests (Pierre) 2008-08-10 00:35:40 +00:00
Antony Dovgal d9e29376f8 disable the test on AIX 2008-08-09 22:35:24 +00:00
Antony Dovgal 3b7051bea2 MFH: do not fail & segfault if malloc(0) returns NULL, that's expected 2008-08-09 22:01:08 +00:00
Antony Dovgal a00ca091eb fix typo 2008-08-09 21:02:38 +00:00
Etienne Kneuss c77ca4c34a MFH: Fix error_handling usage in various extensions 2008-08-08 22:07:07 +00:00
Pierre Joye f9d813df51 - missing entry 2008-08-08 18:46:20 +00:00
Marcus Boerger 3f7a4b7e90 - MFH error handling, now with save, replace, restore 2008-08-08 17:47:31 +00:00
Pierre Joye 6fb114f1d5 - MFH: constify zend_function_entry and update phpinfo 2008-08-08 16:05:38 +00:00
Pierre Joye ed2abda5df - MFH: missing openbasedir check 2008-08-08 15:56:44 +00:00
Pierre Joye f4087a70aa - MFH: use PHP_ZIP_VERSION_STRING and add add_ascii_assoc_string macro (easy sync) 2008-08-08 15:52:53 +00:00
Pierre Joye b9d7e8b048 - MFH: fix leak in zif_zip_entry_read and ::ExtractTo on Error 2008-08-08 15:41:25 +00:00
Pierre Joye 5505650cdf - use OPENBASEDIR_CHECKPATH instead of SAFEMODE_CHECKFILE, easier to keep code synced with HEAD 2008-08-08 15:37:37 +00:00
Marcus Boerger 4c3563dea2 - MFH: Sorry for the compiler warning 2008-08-08 14:15:05 +00:00
Etienne Kneuss 16470b1e0c MFH: Test the catching of chains of exceptions 2008-08-08 14:09:45 +00:00
Marcus Boerger 5a59d41305 - MFH store error handling mode on stack when executing internal
or overloaded functions and methods. [...]
2008-08-08 13:21:52 +00:00
Felix De Vliegher 3b2da467e7 Tests for ReflectionMethod::getClosure() and ReflectionFunction::getClosure() 2008-08-08 12:39:16 +00:00
Hannes Magnusson 014382b552 Apparently this is broken in alpha1 too 2008-08-08 11:09:31 +00:00
Felix De Vliegher 06bcec0698 Documentation fix for getClosure() 2008-08-08 10:52:48 +00:00
Antony Dovgal 73ab5175b1 move unused vars into their ifdef 2008-08-08 10:12:27 +00:00
Pierre Joye 70596f7474 - add missing files for 0.9 2008-08-08 09:47:15 +00:00
Hannes Magnusson b5ace4565f MFH: Fix build on FreeBSD4.11 (bug#45757) 2008-08-08 08:20:27 +00:00
Pierre Joye 2ade954c52 - fbsql to pecl 2008-08-08 00:01:10 +00:00
Pierre Joye da9680360b - moved to PECL 2008-08-08 00:00:35 +00:00
Pierre Joye a0b06fff99 - dbase moved to pecl 2008-08-07 23:58:39 +00:00
Pierre Joye 647c74258b - MFH: moved to pecl 2008-08-07 23:55:28 +00:00
Pierre Joye 490a342205 - MFH: update to 0.9 (torrentzip support, files open only when necessary), windows fixes 2008-08-07 23:24:11 +00:00
Felix De Vliegher c94f8b4a1c Basic and error tests for stream_filter_remove() 2008-08-07 22:31:10 +00:00
Nuno Lopes 9732c409a4 fix this, so that I can build php without litespeed.. 2008-08-07 19:32:15 +00:00
George Wang 7c7bb11bcd use PHP_ARG_WITH instead of AC_ARG_WITH 2008-08-07 16:41:31 +00:00
Arnaud Le Blanc dd8cfe567f MFH: New maintainer :) 2008-08-07 15:29:38 +00:00
Johannes Schlüter 34fa89103e MFH: fix (thx Christian Hoffmann) 2008-08-07 14:46:49 +00:00
Johannes Schlüter fbf9cbf4a3 MFH: Update EXTENSIONS file 2008-08-07 14:39:47 +00:00
Dmitry Stogov ba15f6809d Disable closures serialization/unserialization 2008-08-07 13:35:51 +00:00
Antony Dovgal c0dbad5530 not experimental anymore 2008-08-07 13:11:05 +00:00
Antony Dovgal c36a3fdfac remove EXPERIMENTAL flag 2008-08-07 13:07:16 +00:00
Nuno Lopes a8ec29310f upgrade to PCRE (i.e. get ride of ereg usage) 2008-08-07 12:50:17 +00:00
Nuno Lopes 106a417378 regenerate 2008-08-07 12:23:03 +00:00
Nuno Lopes 42eed0b5cf fix crash: yytext can't be modified because it is mmaped(). strndup() will take care of last zero char 2008-08-07 12:22:00 +00:00
Dmitry Stogov 43f278ccaf Fixed bug #45744 (Case sensitive callback behaviour) 2008-08-07 12:04:14 +00:00
Antony Dovgal 3c018ceb75 fix WS 2008-08-07 11:51:54 +00:00
Dmitry Stogov c1e5b1345d Fixed bug #45742 (Wrong class array inpretetion using constant indexes) 2008-08-07 11:45:35 +00:00
Jani Taskinen 333ae016f0 Tune news, added missing entry 2008-08-07 10:10:58 +00:00
Arnaud Le Blanc c93fbf629b MFH:
Added clear_realpath_cache and filename parameters to clearstatcache() (Jani,
Arnaud)
[DOC] clearstatcache() now defaults to not affect the realpath cache.
clearstatcache() now takes two optionnal parameters, clear_realpath_cache to
clear the realpath cache (defaults to false), and filename to clear only the
given filename from the cache.
2008-08-07 09:25:33 +00:00
Antony Dovgal 53a957e5f8 MFH: fix bug #45712 ($something == NaN returns true with 5.3, false with 5.2.*) 2008-08-07 08:36:24 +00:00
Lukas Smith 471c480d11 MFH 2008-08-06 21:49:47 +00:00
Kalle Sommer Nielsen 791555279b Backport fix for #45406 to PHP_5_2 2008-08-06 21:31:45 +00:00
Lukas Smith 1e050b063a MFH 2008-08-06 19:42:01 +00:00
Lukas Smith 08748aa94c MFH 2008-08-06 19:35:20 +00:00
Andrey Hristov 2c841008f0 Re-add mysql_set_charset. Missed during introduction of mysqlnd. Exists in
HEAD, thus no merge
2008-08-06 19:25:03 +00:00
Elizabeth Marie Smith f4e7f168e9 Stupid typo 2008-08-06 16:56:35 +00:00
Elizabeth Marie Smith 3324aeba8b Fix include path 2008-08-06 16:47:38 +00:00
Felipe Pena 81d894293d - MFH: Fixed crash msgfmt_get_pattern 2008-08-06 16:17:27 +00:00
Derick Rethans 3cb1759e08 - MFH: Fixed bug #45636 (fileinfo ext duplicate strndup). 2008-08-06 14:42:38 +00:00
Derick Rethans 8c1e71ff83 - MFH: Fixed bug #45717 (Fileinfo/libmagic build fails, missing err.h and
getopt.h).
2008-08-06 14:30:04 +00:00
Scott MacVicar 3c728afb54 MFH: Sync libsqlite to 3.6.1 2008-08-06 14:22:10 +00:00
Scott MacVicar 09582a712f MFH: Fix test on Windows 2008-08-06 14:07:37 +00:00
Antony Dovgal 93908474ad MFH: increase context refcount before open() to avoid crash when open() fails and destroys the context 2008-08-06 09:03:48 +00:00
Antony Dovgal 3d67fbf2bf fix 11g crap 2008-08-06 07:54:40 +00:00
Jani Taskinen 525f3c4793 MFH: General sync. WS / CS / etc. crap some people didn't bother to merge
MFH: before this commit..bunnies thank you all..
[DOC] - Added ext/hash support to ext/session's ID generator. (Sara)
[DOC] Ask Sara for explanation..
2008-08-06 05:53:31 +00:00
Johannes Schlüter 5e06d51ea2 - litespeed was merged from HEAD 2008-08-06 02:37:17 +00:00
Jani Taskinen 927a84bdfb - nuketh period from error message 2008-08-05 23:04:31 +00:00
Jani Taskinen 9ad7800f52 - Nuke ending periods from error messages 2008-08-05 22:52:05 +00:00
George Wang 52604d2832 added litespeed SAPI 2008-08-05 22:37:32 +00:00
Pierre Joye 457f00b201 - MFH: fix oci8_11g when build shared (invalid extension) 2008-08-05 20:56:25 +00:00
Elizabeth Marie Smith 37d23600bf Some fancy detection for sqlite3 and pdo_sqlite3 - so the two extensions don't depend on each other if shared, and don't try to put two versions of the sqlite3 lib if static 2008-08-05 20:16:21 +00:00
Stanislav Malyshev 4bd1aec2f9 fix memnstr bug, by Laurent Gaffie 2008-08-05 20:14:27 +00:00
Pierre Joye 613cb60f8f - MFH: fix zlib detection (shared/static) and add zlib_a support 2008-08-05 19:40:16 +00:00
Derick Rethans 833f96a2b3 - MFH: Fixed a bug that caused miscalculations with the "last <weekday> of <n>
month" relative time string.
2008-08-05 18:03:47 +00:00
Pierre Joye f428f1e04a - MFH: not shared 2008-08-05 17:20:10 +00:00
Jani Taskinen b1511db3e1 MFH 2008-08-05 16:25:42 +00:00
Jani Taskinen c71ea248bd MFH 2008-08-05 15:12:19 +00:00
Jani Taskinen a032e1a514 MFH:- Add test for bug #45712 2008-08-05 12:36:47 +00:00
Pierre Joye 62b18f019b - MFH: add dll path to mkdist default path 2008-08-05 11:47:17 +00:00
Arnaud Le Blanc cb9dad9d1a MFH: Fixed test 2008-08-05 10:10:39 +00:00
Felipe Pena 3a9b4b92cc - Fix build (thanks Sebastian) 2008-08-04 23:48:09 +00:00
Pierre Joye e31b2cbc0d - MFH: detect _a or normal lib 2008-08-04 21:39:44 +00:00
Jani Taskinen 22b62586c2 MFH:- Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter) 2008-08-04 21:14:28 +00:00
Moriyoshi Koizumi cc1bedc0fc - MFH: Added .libs to .cvsignore 2008-08-04 21:10:58 +00:00
Moriyoshi Koizumi 970e00aeeb - MFH: More fixes for bug #45691 2008-08-04 21:06:13 +00:00
Jani Taskinen 07a3075251 MFH: Add proper version check (new c-clients have this) 2008-08-04 20:51:46 +00:00
Felipe Pena b7a6617709 - MFH: Added new parameter parsing API (part II) 2008-08-04 18:23:33 +00:00
Antony Dovgal 0fddd7255f numerous int<->long fixes (this code just couldn't work on 64bit OSes)
here is why we need to put ming to PECL
2008-08-04 12:19:51 +00:00
Robin Fernandes cf167a669b Improve ArrayObject::exchangeArray() behaviour with objects and CoW references (see http://turl.ca/exarr ). 2008-08-04 11:45:21 +00:00
Dmitry Stogov 7355c3c54c Removed shebang line check from CGI sapi (it is checked by scanner) 2008-08-04 07:20:15 +00:00
Kalle Sommer Nielsen 874b456078 MFH: Fixes #45406 - Patch by oleg dot grenrus at dynamoid dot com 2008-08-04 06:21:55 +00:00
Etienne Kneuss afb1e3efab MFH: Fix clone + add tests 2008-08-03 19:07:31 +00:00
Marcus Boerger 97417927b8 - MFH Drop libsqlite even here 2008-08-03 18:57:25 +00:00
Etienne Kneuss 360fb51980 MFH: Remove cast and fix mem errors 2008-08-03 18:16:10 +00:00
Derick Rethans ad10607c33 - MFH: Fixed bug #45696 (Not all DateTime methods allow method chaining). 2008-08-03 16:45:15 +00:00
Jani Taskinen c7cb6f5480 typo, grammar 2008-08-03 12:22:20 +00:00
Jani Taskinen b17dc14f18 MFH: nuketh C++ comments 2008-08-03 12:15:55 +00:00
Marcus Boerger 97424e78d6 - Nitpicking
# Chris I merged you with Oracle corp. as you work for the company, or do
# you need to be clear about what you did?
2008-08-03 12:11:12 +00:00
Jani Taskinen 8307bea9e6 MFH 2008-08-03 12:11:07 +00:00
Jani Taskinen fdbb8c2694 MFH: no c++ comments in c files 2008-08-03 11:58:15 +00:00
Jani Taskinen 06029cf3a7 oops 2008-08-03 11:54:30 +00:00
Jani Taskinen 47a2bad767 - No C++ comments in C files! 2008-08-03 11:48:20 +00:00
Jani Taskinen c2c76d2d78 - What a mess.. 2008-08-03 11:33:45 +00:00
Moriyoshi Koizumi 9ec7f49d5b - MFH: Forgot to take account of the case when mbstring.language is processed
afterwards.
2008-08-03 00:04:17 +00:00
Moriyoshi Koizumi fd9c49c48f - MFH: Fixed bug #45691 (Some per-dir or runtime settings may leak into other requests). 2008-08-02 20:49:00 +00:00
Pierre Joye 20e75d80a7 - MFH: improve previous fix for scan, disable optimizer only for scan() using #pragma optimize 2008-08-02 16:50:35 +00:00
Pierre Joye b6d64cde15 - MFH: parser's scan function is too large for VC6-7.x, disable the optimizer (size optimization instead) fixes it 2008-08-02 15:49:37 +00:00
Steph Fox f55d753d3e MFH Remove obsolete check (thanks Tony) 2008-08-02 15:38:46 +00:00
Derick Rethans 4591f12d9f - MFH: Fixed bug #45545 (DateInterval has a limitation of 4 chars for ISO
durations).
2008-08-02 13:50:52 +00:00
Felipe Pena 593429aa15 - MFH: Fixed undefined variable 2008-08-02 13:39:42 +00:00
Arnaud Le Blanc 5492454647 news 2008-08-02 06:36:40 +00:00
Arnaud Le Blanc 5eb7ed7316 Allow urlencode()d filer names in php://filter 2008-08-02 06:35:41 +00:00
Felipe Pena e304515ddb - MFH: Added parameter TSRMLS_DC in zend_is_callable() 2008-08-02 04:46:07 +00:00
Felipe Pena 11bc1de770 - MFH: Removed unnecessary TSRMLS_FETCH() 2008-08-02 02:50:18 +00:00
Arnaud Le Blanc 93b7cb0a0a MFH: Avoid leaks when zlib streams can not be closed properly. 2008-08-02 02:36:25 +00:00
Moriyoshi Koizumi 98b5795702 - MFH: Fixed bug #43993 (mb_substr_count() behaves differently to substr_count() with overlapping needles) 2008-08-01 22:56:47 +00:00
Stanislav Malyshev c123d7fea0 remove unneeded define 2008-08-01 22:43:16 +00:00
Pierre Joye 884aff3adb - MFH: use static lib first if found 2008-08-01 21:20:08 +00:00
Pierre Joye 6c45fceb01 - MFH: fix EOL broken by previous commit 2008-08-01 19:09:47 +00:00
Pierre Joye d5f767c0e0 drop 8.x support 2008-08-01 18:57:30 +00:00
Pierre Joye ef6cc19055 - MFH: support for Oracle 11g (either 8 or 11g can be built but not both 2008-08-01 15:07:59 +00:00
Dmitry Stogov 33f48b800c Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys) 2008-08-01 14:22:48 +00:00
Dmitry Stogov 37a769353f Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys). 2008-08-01 14:22:03 +00:00
Steph Fox 4e5280a7a2 - ws/cs, macros, code that only affects other branches
- some unsynced changes need valgrind testing before they can go into this branch, see PECL/HEAD
2008-08-01 13:48:45 +00:00
Steph Fox 821bab83a3 - Merge ws/cs fixes to bring all branches into sync 2008-08-01 13:42:56 +00:00
Steph Fox 377ff97abd - MFH Bring phar tests into line across all branches 2008-08-01 13:38:48 +00:00
Pierre Joye cb10c3be61 - MFH: add new default dir (old still works) 2008-08-01 11:25:42 +00:00
Pierre Joye c1ddd7bea5 - MFH: first static lib then dyn or old one 2008-08-01 11:21:50 +00:00
Hannes Magnusson 790a938b0f Add ini options for the new exts 2008-08-01 10:59:14 +00:00
Antony Dovgal 617ab865a0 MFH: fix int<->long mess causing lots of segfaults on x86_64 2008-08-01 08:27:56 +00:00
Hannes Magnusson f8f406208b Fix skipif (altough I can't find any such method in the source..?) 2008-08-01 08:01:31 +00:00
Marcus Boerger 152e4273d1 - Consistency rocks: Make all lines start with tabs for indentation
# Just as anythign else we do.
# Also saves about ~0.5k in phar.phar
2008-08-01 06:16:35 +00:00
Marcus Boerger d29fba1678 - Fix pear PHP_Archive class file location 2008-08-01 05:43:09 +00:00
Johannes Schlüter fe0e4c2606 back to dev 2008-08-01 00:46:20 +00:00
Johannes Schlüter 346b97afb4 5.3.0alpha1 2008-08-01 00:09:24 +00:00
Scott MacVicar 06337965ae Still need defines so that sqlite3.h will match the lib that sqlite3 uses 2008-07-31 23:56:32 +00:00
Johannes Schlüter 37c2511f8c remove that file, too 2008-07-31 23:51:34 +00:00
Scott MacVicar 7065da57b7 Bundled pdo_sqlite files are no longer required 2008-07-31 23:36:47 +00:00
Scott MacVicar 0d2f16d3d0 Make pdo_sqlite use the bundled extension with sqlite3 (pdo_sqlite gets fts!)
Fix test after class rename
2008-07-31 23:25:39 +00:00
Pierre Joye c501d5f2a4 - MFH: new usual suspects 2008-07-31 23:05:52 +00:00
Scott MacVicar d9509f7a6d Class rename to match Coding Standards 2008-07-31 22:30:26 +00:00
Hannes Magnusson a31dc0ccd0 Which means do not include.., thanks Jani :) 2008-07-31 22:30:25 +00:00
Hannes Magnusson f2d88b3efa Say without, since its enabled by default 2008-07-31 22:28:51 +00:00
Scott MacVicar 9abe173e8c Enable by default and fix compile error 2008-07-31 22:24:05 +00:00
Jani Taskinen 678811d9b2 - Fix news 2008-07-31 22:20:40 +00:00
Johannes Schlüter 935fdb0734 - Added a few exts 2008-07-31 21:40:26 +00:00
Felipe Pena 766fe51d3d Typo 2008-07-31 21:24:27 +00:00
Johannes Schlüter 362bd99f58 move 'Improved' stuff together and max 80 char width 2008-07-31 21:12:04 +00:00
Scott MacVicar 26dae773cd Fix some NEWS entries 2008-07-31 20:47:10 +00:00
Johannes Schlüter d2b3695aea Update NEWS 2008-07-31 20:19:35 +00:00
Johannes Schlüter b9f7b21ec1 MFH (DOC] Add array_replace/array_replace_recursive (Mett Wilmas) 2008-07-31 20:18:17 +00:00
Pierre Joye 3250870249 - MFH: add detection for newer libs 2008-07-31 18:04:49 +00:00
Moriyoshi Koizumi 2d08b5aa86 - MFH: Fixed bug #44617 (wrong HTML entity output when substitute_character=entity) 2008-07-31 17:37:12 +00:00
Scott MacVicar 00788aa163 Fix test 2008-07-31 17:13:31 +00:00
Scott MacVicar 76cf0f6e6b Stray RETURN_TRUE value 2008-07-31 16:31:12 +00:00
Dmitry Stogov 1f09a6b359 Fixed constant substitution in constant expression context 2008-07-31 14:27:43 +00:00
Olivier Hill d247a23188 Fix regression issue 2008-07-31 14:20:40 +00:00
Pierre Joye c71b745655 - update config to match config.m4
(still does not build but will be fixed for alpha2)
2008-07-31 13:13:20 +00:00
Jani Taskinen b4e313eed4 MFH:- fix test 2008-07-31 11:50:16 +00:00
Rasmus Lerdorf c6671a0596 Fix test to test higher nesting level 2008-07-31 11:46:23 +00:00
Rasmus Lerdorf a3383ac3d7 Fix for bug #45030 2008-07-31 09:23:18 +00:00
Dmitry Stogov f02f9b0545 Removed Closure::__toString() 2008-07-31 07:10:33 +00:00
Jani Taskinen a31dc18b39 MFH:- Fixed bug #45568 (ISAPI does not property clear auth_digest in header). 2008-07-31 00:48:48 +00:00
Scott MacVicar 4b8197cf6e MFH: Resync libsqlite files from amalgamation. Save the kittens, no EOL mess. 2008-07-31 00:46:47 +00:00
Jani Taskinen 708cb0ec0e MFH:- Applied the missing parts to phpize.m4 for zend extension builds 2008-07-31 00:45:17 +00:00
Scott MacVicar 97400c6cd3 MFH: get fileinfo building again on Windows 2008-07-31 00:33:02 +00:00
Jani Taskinen 87acbd2639 MFH:- Detect whether debugging was enabled in PHP and drop optimizing flags if so (merge from configure.in) 2008-07-30 23:56:05 +00:00
Jani Taskinen f92026e0ac MFH:CS 2008-07-30 23:32:02 +00:00
Jani Taskinen 2af5002d5b ws 2008-07-30 22:55:08 +00:00
Felipe Pena b2e0077261 - MFH: Fixed memory leak.
# Test: locale_filter_matches(str_repeat('a', 520), str_repeat('a', 520), 1);
2008-07-30 19:34:23 +00:00
Derick Rethans b5e2564abf - MFH: Fixed a bug with the YYYY-MM format not resetting the day correctly.
- MFH: Fixed a bug in the DateTime->modify() methods, it would not use the
  advanced relative time strings.
- MFH: Fixed return values of all the modifying methods, they now properly
  return the object itself.
2008-07-30 18:00:44 +00:00
Stanislav Malyshev a041ddc9d9 fix warnings 2008-07-30 17:45:18 +00:00
Felipe Pena fcd87bc3a1 - Fixed crash when NULL is passed to locale_accept_from_http() 2008-07-30 16:43:11 +00:00
Rasmus Lerdorf 2f469e8c15 We can afford a larger stack here and other json parsers out there
go deeper than 128.
2008-07-30 13:52:59 +00:00
Felipe Pena 0afc07b26a - New test 2008-07-30 12:14:30 +00:00
Antony Dovgal 8127bc0d6b fix folding 2008-07-30 11:59:05 +00:00
Antony Dovgal e78f487d65 enable this test on all platforms, no reason to limit it windows only 2008-07-30 09:58:55 +00:00
Antony Dovgal c44161d303 fix test 2008-07-30 09:55:20 +00:00
Pierre Joye 6dcd9b58d5 - mbstring is built shared on windows
it looks like the idea was to have it static (but does not work)
2008-07-30 09:26:15 +00:00
Pierre Joye 4e00d919d2 - fix VC9 build (5.3+)
Please do not revert this fix again and to merge 5.3's changes to HEAD
2008-07-30 08:38:37 +00:00
Jani Taskinen 769400ea83 MFH:ws 2008-07-30 08:18:05 +00:00
Kalle Sommer Nielsen 2d2f6a57f1 MFH: Add test for imagecolorclosesthwb() 2008-07-30 04:35:57 +00:00
Kalle Sommer Nielsen 4f6ad789c7 Add test case for #44849 2008-07-30 01:37:54 +00:00
Felipe Pena 555a9b0768 - MFH: Fixed BC break: The magic constants must be case-insensitive. 2008-07-30 01:25:49 +00:00
Pierre Joye acd17a85dc - MFH: missing in the previous crypt commit (shutdown frees the locking mechanism) 2008-07-29 17:28:41 +00:00
Arnaud Le Blanc c58e2b9d20 MFH: Added pcntl_sigwaitinfo(), pcntl_sigtimedwait() and pcntl_sigprocmask()
[DOC] pcntl_sigprocmask() allows to block signals. pcntl_sigwaitinfo()
allows to fetch blocked signals or signals delivered while pcntl_sigwaitinfo()
is running. pcntl_sigtimedwait() is pcntl_sigwaitinfo() with a timeout.
2008-07-29 16:59:10 +00:00
Arnaud Le Blanc 204fcbe5d3 MFH: Added pcntl_signal_dispatch()
[DOC] pcntl_signal_dispatch() allows to dispatch pending signals to registered
signal handler functions on-demand. This allows to use pcntl_signal() without
ticks.
2008-07-29 16:46:11 +00:00
Dmitry Stogov b6cca30211 Fixed memory leak 2008-07-29 14:28:11 +00:00
Arnaud Le Blanc 738346fd92 MFH: Fixed previous fix 2008-07-29 13:57:43 +00:00
Dmitry Stogov cbf2df4d19 Fixed memory leak 2008-07-29 12:56:52 +00:00
Dmitry Stogov 062daaf6a5 Fixed test 2008-07-29 12:17:19 +00:00
Dmitry Stogov 3c62c4bf7e Removed warning 2008-07-29 11:50:05 +00:00
Antony Dovgal 57caabf653 don't segfault if given invalid/empty private key 2008-07-29 11:18:40 +00:00
Antony Dovgal 2543206105 don't free function name before calling the function 2008-07-29 11:09:00 +00:00
Antony Dovgal b53da9cd80 fix folding 2008-07-29 10:52:08 +00:00
Antony Dovgal d9abccb322 MFH: fix copy/paste error (patch by Mikko) 2008-07-29 10:42:44 +00:00
Marcus Boerger a487c8b964 - MFH Exclude bundled libs from gcov processing 2008-07-29 08:10:44 +00:00
Scott MacVicar e30b104148 Fix build where __const is already defined like OS X. 2008-07-29 01:20:28 +00:00
Scott MacVicar 2b040f2d66 MFH: Add freelist for tracking sqlite statements to free on implicit SQLite3::close() 2008-07-29 00:56:53 +00:00
Moriyoshi Koizumi ae04a26afe - Typo. 2008-07-29 00:02:12 +00:00
Scott MacVicar b8744bf3c9 Fix error when fetchArray reaches the last row, and prototyp error 2008-07-28 23:01:02 +00:00
Derick Rethans 1c8055a4ff - Updated to version 2008.5 (2008e) 2008-07-28 19:31:44 +00:00
Arnaud Le Blanc 0f9026daf9 MFH: When automatically redirecting an HTTP request, use the GET method when the
original method was not HEAD or GET (fixes #45540)
#
# The RFC says that in case of 3xx code, "The action required MAY be
# carried out [...] *only if the method used in the second request is GET or
# HEAD*".
#
# This may not break anything as actually POST requests replying
# with a Location header never worked as the redirecting request was sent using
# the POST method, but without Entity-Body (and without Content-Length header,
# which caused the server to reply with a "411 Length Required" or to treat
# the request as GET).
#
2008-07-28 19:08:02 +00:00
Elizabeth Marie Smith 49aa0feaae Secure versions of string functions don't exist for VC6 2008-07-28 16:43:51 +00:00
Pierre Joye d4b0beb322 - MFH: vc6 is picky about brackets when used with a defined type... 2008-07-28 16:33:17 +00:00
Etienne Kneuss 1da16cef08 MFH: Increase coverage a bit 2008-07-28 14:24:45 +00:00
Dmitry Stogov 44caafc62e Fixed constant substitution (Matt) 2008-07-28 14:12:19 +00:00
Felipe Pena e062594215 - MFH: New tests 2008-07-28 14:10:00 +00:00
Jani Taskinen 7a70ad4502 - Fix EOLs 2008-07-28 11:59:35 +00:00
Pierre Joye f2b67842c7 - nothing to do here 2008-07-28 11:54:37 +00:00
Pierre Joye 1e820eca02 -MFH:
- #45430, windows implementation of crypt is not TS
 - add Blowfish (using implementation from Solar Designer <solar at openwal dot com>) and extended DES support
 - Make crypt features portable:
   - if no crypt_r, php's implemetation is used (all algo and TS), php can't be used with unsafe crypt anymore
   - if one algo is missing, php's implemetation is used
   - Windows always use php's implementation
 - removed old code in windows/
2008-07-28 11:50:35 +00:00
Moriyoshi Koizumi ba84cd7359 - Touch. 2008-07-28 07:02:05 +00:00
Moriyoshi Koizumi b9eaa80150 - SCNG(input_filter) can be null if the script encoding is idential to
the internal encoding.
2008-07-28 07:01:54 +00:00
Moriyoshi Koizumi cc8145d14f - ??? 2008-07-28 06:13:57 +00:00
Moriyoshi Koizumi 4857586ec2 - Touch 2008-07-28 06:05:36 +00:00
Moriyoshi Koizumi 1782511e72 - WS 2008-07-28 06:05:14 +00:00
Moriyoshi Koizumi fa8f78d96c - touch 2008-07-28 06:00:15 +00:00
Moriyoshi Koizumi a28497d6e5 - Fix __halt_compiler() weirdness with zend-mulibyte enabled 2008-07-28 05:59:17 +00:00
Marcus Boerger f24a083dfe - Allow building with ming-0.4rc1 (the latest available ming)
# Necessary to get gcov.php.net working again
2008-07-27 21:32:50 +00:00
David Soria Parra e4ad2672b8 MFB: - Fixed the fix for not requiring C++ always 2008-07-27 20:43:40 +00:00
Derick Rethans 7537b5b6d7 - MFH: Fixed DateTime::setTimestamp() and added a test for it. 2008-07-27 19:10:23 +00:00
Christopher Jones 8126b1ab94 MFH Update README. Bump ver ready for PECL release 2008-07-27 17:50:41 +00:00
Christopher Jones f00dc07f92 MFH: Sync oci8.default_prefetch example value with recent change 2008-07-27 16:37:57 +00:00
Christopher Jones 0dc603c839 Add OCI8 changes 2008-07-27 16:27:41 +00:00
Jani Taskinen cbb5dac4de MFH:- Fixed the fix for not requiring C++ always 2008-07-27 15:05:39 +00:00
Dmitry Stogov b2eba97d8b Fix for bug #43487 (Wrong conversion of float to string) 2008-07-27 11:29:10 +00:00
Marcus Boerger fb5c092815 - Fix openssl check 2008-07-27 04:23:00 +00:00
Jani Taskinen 7187819fcc nuke \r\n 2008-07-27 00:05:36 +00:00
Jani Taskinen 9218157548 MFH: fix build 2008-07-26 23:58:06 +00:00
Jani Taskinen 96ea7313a6 MFH: build fixes, cs, ws, etc. 2008-07-26 23:42:53 +00:00
Jani Taskinen 9acc87feff - Removed merge typos 2008-07-26 23:38:14 +00:00
Jani Taskinen 0bc9577588 update credits 2008-07-26 22:19:41 +00:00
Jani Taskinen 54203ea5d0 MFH:tune 2008-07-26 22:18:38 +00:00
Jani Taskinen d448b6b70d - No tabs. 2008-07-26 22:14:52 +00:00
Dmitry Stogov 64c721e04e *** empty log message *** 2008-07-26 19:14:38 +00:00
Dmitry Stogov 8ee5b58bbe Added checks for destroied objects 2008-07-26 18:32:20 +00:00
Dmitry Stogov f5f8cba8e9 Fixed bug #44660 (Indexed and reference assignment to propery of non-object don't trigger warning) 2008-07-26 17:59:54 +00:00
Dmitry Stogov b25f9f6a6a Added support for overloaded functions (e.g. COM) in call_user_func(). 2008-07-26 17:01:40 +00:00
Dmitry Stogov 478acfd8b4 . Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt)
. Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt)
. Optimized interpolated strings to use one less opcode. (Matt)
2008-07-26 15:30:28 +00:00
Dmitry Stogov 8b14236557 Fixed bug #45608 (closures don't work in static methods) 2008-07-26 14:15:19 +00:00
Dmitry Stogov 4f81a0c358 Fixed crashes and memory leak for objects with NULL write_property/has_property/unset_property handlers 2008-07-26 14:08:11 +00:00
Dmitry Stogov af05ce0af6 Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B" 2008-07-26 13:14:04 +00:00
Arnaud Le Blanc 77baec3f6d MFH: Fix bug #45622 (isset($arrayObject->p) misbehaves with ArrayObject::ARRAY_AS_PROPS set) 2008-07-26 12:34:10 +00:00
Felipe Pena 8085094da8 MFH:
- Added arginfo
- Fixed:
  . proto: finfo_buffer
  . parameter type in _php_finfo_get_type()
2008-07-25 15:23:10 +00:00
Antony Dovgal 5265201075 fix warnings 2008-07-25 15:05:48 +00:00
Moriyoshi Koizumi 9225429040 - MFH: Fix warnings 2008-07-25 14:04:54 +00:00
Moriyoshi Koizumi 52d5287d9a - MFH: Fix wrong cast 2008-07-25 13:57:23 +00:00
Felipe Pena 05834fc510 - MFB: Fixed the parameter type expected. set_time_limit() should accept only integer. 2008-07-25 13:46:56 +00:00
Jani Taskinen 281352fe02 MFH: Fix PDO configure dependancy: If --disable-pdo is used, disable all
MFH: enabled-by-default drivers. Also error out if you try to configure
MFH: a driver as static but pdo is disabled.
2008-07-25 13:46:24 +00:00
Moriyoshi Koizumi 1f7e547662 - MFH: Fix a typo in mb_stripos() that caused segfaults (noticed by bs@php.net, thanks). 2008-07-25 12:51:47 +00:00
Andrey Hristov 7833cf9f10 MFH: Fixed bug#45019 Segmentation fault with SELECT ? and UNION 2008-07-25 12:46:03 +00:00
Rob Richards aa81dabddc MFH: fix zts build 2008-07-25 12:41:57 +00:00
Pierre Joye 473a96ba3d - MFH: fix EXT_FOO_SHARED usage as dep mgt broke it (one more hack but we can clean them after alpha) 2008-07-25 12:40:45 +00:00
Jani Taskinen 395e75bc5d MFH: Fixed a minor problem in not enabling c++/g++ when not needed. 2008-07-25 12:36:34 +00:00
Jani Taskinen fd3b5bcc5a - Fix description 2008-07-25 12:04:54 +00:00
Jani Taskinen 213fd450fa - No tabs, fix indent in configure --help 2008-07-25 12:01:47 +00:00
Moriyoshi Koizumi 935846db2b - Fix tests. 2008-07-25 10:48:20 +00:00
Antony Dovgal 3770038a66 fix typo 2008-07-25 09:55:45 +00:00
Dmitry Stogov ac68c41f8d Fixed support for static methods 2008-07-25 09:44:47 +00:00
Moriyoshi Koizumi 89762bb594 - MFH: Allow the results of a partial run to be saved when -s option is
explicitly specified.
2008-07-25 09:32:23 +00:00
Jani Taskinen ccc012d3f6 MFH: enable fileinfo by default 2008-07-25 09:16:22 +00:00
Jani Taskinen bdf5b7bdba Update credits 2008-07-25 09:13:24 +00:00
Jani Taskinen e593146673 MFH: cleanup 2008-07-25 09:10:11 +00:00
Dmitry Stogov 176ebc26ea Fixed uninitialized data 2008-07-25 08:50:55 +00:00
Antony Dovgal a46319d86d fix typos 2008-07-25 08:45:09 +00:00
Michael Wallner 15da8367c4 - Changed HTTP stream wrapper to accept any code between and including
200 to 399 as successful. (patch by Noah Fontes)
2008-07-25 08:27:37 +00:00
Dmitry Stogov 691d4a6999 Fixed uninitialised data 2008-07-25 08:23:07 +00:00
SVN Migration 7b0f90e0c8 This commit was manufactured by cvs2svn to create branch 'PHP_5_3'. 2008-07-25 08:18:35 +00:00
Dmitry Stogov ed2d3e4c7e Substitute persistent constants by their values at compile time. (Matt) 2008-07-25 04:54:08 +00:00
Moriyoshi Koizumi bb35ab45bb - MFH: suppress signedness warnings 2008-07-25 03:42:01 +00:00
Scott MacVicar d584ed4a01 SQLite3 extension, still has 2 failing tests that will be sorted tomorrow. Will merge to head tomorrow as well. 2008-07-25 02:44:59 +00:00
SVN Migration 14ce4a1d0a This commit was manufactured by cvs2svn to create branch 'PHP_5_3'. 2008-07-25 02:44:58 +00:00
Moriyoshi Koizumi 20bca30d04 - No need to advance the cursor 2008-07-24 23:53:42 +00:00
Moriyoshi Koizumi 4f42ed39c0 - Revived zend multibyte 2008-07-24 22:21:41 +00:00
Moriyoshi Koizumi 1f845199f7 - MFH: Suppress signedness warnings 2008-07-24 20:44:15 +00:00
Moriyoshi Koizumi 023211d8d2 - MFH: Constify read-only arguments 2008-07-24 20:39:48 +00:00
Felipe Pena 0fbe6a0c14 - MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:52:24 +00:00
Frank M. Kromann ae8a21ad77 Fix parameter types for a couple of methods 2008-07-24 18:39:42 +00:00
Moriyoshi Koizumi 150d7a5489 - MFH: fix win32 build 2008-07-24 17:00:03 +00:00
Pierre Joye 246d836a28 - MFH: force static for now, broken now 2008-07-24 16:05:34 +00:00
Felipe Pena 2c829e5053 - Removed unused variable. 2008-07-24 16:00:34 +00:00
Arnaud Le Blanc f9ef6c8723 MFH: Fixed bug #45614 (ArrayIterator::current(), ::key() can show 1st private prop of wrapped object) 2008-07-24 15:54:41 +00:00
Christopher Jones 3de112221f MFH
1. Fix macro version test for constants

2. [DOC] Increase oci8.default_prefetch to 100.  Better out of box experience.  Consistent woth PDO_OCI
2008-07-24 15:24:14 +00:00
Ulf Wendel 44b9a0215c MFH (prepare() fallback logic) 2008-07-24 15:08:02 +00:00
Arnaud Le Blanc 236b03985d Fixed #42663 (gzinflate() try to allocate all memory with truncated data), not present in HEAD. 2008-07-24 14:38:37 +00:00
Scott MacVicar ccc996f1d9 MFH: Remove non existent defines and change THREADSAFE to SQLITE_THREADSAFE 2008-07-24 14:25:33 +00:00
Antony Dovgal 91ca9b7d53 MFH: set GCC to "no" if ICC was detected 2008-07-24 14:17:54 +00:00
Andrey Hristov f728ceae94 MFH: Added test file 2008-07-24 14:17:47 +00:00
Moriyoshi Koizumi 850449568e - MFH: Fix tests. 2008-07-24 13:49:39 +00:00
Moriyoshi Koizumi d7594edaa0 - MFH: Fixed warnings. 2008-07-24 13:46:50 +00:00
Dmitry Stogov 2cca3d0dd2 Optimized ZEND_SIGNED_MULTIPLY_LONG() (Matt) 2008-07-24 13:46:28 +00:00
Moriyoshi Koizumi e29684a2ce - MFH: Added "mbstring.http_output_conv_mimetypes" INI directive. 2008-07-24 13:01:50 +00:00
Ulf Wendel 60e70d1760 MFH (32bit fix) 2008-07-24 12:54:50 +00:00
Felipe Pena 44f1ef210d - MFH: New parameter parsing API 2008-07-24 12:49:11 +00:00
Dmitry Stogov 44325e6473 Fixed bug #45178 (memory corruption on assignment result of "new" by reference) 2008-07-24 11:47:51 +00:00
Scott MacVicar 797202ca1a MFH: Add .cvsignore, update config.w32 and remove the other bundled sqlite library 2008-07-24 11:33:34 +00:00
Dmitry Stogov feb8580166 LSB parent/self forwarding 2008-07-24 09:42:18 +00:00
Steph Fox 6895773aff - Utilize new UNIX_PATHS flag in SPL
- Fix tests

@Jani: hold back on the bunny-killing, HEAD will be in sync later today
2008-07-24 09:22:35 +00:00
Arnaud Le Blanc aa31988e43 MFH: Allow filters to work on INPUT_SERVER in CLI (bug #44779) 2008-07-24 09:12:45 +00:00
Steph Fox 01b8829f73 MFH Make test x-platform 2008-07-24 08:56:51 +00:00
Steph Fox 0aeea4bdbf MFH SPL_FILE_DIR_UNIXPATHS. 2008-07-24 08:55:52 +00:00
Frank M. Kromann 008a1fd8c2 Add a couple of methods to SWFVideoStream 2008-07-24 08:22:48 +00:00
Antony Dovgal 6b4b6b8341 bump copyright year 2008-07-24 08:17:55 +00:00
Frank M. Kromann 0e80cababc Syncronize the ming extension with libming 0.4
[DOC] PHP 5.3 requires libming 0.4
2008-07-24 08:02:40 +00:00
Antony Dovgal 15cb10c7e3 fix test 2008-07-24 07:32:28 +00:00
Felipe Pena a1ce847cd5 - MFH: Improved parameter handling 2008-07-24 03:07:22 +00:00
Scott MacVicar f37a1316fe Update pdo_sqlite to use the amalgamation, much easier to upgrade / maintain. Also kill useless PECL version tag in MINFO.
Will probably be chastised by Jani for doing branch first...
2008-07-24 00:24:03 +00:00
Hartmut Holzgraefe 54981e8c2e MFH: corrected library search path order in tests 2008-07-23 21:44:25 +00:00
Lars Strojny 6579ba27a6 array_intersect_ukey tests by Sanjay Mantoor 2008-07-23 20:37:23 +00:00
Derick Rethans 07c9bd8382 - MFH: Fixed an issue with "first <weekday> of" in case the first <weekday> was
the same day-of-week as the first day of the month.
2008-07-23 19:53:39 +00:00
Jani Taskinen d1cc28ca31 80 chars per line.. 2008-07-23 19:50:47 +00:00
Stanislav Malyshev 0a7c0b37e3 add compose syntax as per request #14266 2008-07-23 19:44:51 +00:00
Felipe Pena 0bbed66ede - MFH: New parameter parsing API 2008-07-23 19:34:35 +00:00
Derick Rethans 11f9cd84f7 - MFH: Fixed bug #43452 (strings containing a weekday, or a number plus weekday
behaved incorrect of the current day-of-week was the same as the one in the
  phrase).
2008-07-23 18:50:37 +00:00
Felipe Pena a2cc7ec96a - MFH: Fixed bug #45605 (array_uintersect_assoc gives incorrect error message) 2008-07-23 16:28:46 +00:00
Lars Strojny 48013172bc Allowing "%unicode|string%" as a placeholder (backport from HEAD) 2008-07-23 16:11:00 +00:00
Jani Taskinen 12c066136b MFH: Fix test (bug #44985) 2008-07-23 14:15:19 +00:00
Andrey Hristov 9f677316c7 NEWS!: 2008-07-23 14:10:04 +00:00
Andrey Hristov 24e7d03e48 MFH: Fixed bug#44897 - failed to prepare statement
After a PS "CALL()" we have at least one result set. If the SP does also some, then
     we need to clean the wire more fool-proof.
2008-07-23 14:07:38 +00:00
Ulf Wendel e5f3857589 MFH 2008-07-23 13:04:18 +00:00
Antony Dovgal 28a22396d4 MFH: invert the logics - FLAG_FCLOSE -> FLAG_NO_FCLOSE 2008-07-23 11:25:14 +00:00
Antony Dovgal 16ace1828e fix test 2008-07-23 10:26:45 +00:00
Antony Dovgal a8af74f3d4 fix test names 2008-07-23 10:23:08 +00:00
Antony Dovgal c31464c976 fix test 2008-07-23 09:49:18 +00:00
Antony Dovgal c4b8d7149f fix test 2008-07-23 09:29:21 +00:00
Arnaud Le Blanc 0b2ecdbac5 MFH: Fix tests: need simplexml 2008-07-23 09:25:06 +00:00
Antony Dovgal af00eedf4a MFH: add PHP_STREAM_FLAG_FCLOSE to zip streams 2008-07-23 09:09:10 +00:00
Hartmut Holzgraefe 6fcc0ec369 splitted test cases for lo_create and lo_import, added version aware
SKIP tests
2008-07-23 09:06:59 +00:00
Antony Dovgal 0c9d42bfde MFH: add PHP_STREAM_FLAG_FCLOSE, bz2 streams can be closed with fclose() 2008-07-23 08:56:29 +00:00
Arnaud Le Blanc 15b1c9aade MFH: Fix tests: soap tests in schema/ needs the xml extension 2008-07-23 08:56:20 +00:00
Arnaud Le Blanc f11ae4d440 MFH: Fix test: use canonical name to avoid problems with domain search path 2008-07-23 08:27:17 +00:00
Marcus Boerger d78f5554e7 - [DOC] Add FilesystemIterator::SKIP_DOTS (flag to skip '.' and '..' in iteration) 2008-07-23 06:12:29 +00:00
Marcus Boerger e48d79ba07 - MFH Add new classes 2008-07-23 06:08:07 +00:00
Stanislav Malyshev c7e1aefd7f add test 2008-07-23 01:18:25 +00:00
Stanislav Malyshev 775502f7e9 add acceptFromHttp 2008-07-23 01:15:33 +00:00
Hartmut Holzgraefe 432b57b2ae added support for object ids in pg_lo_create() and pg_lo_import() where available
(based on code provided by Tatsuo Ishii)
2008-07-23 00:17:19 +00:00
Andrey Hristov 8c56a23a26 MFH: Two less failing tests, one of which was definitely a leak in mysqli with mysqlnd
and pconn. ext/mysql is being fixed with a better fix for similar leak.
2008-07-22 23:44:23 +00:00
Marcus Boerger ae8ef6c13a - MFH Add MultipleIterator (Arnaud, Marcus) 2008-07-22 22:54:35 +00:00
Scott MacVicar 8d3bfaa01f Fix windows build error. 2008-07-22 21:53:53 +00:00
Stanislav Malyshev 0d30c88ded use correct locale check 2008-07-22 20:40:01 +00:00
Stanislav Malyshev 07667caf13 typofixes 2008-07-22 20:25:51 +00:00
Stanislav Malyshev d54c396dca refactor ctors, cleanup code 2008-07-22 20:23:47 +00:00
Felipe Pena 1fb3313f75 - MFH: The error level must be E_ALL | E_STRICT. 2008-07-22 19:59:37 +00:00
Andrey Hristov 529d73f9d4 MFH: Fix a leak with pconn and mysqlnd 2008-07-22 17:41:15 +00:00
Scott MacVicar d8d69652dd MFH: Add test for escapeshellcmd and restore previous behaviour with stripping % on Windows. 2008-07-22 16:21:16 +00:00
Andrey Hristov 2c54b3abb5 More debugging info for the trace log 2008-07-22 16:06:08 +00:00
Jani Taskinen 4e2ed54d15 ws + cs 2008-07-22 15:30:03 +00:00
Jani Taskinen 7e67bc4e80 MFH: unused stuff 2008-07-22 14:57:46 +00:00
Felipe Pena fdfbfb96a1 - MFH: Fixed bug #44246 (closedir() accepts a file resource opened by fopen()) 2008-07-22 14:09:24 +00:00
Rob Richards cb3bc15807 MFH: Visibility (bug #45557) 2008-07-22 10:30:38 +00:00
Steph Fox 6fc2b09285 MFH Add missing help text 2008-07-22 09:35:55 +00:00
Moriyoshi Koizumi 90f9a8e457 - Remove duplicated lines. 2008-07-22 09:18:30 +00:00
Jani Taskinen d10d4e48c3 ws 2008-07-22 07:44:41 +00:00
Dmitry Stogov 4d8bdd9d1b Closure object cannot have properties 2008-07-22 07:29:31 +00:00
Derick Rethans 05d2ae4c9e - This test works fine (patch by Lars Strojny) 2008-07-22 07:13:52 +00:00
Dmitry Stogov 4b0b1d804e Fixed test 2008-07-22 07:09:59 +00:00
Dmitry Stogov c48c63f5e6 Improved webPhar speed (frontcontroller11.phar.phpt is disabled, should be removed) 2008-07-22 07:03:00 +00:00
Pierre Joye 39ae248465 - MFH: Segfault when an exception is thrown on persistent connections 2008-07-22 06:51:00 +00:00
Felipe Pena 1d5c800648 - MFH: Added arginfo 2008-07-22 01:47:22 +00:00
Scott MacVicar 6c48a01f40 MFH: Fix integer oveflow in strrpos() 2008-07-22 01:10:58 +00:00
Felipe Pena f349c14414 MFH:
- Removed ntest and utest
- Removed -U flag to `make test' just to test once each test
2008-07-21 22:41:39 +00:00
Felipe Pena dab8b811c2 - Fixed securities issue detailed in CVE-2008-2665 and CVE-2008-2666.
(patch by Christian Hoffmann)
2008-07-21 19:32:21 +00:00
Scott MacVicar e19f52047c Optimisation for zend_memnstr when the needle is only a single character. (Patch by Michal Dziemianko - GSoC08) 2008-07-21 18:47:02 +00:00
Pierre Joye 86a493f435 - SAB: #41996, Problem accessing Oracle ROWID (Martin Jansen) 2008-07-21 17:35:50 +00:00
Dmitry Stogov 9d4064afc0 Added check for small ZEMD_MM_SEG_SIZE 2008-07-21 17:06:35 +00:00
Jani Taskinen 07586f682b MFH:- Visibility (bug #45564) 2008-07-21 16:23:00 +00:00
Jani Taskinen 1ca8daaafb MFH: sync 2008-07-21 16:16:30 +00:00
Jani Taskinen 745e63f6cf MFH: Sync with PHP 6. 2008-07-21 16:08:15 +00:00
Johannes Schlüter be0793d2e7 MFH: Add mysqlnd support for PDO_mysql, fixes at least bug#41997,#42499,
pecl#12794, pecl#12401

# Running the tests:
# (Note: Doesn't work currnetly on HEAD, see:
#  http://news.php.net/php.qa/64378)
#
#  PDO_MYSQL_TEST_DSN  - DSN
#    For example: mysql:dbname=test;host=localhost;port=3306
#
#  PDO_MYSQL_TEST_HOST    - database host
#  PDO_MYSQL_TEST_DB      - database (schema) name
#  PDO_MYSQL_TEST_SOCKET  - database server socket
#  PDO_MYSQL_TEST_ENGINE  - storage engine to use
#  PDO_MYSQL_TEST_USER    - database user
#  PDO_MYSQL_TEST_PASS    - database user password
#  PDO_MYSQL_TEST_CHARSET - database charset
#
#  NOTE: if any of PDO_MYSQL_TEST_[HOST|DB|SOCKET|ENGINE|CHARSET] is
#  part of PDO_MYSQL_TEST_DSN, the values must match. That is, for example,
#  for PDO_MYSQL_TEST_DSN = mysql:dbname=test you MUST set PDO_MYSQL_TEST_DB=test.
2008-07-21 13:09:28 +00:00
Andrey Hristov c6c238c772 Pure, old-fashion CVS grown, bug fix. 2008-07-21 13:05:46 +00:00
Andrey Hristov 5e79f2c476 Fix for bug#45179 --with-mysql-sock fails to compile & work
Now --with-mysql-sock controls all mysql extensions. If provided it will be
the default value as it was set in php.ini . php.ini will override it for
ext/mysql and ext/mysqli but not for pdo_mysql
2008-07-21 12:58:51 +00:00
Hannes Magnusson ee40f557a7 Fix tests (patch by Lars) 2008-07-21 12:23:38 +00:00
Jani Taskinen 89935d6f7e - Forward compatibility.
# @DOC@, [DOC], *DOC*: Added FILE_TEXT and FILE_BINARY constants for forward compatibility.
2008-07-21 11:46:18 +00:00
Kalle Sommer Nielsen 769cb023fb MFH 2008-07-21 11:09:36 +00:00
Jani Taskinen 4bc58bc957 - More stupid WS etc fixes. Plus the missing help text place holders for Steph to fill up.. 2008-07-21 11:05:23 +00:00
Jani Taskinen 24f2ac9617 MFH: Stupid WS fixes..Thanks Steph! 2008-07-21 10:48:31 +00:00
Jani Taskinen 0f9e2b1753 MFH: sync acinclude.m4 (leave the PHP_PROG_LEX for BC!) 2008-07-21 10:31:37 +00:00
Jani Taskinen 7efc1a2e97 MFH: sync configure.in with HEAD (where applicable) 2008-07-21 10:17:36 +00:00
Hannes Magnusson 4cc73804a7 Run the tests with E_STRICT again
# Why isn't E_STRICT in E_ALL?
2008-07-21 09:59:37 +00:00
Hannes Magnusson d619b57efa MFH: Add E_USER_DEPRECATED (patch by Lars Strojny) 2008-07-21 09:41:00 +00:00
Hannes Magnusson 4fb0ceca1b MFH: fix proto 2008-07-21 09:38:04 +00:00
Kalle Sommer Nielsen f204fdddb1 Fix test on Windows 2008-07-21 09:32:56 +00:00
Derick Rethans f279efa61e - MFH: Fixed one more test (on 32 bits) 2008-07-21 09:32:15 +00:00
Dmitry Stogov baab204436 Fixed chdir() into requested file directory inconsistencies 2008-07-21 08:43:36 +00:00
Marcus Boerger 2b5e4d4553 - MFH Little debug hack to allow printing vm function 2008-07-21 08:14:24 +00:00
Derick Rethans 96dedbfedb - MFH: fix test 2008-07-21 07:27:26 +00:00
Antony Dovgal 69b3e17faa MFH 2008-07-21 07:27:13 +00:00
Derick Rethans f8050d525f - MFH: Fixed bug #45562 (Creating instance of DatePeriod crashes). 2008-07-20 20:58:51 +00:00
Kalle Sommer Nielsen 04be84748f Fix macro redef 2008-07-20 20:17:48 +00:00
Kalle Sommer Nielsen c9be725fd8 MFH + NEWS entry 2008-07-20 19:03:18 +00:00
Moriyoshi Koizumi 69fa2e384a - MFH: Bug #45572 2008-07-20 18:26:02 +00:00
Etienne Kneuss 6f289c582b MFH: Iterator methods overwriting optimisations 2008-07-20 17:32:10 +00:00
Felipe Pena a30add1ba0 - BFN: #45571 2008-07-20 16:54:06 +00:00
Felipe Pena a83e976857 - Fixed bug #45571 (ReflectionClass::export() shows superclasses' private static methods.)
patch by Robin Fernandes
2008-07-20 16:51:28 +00:00
Etienne Kneuss 3d0d02f95b MFH: Fix build for solaris 2008-07-20 16:32:55 +00:00
Dmitry Stogov 331a4e46a4 Fixed test 2008-07-20 16:20:02 +00:00
Dmitry Stogov 58e6e2b3d9 Fixed test 2008-07-20 15:56:28 +00:00
Moriyoshi Koizumi 579bb2a9dc - Fix the header (thanks Johannes) 2008-07-20 15:10:24 +00:00
Dmitry Stogov 68537af530 Fixed directory reanming/deletion 2008-07-20 14:42:34 +00:00
Felipe Pena b22f47ee30 - Added arginfo 2008-07-20 14:28:41 +00:00
Moriyoshi Koizumi 91fba3893b - WS fix 2008-07-20 12:47:34 +00:00
Steph Fox 6931789f31 - Happy New Year!
(better late than never, eh?)
2008-07-20 02:20:31 +00:00
Steph Fox aca8bb5757 - Update get_define() calls to reflect earlier change in return value on failure
- Rename output files (to avoid that build option for "php5ts.exe")
- Add libpath to intermediate dir path (avoids a naming collision that wasn't there last week)
- Don't make assumptions about trailing whitespace in incoming data
2008-07-20 01:19:45 +00:00
Etienne Kneuss 5495813bb3 MFH: Complete the ZTS build fix 2008-07-19 19:45:55 +00:00
Derick Rethans 5501431626 - MFH: Fixed ZTS build. 2008-07-19 19:24:07 +00:00
Steph Fox 9a5f2e1b79 - Fix logic in get_define() 2008-07-19 19:02:59 +00:00
Derick Rethans 42aa7f3dd4 - MFH: Country codes are ISO 3166. 2008-07-19 17:38:29 +00:00
Steph Fox e19914f5b5 - Rejig REMOVE_TARGET
- Tidy ADD_EXTENSION_DEP
- Put summary output in alphabetical order
2008-07-19 16:57:58 +00:00
Marcus Boerger 0b42dbce38 - MFH Add MultipleIterator (http://blog.somabo.de/2008/01/multipleiterator-for-php.html) 2008-07-19 15:56:59 +00:00
Marcus Boerger e537b7934d - MFH Added RecursiveTreeIterator 2008-07-19 15:49:21 +00:00
Etienne Kneuss f4c3f18053 MFH: Fix valgrind errors in array_method, and possibly #45349 (Thanks tony for the patch) 2008-07-19 13:13:57 +00:00
Etienne Kneuss 8dafec40be MFH: Implement DirectoryIterator::seek 2008-07-19 11:20:18 +00:00
Henrique do Nascimento Angelo 158239004e New tests 2008-07-18 23:52:01 +00:00
Felipe Pena ff9ad113e9 - New tests 2008-07-18 19:24:49 +00:00
Felipe Pena 6e0906323e MFB:
- Fixed bug #45556 (Return value from callback isn't freed).
- Fixed bug #45555 (Segfault with invalid non-string as register_introspection_callback).
- Fixed wrong arginfo for xmlrpc_encode_request()
2008-07-18 19:24:03 +00:00
Felipe Pena 46ed694cb7 - Added: Deprecated ticks support. 2008-07-18 17:55:59 +00:00
Steph Fox 130c53263c - Make SAPI include paths work (on my box at least) 2008-07-18 17:35:37 +00:00
Steph Fox 18911142e2 - Make REMOVE_TARGET work in all cases 2008-07-18 15:45:03 +00:00
Derick Rethans 84693147d0 - MFH: Added support for selectively listing timezone identifiers by country
code through timezone_identifiers_list() / DateTimezone::listIdentifiers().
- MFH: Added timezone_location_get() / DateTimezone::getLocation() for
  retrieving location information from timezones.
2008-07-18 14:33:53 +00:00
Derick Rethans 039bc2d3e2 - Updated to version 2008.4.1 (2008d) 2008-07-18 13:46:06 +00:00
Scott MacVicar 35c58958a2 Fix compile error due to the removal of fteller on streams. 2008-07-18 13:08:08 +00:00
Felipe Pena 94840506de - Fixed test 2008-07-18 12:20:29 +00:00
Dmitry Stogov 529ac539d0 Fixed access to freed memory 2008-07-18 09:35:51 +00:00
Antony Dovgal fbf68def7d fix segfault 2008-07-18 07:39:53 +00:00
Steph Fox 893c55f2bc - SAPIs are go.
Caveat: aolserver, isapi, nsapi, pi3web and (obviously) Linux-specific modules not tested.
2008-07-18 02:53:06 +00:00
Scott MacVicar 2558df59d9 Remove GD 1.0 support, still need to adjust the configure scripts to correctly check for a newer version 2008-07-18 01:51:49 +00:00
Scott MacVicar 62de800b36 Remove freetype1 support 2008-07-18 01:16:25 +00:00
Pierre Joye 9a60aed6d1 - MFB: fix crash when some crafted font are given 2008-07-17 23:13:09 +00:00
Moriyoshi Koizumi 2392861770 - MFH: Fix ZTS build 2008-07-17 20:04:06 +00:00
Felipe Pena c3453925c5 - Deprecate ticks 2008-07-17 19:29:34 +00:00
Stanislav Malyshev 10e7231f2a vc9 build fix 2008-07-17 17:48:50 +00:00
Pierre Joye 1fdd27500b - MFH: CS/WS 2008-07-17 17:31:35 +00:00
Scott MacVicar 8cd0d59f71 This file isn't needed any more 2008-07-17 17:24:26 +00:00
Moriyoshi Koizumi 85d7751097 - Fix include_path. 2008-07-17 16:30:32 +00:00
Moriyoshi Koizumi f78da21527 - MFH: Removed dependencies from php_mbregex to oniguruma types 2008-07-17 16:08:37 +00:00
Nuno Lopes a00a69b3e5 update PCRE symbols 2008-07-17 14:34:51 +00:00
Rui Hirokawa db88da985e fixed win32 build when ext/mbstring is enabled. 2008-07-17 14:10:53 +00:00
Dmitry Stogov 67b77b06e5 Fixed search on uninitialized data 2008-07-17 14:05:07 +00:00
Dmitry Stogov 5c631e8765 Fixed wrong arguments order 2008-07-17 13:22:32 +00:00
Antony Dovgal fe54c5144d fix folding 2008-07-17 10:24:51 +00:00
Dmitry Stogov 833a2295d1 Support for closures 2008-07-17 09:53:42 +00:00
Christopher Jones 47e6c5d017 Allow PECL builds with PHP 4. No MTH needed 2008-07-17 00:36:02 +00:00
Christopher Jones d990032b7a MFH: [DOC] Add LOB & Collection class parameter reflection 2008-07-16 23:55:13 +00:00
Rui Hirokawa 0814d9e58a revert my previous patch. 2008-07-16 22:56:56 +00:00
Steph Fox 640270c4dc Update README to reflect current state of play 2008-07-16 22:30:12 +00:00
Steph Fox 3dcb59a05a - A bit more finesse for .dsp generation
- Builds (on my box) for cgi or cli
- This is still VC6-only at present
2008-07-16 22:25:46 +00:00
Christopher Jones 1c1c98c620 MFH
1. Merged ARG_INFO patch (Felipe)

2. Allow empty username & password so Oracle can do non-password based
authentication, i.e. "External Authentication".
http://news.php.net/php.internals/37545

[DOC]

A new OCI_CRED_EXT flag can be passed as the "session_mode" parameter
to oci_connect(), oci_new_connect() and oci_pconnect().

  $c1 = oci_connect("/", "", $db, null, OCI_CRED_EXT);

This tells Oracle to do external or OS authentication, if configured
in the database.

OCI_CRED_EXT can only be used with username of "/" and a empty
password.  Oci8.privileged_connection may be On or Off.  OCI_CRED_EXT
is not supported on Windows for security reasons.

The new flag may be combined with the existing OCI_SYSOPER or
OCI_SYSDBA modes (note: oci8.privileged_connection needs to be On for
OCI_SYSDBA and OCI_SYSOPER), e.g.:

  $c1 = oci_connect("/", "", $db, null, OCI_CRED_EXT+OCI_SYSOPER);
2008-07-16 22:16:03 +00:00
Christopher Jones 47c918cd6f MFH: improve skipif 2008-07-16 19:52:01 +00:00
Felipe Pena c91e9cc1bd - Added arginfo 2008-07-16 18:34:56 +00:00
Jani Taskinen 6c351b544c -nuke weird char 2008-07-16 16:29:37 +00:00
Jani Taskinen 8558c090e9 MFH:- Prevent errors in CVS builds when bison is not there (for Sean :) 2008-07-16 16:22:43 +00:00
Pierre Joye 2a172dcc8c - fix the fix 2008-07-16 15:41:58 +00:00
Derick Rethans 0ab7520dc0 - MFH: Fixed bug #45529 (new DateTimeZone() and date_create()->getTimezone() behave
different).
2008-07-16 15:41:01 +00:00
Dmitry Stogov 44557cf981 Improved support for opcode caches. Now some open() syscalls might be eliminated by caches. 2008-07-16 15:09:39 +00:00
Jani Taskinen d91bc9eca2 MFH:- Fixed bug #44127 (UNIX abstract namespace socket connect does not work) 2008-07-16 14:08:38 +00:00
Felipe Pena 644b06978a - Fix typo (thanks Pierre) 2008-07-16 13:41:35 +00:00
Jani Taskinen 39098a6d16 - Fix build 2008-07-16 12:37:00 +00:00
Derick Rethans 99b31af3f9 - Fixed a segfault - simply a forgotten return; 2008-07-16 12:35:11 +00:00
Rui Hirokawa 6d9788d768 fixed compile error on Win32 environment. 2008-07-16 12:21:46 +00:00
Felipe Pena 67185d6098 - Added arginfo 2008-07-16 11:59:15 +00:00
Derick Rethans 8d14c2b182 - MFH: Fixed tests. 2008-07-16 07:36:04 +00:00
Moriyoshi Koizumi 88318e0294 - MFH: Added a new configure option --with-onig=[DIR] that allows the extension
to link to the external oniguruma library.
- MFH: Prevent libmbfl files from being installed when --with-libmbfl is
  specified.
2008-07-16 02:30:49 +00:00
Moriyoshi Koizumi 817f393a2d * MFH: indentation fix only 2008-07-15 18:04:32 +00:00
Derick Rethans 3df7836db9 - MFH: Also add the warnings for times. This does not make sense for the
english text parser, as invalid times are never allowed in there.
2008-07-15 17:38:27 +00:00
Pierre Joye 597d411627 - MFH: Port mcrypt_create_iv to windows (aka fix it on windows) 2008-07-15 17:05:02 +00:00
Scott MacVicar a9d60c014b MFH: Fix bug when < is used within attribute. 2008-07-15 14:46:12 +00:00
Dmitry Stogov 05f3ed67d4 Fixed bug #45151 (Crash with URI/file..php (filename contains 2 dots)) 2008-07-15 13:39:17 +00:00
Dmitry Stogov c27eba9bcf Fixed bug #45423 (fastcgi parent process doesn't invoke php_module_shutdown before shutdown) (basant dot kukreja at sun dot com) 2008-07-15 13:11:19 +00:00
Andrey Hristov 136a55fcd9 Sync with bzr 2008-07-15 13:11:09 +00:00
Felix De Vliegher 0adb8c0b10 Tests for strpbrk(), testfest.php.net task #91 and #92. 2008-07-15 11:14:42 +00:00
Antony Dovgal 56ba1f9e80 fix test 2008-07-15 09:14:28 +00:00
Lars Strojny 4cc5f49d97 Return null on when param parsing errors occur 2008-07-15 09:09:09 +00:00
Lars Strojny 9cd815a956 New parameter parsing API 2008-07-15 08:50:04 +00:00
Lars Strojny 742d0ad166 Reenabling the test but removing the test cases for old_function as the alternative syntaxes are still there 2008-07-15 08:34:18 +00:00
Henrique do Nascimento Angelo 0890b92f86 Fix error message 2008-07-15 03:20:44 +00:00
Henrique do Nascimento Angelo d3538f427a Fix uninitilized variables in openssl_pkcs7_encrypt() and openssl_pkcs7_sign() 2008-07-15 02:59:56 +00:00
Henrique do Nascimento Angelo 8e2248c8b1 Fix segfault caused by openssl_pkey_new() in ext/openssl/tests/006.phpt 2008-07-15 02:43:30 +00:00
Jani Taskinen cd913eb2d8 MFH:- Fix tests (do NOT assume things in php.ini always to be same...or sane) 2008-07-15 01:00:00 +00:00
Stanislav Malyshev 3e330504d1 add intl to extensions 2008-07-14 19:32:52 +00:00
Felipe Pena 2838f22fc0 - Added arginfo 2008-07-14 18:08:37 +00:00
Felipe Pena 07444b4670 - Added arginfo 2008-07-14 17:50:47 +00:00
Derick Rethans e7ee127f9c - MFH: Fixed reversed logic. 2008-07-14 17:38:33 +00:00
Derick Rethans c76ba173a9 - MFH: Added a warning to the error struct in case a parsed-date was found to
be invalid.
2008-07-14 17:36:12 +00:00
Josie Messa be5633612a - Tests from TestFest
- Have slightly modified similar_text_error.phpt from original file
2008-07-14 15:27:19 +00:00
Felipe Pena a142b6cd86 - New tests 2008-07-14 13:36:40 +00:00
Dmitry Stogov 0fa7fedfde Fixed is_callable() to support closures and return appropriate function name 2008-07-14 12:18:23 +00:00
Felipe Pena bc12bc69aa - Fixed test titles 2008-07-14 11:57:44 +00:00
Felipe Pena 8a388f61a1 - Fixed tests 2008-07-14 11:47:44 +00:00
Matt Wilmas bc8b11ce02 MFH: Prevent build failure after closures 2008-07-14 10:15:31 +00:00
Dmitry Stogov d5ef2f466c Added support for lambda functions and closures 2008-07-14 09:49:03 +00:00
Jani Taskinen d23342397c No dots 2008-07-14 09:03:48 +00:00
Jani Taskinen 1e2b2bbeae - Some config*.m4 file cleanups: NO tabs in these! 2008-07-14 09:02:26 +00:00
Jani Taskinen 4db24954fb - Update credits: Whenever some extension is removed/added, remember to run scripts/dev/credits and commit ext/standards/credits* !! 2008-07-14 08:57:10 +00:00
Antony Dovgal cd408f1235 MFH: minor speedup - convert offset to long only when needed 2008-07-14 08:09:09 +00:00
Stanislav Malyshev bdc0acdd77 add icu version to phpinfo 2008-07-14 07:16:24 +00:00
Antony Dovgal 9ff6e26d74 fix typo 2008-07-14 06:44:05 +00:00
Stanislav Malyshev aeef561b98 fix test 2008-07-14 06:42:45 +00:00
Stanislav Malyshev 44326938eb - increase max locale to 80
- add some macros
2008-07-14 06:42:11 +00:00
Stanislav Malyshev 01e9895f41 todo 2008-07-14 06:15:49 +00:00
Marcus Boerger ffb3a6b658 - BFN 2008-07-13 21:59:50 +00:00
Marcus Boerger ca64703134 - Use new helper 2008-07-13 21:45:07 +00:00
Marcus Boerger a694fad739 - MFH Fix test 2008-07-13 21:44:38 +00:00
Antony Dovgal 4a71b17693 more fixed tests 2008-07-13 21:43:12 +00:00
Marcus Boerger 2bf3bfc746 - MFH Exception handling
[DOC]
- Exceptions can be thrown while exceptions are pending, they are linked
- Exceptions can be handled in __destruct
- Add optional Exception $previous parameter to
  . Exception::__construct
  . ErrorException::__construct
2008-07-13 21:42:49 +00:00
Antony Dovgal 805f552cd3 fix skipif sections 2008-07-13 21:40:49 +00:00
Antony Dovgal 80e391190a add missing SKIPIF sections 2008-07-13 21:34:15 +00:00
Antony Dovgal ad275fa6ef MFH 2008-07-13 21:22:55 +00:00
Antony Dovgal 4f040525ef improve code coverage 2008-07-13 19:47:52 +00:00
Etienne Kneuss f60da35554 MFH: Implement toArray,fromArray and get_properties (Thanks Tony for the patches) 2008-07-13 15:59:52 +00:00
Antony Dovgal 0cd1f90e29 blind fix for a segfault in ext/pdo_firebird/tests/bug_38253.phpt 2008-07-13 10:55:50 +00:00
Antony Dovgal 8793440eee fix test 2008-07-13 09:42:25 +00:00
Pierre Joye 8c7c445404 - wrong bracket position while mergin 2008-07-13 09:34:08 +00:00
Antony Dovgal 205ba532cf apply correct fix 2008-07-13 09:32:46 +00:00
Antony Dovgal 68a61e9981 fix segfault in Exception::__toString() 2008-07-13 09:29:44 +00:00
Antony Dovgal 669a441bcd fix test 2008-07-13 09:29:16 +00:00
Rui Hirokawa 97b0ae946f fixed #43227 removed PHP_INI_PERDIR from mbstring.func_overload. 2008-07-13 01:34:21 +00:00
Rui Hirokawa 7aab46a2f1 updated bundled oniguruma from 4.4.0 to 4.7.1 2008-07-13 01:25:22 +00:00
Pierre Joye 64cf2c2f50 - MFH: fix build with VC9 PSDK6.x 2008-07-12 23:54:53 +00:00
Pierre Joye 92f5c267f6 - MFH: support for new naming 2008-07-12 23:42:25 +00:00
Pierre Joye f8a7c37c83 - MFH: don't use inet_ntop when not present 2008-07-12 23:26:02 +00:00
Felipe Pena 75db10f95b - MFB: Fixed bug #45220 (curl_read callback returns -1 when needs to return size_t (unsigned)) 2008-07-12 21:16:50 +00:00
Steph Fox 9e2f3c57d0 This looks more than it is due to ws/cs and minor fixes in it...
- Fixes logic in dependency check
- Fixes logic in AC_DEFINE error message
- Prevents shared extensions from building if a hard dependency is missing altogether
- Cleans up errors/warnings/messages for all scenarios
- Changes a function call to the new project support
2008-07-12 15:04:39 +00:00
Marcus Boerger d34b08646d - Missed one line in merge 2008-07-12 14:59:46 +00:00
Marcus Boerger e4869828a7 - MFH Allow multiple exceptions in spl's autoload 2008-07-12 14:58:41 +00:00
Marcus Boerger 61a808dfa9 - MFH Add support for linking exceptions (implements TODO) 2008-07-12 14:57:14 +00:00
Felipe Pena 8cbd7cc7b9 - MFB: Fixed bug #45449 (filesize() regression using ftp wrapper) (patch by crrodriguez at suse dot de) 2008-07-11 18:33:35 +00:00
Rob Richards 58c300ddf6 dont forget the header 2008-07-11 15:05:05 +00:00
Rob Richards 848c7196f4 fix iconv linking 2008-07-11 14:41:06 +00:00
Felipe Pena 40e96d282d MFB: - Fixed bug #45486 (mb_send_mail(); header 'Content-Type: text/plain; charset=' parsing incorrect) 2008-07-11 13:53:09 +00:00
Jani Taskinen 0cd842e51b nuke unused variable 2008-07-11 13:50:43 +00:00
Jani Taskinen 7cb641a66e MFH: silence warning 2008-07-11 13:11:49 +00:00
Antony Dovgal 04c8373b6a MFH 2008-07-11 12:44:02 +00:00
Felipe Pena 8ea5ae6c9a - MFB: Fixed bug #45485 (strip_tags and <?XML tag) 2008-07-11 12:25:38 +00:00
Felipe Pena f1f2a238ca MFB: - Fixed the strings size in imap_headerinfo 2008-07-11 11:27:32 +00:00
Antony Dovgal cf7e15c3a0 MFH: manage references of stream context properly 2008-07-11 10:25:15 +00:00
Antony Dovgal 46f41aded1 MFH 2008-07-11 09:17:10 +00:00
Antony Dovgal 0c8d3ebe9c MFH 2008-07-11 09:15:44 +00:00
Antony Dovgal 0be3a5dcd5 drop unused var 2008-07-11 09:11:18 +00:00
Antony Dovgal 120f19b6a6 fix function protos and is_link() wrapper 2008-07-11 08:53:43 +00:00
Derick Rethans 5ab9ca968b - MFH: Fixed a compiler warning - the code didn't make much sense. 2008-07-11 08:42:54 +00:00
David Soria Parra f41c78ddbb PHP Testfest. Tests done by Felix De Vliegher 2008-07-10 23:46:49 +00:00
Stanislav Malyshev f787963056 fix date formatter positions (bug #14263) 2008-07-10 21:58:02 +00:00
Felipe Pena b82c9b9461 - MFB: Fixed bug #45460 (imap patch for fromlength fix in imap_headerinfo doesn't accept lengths of 1024) 2008-07-10 17:50:51 +00:00
Dmitry Stogov 478234b235 Fixed wrong refcount updates 2008-07-10 16:16:15 +00:00
Dmitry Stogov d82b5d59b4 Added tests that demonstrate serious PHAR errors
They cannot be easly fixed without algorithms modification
2008-07-10 14:27:21 +00:00
Dmitry Stogov 53bbf1238c Extensions MUST NOT manipulate with internal functions from EG(function_table) in run-time. It may cause problems with opcode caches and in multi-threaded environment. Now the same functions are overriden at MINIT and call original functions or PHAR ones dependent on flag setting. 2008-07-10 11:36:50 +00:00
Etienne Kneuss 8ceb0b6fd3 MFH: Fix resolution rule of count vs. handler 2008-07-09 21:29:52 +00:00
Etienne Kneuss 003841e312 MFH: Move SXI::count to SXE::count and make it user-friendly 2008-07-09 21:27:28 +00:00
Etienne Kneuss b229f9b7d8 MFH: Test extended iterators methods 2008-07-09 20:35:04 +00:00
Rob Richards e83274cd16 fix zlib detection and linking 2008-07-09 16:09:35 +00:00
Steph Fox bcff952f23 - It's amazing the havoc one little misplaced bracket can cause... 2008-07-09 15:47:06 +00:00
Steph Fox 4fd2b80786 - Clean up ws/cs a bit and add some comments 2008-07-09 14:57:14 +00:00
Antony Dovgal aaebcb6078 add missing cvsignore 2008-07-09 14:18:39 +00:00
Antony Dovgal ae7eff10e8 add zero-terminator to the delimiter (and make valgrind happy) 2008-07-09 14:15:41 +00:00
Felipe Pena 8f8b51bc87 - Fixed test 2008-07-09 12:53:58 +00:00
Felipe Pena 28d91d0cde - Added arginfo 2008-07-09 12:50:57 +00:00
Antony Dovgal cf0708dc88 remove UEXPECTF section 2008-07-09 11:14:20 +00:00
Etienne Kneuss e16b96a58a add SplFileInfo::getPathInfo fix to NEWS 2008-07-09 10:07:46 +00:00
Dmitry Stogov 1cfd92fc43 Fixed efree(NULL) 2008-07-09 08:47:05 +00:00
Etienne Kneuss e53a9ca709 Fix filename/pathname/getpathinfo tests according to SPL fix 2008-07-09 08:39:42 +00:00
Joe Orton 3ab1efefc4 - MFH: tweak test case to better trigger the (now-fixed) reference bugs 2008-07-09 08:37:29 +00:00
Steph Fox 372178e9f0 - Add generated files to .cvsignore 2008-07-09 08:17:03 +00:00
Steph Fox 208d851444 - Embryonic project file generation. Use buildconf --add-project-files and hopefully it'll work.
- Please read the README before complaining.

@Stas, Rob - please test.
2008-07-09 08:15:46 +00:00
Etienne Kneuss 767eaa7a4e MFH: - Fix filename in debug_info
- Fix #45345 (getPathInfo on the file instead of the dir)
- Remove trailing / on input
2008-07-08 22:40:48 +00:00
Derick Rethans db2ed70a73 - MFH: Fixed bug #45459 (date_create_from_format() fails on DATE_RFC3339) by
allowing a few more format specifiers in date_create_from_format() /
  date_parse_from_format().
2008-07-08 20:25:28 +00:00
Derick Rethans 875d013b71 - MFH: Fixed a memleak (Original patch by Hannes Magnusson). 2008-07-08 19:29:18 +00:00
Pierre Joye 0ca3ffeda3 MFH:
- use _a for static lib
 - fix logic for shared zlib
2008-07-08 19:09:11 +00:00
Derick Rethans 4a23bbfe75 - MFH: Fixed some ambiguities in the date parser. 2008-07-08 18:28:49 +00:00
Nuno Lopes ae8fcea231 increase pcre.backtrack_limit so that the phpinfo.phpt test passes on my computer.
we should really consider increase the default of this limit.. (but not the recursion one though)
2008-07-08 18:18:08 +00:00
Derick Rethans 484d6b21c0 - Replaced // by /* .. */ comments. 2008-07-08 17:55:59 +00:00
Derick Rethans 198746158f - MFH: Fixed memory leaks and segfaults, patch by Joe Orton.
- MFH: Fixed bug #45038 (Crash when using DateTimeZone object returned by
  Date::getTimezone).
2008-07-08 17:41:51 +00:00
Antony Dovgal 9a5375a0e3 fix typo 2008-07-08 15:24:12 +00:00
Nuno Lopes 620055c4c2 regenerate 2008-07-08 15:17:52 +00:00
Nuno Lopes b8673e35a0 now really fix once and for all the #-style comments.
also remove some duplicated code in <?, <%, <%= handlers. this also has the side-effect of producing better bytecodes in some special cases
2008-07-08 15:16:35 +00:00
Nuno Lopes 29e7475124 add more tests for the parser. currently both fail 2008-07-08 14:38:31 +00:00
Scott MacVicar 64ba428eab Typo, missing items and clarify what sqlite was updated. 2008-07-08 12:15:39 +00:00
Scott MacVicar 8fa44736ea Add missing NEWS items. 2008-07-08 10:28:52 +00:00
Jani Taskinen e90f5d254f - We do not mention bugs that were not in any release. (DMITRY!..) 2008-07-08 09:33:49 +00:00
Jani Taskinen a95ed1da15 - Some more reordering 2008-07-08 09:30:38 +00:00
Jani Taskinen 88d4f52a0b - Reorder, simplify, make it somewhat more readable and easier to read. :) 2008-07-08 09:26:21 +00:00
Antony Dovgal 8eeaf9df95 capitalize multibyte support 2008-07-08 08:37:56 +00:00
Dmitry Stogov f7f74367df Fixed bug #45434 (circular reference causes segfault in gc_collect_cycles()) 2008-07-08 08:16:09 +00:00
David Soria Parra 375631c3b9 Exif tests from Eric Steward. Testfest task 82. 2008-07-07 23:31:54 +00:00
Stanislav Malyshev 9eb22ce7f7 Merge intl extension 2008-07-07 23:10:15 +00:00
Stanislav Malyshev 0d16b1516b Merge intl extension into core 2008-07-07 22:51:04 +00:00
Scott MacVicar 3bab7c18ac Tweak last commit, should always return NULL when an entry doesn't exist. 2008-07-07 21:50:56 +00:00
Scott MacVicar 43e7784b0a Add zend_ini_string_ex so that the you can differentiate between NULL as a value and its absence, this is important for ini_get. Related to bug #42657 and #43348 2008-07-07 21:37:46 +00:00
Hannes Magnusson 5c158c03ec He doesn't actually maintain it that much... :) 2008-07-07 17:58:32 +00:00
Felipe Pena 9d56746085 - Added arginfo 2008-07-07 17:33:47 +00:00
Felipe Pena bcecf98096 - Added arginfo 2008-07-07 17:18:43 +00:00
Derick Rethans c9e8ea703f - Updated to version 2008.4 (2008d) 2008-07-07 14:36:18 +00:00
Felipe Pena f61bd89b9c - Removed zend_arg_defs.c
The first_arg_force_ref, second_arg_force_ref, third_arg_force_ref,
   fourth_arg_force_ref, fifth_arg_force_ref and all_args_by_ref are not more used.
2008-07-07 14:22:02 +00:00
Pierre Joye 09e0bc6c90 - MFH:
- use ARG_ENABLE for the summary option
 - move test if summary function
2008-07-07 13:51:35 +00:00
Pierre Joye 5d04f639de - move common functions to confutils
- rename the summary option to reflect its usage (Enable Sumamry, yes)
2008-07-07 13:32:55 +00:00
Felipe Pena e7eda53a3b - Removed unused variables 2008-07-07 12:52:00 +00:00
Felipe Pena d7a224914e - Added arginfo
- Removed unnecessary #include "zend_arg_defs.c"
2008-07-07 12:40:51 +00:00
Jani Taskinen 4345a82661 - Update credits 2008-07-07 10:36:50 +00:00
Pierre Joye ce7428d9d9 - test for ZLIB_SHARED (possible conflict) 2008-07-07 08:41:10 +00:00
Steph Fox 005c6c8f04 - Don't do stuff twice over
@Jani: pick up mail!
2008-07-07 01:25:53 +00:00
Steph Fox e22ec182ed - Fix up some bits and pieces.
- Always report re2c version.
- Head towards making it possible for all platforms to have compiler info in phpinfo() output.
- Make it possible to switch off configure summary (--without-summary).
2008-07-07 01:23:56 +00:00
Steph Fox 5e6595d35a - This file is generated from win32/build/config.w32.h.in. It should never have been in CVS in the first place... 2008-07-07 01:16:44 +00:00
Steph Fox 27340e60fc - Fixed config.w32 to keep Elizabeth happy
- NB This whole lot still might disappear, OpenSSL patch review pending
2008-07-07 01:13:14 +00:00
Steph Fox 2c9df0990d - We forgot to check that the phar exists before trying to extract files from it :) 2008-07-07 01:11:07 +00:00
Steph Fox 5db08e7d1f Duplicate tests to accommodate parameter parsing fixes in 5_3 core
(NB the 5_2 tests will fail currently due to name changes, will fix tomorrow)
2008-07-07 01:09:21 +00:00
Etienne Kneuss c390865689 MFH: Fix my poor name 2008-07-07 00:07:59 +00:00
Etienne Kneuss 91ada2fd0a Remove .htaccess file(??) 2008-07-07 00:05:37 +00:00
Etienne Kneuss 0a2467bd05 MFH: Add missing test 2008-07-06 23:54:36 +00:00
Etienne Kneuss 0eea0a059e MFH: First part of count/handlers related fixes 2008-07-06 23:45:56 +00:00
Pierre Joye 7599f55fdf - some updates (will be used to send mails when an extension is broken, snaps or from RM/QA) 2008-07-06 19:24:54 +00:00
Pierre Joye a4354756eb - MFH:
- update lib/headers detection
  - nuke unused variables
2008-07-06 17:07:26 +00:00
Nuno Lopes 180a7bef35 add test for the shebang thing 2008-07-06 16:59:39 +00:00
Pierre Joye 4ef36bc364 - MFH: update lib detection and does not enable it when lib/headers are missing 2008-07-06 16:59:13 +00:00
Pierre Joye c02eff3995 - don't enable xmlrpc when libxml is missing 2008-07-06 16:52:59 +00:00
Nuno Lopes 504fe5eedb fix test for good consoles (tm) 2008-07-06 16:38:18 +00:00
Nuno Lopes 35233302e1 regenerate 2008-07-06 16:21:15 +00:00
Nuno Lopes ea11f6df43 fix last part of bug #44654 2008-07-06 16:20:51 +00:00
Nuno Lopes 25d8eb1e40 regenerate 2008-07-06 15:53:37 +00:00
Nuno Lopes 3ba706cc62 fix first part of bug #44654: scan for opening tag <? after a # char 2008-07-06 15:53:23 +00:00
Nuno Lopes 671caa1d5d add test for #-style comments. passes fine on both 5.2 and 5.3 2008-07-06 15:40:11 +00:00
Rui Hirokawa 0686ad4313 improved zend-multibyte detection. 2008-07-06 15:36:19 +00:00
Nuno Lopes d771fa6da1 fix CVE-2008-2371. patch by Tavis Ormandy
# currently there's no release of PCRE with this fix. PCRE's author recommended applying this patch in the meantime
2008-07-06 15:23:31 +00:00
Nuno Lopes 053dc572ca upgrade to PCRE 7.7 2008-07-06 15:17:25 +00:00
Pierre Joye 21bca5add3 - correctly test the VCVERS (four digits now) 2008-07-06 09:55:44 +00:00
Rui Hirokawa 07ce850026 added test script for zend-multibyte
(moved/modified from ext/mbstring/tests/)
2008-07-06 02:01:39 +00:00
Felipe Pena 73d93df417 - Fixed arginfo 2008-07-06 01:57:39 +00:00
Felipe Pena 816e66a85a - Added arginfo
- Removed #include "zend_arg_defs.c"
2008-07-05 23:30:22 +00:00
Felipe Pena 40ebd51f8e - Added arginfo
- Removed #include "zend_arg_defs.c"
2008-07-05 22:35:14 +00:00
Felipe Pena 376924229c - Removed unnecessary #include "zend_arg_defs.c" 2008-07-05 20:17:58 +00:00
Felipe Pena e51b1412da - Added arginfo (methods)
- Removed #include "zend_arg_defs.c"
2008-07-05 20:12:56 +00:00
Felipe Pena ead75b74f2 - zend_arg_defs.c is unnecessary now 2008-07-05 20:09:33 +00:00
Pierre Joye e78d5ac5c4 -MFH: improve detection of VC version and summary (2k2 and 2k3 are 1300 and resp. 1310) (Thx Marcus) 2008-07-05 19:53:04 +00:00
Pierre Joye 5627ff52f0 - MFH: don't redefine WINDOWS and pid_t 2008-07-05 18:51:17 +00:00
Pierre Joye 98ce717bf2 - MFH: _getpid is in process.h 2008-07-05 18:36:34 +00:00
Pierre Joye 53c53ed731 - MFH: silent redefinition warning 2008-07-05 18:17:37 +00:00
Pierre Joye f0d28fafa8 -MFH: fix build (function was never implemented), even if noone uses it (or complains about broken build ;) 2008-07-05 13:13:28 +00:00
Rui Hirokawa 5deede0da4 cosmetic change. 2008-07-05 07:36:24 +00:00
Rui Hirokawa b0ce4732b0 removed wrong bytes. 2008-07-05 07:30:01 +00:00
Rui Hirokawa 236114fa63 revert commit. 2008-07-05 07:10:25 +00:00
Rui Hirokawa a55482ad87 added CP1254 2008-07-05 07:09:37 +00:00
Rui Hirokawa dea0d31baf - added koi8-u (Ukrainian) and CP1254 (Turkish). 2008-07-05 06:52:04 +00:00
Scott MacVicar a164217bf2 Fix break caused by previous commit, warning and remove zend_get_parameters() 2008-07-05 00:28:16 +00:00
Pierre Joye 581c48c2a0 - fix compile error with vc6 (snaps) 2008-07-04 21:00:16 +00:00
Felipe Pena 543f015d52 - Moved protos to .c (sync with HEAD) 2008-07-04 14:50:07 +00:00
Felipe Pena c757089335 - Reverted previous commit
- Moved protos to .c (sync with HEAD)
2008-07-04 14:43:53 +00:00
Alexey Zakhlestin 8e46482aac fixed tests not to rely on actual strings of errors, as those are not defined by any standard and are platform-dependent 2008-07-04 14:30:36 +00:00
Felipe Pena 026d7fe232 - Added arginfo
- Removed #include "zend_arg_defs.c" (it's unnecessary now)
2008-07-04 14:08:16 +00:00
Derick Rethans 3657b0ab5c - Revert that crap. 2008-07-04 07:47:18 +00:00
Olivier Hill e360ff7476 New parameter parsing API 2008-07-03 20:19:26 +00:00
Rob Richards 74bc652de8 fix key container access 2008-07-03 19:40:15 +00:00
Antony Dovgal b691365e7b size_t -> int 2008-07-03 14:00:20 +00:00
Pierre Joye dead79dbcd - mcrypt_create_iv entry 2008-07-03 13:54:50 +00:00
Pierre Joye f0ec9b9475 - fix mcrypt_iv on windows, use urandom equivalent
- MFH, code cleaning and reorganisation
2008-07-03 13:50:14 +00:00
Felipe Pena 12a4c54dcf - Fixed compile warnings 2008-07-03 12:53:12 +00:00
Felipe Pena 6488a85545 - New parameter parsing API 2008-07-03 12:38:53 +00:00
Antony Dovgal bd07572494 fix test 2008-07-03 09:46:10 +00:00
Antony Dovgal 9ed8580b54 fix test 2008-07-03 09:22:17 +00:00
Antony Dovgal 449979cbd0 add a line to phpinfo() to indicate whether multibyte support is On or Off 2008-07-03 08:06:55 +00:00
Antony Dovgal 856c19c67c make --enable-zend-multibyte known to configure 2008-07-03 07:46:17 +00:00
Antony Dovgal 63d6d67aa7 fix tests 2008-07-03 07:41:58 +00:00
Felipe Pena bedd323878 - Added arginfo (functions) 2008-07-03 01:55:48 +00:00
Rob Richards 8d5ba06e87 fix win build 2008-07-02 23:48:22 +00:00
Pierre Joye 55d2b5862a - add summary function and VC version info 2008-07-02 20:50:18 +00:00
Pierre Joye 1224a66f7d - MFH: re2c detection, PHP_VERSION 2008-07-02 20:49:12 +00:00
Pierre Joye 2f3beadffd - add version info for 2007a and b
- update config.w32
2008-07-02 17:56:19 +00:00
Olivier Hill a9175febd6 Fix parse error 2008-07-02 15:00:21 +00:00
Pierre Joye 7a98fdc429 - MFH: fix make test TESTS=... and dynamic extension usage on windows 2008-07-02 12:47:06 +00:00
Antony Dovgal f77382f412 MFH 2008-07-02 12:25:15 +00:00
Antony Dovgal 9d4ede194f MFH: check return value of hash_find() 2008-07-02 10:47:11 +00:00
Felipe Pena 01a35a058f - Added arginfo 2008-07-02 00:10:54 +00:00
Felipe Pena 7294562366 - Added arginfo 2008-07-01 19:43:42 +00:00
Felipe Pena 0a61cda2c7 - Added arginfo 2008-07-01 19:13:44 +00:00
Felipe Pena 9c3c7e8803 - Added arginfo (functions) 2008-07-01 18:28:54 +00:00
Felipe Pena b206bac4e9 - Added arginfo
- Fixed compile warning
2008-07-01 17:24:10 +00:00
Felipe Pena 899e8d6dea - Fix check for PHP_SYBASE 2008-07-01 17:03:46 +00:00
Felipe Pena 44689fbb36 - Added arginfo 2008-07-01 15:45:54 +00:00
Felipe Pena f6c971b5f4 - Added arginfo 2008-07-01 15:33:11 +00:00
Dmitry Stogov 578cfc6088 Removed redundant code 2008-07-01 13:20:48 +00:00
Felipe Pena 2a35fb373f - Removed unused variables 2008-07-01 11:27:05 +00:00
Felipe Pena 55f7368408 - Fixed types
- Fixed protos
2008-07-01 11:26:10 +00:00
Dmitry Stogov f7938051d4 Use new parameter parsing API 2008-07-01 10:01:09 +00:00
Antony Dovgal c79df56ac6 fix test 2008-07-01 09:19:58 +00:00
Antony Dovgal d76ecaae08 long -> int + minor sources reorganization 2008-07-01 07:58:42 +00:00
Antony Dovgal 2f2953760b fix typo 2008-07-01 07:56:24 +00:00
Antony Dovgal e035184017 string length -> int 2008-07-01 07:54:30 +00:00
Antony Dovgal dd8202f652 int->long, add missing "s" 2008-07-01 07:43:36 +00:00
Antony Dovgal 7838408b4b more int -> long fixes 2008-07-01 07:41:38 +00:00
Antony Dovgal 6eeb67af78 more long -> int fixes 2008-07-01 07:39:33 +00:00
Antony Dovgal 0729dab2ae on the contrary, string length is int 2008-07-01 07:36:59 +00:00
Antony Dovgal 22b86e5d80 MFH 2008-07-01 07:23:00 +00:00
Felipe Pena 235aab6c0f - New parameter parsing API (to preg_replace*)
- Fixed related tests
2008-06-30 17:14:48 +00:00
Felipe Pena e7fc9029e6 - Added arginfo 2008-06-30 14:53:17 +00:00
Felipe Pena 44e0c9e4f6 - Added arginfo
- Removed #include "zend_arg_defs.c"
2008-06-30 13:15:03 +00:00
Felipe Pena 7ddf985e05 - zend_arg_defs.c is unnecessary now 2008-06-30 12:15:53 +00:00
Antony Dovgal c125461de1 "l" is long, that's why it is "l", not "i" 2008-06-30 10:39:34 +00:00
Antony Dovgal b763c47e4e int -> long 2008-06-30 10:10:44 +00:00
Felipe Pena 4fe93ca55d - Fixed test 2008-06-30 01:23:30 +00:00
Felipe Pena 69e3fc8782 - New parameter parsing API 2008-06-29 22:38:55 +00:00
Felipe Pena aeed97c0e1 - Added arginfo 2008-06-29 15:11:48 +00:00
Felipe Pena a44269ca0a - New parameter parsing API
- Added arginfo
2008-06-29 14:29:09 +00:00
Felipe Pena 02c36c4c4a - New parameter parsing API 2008-06-29 13:21:02 +00:00
Felipe Pena 1f69fbd2c3 - New parameter parsing API
- Added arginfo
2008-06-29 12:40:22 +00:00
Rui Hirokawa 867d7241cc touched zend_language_scanner.c 2008-06-29 11:37:35 +00:00
Rui Hirokawa e59fb93765 update zend_language_scanner.l to maintain the dependencies. 2008-06-29 11:20:18 +00:00
Rui Hirokawa c3286f32ef implemented again zend-multibyte for PHP 5.3 2008-06-29 08:21:35 +00:00
Felipe Pena a6410b3056 - Added arginfo 2008-06-28 22:05:59 +00:00
Felipe Pena 15d057df10 - New parameter parsing API 2008-06-28 21:36:39 +00:00
Alexey Zakhlestin 1c77f59429 updated to the new parameter-parsing api 2008-06-28 21:23:08 +00:00
Alexey Zakhlestin 95e419611d added arginfo (fixes #45388) 2008-06-28 18:04:19 +00:00
Scott MacVicar e710fab855 MFH: Sort Windows changes for mhash BC layer 2008-06-28 15:31:50 +00:00
Alexey Zakhlestin d33c8680ab fixed types (no more compiler warnings) 2008-06-28 10:01:17 +00:00
Alexey Zakhlestin 0045cb305b updated to the new parameter-parsing api 2008-06-28 09:52:03 +00:00
Henrique do Nascimento Angelo 4776dfb296 Fix a memory leak on openssl_decrypt() 2008-06-28 09:17:39 +00:00
Stanislav Malyshev e59bfcffa0 deprecate zend_get_parameters_ex 2008-06-27 21:16:41 +00:00
Felipe Pena cb0d08699d - Added arginfo 2008-06-27 19:16:17 +00:00
Stanislav Malyshev 148463ccd3 enable on MSVC too 2008-06-27 18:44:39 +00:00
Christopher Jones ff6cf25fa7 OCI8: MFH: (PECL #14219) Improve README 2008-06-27 18:26:16 +00:00
Felipe Pena ca0c2340fe - Added arginfo 2008-06-27 16:16:23 +00:00
Felipe Pena 2675046a95 - Added arginfo 2008-06-27 15:46:44 +00:00
Felipe Pena 2526420e34 - Added arginfo 2008-06-27 14:33:12 +00:00
Felipe Pena f53142acb6 - Added arginfo 2008-06-27 13:13:09 +00:00
Dmitry Stogov b872c30c85 ws 2008-06-27 06:43:21 +00:00
Felipe Pena fe0403d30d - New parameter parsing API 2008-06-27 02:58:13 +00:00
Greg Beaver 37c684ab3d in preparation for a performance optimization that involves
eliminating phar's interception of zend_compile in favor of a new to-be-added hook in PHP 5.3+,
allow "include 'phar:///path/to/my.phar';" to work as equivalent to
php /path/to/my.phar
this slight change in scripting still allows inclusion and execution of phar stub, but removes the need to
check and modify path in zend_compile, which allows us to play much nicer with external tools like
debuggers/opcode caches
2008-06-27 01:21:12 +00:00
Felipe Pena 424b5b2929 - New parameter parsing API 2008-06-27 00:22:18 +00:00
Stanislav Malyshev 019fd806a0 allow deprecating engine functions 2008-06-27 00:01:25 +00:00
Scott MacVicar cc7e8970de Make the old mhash API a wrapper around hash, this removes a dependency. 2008-06-26 22:33:16 +00:00
Felipe Pena d7f5edd988 - Fixed tests 2008-06-26 11:15:48 +00:00
Felix De Vliegher 4f7961b31a Tests for lchown(), testfest.php.net task number 129. 2008-06-26 09:10:54 +00:00
Felipe Pena d2faad9820 - Fixed test 2008-06-25 22:54:11 +00:00
Felipe Pena d8bc2719d7 - Removed E_DEPRECATED on is_a()
(http://marc.info/?l=php-internals&m=121390431523970&w=2)
[doc]
2008-06-25 22:35:31 +00:00
Felipe Pena 0b89de0f5f - New parameter parsing API 2008-06-25 16:18:55 +00:00
Felipe Pena 3ece9a2cf6 - New parameter parsing API 2008-06-25 15:06:58 +00:00
Felipe Pena 1133ffcf94 - New parameter parsing API 2008-06-25 14:46:19 +00:00
Dmitry Stogov 216909ced7 Added support for namespaces 2008-06-25 12:33:46 +00:00
Dmitry Stogov 531b31ca08 Fixed bug #45352 (Segmentation fault because of tick function on second request) 2008-06-25 12:18:36 +00:00
Olivier Hill c5ec48e858 New parameter parsing API 2008-06-25 12:16:17 +00:00
David Coallier 624c8f2f66 Reverted zpp API Cleanup patch - memory troubles? 2008-06-25 10:16:52 +00:00
David Coallier c1f8b9b7de - Hackish but working parameter parsing, no longer using
zend_get* at least
2008-06-25 08:56:42 +00:00
Felipe Pena 65e7b8f6d0 - New parameter parsing API 2008-06-25 03:18:58 +00:00
David Coallier 8c394f4955 - New parsing parameter API
- Tests have been adjusted, if you have something else failing
  let me know now! All tests seem to pass fine at the moment.
2008-06-24 22:53:01 +00:00
David Coallier 0674689940 - Tests for parsing parameter api 2008-06-24 22:51:57 +00:00
Andrey Hristov 827b772c9f Fix remaining valgrind problems with pconn and zval cache
HEAD merge will follow tomorrow.
2008-06-24 22:22:48 +00:00
Timm Friebe 4a58de4c5c - Migrated all zend_get_parameters_ex calls to zend_parse_parameters()
- Fixed prototype declarations to use the type resource instead of int
- Fixed sybase_close() not to crash when no connection was previously open
2008-06-24 16:33:17 +00:00
Felipe Pena 7939a8347e - New parameter parsing API 2008-06-24 16:01:32 +00:00
Raghubansh Kumar 24f01f7ab0 New testcases for hash_file(), Committed for Felix De Vliegher, TestFest Task No: 75 & 76, Tested on RHEL5 -32bit, WinXP-32bit 2008-06-24 15:44:50 +00:00
Andrey Hristov 943e9a577b Fix double-free, introduced lately 2008-06-24 13:19:29 +00:00
Felipe Pena ff83deb66d - Added arginfo 2008-06-24 12:09:31 +00:00
Andrey Hristov e0f45cf7ae Fix possible bug with persistent connections and mysqlnd 2008-06-24 11:01:38 +00:00
Felix De Vliegher 048736a907 Tests for ob_get_flush(), testfest task number #131. 2008-06-24 10:31:02 +00:00
Andrey Hristov 9d7955b821 Add missing header 2008-06-24 08:01:13 +00:00
Dmitry Stogov 7e5392b54a Fixed test 2008-06-24 07:06:08 +00:00
Andrey Hristov f93e715fc5 Even more debug info 2008-06-24 06:56:36 +00:00
Dmitry Stogov 9c3ebd10bb Fixed memory leaks 2008-06-24 06:47:45 +00:00
Dmitry Stogov 56bbba3a79 Fixed tests 2008-06-24 06:25:51 +00:00
Dmitry Stogov 273ee49acb Fixed strtolower/strtoupper to not modify the passed argument 2008-06-24 06:07:08 +00:00
Dmitry Stogov e13bb4c5f6 Reverted part of Steph's patch (stdin stream must be closed to make script finish) 2008-06-24 06:05:29 +00:00
Frank M. Kromann 99a430074f Not sure why this file was comitted?
I was running a CVS update and then I see commit messages with my user id!
Reverting the changes.
2008-06-24 06:01:53 +00:00
Kalle Sommer Nielsen 4398fbbbe4 MFH 2008-06-24 05:59:53 +00:00
Frank M. Kromann 7e5ee41aa9 no message 2008-06-24 04:31:05 +00:00
Greg Beaver 8bf72978b3 fix several issues:
1) segfault in phar_buildfromdirectoryiterator8.phpt
2) tests failing because SKIPDOTS is default on 64 bit, not on 32
3) Marcus, you really need to add SKIPDOTS as a class constant, so we don't have to use 0x00001000
2008-06-24 01:11:27 +00:00
Andrey Hristov ad0f0b73c7 Added more debug info for tracking problems 2008-06-23 22:21:18 +00:00
Pierre Joye 414f7fa6c3 - move sybase to pecl 2008-06-23 19:55:27 +00:00
Steph Fox b9e8695e75 - One solution for the openssl issues
- config.m4 needs bringing into line with config.w32, there may be broken behaviour under *nix until this is done
2008-06-23 19:18:01 +00:00
Pierre Joye 41976c7ab6 - do not enable an ext when a lib/header fails
- use MESSAGE in mysql*
- use correct CFLAGS for ext/libxml headers
2008-06-23 18:40:29 +00:00
Steph Fox 019c586191 - Wrong SKIPIF message 2008-06-23 17:48:23 +00:00
Felipe Pena f2d0da3c29 - Fixed folding 2008-06-23 17:28:06 +00:00
Felipe Pena ca0166605c - Added arginfo 2008-06-23 17:17:46 +00:00
Felipe Pena a3da6b4c1b - Added arginfo 2008-06-23 16:41:00 +00:00
Felipe Pena 8ee04f3452 - Added XFAIL 2008-06-23 14:04:08 +00:00
Pierre Joye 9118a7c671 - use stdout for MESSAGE (thx Steph) 2008-06-23 11:44:21 +00:00
Dmitry Stogov 8054f84a3c Fixed possible buffer overflow 2008-06-23 11:37:50 +00:00
Pierre Joye c9ec9fed7b - set PHP_[EXTNAME] to yes for spl, pcre and reflection (always on), this variable is required by ADD_EXTENSION_DEP 2008-06-23 10:22:42 +00:00
Pierre Joye cb417c55ac - add a MESSAGE function
[DOC] to be used instead of STDOUT in config.w32, it allows them to be redirected (like in a quiet mode)
- add the list of enabled SAPI
- improve the table output
2008-06-23 08:11:31 +00:00
Pierre Joye 4dcfb9a03f - fix ADD_EXTENSION_DEP detection so it can match it anywhere in a line 2008-06-23 07:55:03 +00:00
Greg Beaver 10f6d9a556 true fix for potential segfault in phar_build 2008-06-23 04:00:23 +00:00
Greg Beaver fb448c5c28 fix tar-related failures 2008-06-23 03:55:50 +00:00
Felipe Pena 0e63639070 - New parameter parsing API 2008-06-23 03:17:42 +00:00
Pierre Joye 58fce3a863 - really check for the dependency, libs and header and don't enable the ext if something is missing 2008-06-22 23:17:22 +00:00
Pierre Joye 1c0dbe6e09 - bindlib has its own package 2008-06-22 23:16:31 +00:00
Pierre Joye b613e76c8b - return true/false when a dep addition was succeeded or not 2008-06-22 23:15:54 +00:00
Pierre Joye 7053732b6f - don't show zlib as available when libs or headers are missing 2008-06-22 21:55:59 +00:00
Pierre Joye 5d112c35b7 - do not show libxml as enabled when libs are missing so ADD_EXTENSION_DEP('myext', 'libxml') can do its job 2008-06-22 21:49:06 +00:00
Felipe Pena f90b9d2979 - Fix build where __USE_GNU is used instead of _GNU_SOURCE to define utsname.domainname 2008-06-22 21:45:42 +00:00
Pierre Joye 2c8f57778c - add a list of the enabled extensions and how they are built (shared or static
list of SAPIs and libs used will follow shortly (to be used as QA check during the builds and as convenience)
2008-06-22 20:51:57 +00:00
Pierre Joye 0152bd0387 - clean new line (unix only now) 2008-06-22 19:50:38 +00:00
Olivier Hill 906b5b80df New parameter parsing API for string, part I 2008-06-22 19:22:41 +00:00
Felipe Pena 44fe6a6005 - Fixed tests 2008-06-22 19:16:44 +00:00
Uwe Schindler 48bfd44789 MFH: Response to: [PHP-DEV] cleaning up the functions - any volunteers? :) 2008-06-22 18:09:41 +00:00
Steph Fox c68a82ac7d - Revert the two blocks of code that implement the phar_build optimization, causes segfaults under *nix
- Leave the new structure in place to make re-implementation trivial
2008-06-22 16:35:26 +00:00
Etienne Kneuss f741f6cd6e MFH: Add some tests to increase code coverage 2008-06-22 16:25:02 +00:00
Felipe Pena bdd6712bf5 - New parameter parsing API 2008-06-22 16:08:52 +00:00
Alexey Zakhlestin 2369f43415 updated to the new parameter-parsing api 2008-06-22 15:16:11 +00:00
Steph Fox f3844ecd17 - Revert the tar.c part of the inode calculation fix
- All tests now pass under win32, please test under *nix/osx (4 known fails at present)
2008-06-22 14:46:10 +00:00
Rob Richards 92f8906b2b fix parameter parsing change 2008-06-22 14:13:41 +00:00
Alexey Zakhlestin 247bf3eb4a updated to the new parameter-parsing api 2008-06-22 14:13:01 +00:00
Felipe Pena 521c5cf5fb - New parameter parsing API 2008-06-22 13:22:27 +00:00
Steph Fox 332a185e08 - ws, typo fix 2008-06-22 13:10:03 +00:00
Felix De Vliegher 43e8a59ac7 Basic test for ob_get_length(), testfest.php.net task #132 2008-06-22 12:29:41 +00:00
Alexey Zakhlestin e4ad58109f updated to the new parameter-parsing api 2008-06-22 12:03:30 +00:00
Felipe Pena 592cecf7d4 - Removed unused variables 2008-06-22 11:36:46 +00:00
Timm Friebe 4920a2f980 - Changed zend_get_parameters_ex -> zend_parse_parameters
- Simplified source in php_sybase_do_connect()
# Part 1, more to follow
2008-06-22 10:11:14 +00:00
Sebastian Bergmann 1a23fec1b0 Fix build. 2008-06-22 08:06:48 +00:00
David Soria Parra b72322de22 Testfest task 93. Written by Sebastian Deutsch. 2008-06-22 05:34:06 +00:00
Greg Beaver 3a8b14f83f fix inode calculation, we need fname to be set for phar/tar formats prior to manifest parsing 2008-06-22 00:50:32 +00:00
Greg Beaver 0ad165e402 new tests for phar.cache_list 2008-06-22 00:49:54 +00:00
Felipe Pena 7e57fd2e6f - Fix segfault 2008-06-21 23:20:40 +00:00
Felipe Pena 1c7f474e81 - New parameter parsing API 2008-06-21 22:07:53 +00:00
Alexey Zakhlestin 2618a28278 updated to the new parameter-parsing api 2008-06-21 21:51:05 +00:00
Steph Fox 0e5b3a3527 - Don't free stuff you still need 2008-06-21 21:37:39 +00:00
Steph Fox 35e0565a4b - Kill a couple of double frees and a memleak
@Greg: You may want to run valgrind over the filestat functions before release..
2008-06-21 20:47:35 +00:00
Steph Fox ad20b9e6bb - pefree pemalloc'd filename 2008-06-21 20:14:43 +00:00
Steph Fox 22fb73c71e - Fix macro definition syntax
- Remove pre-existing workaround
2008-06-21 19:40:41 +00:00
Steph Fox f43a2be8cd - fix for segfault in 5.2 (patch from Greg) 2008-06-21 19:15:46 +00:00
Steph Fox b964ec6e5d - ws 2008-06-21 18:57:53 +00:00
Felipe Pena 7319fb687e - New parameter parsing API 2008-06-21 18:16:02 +00:00
Greg Beaver 4b77c2baa5 define ALLOC_PERMANENT_ZVAL for PHP 5.2 2008-06-21 17:05:32 +00:00
Greg Beaver eb0a98939a PHP 5.2 fixes to direct include of compressed archives 2008-06-21 17:05:18 +00:00
Felipe Pena 015f82d219 - New parameter parsing API 2008-06-21 15:27:34 +00:00
Greg Beaver baee4e6028 close stream on failure 2008-06-21 06:55:56 +00:00
Greg Beaver 529aa19cc7 82x(./profile2) speedup for buildFrom*() 2008-06-21 06:53:10 +00:00
Greg Beaver 14c26d05ba fix leak 2008-06-21 06:21:58 +00:00
Felipe Pena bee6c52437 - New parameter parsing API 2008-06-21 02:41:27 +00:00
David Coallier 88abc99dc0 - New parsing parameter API cleanups 2008-06-20 20:54:32 +00:00
Felipe Pena f23acf749d - New parameter parsing API 2008-06-20 19:57:25 +00:00
Stanislav Malyshev 8a65886bb9 fix buglet 2008-06-20 18:10:17 +00:00
Olivier Hill dc4bcc901b - New parameter parsing API for var.c & tests 2008-06-20 18:05:45 +00:00
Felipe Pena ea00fea83d - New parameter parsing API 2008-06-20 18:00:10 +00:00
Dmitry Stogov 298087c74b Allowed to override internal classaes with "use" 2008-06-20 17:17:05 +00:00
Steph Fox 97cf2a15da - 5_2 compatibility stuff (so we can stay in sync with PECL) 2008-06-20 16:29:36 +00:00
Felipe Pena 5fe790929d - New parameter parsing API 2008-06-20 14:53:57 +00:00
Steph Fox c88e99d9ea - Use SKIP_SLOW_TESTS where it's most useful 2008-06-20 14:42:04 +00:00
Steph Fox 6ef7aef1d4 - Kill the last compiler warning under 5.3 (release-only) 2008-06-20 14:40:53 +00:00
Felipe Pena d4ddc6d890 - New parameter parsing API 2008-06-20 13:02:33 +00:00
Steph Fox fc08a7cc2f The only reason that particular 'real solution' wasn't applied in the first place was that it also breaks the shared build
Maybe we don't need to call a non-existent dtor if we're going to physically apply zend_hash_graceful_reverse_destroy()?
- This works on my box, please test under *nix/OSX
2008-06-20 12:21:32 +00:00
Felipe Pena 089a574882 - Fix ws 2008-06-20 11:38:52 +00:00
Johannes Schlüter 62726c967c - Fix ZTS build (not required on HEAD, patch by Uwe Pries) 2008-06-20 09:17:53 +00:00
Greg Beaver aff3636d9c minor performance improvement 2008-06-20 06:37:14 +00:00
Greg Beaver 7cc6b9f3f5 making progress - up to 42/phar vs. 48/disk with these optimizations 2008-06-20 05:42:58 +00:00
Greg Beaver 5233505043 revert really bad solution to the zend_init_rsrc_list/zend_destroy_rsrc_list problem, replace with real solution 2008-06-20 04:50:11 +00:00
Raghubansh Kumar 48b0cc4134 New testcases for vfprintf(), Committed for Felix De Vliegher, TestFest Task No: 124, Tested on RHEL5 -32bit, WinXP-32bit
Added *.txt to .cvsignore
2008-06-20 04:21:58 +00:00
Christopher Jones 2bb7df3504 MFH:
Fix bug #45266 (Fix build with BDB 4)
Fix bug #45267 (Revert invalid assumption about BDB 4 locking; let DBA handle locking)
Fix bug #45268 (Fix error callback prototype)
2008-06-19 22:39:56 +00:00
Pierre Joye 6d63a0d9d1 - remove debug code 2008-06-19 21:09:43 +00:00
Steph Fox c1b8065dcd Oops. 2008-06-19 21:08:56 +00:00
Steph Fox 0af1218770 Two new options for Travis to come to terms with:
- --set-timeout <n> sets the timeout in seconds for the call to stream_select() during system_with_timeout()
- -x sets an environmental variable, SKIP_SLOW_TESTS, which can be checked for during a SKIPIF clause

and just for a special treat, you can have it from my working branch this time.
2008-06-19 21:08:13 +00:00
Steph Fox 9f44542741 Two new options for Travis to come to terms with:
- --set-timeout <n> sets the timeout in seconds for the call to stream_select() during system_with_timeout()
- -x sets an environmental variable, SKIP_SLOW_TESTS, which can be checked for during a SKIPIF clause
2008-06-19 21:03:36 +00:00
Christopher Jones 31d0d253a8 Test updates and bundle 1.3.3 2008-06-19 19:56:11 +00:00
Stanislav Malyshev 6b87e16bf0 update the docs
# if we keep it in CVS, it should have correct docs
2008-06-19 17:59:35 +00:00
Steph Fox fd10eb318e - ext/standard currently has a dependency on ext/ereg thanks to browscap.c 2008-06-19 17:43:38 +00:00
Steph Fox 05ce8031ad - '' != 'no' 2008-06-19 17:14:43 +00:00
Pierre Joye 0928653619 - NEWS for fpdf and ncurses > PECL 2008-06-19 15:50:44 +00:00
Pierre Joye 0b608cc630 - move fpdf to PECL 2008-06-19 15:49:31 +00:00
Pierre Joye 9ae6ea3842 - mvoe ncurses to PECL 2008-06-19 15:46:09 +00:00
Dmitry Stogov 4961c0c412 Added test for bug #45312 2008-06-19 12:09:44 +00:00
Dmitry Stogov 8b8f3599ad Fixed #45307 (define() crashes because of uninitialized variable) 2008-06-19 11:27:41 +00:00
Stanislav Malyshev 5e562853ff fix tests for builtin Zend functions using new parsing API 2008-06-18 23:45:36 +00:00
Stanislav Malyshev 58a673a909 Use new parameter parsing API for builtin functions 2008-06-18 23:38:37 +00:00
Steph Fox 5d4eed8f47 - inherited methods don't unixify paths along the way. Allow for it. 2008-06-18 16:48:18 +00:00
Steph Fox aa694b8b51 - Kill 10 MSVC compiler warnings due to type conflict
- Make cached manifest test platform agnostic
- Comment out zend_(init|destroy)_rsrc_list() and associated references

@Greg: cached manifest test (now) passes here regardless, make of that what you will
2008-06-18 15:06:50 +00:00
Etienne Kneuss 0f5ddaf4ce MFH: Rename everything from SplFastArray to SplFixedArray 2008-06-18 14:54:40 +00:00
Pierre Joye e5e9be2d1a - really fix the windows builds, don't cast many times when only the hash function requires void **
- copy/paste evilness with TSRM_CC/DC
(tests still pass but would be nice to speed them up...)
2008-06-18 10:20:47 +00:00
Etienne Kneuss 4e80cf8bac MFH: Fix #45216 (Add a default size for fgetss) 2008-06-18 10:05:29 +00:00
Dmitry Stogov 5429bfb518 Fixed SOAP binding selection 2008-06-18 07:23:58 +00:00
Greg Beaver cbe23b9f20 fix windows build and more performance jumps (these are minor)
implement real copy-on-write
use virtual_dirs for wrapper stat
2008-06-18 06:38:47 +00:00
Philip Olson 31bfce6f19 MFH: updated website team info 2008-06-18 05:20:02 +00:00
Raghubansh Kumar e70880d3b1 Committed for Felix De Vliegher, TestFest Task No: 123, Tested on RHEL5, WinXP 2008-06-17 13:14:45 +00:00
Raghubansh Kumar 0b5f3a1895 Committed for Felix De Vliegher, TestFest Task No: 122, Tested on RHEL5, WinXP 2008-06-17 13:14:19 +00:00
Zoe Slattery df3347debd Test committed for felixdv 2008-06-16 19:21:59 +00:00
Rob Richards 37ba76d23d MFH: add parameter allowing node to be exported into existing Document context [DOC]
add test
fix warnings
2008-06-16 15:45:06 +00:00
Greg Beaver d8d31bc591 remove unused variables in phar_fix_filepath
copy virtual_dirs to avoid segfault on multi-process
fix metadata reading for phar.cache_list
initialize manifest to exact size needed (performance increase)
fix freeing of signature on error to use the correct persist value (fixes segfault on error in cache.list)
reset EG(regular_list) so it is identical to how we found it
2008-06-16 04:10:53 +00:00
Greg Beaver 4e65a58146 fix hashtable creation for tar to be estimated size needed 2008-06-16 04:09:20 +00:00
Greg Beaver 03b9673ba2 fix hashtable creation for zip to be exact size needed, fix endian issue for loading manifest 2008-06-16 04:06:59 +00:00
Greg Beaver c353e9277e minor performance improvement 2008-06-15 23:00:46 +00:00
Greg Beaver 5e3f592d88 fix memleak 2008-06-15 22:51:46 +00:00
Greg Beaver 4104786072 another optimization - move inode hash to initial manifest parsing, improves runtime perf of stat slightly 2008-06-15 21:42:20 +00:00
Greg Beaver d8ed660a02 minor optimization 2008-06-15 21:15:29 +00:00
Felipe Pena 639d221df3 - Improved warning message to call-time pass-by-reference when used with internal function
(http://news.php.net/php.internals/38252)
2008-06-15 18:27:37 +00:00
Greg Beaver 04e257a8e1 HUGE speed improvement, from 19 req/sec to 27 req/sec for phpMyAdmin - now speed with apc+phar.cache_list = on-disk speedcvs diff -u |less This is by generating a list of virtual directories and using those in stat calls instead of scanning the whole manifest hash table. on-disk phpMyAdmin = 28 req/sec 2008-06-15 18:15:48 +00:00
Etienne Kneuss 04f211e38f MFH: Add tests for iterators when instanciated without argument (by Sebastian Schürmann) 2008-06-15 11:47:34 +00:00
Rob Richards 790f5ee062 MFH: fixed bug #45251 (double free or corruption with setAttributeNode())
add test
2008-06-14 11:22:57 +00:00
Felipe Pena c772aca929 - Fix build (ZTS) 2008-06-13 22:28:55 +00:00
Greg Beaver 4f9daeed11 [DOC] implement full signature support for tar-based archives. By default, data archives do
not have a signature, but can have one set via setSignatureAlgorithm()
2008-06-13 22:07:44 +00:00
Greg Beaver 5ff4deaa53 full refactor of signatures complete - now to implement them for tar as a starting point 2008-06-13 20:15:19 +00:00
Greg Beaver 09e1f0249e PHP_5_2 compat - add pestrndup if undefined 2008-06-13 15:59:13 +00:00
Zoe Slattery af55856d6e Commited for Sanjay, reviewed by Pierre. Testfest task 5. 2008-06-13 15:57:42 +00:00
Zoe Slattery f88ab53c3d Commited for Sanjay, reviewed by Pierre. Testfest task 117. 2008-06-13 15:20:04 +00:00
Rui Hirokawa b202ef7494 MFH 2008-06-13 14:48:33 +00:00
Zoe Slattery bd2fbb9c79 Commited for Sanjay, reviewed by Pierre. Testfest task 79. 2008-06-13 13:49:40 +00:00
Zoe Slattery aa8f158276 Commited for Sanjay, reviewed by Pierre. Testfest task 117. 2008-06-13 13:31:18 +00:00
Zoe Slattery 89d3bb2189 Commited for Sanjay, reviewed by Pierre. Testfest task 118. 2008-06-13 13:11:37 +00:00
Felipe Pena d61f32d021 - Fix build (ZTS) 2008-06-13 13:06:46 +00:00
Greg Beaver 9c8d13fd6c partial refactor - move signature verification into its own function, in preparation for tar/zip signature support.
next is signature creation
2008-06-13 06:34:41 +00:00
Matt Wilmas 0ff96ccc7c MFH: Add pestrndup() 2008-06-13 04:16:58 +00:00
Lars Strojny 622ac25e81 Testfest: putenv() safe_mode tests by Brian DeShong 2008-06-12 22:36:43 +00:00
Lars Strojny 709ac7c21f Testfest: various tests for ReflectionParameter 2008-06-12 21:41:21 +00:00
Lars Strojny f2326fbed0 Testfest test cases for ReflectionExtension 2008-06-12 21:25:08 +00:00
Lars Strojny 5a241ddfe0 Testfest: ReflectionExtension tests by Gerrit te Sligte and Leon Luijkx 2008-06-12 20:55:38 +00:00
Etienne Kneuss ee81b5a968 Add tests from testfest 2008-06-12 20:52:34 +00:00
Lars Strojny c26c072cba Testfest: ReflectionExtension::info()-test by Stefan Koopmanschap 2008-06-12 20:46:23 +00:00
Etienne Kneuss da68b946a1 Add tests from testfest 2008-06-12 20:46:12 +00:00
Lars Strojny 45f85f3840 Reflection::getModifierNames()-test by Felix De Vliegher (Testfest) 2008-06-12 20:31:06 +00:00
Greg Beaver 98f2dc2aca [DOC] add phar.cache_list, a PATH_SEPARATOR-separated list of full paths to phar archives to cache
at startup.  This caches the manifest, so that on first access to a phar archive, no file manifest parsing occurs.

This could use further tweaking.  For instance, the full copy of the manifest into the current process may be unnecessary if refcounting could be external
to the manifest.  This would be another significant gain.  With APC, I measure a slight perf increase to 19 req/sec up from 16 req/sec, without it approaches
regular PHP at 3.8 req/sec (regular is 4 req/sec).  This is benching phpMyAdmin
2008-06-12 18:56:23 +00:00
Greg Beaver 84eb9cc145 ensure we don't try to use an unitialized hash table 2008-06-12 18:46:58 +00:00
Antony Dovgal da022874c5 MFH 2008-06-12 12:40:13 +00:00
Antony Dovgal ca3e7643a6 fix build (noticed by Alexey Zakhlestin) 2008-06-12 10:31:22 +00:00
Greg Beaver 279771dc4b fix error messages 2008-06-12 04:57:24 +00:00
Felipe Pena cda2b20ae9 - New test 2008-06-11 22:40:13 +00:00
Antony Dovgal 47bce7e311 MFH 2008-06-11 22:36:28 +00:00
Dmitry Stogov 76a9a42ee2 - Removed direct executor recursion.
- Use fastcall calling convention in executor on x86.
2008-06-11 13:18:41 +00:00
Steve Seear bc29a3874d Filesystem tests. 2008-06-11 12:38:56 +00:00
Dmitry Stogov cafae0dc4b Fixed test 2008-06-11 10:08:14 +00:00
Dmitry Stogov 337ea89883 Fixed test 2008-06-11 09:58:32 +00:00
Dmitry Stogov 99933df5e2 closeder/readdir/rewinddir must work only with directories 2008-06-11 09:01:56 +00:00
Dmitry Stogov 8d260b6b71 Fixed memory leak 2008-06-11 07:45:44 +00:00
Dmitry Stogov f8c6965075 Fixed test 2008-06-11 06:30:09 +00:00
Philip Olson db7f3fe8c0 MFH: fixed imap_listscan() proto 2008-06-11 02:32:23 +00:00
Felipe Pena dc697bcea4 - Change E_COMPILE_ERROR to E_WARNING (for wrong visibility on magic methods) 2008-06-10 23:09:09 +00:00
Greg Beaver 4a62db4e6c new tests (forgot to add these earlier) 2008-06-10 19:23:09 +00:00
Greg Beaver 8b8a64a3e8 fix PHP Bug #45218: PHAR archive built from directory limited by max open file handles 2008-06-10 19:20:33 +00:00
Zoe Slattery 562cb168f1 Written by Sanjay Mantoor and reviewed by Pierre. 2008-06-10 18:29:48 +00:00
Greg Beaver d0734964ca fix memleak on error 2008-06-10 17:58:09 +00:00
Marcus Boerger 59b914c5e0 - BFN 2008-06-10 17:51:51 +00:00
Antony Dovgal d7d94aab53 fix typo 2008-06-10 08:14:52 +00:00
Etienne Kneuss 84ec12d36a add get_debug_info 2008-06-09 17:29:23 +00:00
Greg Beaver eb77b80b9d fix compile warnings if openssl is enabled statically. fix dangerous use of wrong length var in openssl signature verification 2008-06-09 16:07:18 +00:00
Antony Dovgal 88800451f3 MFH 2008-06-09 13:20:01 +00:00
Antony Dovgal db8a24d15a fix test 2008-06-09 09:26:03 +00:00
Pierre Joye 8b75c07bf1 - should not be called butlet remove it as well 2008-06-08 11:40:49 +00:00
Stanislav Malyshev 4f522eb576 allow aggregating use statements 2008-06-08 09:38:47 +00:00
Antony Dovgal f1b8d65790 MFH: more checks and tests 2008-06-07 21:36:13 +00:00
Antony Dovgal c80f146f81 add more tests (Felipe) 2008-06-07 14:10:42 +00:00
Antony Dovgal 5d6b1c6ead MFH 2008-06-07 14:09:06 +00:00
Antony Dovgal 344c076584 add new test 2008-06-07 12:49:35 +00:00
Antony Dovgal 83d26fc47d MFH: disallow $a[] = value syntax 2008-06-07 12:47:04 +00:00
Antony Dovgal b8bd4cbbc6 MFH 2008-06-07 08:05:55 +00:00
Etienne Kneuss e909912389 MFH: Fix segfault caused by get_current_data on an uninitialized element 2008-06-07 01:46:44 +00:00
Etienne Kneuss b5eaa1005a MFH: Implements C arrays wrapper 2008-06-06 23:53:43 +00:00
Antony Dovgal 6b68a94242 fix test 2008-06-06 07:45:51 +00:00
Christopher Jones b8e1d4d4e5 MFB: OCI8: Remove macros obsoleted by rev 1.55.2.3.2.11.2.1 when Oracle 8 support was dropped 2008-06-05 23:43:10 +00:00
Christopher Jones 19732456a1 MFB: sync with PECL 1.2.5 release 2008-06-05 23:41:35 +00:00
Christopher Jones b0885bb9a2 MFH: Make tests interruptible; clean up tables at start 2008-06-05 23:28:16 +00:00
Felipe Pena 0da88458e2 - Fixed bug #45186 (__call depends on __callstatic in class scope) 2008-06-05 18:53:06 +00:00
Felipe Pena 2af92fa836 - Fixed bug #45180 ('class::method' works differently than array('class', 'method')) 2008-06-05 18:50:29 +00:00
Felipe Pena 7ba0803964 - New tests 2008-06-05 18:33:00 +00:00
Rob Richards 604bfe4c0b MFH: fix test 2008-06-05 08:29:29 +00:00
Rob Richards 5e60f46159 MFH: rawurlencode now conforms to rfc 3986 (~ is not encoded) [DOC] 2008-06-04 19:35:15 +00:00
Felipe Pena a1bbc5698c - New test 2008-06-04 18:32:56 +00:00
Marcus Boerger 332d83555c - Make phar.phar building work for virtualized builds 2008-06-04 16:38:13 +00:00
Marcus Boerger ad8eb0f672 - Make sure we are not trying to pack directories 2008-06-04 14:36:33 +00:00
Marcus Boerger 376ca12a21 - Update 2008-06-04 09:47:41 +00:00
Marcus Boerger e8609b5199 - Use -n only for current built PHP 2008-06-04 09:47:17 +00:00
Marcus Boerger 350824478b - Improve pear usage and PHP_Archive detection 2008-06-04 09:46:34 +00:00
Antony Dovgal 2ac1ba6254 fix tests 2008-06-04 07:38:10 +00:00
Marcus Boerger c317ce0d67 - Prefer current CLI target to build phar.phar
- Use php -n
- Use shared phar, bz2, zlib automatically
2008-06-03 20:18:58 +00:00
Felipe Pena cc23d3bade - Fixed bug #45089 (__callStatic $name case sensitivity) 2008-06-03 18:11:12 +00:00
Scott MacVicar 2b60fdf976 Add snefru256 as an alias for snefru, since in reality that is the implementation. 2008-06-03 17:25:42 +00:00
Felipe Pena b368d34018 BFN 2008-06-03 17:17:29 +00:00
Felipe Pena 44b91c8b61 - Removed unnecessary XFAIL section 2008-06-03 17:10:21 +00:00
Felipe Pena 426a4cc2e6 - Fixed tests 2008-06-03 15:34:47 +00:00
Felipe Pena 6ff90104aa - New tests 2008-06-03 15:30:04 +00:00
Felipe Pena 402fb5285d - MFH: Fixed bug #44769 (declaring private magic methods should throw error) 2008-06-03 14:07:15 +00:00
Zoe Slattery fe0ef8b17c Tests from London test fest 2008 2008-06-03 12:42:22 +00:00
Marcus Boerger 040e19d9b2 - MFH Fix style 2008-06-02 16:58:19 +00:00
Marcus Boerger 4e61f63d3f - Remove checked-in or older version of phar.phar as we might not be able to open it 2008-06-02 15:50:42 +00:00
Marcus Boerger 159561e9da - Need to use a proper inheritance check 2008-06-02 15:49:03 +00:00
Scott MacVicar d06e683922 Correct test name 2008-06-02 14:14:26 +00:00
Jani Taskinen 80ce5fcdc5 - PCRE is always there, no need for this check anymore 2008-06-02 14:13:04 +00:00
Jani Taskinen f047195f55 MFH: simplify, readability 2008-06-02 14:12:20 +00:00
Marcus Boerger c60365e9b3 - Fix issue with -y parameter hanlding (fix typo) 2008-06-02 13:39:54 +00:00
Marcus Boerger 4f74e50c1b - Fix issue with -y parameter hanlding 2008-06-02 13:33:45 +00:00
Marcus Boerger cb0af1eeb8 - Fix issue with -y parameter hanlding 2008-06-02 13:24:15 +00:00
Scott MacVicar b83fbba9f3 Add sha224 support. 2008-06-02 12:24:23 +00:00
Jani Taskinen d652cec246 - Revert pointless patch: a) the version is already there, see line above,
b) one branch commits are idiotic to begin with, we have three active branches!
This only leads to out-of-sync situations ála PDO..
2008-06-02 11:23:16 +00:00
Matt Wilmas 572adc05e4 MFH: Initialize with length instead of 0 2008-06-02 11:20:59 +00:00
Antony Dovgal 779769563c fix uninitialized variable 2008-06-02 10:27:55 +00:00
Pierre Joye 57bcc16896 - reintroduce the x.y.z version string info (a bit nicer to make the other guy happier)
- silent warning (windows only and don't remove it, thanks)
2008-06-02 10:25:54 +00:00
Jani Taskinen 930d9e47c9 - Revert crap
# Someone should remove Pierre's karma too..
2008-06-02 08:46:41 +00:00
Pierre Joye 2528bd43fc - don't use openldap/portable and build the human readable version
- silent strdup redclaration warning
2008-06-02 06:48:35 +00:00
Pierre Joye 8290e3324a - add OpenLDAP version info in phpinfo (windows only, have to check if openldap/portable.h is present on linux headers) 2008-06-02 00:24:19 +00:00
Hannes Magnusson 49961368be Add arginfo & fix protos 2008-06-01 18:47:20 +00:00
Hannes Magnusson 0f6e76e502 fix arginfo and proto 2008-06-01 18:24:38 +00:00
Hannes Magnusson e610609556 Add arginfo & fix protos 2008-06-01 17:54:02 +00:00
Scott MacVicar 6b8b357bdc Back out the previous change as it broke the Windows builds. 2008-06-01 17:31:12 +00:00
Marcus Boerger 678a38e9ba - Make work with new API 2008-06-01 17:16:40 +00:00
Marcus Boerger 147eed53e2 - Fix signature handling (and remaining API change fixes) 2008-06-01 17:16:04 +00:00
Marcus Boerger aaf6b216ed - Fix docu 2008-06-01 17:14:48 +00:00
Scott MacVicar 938186a67f Fixed bug #45144 (ap_child_terminate() isn't available on threaded builds) 2008-06-01 16:08:52 +00:00
Scott MacVicar 42fd9b4005 Fix unexported symbols. Patch by Greg 2008-06-01 16:03:17 +00:00
Marcus Boerger c05c40cea4 - Add Openssl support 2008-06-01 07:39:06 +00:00
Greg Beaver 5fbeb235d2 add openssl signing support. This adds an extra parameter
for the contents of the exported private key to Phar->setSignatureAlgorithm, and expects the public key to be in
a file named blah.phar.pubkey in the same directory as the phar blah.phar.  This works with openssl static or
shared and fails gracefully if openssl is not present without adding a dependency. config.w32 needs updating to match config.m4 [DOC]
2008-06-01 04:21:26 +00:00
Felipe Pena 5050450f79 - MFB: Fixed bug #45139 (ReflectionProperty returns incorrect declaring class) 2008-06-01 03:11:38 +00:00
Marcus Boerger 4c2e05a6e7 - MFH Simplify 2008-05-31 20:30:27 +00:00
Marcus Boerger 28dd1f5f5e - MFH Add 'help commands' support 2008-05-31 20:24:34 +00:00
Marcus Boerger 631484e2c7 - Add phar command as installable command 2008-05-31 20:02:57 +00:00
Marcus Boerger ae0ee180ac - MFH Add pharcmd to default targets if present 2008-05-31 19:27:31 +00:00
Hannes Magnusson 72b3187d43 Add support for proxies (patch by Christopher Jones) 2008-05-31 19:05:19 +00:00
Marcus Boerger aa4e898fe5 - Add version comand 2008-05-31 18:40:05 +00:00
Marcus Boerger 1debfd2a15 - Add version comand 2008-05-31 16:40:55 +00:00
Marcus Boerger 8010892bf0 - MFH Fix function names after they have been refactored 2008-05-31 15:53:16 +00:00
Greg Beaver 3f0952cdf7 patch by Christopher Jones: use wget/fetch by default if available, correct typo/Errrrrorr in fetch.php 2008-05-30 23:42:50 +00:00
Greg Beaver 83e491b2c3 fix corrupted zips, fix postprocess for compressed zip file 2008-05-30 22:49:33 +00:00
Greg Beaver 8b600a72dc refactor function names for clarity. No functionality change 2008-05-30 22:38:46 +00:00
Pierre Joye 9ffc103c5a - not exported 2008-05-30 19:46:56 +00:00
Scott MacVicar 4ae8e34bf4 MFH Fixed bug #43261
(Use ^ as an escape character for Windows escapeshellcmd)
2008-05-30 16:56:57 +00:00
Matt Wilmas c1126cc5b6 MFH: Only check args once in php_array_diff_key/intersect_key, not on each iteration. This also makes sure ALL args are checked (pre-5.2.5 behavior)
- Also, use new hash_quick_del function where possible
2008-05-30 10:55:14 +00:00
Greg Beaver 4cc79b39b4 fix PECL bug #13981: Third-party zips fail entry interrogation 2008-05-29 17:34:50 +00:00
Andrey Hristov e49404929a Fix a bug that let PDO fail. It has been long fixed, but locally. Now I know
what it fixes :)
2008-05-29 15:49:32 +00:00
Matt Wilmas 87dca00a8e MFH: Fixed overflow crash (at least on Windows) in div_function with LONG_MIN / -1 2008-05-29 11:45:13 +00:00
Scott MacVicar 19322fc782 MFH: Fix bug when command is quoted and parameters are quoted during call to exec, the result is that cmd.exe /c strips the first and last quote. 2008-05-29 11:31:02 +00:00
Matt Wilmas fc6fa44097 Fixed tests on Windows 2008-05-29 07:32:03 +00:00
Stanislav Malyshev 370aafc62b Fix code path in phar_open_compiled_file() that tries
to open not-yet-loaded phar and fails on compressed files
# By Gregory's request
# Sorry, can't find how to write test case for that - it reproduces
# for me only under bytecode-caching. Suggestions welcome.
2008-05-28 21:42:21 +00:00
Felipe Pena 125e897348 - Added XFAIL section in tests to issue under discussion 2008-05-28 11:54:36 +00:00
Pierre Joye c1d5352069 - c/p evilness 2008-05-27 18:25:59 +00:00
Pierre Joye 3431c2e7c4 - [MFH] Add compiler informations on Windows (will add more info later, like x86 or x64 and makes it available in userland) 2008-05-27 18:23:56 +00:00
Ant Phillips ac253bab08 DOM tests from TestFest 2008-05-27 12:44:53 +00:00
Derick Rethans 17c284d522 - Updated to version 2008.3 (2008c) 2008-05-27 12:19:55 +00:00
Matt Wilmas 88adc05748 Regenerate 2008-05-27 11:28:18 +00:00
Matt Wilmas 7da75d81e7 MFH: Add array_init_size() and use it where array size is known at initialization 2008-05-27 10:29:33 +00:00
Scott MacVicar a2da2a91b1 MFH: DOM Tests from London Testfest 2008-05-27 10:21:21 +00:00
Antony Dovgal a591b8bdc8 fix typo 2008-05-26 11:33:38 +00:00
Zoe Slattery 0cf47e6f11 Added --XFAIL-- section 2008-05-25 16:05:04 +00:00
Hannes Magnusson 5b398bf78d Remove E_DEPRECATED from get_magic_quotes_*() 2008-05-25 14:06:15 +00:00
Etienne Kneuss 0cfdd9a7e0 MFH: Add a prepend param to spl_autoload_register 2008-05-25 12:22:38 +00:00
Etienne Kneuss 2882dde048 remove the skipif 2008-05-25 12:13:41 +00:00
Sebastian Bergmann bad8951dbc MFH: Drop SKIPIF check for ext/spl. 2008-05-25 06:05:57 +00:00
Etienne Kneuss 3623b134e1 New tests from testfest 2008-05-24 16:49:04 +00:00
Sebastian Bergmann 5d4b2d2a1c dos2unix 2008-05-24 15:55:19 +00:00
Sebastian Bergmann 88e6a3324b MFH: dos2unix 2008-05-24 15:22:21 +00:00
Etienne Kneuss d4aa83d273 MFH: Also register the get_iterator handler for Max/Min Heap 2008-05-24 14:38:04 +00:00
Sebastian Bergmann 0abd5bde20 MFH: Drop SKIPIF check for ext/spl. 2008-05-24 14:17:55 +00:00
Sebastian Bergmann 6577df9235 MFH: dos2unix 2008-05-24 14:14:28 +00:00
Sebastian Bergmann 3a4eb3e4a6 Drop SKIPIF check for ext/spl. 2008-05-24 14:10:44 +00:00
Sebastian Bergmann 30a8d14fbc Drop SKIPIF check for ext/reflection. 2008-05-24 13:34:22 +00:00
Etienne Kneuss 5f360ab9bf Add tests from testfest 2008-05-24 13:25:24 +00:00
Steph Fox 51967b91d5 "We shouldn't need a full path to the mount"
- Fixed under Windows, cleaned up test
2008-05-24 13:13:47 +00:00
Marcus Boerger 3be1a372a6 - MFH Add constants and new test (test from testfest.php.net) 2008-05-24 11:53:55 +00:00
David Coallier c37984b54f - Make use of a valid .phar pear installer 2008-05-24 01:30:48 +00:00
Robin Fernandes d2d61cac19 More basic ReflectionClass tests from Dutch TestFest. 2008-05-23 21:14:07 +00:00
Antony Dovgal e1cb67310c MFH 2008-05-23 19:10:39 +00:00
Antony Dovgal 8e6ea84fdd MFH: use bundled PCRE library when both yes & no passed as argument,
look for headers and the lib otherwise
2008-05-23 19:07:27 +00:00
Ilia Alshanetsky 33cb218c93 When dumping entire document to file via asXml() don't lose the encoding 2008-05-23 15:46:13 +00:00
Matt Wilmas cd62ae78b6 MFH: Fixed Windows build now that HAVE_INET_PTON is defined 2008-05-23 09:40:44 +00:00
Kalle Sommer Nielsen dd9fb9b0cd [DOC] enable inet_pton() and inet_ntop() on Windows 2008-05-22 22:06:15 +00:00
Robin Fernandes 066a330877 Basic ReflectionClass tests (from Dutch TestFest) 2008-05-22 21:53:59 +00:00
Greg Beaver 4b035dae5f major fixes
* found felipe's segfault in util.c and fixed the segfault (3 tests fail due to odd behavior of . and .. on this machine)
 * fixed serious flaws in the setting/resetting of is_data - now it works properly.  Assume
   all new PharData are tar-based, and allow passing Phar::ZIP to PharData constructor to override this
 * fix broken earlier commit, introduced segfault that broke 20 tests here
2008-05-22 06:33:09 +00:00
Felipe Pena e1bfc452d3 - Fix build (ZTS) 2008-05-21 22:52:30 +00:00
Greg Beaver 1f661c81c4 fix offset detection in tar files 2008-05-21 22:00:43 +00:00
Greg Beaver 79ae1c7273 fix convertTo\*() for same-named archives with no files 2008-05-21 20:24:40 +00:00
Pierre Joye 6fefac0c10 - fix test 2008-05-21 19:34:47 +00:00
Pierre Joye d23a449a36 - fix test 2008-05-21 18:56:05 +00:00
Pierre Joye bbc34ba14a - actually disable the ASSERT error dialog box (affects debug mode only), helps to run the tests and coverage analyze 2008-05-21 15:55:31 +00:00
Antony Dovgal a894ab2a00 MFH 2008-05-21 15:03:20 +00:00
Josie Messa a41e990b07 - Committing tests reviewed after London TestFest 08
- Credits to: Mike Sullivan and James Lewis
2008-05-21 15:00:59 +00:00
Antony Dovgal a07f828a91 MFH 2008-05-21 12:29:47 +00:00
Pierre Joye b734bf4b97 - sync with PECL HEAD 2008-05-21 09:27:41 +00:00
Etienne Kneuss 3681756cfb MFH: Fix path lookup when include_path is used 2008-05-20 21:46:51 +00:00
Antony Dovgal ba4a9de042 fix tests (say hello to disk C:\) 2008-05-20 14:53:58 +00:00
David Soria Parra 6e34cbfb90 Coding style 2008-05-20 13:28:57 +00:00
David Soria Parra d5befc743d MFH: Allow non-long values for proxy_port, connection_timeout and convert them 2008-05-20 13:16:47 +00:00
Dmitry Stogov 50983e372c proper fix 2008-05-20 07:41:35 +00:00
Greg Beaver 07d6758c86 relax conversion, so that if a phar has no files, we can convert it to another format without changing the extension 2008-05-20 03:56:35 +00:00
Greg Beaver 6eb453cb6b partial fix for Bug #44939, E_DEPRECATED warnings on pear install 2008-05-19 15:20:55 +00:00
Ilia Alshanetsky 01da46b1bb Fixed bug #45004 (pg_insert() does not accept 4 digit timezone format) 2008-05-19 15:16:47 +00:00
Steve Seear 2b20e3d914 Tests from PHP London TestFest 2008 2008-05-19 12:56:21 +00:00
Steve Seear ca2461626e Moving DOM tests to correct folder. 2008-05-19 12:48:18 +00:00
Steve Seear ca7712d70d Tests from PHP London TestFest 2008 2008-05-19 12:21:18 +00:00
Dmitry Stogov a125554657 Fixed win32 related realpath cache bug 2008-05-19 10:48:57 +00:00
Greg Beaver 0800b3b159 fix memleak, add test for previous segfault fix 2008-05-18 23:41:08 +00:00
Greg Beaver b149e8c0fa fix segfault, test coming shortly 2008-05-18 23:11:24 +00:00
Felipe Pena a8e5065f36 - Removed "short_open_tag" entry (the related patch was reverted) 2008-05-18 22:07:23 +00:00
Steph Fox 53fd21de33 - Keep 5_3 stub and creation files in sync with what I have in CVS HEAD
(MFB will likely be tomorrow now)
2008-05-18 20:52:34 +00:00
David Soria Parra fbc29e2848 Revert. 2008-05-18 19:48:40 +00:00
David Soria Parra 472b883cc6 Make mcrypt_enc_self_test() return value compatible with documentation and mcrypt _module_self_test() 2008-05-18 17:08:56 +00:00
Felipe Pena d90f689d73 - Making compatible with 64bit plataform 2008-05-18 15:42:09 +00:00
Ilia Alshanetsky 59ba4fcc96 Added missing INI handler 2008-05-18 14:35:13 +00:00
David Soria Parra 5dd18fed7a Wrong file 2008-05-18 14:28:19 +00:00
Etienne Kneuss 242f779fa1 MFH: Fix filesystemiterator with ./.. + add cloning tests 2008-05-18 12:17:43 +00:00
David Soria Parra 3e52aaf16d MFH: Tests from Munich PHP Testfest 2008 2008-05-17 23:29:14 +00:00
Greg Beaver 4aa4f1fabb enable by default statically instead of shared
this is done by removing zlib/bz2 explicit dependencies because they are unnecessary
we only ever use the stream filter, and the check for existence has
been moved to runtime where it is after startup
2008-05-17 20:07:22 +00:00
Greg Beaver d35f27b896 fix test (again) 2008-05-17 20:04:06 +00:00
Greg Beaver 22db0d3c83 fix test 2008-05-17 20:02:27 +00:00
Zoe Slattery f0955264a0 Tests from London test fest 2008 2008-05-17 11:20:55 +00:00
Zoe Slattery d7570b4671 Tests from Londn test fest 2008-05-16 17:13:42 +00:00
Dmitry Stogov a6ec1850e0 MFH: small CSE optimizations 2008-05-16 14:34:31 +00:00
Dmitry Stogov 23eb063f7a Make it backward compatibility 2008-05-16 14:33:52 +00:00
Felipe Pena 04a87d9f63 - Changed 'Z' to 's' (parameter parsing), the code didn't check if the parameter is a string. 2008-05-16 12:44:11 +00:00
Felipe Pena 60cd27b7f6 - MFH: Improved fix (used 's' in parameter parsing) 2008-05-16 12:18:43 +00:00
Felipe Pena 0668fd3328 - Added conversion to string. 2008-05-16 03:01:20 +00:00
Greg Beaver 57b3bba46e cosmetics 2008-05-16 00:11:42 +00:00
Greg Beaver a5ec4d5f2b as discussed on internals, enable phar by default for testing purposes.
Phar is enabled as a shared extension by default in order to allow zlib/bz2 to be built shared.  If phar is statically built,
both zlib and bz2 must be statically built in order for phar to use them, so default compile as shared is much more flexible
2008-05-16 00:01:56 +00:00
Greg Beaver 719beb79d4 add full metadata support for tar-based archives and test 2008-05-15 23:46:29 +00:00
Greg Beaver de5aaaa74c fix potentially major security hole: modification/creation of files in .phar directory enabled in many locations
which then allows easy creation of tar/zip-based phar archives with a simple rename even when phar.readonly=1.  Plug the hole very tightly, allowing read access to
files, and also excluding them from opendir() output
2008-05-15 16:09:01 +00:00
Greg Beaver 8cc335a0da make test OS-agnostic 2008-05-15 14:01:30 +00:00
Steph Fox 93183728d2 - Fix test, add a couple of new ones
@Greg: it seems we covered it already ;)
2008-05-15 12:37:45 +00:00
Zoe Slattery 229bcbdfc6 Tests from London test fest 2008 2008-05-15 12:23:47 +00:00
Steph Fox 6a0682d986 - MFH
- Make internal code forward-compatible. This included a binary cast in the default stub, hence test updates.
2008-05-14 21:29:51 +00:00
Antony Dovgal b3b5126954 fix test names 2008-05-14 13:04:05 +00:00
Felipe Pena f6cc283d46 - MFH: Add check for avoid segfault when trying instantiate PDORow manually 2008-05-14 12:32:21 +00:00
Elizabeth Marie Smith 7d4dfa8ee4 Windows configure fixes, a few additional lib names allowed, apache2 only on for zts builds since apache on win is always threaded, isapi no longer stops configure in non-zts mode, look for _debug for debug libraries when debug is enabled 2008-05-14 03:13:17 +00:00
Felipe Pena 6552d91743 - Fixed tests (added default_charset=) 2008-05-13 19:17:17 +00:00
Greg Beaver 9b5b694c92 fix test 2008-05-13 18:06:55 +00:00
Felipe Pena 613f2d2afc - Added SKIPIF 2008-05-13 14:49:06 +00:00
Steph Fox 4d169ebcfc - Allow broken.dirnames to use phar too
- Add test
- Kill MSVC compiler warning
2008-05-13 14:11:24 +00:00
Christopher Jones 4e12fa4a25 MFH: New/updated tests 2008-05-13 00:05:09 +00:00
SVN Migration 16b4d8e0e1 This commit was manufactured by cvs2svn to create branch 'PHP_5_3'. 2008-05-12 21:03:49 +00:00
Felipe Pena e35c457913 - New tests 2008-05-12 17:57:21 +00:00
Antony Dovgal c144bdb43c MFH 2008-05-12 15:31:08 +00:00
Felipe Pena d9d47f3718 - New tests 2008-05-12 14:58:31 +00:00
Felipe Pena 5c2ff40433 - MFH: New tests 2008-05-12 13:31:36 +00:00
Felipe Pena c5e80819ba - Fixed test 2008-05-12 11:15:32 +00:00
Dmitry Stogov af1ed80274 Fixed bug #44952 (isset() does not checks correctly variable variable) 2008-05-12 09:09:05 +00:00
Antony Dovgal ea62779338 MFH: revert patch that causes invalid reads/crashes on Linux 2008-05-12 08:47:01 +00:00
Dmitry Stogov 907fa66507 Added API to use namesapces in internal extensions 2008-05-12 07:11:55 +00:00
Matt Wilmas 77feabfc71 MFH: Fixed test after fixing bug #44830 2008-05-12 05:08:49 +00:00
Felipe Pena f6c57d1f6f - MFH: New tests 2008-05-11 22:44:56 +00:00
Matt Wilmas 2a8a4bd860 MFH: Fixed error message typo 2008-05-11 11:46:44 +00:00
Sebastian Bergmann b5281c79b5 MFH: Add tests for ReflectionFunction::getExtension*(). 2008-05-11 04:57:09 +00:00
Sebastian Bergmann 9aa57f051c MFH: dos2unix *.phpt 2008-05-11 04:53:18 +00:00
Felipe Pena e4c7664158 - MFH: New tests 2008-05-11 03:50:28 +00:00
Matt Wilmas c83d916a98 MFH: Restore end check for "escape" strings 2008-05-10 09:17:29 +00:00
Matt Wilmas 3fbe0f1457 MFH 2008-05-09 14:41:16 +00:00
Felipe Pena bcccfa6bf1 - New tests 2008-05-09 14:16:24 +00:00
Steve Seear d88eb15159 Added a script that generates phpt test coverage information for functions and methods. 2008-05-09 13:21:49 +00:00
Scott MacVicar 96a20f9aed MFH: Fix compile error if _GNU_SOURCE is defined 2008-05-09 12:59:16 +00:00
Steph Fox a439cc70c6 - s/rmdir/rd
- Patch supplied by Richard Quadling
2008-05-09 11:20:09 +00:00
Matt Wilmas 29cbfbd1e7 MFH: Test for loss of backslash at end of heredoc; For bug #44830 (Very minor issue with backslash in heredoc) 2008-05-09 11:06:29 +00:00
Matt Wilmas c4e406d24d MFH: Fix loss of backslash at end of heredoc; For bug #44830 (Very minor issue with backslash in heredoc) 2008-05-09 10:27:51 +00:00
Matt Wilmas 805b6dd3b5 MFH: Fixed bug #44681 (Resources used as array keys get converted to 0) 2008-05-09 09:23:03 +00:00
Ant Phillips 863d975196 Collect all the open_basedir security tests into one place 2008-05-09 08:39:44 +00:00
Felipe Pena 3e56d46fa1 - Use PHP_DEP_FE and PHP_DEP_FALIAS (magic_quotes related functions) 2008-05-08 22:21:19 +00:00
Felipe Pena 1e650ca32d - MFH: Fixed detection of invalid class name 2008-05-08 18:51:28 +00:00
Felipe Pena 3725d115a8 - MFH: Fixed data size 2008-05-08 18:28:25 +00:00
Etienne Kneuss 03463d557b Sync spl tests with HEAD 2008-05-08 12:02:17 +00:00
Dmitry Stogov 1f3a661337 Fixed test 2008-05-08 09:15:38 +00:00
Antony Dovgal 4291646858 fix test 2008-05-08 07:09:10 +00:00
Matt Wilmas 01afb02bad Fix build 2008-05-08 04:23:26 +00:00
Ilia Alshanetsky 9c63b618dd Kill unused vars 2008-05-07 23:45:28 +00:00
Hannes Magnusson 3dfa7349ad new ini_get_all() parameter 2008-05-07 20:04:05 +00:00
Antony Dovgal 046e79ddb5 MFH 2008-05-07 16:01:37 +00:00
David Coallier 70518d4aa1 - Added NEWS item for fixation of bug 44811 2008-05-07 15:27:25 +00:00
Antony Dovgal a4e272c241 rename the test 2008-05-07 15:23:31 +00:00
David Coallier c5b386b8a3 - Fixed bug #44811 (Improve error message when creating a new SoapClient that contains invalid data) 2008-05-07 15:23:10 +00:00
Andrey Hristov 8256272540 Update mysqlnd 2008-05-07 15:14:26 +00:00
David Coallier fb2ae8ee73 - Bug #44811 (Improved error message for creating invalid new SoapClient) 2008-05-07 15:14:16 +00:00
Felipe Pena fd4e87c5d4 - New tests 2008-05-07 14:10:03 +00:00
Dmitry Stogov 5521912b15 Use IS_CV for dirrent access to $this variable 2008-05-07 12:04:39 +00:00
Etienne Kneuss 06cef68307 Add consistency with the flag 2008-05-06 23:08:06 +00:00
Ilia Alshanetsky f5a90feff0 Fixed bug #44836 (putenv() crashes, avoid direct reference of environ in
POSIX systems)

# Original patch by delphij at FreeBSD dot org
2008-05-06 18:01:32 +00:00
Andrey Hristov 259b652b2e Make mysqli compilable in a 5_2 environment. Some want to use mysqlnd+mysqli
with 5_2. This won't hurt 5_2 in any way. Won't be MFB-ed because HEAD is
completely different.
2008-05-06 17:05:14 +00:00
Dmitry Stogov 0639a847ce Use lazy symbol table initialization for op_arrays called from internal php functions 2008-05-06 17:00:56 +00:00
Dmitry Stogov 10aa1146ab Fixed possible memory leak 2008-05-06 16:59:38 +00:00
Dmitry Stogov 833e01343d GC fix 2008-05-06 16:03:16 +00:00
Kalle Sommer Nielsen ec4c40aa00 Fixed odd errors caused by last commit 2008-05-06 11:59:00 +00:00
Kalle Sommer Nielsen ed7e0c0dff * Changed php_*h() to be static
* Changed NEWS entry to be say 'native' insted of 'Windows' (ref. *h())
2008-05-06 10:55:49 +00:00
Dmitry Stogov f852ae4985 Regenerate zend_vm_execute.h 2008-05-06 09:41:39 +00:00
Rasmus Lerdorf ee4a691627 There is no domainname element in utsname on OSX 2008-05-05 21:26:46 +00:00
Antony Dovgal a00f016648 add atanh() for real 2008-05-05 11:28:11 +00:00
Dmitry Stogov 1b317f1526 - Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR)
- Fixed bug #44913 (Segfault when using return in combination with nested loops
and continue 2)
2008-05-05 11:03:35 +00:00
Derick Rethans af371c9f5e - Fixed build. 2008-05-05 10:09:54 +00:00
Dmitry Stogov 5a0253c14c Support for old-style constructors in namespaces 2008-05-05 09:44:39 +00:00
Kalle Sommer Nielsen f61731874a Merge PHP_5_3 - Implemented Windows support for asinh(), acosh(), atanh(), log1p() and expm1()
[DOC] Merge_5_3
2008-05-05 07:29:41 +00:00
Etienne Kneuss 94697acff9 MFH: Fix protos 2008-05-04 21:17:33 +00:00
Derick Rethans f533671711 - MFH: Added support for "<xth> <weekday of" and "last <weekday> of" phrases to
be used with months - like in "last saturday of februari 2008".
2008-05-04 20:52:56 +00:00
Rob Richards 87922550b0 MFH: fix bug #44891 Memory leak using registerPHPFunctions and XSLT Variable 2008-05-04 15:14:23 +00:00
Antony Dovgal 7633511047 fix compile warnings 2008-05-04 11:26:50 +00:00
Derick Rethans c06ab8ca23 - MFH: Added support for using ISO 8601 time intervals to define a DatePeriod
iterator.
#- @doc
2008-05-04 10:00:01 +00:00
Antony Dovgal b5b865e667 MFH: fix folding 2008-05-04 09:34:16 +00:00
Steph Fox fe4a9a3fc4 - Introducing nmake clean-all
- This should probably be merged with nmake clean, but I've no way to test the impact on distro builds.
2008-05-03 21:12:55 +00:00
Zoe Slattery 09aa62229a Committing corrected test from Eric Stewart 2008-05-03 20:36:36 +00:00
Felipe Pena 5bab5da3f3 BFN: #44899 2008-05-03 16:11:56 +00:00
Etienne Kneuss 57b8e83945 MFH: Fix #44484 (define SimpleXMLElement::__toString()) 2008-05-03 15:09:37 +00:00
Derick Rethans 04929019d2 - Tabs to spaces. 2008-05-03 11:08:09 +00:00
Derick Rethans c36edb6a20 - Added support for using an end date to limit the amount of recursions
with the DatePeriod iterator.
#- @doc
2008-05-03 10:59:36 +00:00
Derick Rethans 76708f3c2e - MFH: Fixed weekdays adding/subtracting algorithm. 2008-05-03 10:04:37 +00:00
Felipe Pena a578b0cbcc - MFH: Fixed bug #44899 (__isset usage changes behavior of empty()) (patch by Etienne Kneuss) 2008-05-03 00:38:55 +00:00
Antony Dovgal a72b8f96ed fix build 2008-05-02 23:05:05 +00:00
Derick Rethans eb64b777fa - MFH: Fixed an issue in date() where a : was printed for the O modifier after
a P modifier was used.
2008-05-02 21:33:05 +00:00
Derick Rethans d725401987 - Fix for bug #44870: rename() on directory deletes same named file. (Patch by
Pierre)
2008-05-02 14:07:26 +00:00
Elizabeth Marie Smith 3adf07b5c6 Fix reflection (always static, never shared) and disable turning off pcre and spl (also always static, never shared) 2008-05-02 14:05:53 +00:00
Lars Strojny 0bc6920f66 Hard enabling it for Windows, readding define for UNIX [DOC] 2008-05-02 13:11:45 +00:00
Lars Strojny 7309946677 Hard enabling ext/reflection on UNIX too [DOC] 2008-05-02 13:05:42 +00:00
Derick Rethans 149848846d - MFH: Added DateInterval::createFromDateString() that creates an interval
from the relative parts of a date/time string.
- MFH: Fixed an issue where special relative bits were not applied.
2008-05-02 12:49:16 +00:00
Derick Rethans 97b37f253c - MFH: Rearranged some structures to allow for more powerfull period/intervals. 2008-05-01 16:15:45 +00:00
Derick Rethans 1b435af326 - MFH: Include the starting date by default in the iterator output, but add an
option to disable this behavior.
2008-05-01 13:31:22 +00:00
Ant Phillips 495ed877fc open_basedir tests for directory functions 2008-05-01 12:36:46 +00:00
Ant Phillips 98e6f9f954 open_basedir tests for directory functions 2008-05-01 11:46:18 +00:00
Derick Rethans 8c5274f479 - MFH: Added the DatePeriod class/iterator that iterates over a date time
object for a specific number of iterators and applies a DateInterval each
  time.
@DOC: More will follow though
2008-05-01 00:12:24 +00:00
Ant Phillips ad93b947a2 Fix session test failures as reported by Antony Dovgal.
These were caused by the tests assuming default values for some session
configuration settings, in particular session.save_path and session.name.
The tests now explicitly set these settings in the --INI-- section.
2008-04-30 15:20:18 +00:00
Ant Phillips 90c2cd0c37 Break up complicated rename tests into some smaller more consumable chunks 2008-04-30 13:53:52 +00:00
Dmitry Stogov 3adf158d79 IS_CONST operands are always have is_ref==1 and refcount==2, so we can eliminate unnecessary checks at specialization/compilation stage 2008-04-30 10:44:08 +00:00
Ant Phillips c55db17098 Fix session test failures as reported by Antony Dovgal.
These were caused by the tests assuming default values for some session
configuration settings, in particular session.save_path and session.name.
The tests now explicitly set these settings in the --INI-- section.
2008-04-30 09:28:02 +00:00
Antony Dovgal cacce6bc65 fix spelling 2008-04-29 13:50:27 +00:00
Dmitry Stogov 28b7529012 Fixed GC slowdown 2008-04-29 13:43:31 +00:00
Ant Phillips cdf5621b50 More session tests to improve code coverage for untested extension code 2008-04-29 09:24:19 +00:00
Dmitry Stogov 3a86a06619 Added missing lazy initialization 2008-04-29 09:18:26 +00:00
Ant Phillips 52af9124b5 More session tests to improve code coverage for untested extension code 2008-04-29 08:57:09 +00:00
Dmitry Stogov 2ecf4bb0a7 Lazy EG(active_symbol_table) initialization 2008-04-29 08:15:20 +00:00
Antony Dovgal c75658c477 MFH 2008-04-29 08:08:21 +00:00
Antony Dovgal 4489851424 fix test 2008-04-29 07:26:46 +00:00
Greg Beaver cac1fd72ea fix erroneous use of php_resolve_path in _php_stream_wrapper_open_ex - this breaks require/include for all extensions that intercept zend_resolve_path 2008-04-28 22:39:54 +00:00
Greg Beaver c46d651b3e Fixed potentially confusing error message on failure when no errors are logged 2008-04-28 22:37:31 +00:00
Scott MacVicar f930028751 Fix windows build 2008-04-28 13:21:34 +00:00
Jani Taskinen 69e6d23ec5 - Fix test even if safe_mode is forced to be "On" in the binary 2008-04-28 12:30:24 +00:00
Derick Rethans 357292a098 - MFH: Fixed "this week", "previous week"/"last week" and "next week" phrases
by actually meaning the week.
#- MFH: For now the week starts on Monday, but I plan on making that
#  configurable.
2008-04-27 19:14:33 +00:00
Derick Rethans 2047fa858c - Added new date/time functionality:
. support for diffing date/times through date_diff() / DateTime::diff().
  . added DateInterval class to represent the difference between two date/times.
  . support for parsing ISO intervals for use with DateInterval.
  . date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an
    interval to an existing date/time.
- MFH: Fixed bug #44742 (timezone_offset_get() causes segmentation faults).
2008-04-25 12:35:58 +00:00
Ant Phillips c173b0454c Extra open_basedir tests 2008-04-24 16:40:54 +00:00
Steph Fox d19418e53c - re2c requirement update
(sorry, I thought I'd committed this ages ago)
2008-04-24 16:04:59 +00:00
Dmitry Stogov 8fac72574d Optimized handlers for ZEND_RECV and ZEND_RECV_INIT opocdes 2008-04-24 15:45:46 +00:00
Andrey Hristov f4e659d2af Update ext/mysql's and ext/mysqli's tests
Add mysqli_stmt_more_result()/mysqli_stmt_next_result(), but only in
mysqlnd builds as libmysql doesn't support this feature.
2008-04-24 14:22:19 +00:00
Ant Phillips 2667f76d7b Allow for chmod() to fail on symbolic links 2008-04-24 13:58:26 +00:00
Pierre Joye 9fecb8fa60 - MFH: improve test and remove files on exit 2008-04-24 08:45:35 +00:00
Dmitry Stogov 1303c45e02 Fixed bug #44805 (rename() function is not portable to Windows). (Pierre) 2008-04-24 07:45:01 +00:00
Johannes Schlüter 1a419cac12 - MFH: Fix Windows build 2008-04-23 16:56:51 +00:00
Ant Phillips 9ae3ae064f open_basedir tests for file system functions (v5.2, 5.3 and 6.0 branches) 2008-04-23 14:10:15 +00:00
Ant Phillips 57e0d2acec These tests were backported from the PHP 6.0 branch, which in turn were ported from this branch and then updated to remove any dependencies on register_globals. With register_globals removed they are useful tests to run against the 5.X branches. 2008-04-22 16:04:31 +00:00
Ant Phillips 79b73d1218 New set of session extension tests for PHP 5.3 branch.
These hopefully test a reasonable set of basic, error and variations for
the twenty or so session functions. Note however that they do not
test all the session configuration settings, nor do they test anything
with register_globals enabled.
2008-04-22 16:04:30 +00:00
Robin Fernandes 5cb8dd8040 Fix some ereg tests for 64bit platforms. 2008-04-22 15:31:57 +00:00
Antony Dovgal 823b31d30c fix tests 2008-04-22 13:31:25 +00:00
Ilia Alshanetsky 3bcf8a3d00 Added a warning message on pdo::exec() failure in the event of an empty query 2008-04-22 13:01:45 +00:00
Antony Dovgal 4c4542e0d5 add news entry 2008-04-21 15:42:26 +00:00
Antony Dovgal 7c98e674b5 [DOC] add hash_copy() to be able to copy hash resource 2008-04-21 15:37:46 +00:00
Ilia Alshanetsky 30437c1241 Fixed error verbiage and free function_name on success 2008-04-21 14:32:57 +00:00
Dmitry Stogov e4213bedb8 Optimized function call helper 2008-04-21 10:14:20 +00:00
Ilia Alshanetsky 239fa7f79f Fixed a bug #44403 (register_tick_function() does not check for a valid callback) 2008-04-20 15:07:39 +00:00
Felipe Pena 6bf6541b62 - Fixed tests 2008-04-20 02:06:20 +00:00
Felipe Pena 408bb1e48d - Better error message 2008-04-20 01:44:16 +00:00
Felipe Pena 3d2a5940a2 - New tests 2008-04-18 14:05:47 +00:00
Christopher Jones dfe7affab5 Set extension status back to dev 2008-04-18 02:34:42 +00:00
Christopher Jones 0a6fb9085e Update description 2008-04-18 02:33:59 +00:00
Christopher Jones 08eaa56798 MFH
Code:
  - Do scope-end release for oci_pconnect (oci8.old_oci_close_semantics=1 gives old behavior)
  - Fix session reuse with 10.2 client libs
  - Fix the Ping macro version check for 10.2
  - Add type check associated with zend_list_find
  - Code connection re-organized for reuse
  - Format comments
  - WS changes
  - Prepare for new PECL release
Tests:
  - Add new tests
  - Rationalize password tests
  - Revert use of __DIR__ so tests will work with PHP 5.2
  - Update some skipifs to make tests more portable
2008-04-18 00:05:27 +00:00
Rob Richards de34e87000 BFN 2008-04-17 20:23:49 +00:00
Rob Richards 18b63c9d58 MFH: fix bug #44648 (Attribute names not checked for wellformedness)
add test
fix some warnings
2008-04-17 20:21:04 +00:00
Felipe Pena 8f2c31a171 - New test 2008-04-17 18:16:17 +00:00
Felipe Pena 08d56fca4c - Fixed typo 2008-04-17 11:08:13 +00:00
Dmitry Stogov fcaa1c6d86 Fixed bug #44226 (Throwing an exception causes crash in multithreaded SAPI) 2008-04-17 10:21:38 +00:00
Ilia Alshanetsky 683aa8d1cc Hash extension is no longer experimental 2008-04-16 21:53:41 +00:00
Antony Dovgal ac6310550f MFH: use new parameter parsing API 2008-04-16 14:21:04 +00:00
Antony Dovgal 00e406ec41 plug minor memleak 2008-04-16 13:20:59 +00:00
Andrey Hristov de560f3161 MFB: Update CVS from the development tree 2008-04-16 12:57:38 +00:00
Zoe Slattery 0a3a57bc05 Changes to the code that generates variations (Robin & Josie) 2008-04-15 19:50:13 +00:00
Elizabeth Marie Smith ba02e9ae64 These are really old config.w32 files - now they use PHP_PHP_BUILD correctly instead of hard coding the path to the libraries 2008-04-15 16:55:53 +00:00
Gwynne Raskind acfc6bd9e1 MFH: force use of BSD sed for OS X hack (patch by Alexey Zakhlestin) 2008-04-15 16:31:36 +00:00
Dmitry Stogov e8b485d077 Selected better initial VM stack size 2008-04-15 15:52:36 +00:00
Ilia Alshanetsky 753529325e MFB: Fixed bug #44034 (FILE_IGNORE_NEW_LINES in file() does not work as
expected when lines end in \r\n)
2008-04-15 15:48:20 +00:00
Antony Dovgal 7f03b0550f MFH: remove -ldl 2008-04-15 12:47:33 +00:00
Dmitry Stogov ba8e3174ce Optimized request startup sequence for php.ini without per dir and per host configurations 2008-04-15 11:31:58 +00:00
Jani Taskinen 8401580c37 MFH 2008-04-15 09:02:40 +00:00
Jani Taskinen 85ad3851e9 MFH 2008-04-15 08:44:21 +00:00
Scott MacVicar 944061ba37 Fixed bug #44720 (Prevent infinite recursion within session_register) 2008-04-15 00:59:04 +00:00
Ilia Alshanetsky f0563a2068 Fixed test 2008-04-14 23:17:30 +00:00
Steph Fox 5d9e5bbd8d - Workarounds are no longer needed - thanks PECLers! 2008-04-14 17:55:02 +00:00
Felipe Pena 1cb417edd7 - Fixed test 2008-04-14 17:24:11 +00:00
Hannes Magnusson 5b4aad0cf0 Use PHP to fetch the pear phar 2008-04-14 16:56:50 +00:00
Etienne Kneuss 8664b5dc68 MFH: Fix dns_check_proto (related to #44723) 2008-04-14 16:50:11 +00:00
Hannes Magnusson f0b7073308 [DOC] Remove config_get_hash() & and add new boolean parameter to ini_get_all()
to list ini entries key=>current_value like config_get_hash() did.
2008-04-14 15:32:42 +00:00
Hannes Magnusson 72080950ab Fixed bug#44716 (Progress notifications incorrect) 2008-04-14 12:16:07 +00:00
Hannes Magnusson ef78497f78 MFH: Add "params" argument to stream_context_create() 2008-04-14 08:15:11 +00:00
Antony Dovgal eb5afe0eda fix ZTS build and sync with HEAD 2008-04-14 07:49:00 +00:00
Hannes Magnusson 5fcd85240b Fixed bug#44712 (stream_context_set_params segfaults on invalid arguments) 2008-04-13 22:35:27 +00:00
Greg Beaver e668dc629b do not scan include_path with faulty plain_wrapper-based include_path fopen
# _fopen_with_path_rel probably needs to call out to regular php_stream_open, for exts that use it (it is exported)
2008-04-13 22:19:10 +00:00
Greg Beaver 217b911d0e fix test 2008-04-13 21:27:18 +00:00
Ilia Alshanetsky 5cbecbe535 Kill unused var 2008-04-13 12:25:15 +00:00
Zoe Slattery fbd21a5d01 Fixing:
(1) remove proto from start
(2)substitute "Done" with ===DONE== after closing tag in FILE section and at end of EXPECTF.
(3) Remove "add comment here..."
2008-04-13 10:46:12 +00:00
Hannes Magnusson 5881476266 MFH: Update URL for go-pear 2008-04-11 21:57:58 +00:00
Felipe Pena fce4f9600e MFB: Fixed bug #44703 (htmlspecialchars() does not detect bad character set argument) 2008-04-11 19:06:12 +00:00
Dmitry Stogov ae3295e1b9 Speedup GC initialization 2008-04-11 17:31:53 +00:00
Robin Fernandes ad534b35c1 Fix test parse_url_variation_002.phpt for 64bit platforms. 2008-04-11 14:35:06 +00:00
Antony Dovgal f5a7642277 fix tests 2008-04-11 11:05:56 +00:00
Antony Dovgal c300f98ee0 MFH: fix 2 segfaults in ZTS mode 2008-04-11 11:00:03 +00:00
Dmitry Stogov d9dd1b9e14 Optimized ZEND_RETURN opcode to not allocate and copy return value if it is not
used.
2008-04-11 09:43:28 +00:00
Steve Seear ca3391f44c POSIX extension error tests 2008-04-11 09:33:08 +00:00
Steve Seear d096787fbf POSIX extension variation tests 2008-04-11 09:28:07 +00:00
Robin Fernandes bcd9a07d6c Adding some tests for ereg and url functions. 2008-04-11 08:57:17 +00:00
Marcus Boerger 7b22726093 BFN 2008-04-11 08:35:54 +00:00
Marcus Boerger aa64c6727c - MFH No longer allow to disable pcre 2008-04-10 19:42:32 +00:00
Nuno Lopes 7507ff326e fix heredoc+nowdoc
#patch by Matt Wilmas
2008-04-10 19:19:04 +00:00
Nuno Lopes 93c676992d add SKIPIF
# Patch by Christian Hoffmann
2008-04-10 19:13:59 +00:00
Nuno Lopes 8dc8b63cca fix SKIPIFs
# Patch by Christian Hoffmann
2008-04-10 18:50:42 +00:00
Philip Olson 5b69959a92 MFH: Updated the documentation credits 2008-04-10 05:31:53 +00:00
Ilia Alshanetsky 4534cd6807 WS 2008-04-09 23:35:19 +00:00
Nuno Lopes cfc1756221 fix the yyless() definition to match flex one and revert part of last patch (so that it remains similar with flex's scan) 2008-04-09 22:01:20 +00:00
Marcus Boerger 26f7d6e48b - MFH SPL can no longer be disabld as discussed some time ago (checked back with RM) 2008-04-09 21:53:00 +00:00
Scott MacVicar 6f20cea6d8 Fixes to heredoc and cleanup of new re2c scanner. (Patch by Matt Wilmas) 2008-04-09 20:50:58 +00:00
Etienne Kneuss 54b70b6015 MFH: Fix #44511 (Ensure no exception was already thrown by php_stream_opendir) 2008-04-09 19:01:12 +00:00
Felipe Pena e3040a0815 MFB: Fixed bug #44678 (spliti error message includes wrong function name) 2008-04-09 13:51:09 +00:00
Dmitry Stogov 9412a49006 Fixed bug #44673 (With CGI argv/argc starts from arguments, not from script) 2008-04-09 09:16:51 +00:00
Dmitry Stogov dfacfae34a Bug #44653 (Invalid namespace name resolution) 2008-04-09 08:55:45 +00:00
Jani Taskinen a27b306d25 MFH: Missing basic single ini file test (bug #44574) 2008-04-08 12:33:54 +00:00
Jani Taskinen ee42eca5d8 - Generated with re2c 0.13.4 2008-04-08 12:17:04 +00:00
Jani Taskinen 9646a59ac0 - Fix test. 2008-04-08 12:00:15 +00:00
Jani Taskinen 04ea6d79d5 MFH:- Fixed bug #44667 (proc_open does not handle pipes with the mode "wb" correctly) 2008-04-08 08:42:24 +00:00
Andrey Hristov 46e3d3a4d8 Fix snapshot build 2008-04-08 07:45:49 +00:00
Ilia Alshanetsky f728678bb8 Fixed bug #44663 (Crash in imap_mail_compose if "body" parameter invalid) 2008-04-08 00:01:48 +00:00
Christopher Jones df86a8d398 Test updates 2008-04-07 21:55:53 +00:00
Christopher Jones 9389c68310 Fix OCIPing 10.2 macro 2008-04-07 21:55:43 +00:00
Christopher Jones 51c5220adb PECL #13523 (x86_64 build). Make OCI8 buildable with PHP 4.3.9. 2008-04-07 21:55:20 +00:00
Christopher Jones 6522f85412 MFH: Add E_DEPRECATED comment 2008-04-07 21:24:04 +00:00
Derick Rethans 0fe9a18758 - Reset back to 0.13.4 now that it released. 2008-04-07 17:55:21 +00:00
Derick Rethans e22155e848 - MFH: Fixing returned offset.
- MFH: Algorithm optimization.
2008-04-07 17:44:03 +00:00
Derick Rethans e64dc309f9 - MFH: Fixed test cases. 2008-04-07 17:41:58 +00:00
Antony Dovgal b021e04c0e MFH: fix test 2008-04-07 12:14:04 +00:00
Scott MacVicar 878230cfbb Fixed bug #44609 (Dollar in ini variables are not parsed correctly) 2008-04-07 11:39:14 +00:00
Etienne Kneuss a1e0945143 MFH: Implement forward_static_call(_array) to complete LSB. Patch by Mike Lively 2008-04-07 10:44:59 +00:00
Marcus Boerger 8f670912a3 - MFH add new tests 2008-04-06 17:53:31 +00:00
Ilia Alshanetsky 8d8e9d273b Fixed bug #44603 (Order issues with Content-Type/Length headers on POST) 2008-04-06 15:21:24 +00:00
Felipe Pena 235770b27f - HEREDOC syntax with double quotes 2008-04-05 23:50:21 +00:00
Felipe Pena b9d13d8f17 - Allow HEREDOC syntax with double quotes
(http://wiki.php.net/rfc/heredoc-with-double-quotes)
2008-04-05 22:29:08 +00:00
Felipe Pena 14b2f7606b MFB: Fixed bug #44591 (imagegif's filename parameter). 2008-04-04 17:42:18 +00:00
Nuno Lopes b41fd6150c remove redundant test for file size 2008-04-04 15:34:39 +00:00
Nuno Lopes bfcdbbcd33 add sanity checks for ZEND_MMAP_AHEAD and reduce the value from 32 to 16 (lowest safe value) 2008-04-04 15:01:23 +00:00
Joe Orton c3474b9116 MFH: Fixed bug #32979 (OpenSSL stream->fd casts broken in 64-bit build)
(stotty at tvnet dot hu)
MFH: Fix another case of a broken stream->fd cast in 64-bit builds.
2008-04-04 13:02:48 +00:00
Antony Dovgal 6157fc7681 MFH: fix folding 2008-04-04 07:47:58 +00:00
Dmitry Stogov 9e4d03885e - Fixed possible stack buffer overflow in FastCGI SAPI. (Andrey Nigmatulin)
- Fixed sending of uninitialized paddings which may contain some information.
  (Andrey Nigmatulin)
2008-04-03 10:24:58 +00:00
Ilia Alshanetsky d9253f7424 Fixed bug #44613 (Crash inside imap_headerinfo()) 2008-04-02 16:26:39 +00:00
Antony Dovgal aa555ca0a9 MFH 2008-04-02 14:56:21 +00:00
Antony Dovgal e96d5501f8 MFH: initialize variable 2008-04-02 14:35:29 +00:00
Felipe Pena 378dacf99f Typo 2008-04-01 18:48:11 +00:00
Christopher Jones fc1ad96953 Use new version macro. Make code portable to older PHP versions 2008-04-01 18:37:32 +00:00
Ilia Alshanetsky 7f9d35ebf7 Fixed bug #44594 (imap_open() does not validate # of retries parameter) 2008-04-01 18:28:45 +00:00
Gwynne Raskind eade375f56 fix the darwin 9 hack again; add the -O2 back in to avoid performance loss when not compiling for debug 2008-04-01 02:37:02 +00:00
Derick Rethans 2facb4e240 - Don't rely on a version that doesn't exist - that breaks snapshots. 2008-03-31 10:08:57 +00:00
Steph Fox b4103c390f - Allow most of the existing strangely-named headers to get by 2008-03-31 09:17:25 +00:00
Derick Rethans ec5157fe01 - MFH: Fixed a bug in formatting timestamps when DST is active in the default
timezone.
2008-03-31 09:11:30 +00:00
Steph Fox 36db7c60c9 Revert "minimum version requirement" until there's a version to match it 2008-03-31 00:28:16 +00:00
Felipe Pena f8b3482861 Fix WS.
# My editor accidentally changed tab to space, sorry.
2008-03-30 22:01:44 +00:00
Felipe Pena b3ded59e3e - Added T_GOTO
- Fixed tests
2008-03-30 21:48:24 +00:00
Ilia Alshanetsky f704d2d37d Added a warning message 2008-03-30 15:05:48 +00:00
Felipe Pena 3230a77d89 MFB: Fixed bug #44564 (escapeshellarg removes UTF-8 multi-byte characters) 2008-03-30 12:24:10 +00:00
Felipe Pena f8f26de7d5 Fix for segfault on 64bit platform 2008-03-29 11:52:10 +00:00
Felipe Pena 065af96002 New entry (MFH: goto) 2008-03-29 00:01:42 +00:00
Nuno Lopes 106af69646 ignore generated files 2008-03-28 17:48:30 +00:00
Felipe Pena 3946b1fd29 MFB: Fixed bug #44557 (Crash in imap_setacl when supplied integer as username) 2008-03-28 16:45:05 +00:00
Felipe Pena f66f55edc5 MFH: Implemented "jump label" operator (limited "goto")
[DOC]
2008-03-28 14:35:01 +00:00
Antony Dovgal 9d9468e9f4 fix compile warnings 2008-03-28 10:22:12 +00:00
Jani Taskinen afa42ce453 - Fix test (readdir() does not sort the results..) 2008-03-27 10:45:03 +00:00
Dmitry Stogov 862f9ee3d2 Added ability to use stream wrappers in include_path 2008-03-27 10:33:40 +00:00
Ilia Alshanetsky 17d22a50d9 Fixed bug #44501 (LOCK_EX mode in file_put_contents() is impropertly
handled in combination with url wrappers)
2008-03-26 23:06:47 +00:00
Steve Seear 073b6eac48 Adding tests for gethostbyaddr() and gethostbynamel() 2008-03-26 18:19:31 +00:00
Jani Taskinen 6c6f831455 - Give Marcus good old warm and fuzzy feeling.. :) 2008-03-26 15:04:57 +00:00
Jani Taskinen a27b02f4d7 - Use the right tool here too 2008-03-26 13:35:54 +00:00
Marcus Boerger 7916f1c1f0 MFH:
- Fix memory leak found by Osman
- Merge strlen to sizof change from CLI
2008-03-25 22:05:22 +00:00
Marcus Boerger c0b4683661 - MFH Use sizeof rather than strlen and cleanup 2008-03-25 21:58:29 +00:00
Ilia Alshanetsky 44a6326b15 Removed unused variable 2008-03-25 20:19:04 +00:00
Andrey Hristov 5a717e7153 Fix typo, thank Jani :) 2008-03-25 20:00:18 +00:00
Andrey Hristov 598f89d86e news entry 2008-03-25 18:30:56 +00:00
Andrey Hristov 5abe8c8d01 Small updates & a fix for
Bug #43832 mysqi_get_charset() doesn't expose charset comment
2008-03-25 18:27:17 +00:00
Felipe Pena 9e2894f5ff MFH:
- Renamed zend_do_fetch_class_name() to zend_do_build_full_name() (It is not used only for classes)
- Moved zend_resolve_class_name prototype to zend_compile.h
2008-03-25 18:08:37 +00:00
Christopher Jones bb03788897 revert stmt release on connection error change (and sync with PHP 6) 2008-03-25 17:38:07 +00:00
Christopher Jones e7de4793c3 Remove trailing period from error thus syncing with PHP 6 2008-03-25 17:20:27 +00:00
Johannes Schlüter c826caa84f - MFH: New egg 2008-03-25 17:17:56 +00:00
Dmitry Stogov 00346c2dbf Optimized detection of "__call" and "__callstatic" methods. 2008-03-25 13:04:03 +00:00
Christopher Jones ceb2193b7c rename PHP_OCI8_VERSION in preparation for peclversioning RFC. Remove obsolete HAVE_OCI8_ATTR_STATEMENT macro 2008-03-25 02:00:32 +00:00
Ilia Alshanetsky 16f6918e0f Fixed test on systems where . and .. order not guaranteed 2008-03-24 18:33:54 +00:00
Antony Dovgal fc134fd6c5 MFH: disabled mmap() when copying files to memory 2008-03-24 16:28:35 +00:00
Steph Fox 2b27e2c8a4 Another thing version_compare() allows... 2008-03-24 15:11:46 +00:00
Derick Rethans d24bc47a99 - Updated to version 2008.2 (2008b) 2008-03-24 13:00:47 +00:00
Dmitry Stogov 2790eebdbc Fixed tests 2008-03-24 10:09:41 +00:00
Dmitry Stogov 2f794ceabb Fixed ws and comment 2008-03-24 09:30:41 +00:00
Dmitry Stogov 0ec1e42e52 Fixed tests (file order is undefined, so we need to sort() them) 2008-03-24 09:00:33 +00:00
Steph Fox 0726c79d7e - Extend that regexp (again)
- Revert the changes affecting external template.rc files
2008-03-23 21:59:31 +00:00
Marcus Boerger 0ae1cf8c59 - MFH Add .cvsignore 2008-03-23 16:53:52 +00:00
Ilia Alshanetsky 97e293ed4b Removed unused variable 2008-03-23 15:48:10 +00:00
Marcus Boerger 3a74a6bec4 - MFH Add tests 2008-03-23 13:38:41 +00:00
Steph Fox ab8ddf1b78 Don't break PECL extensions that are oh-so-nearly doing The Right Thing [TM]
(mcve, runkit, win32ps)
2008-03-22 22:16:55 +00:00
Marcus Boerger 0893c3e2c9 - Another re2c version bump and scanner regeneration
# It appears no one has used re2c in the way we do
2008-03-22 17:59:52 +00:00
Marcus Boerger a9b9062980 - Require 0.13.3 2008-03-22 15:39:53 +00:00
Antony Dovgal 66b66914a6 use correct flags 2008-03-22 12:56:16 +00:00
Steph Fox fc2eed70ef Allow Stas his "1.0.0RC1-dev" 2008-03-22 09:33:31 +00:00
Steph Fox a007d591bf Independent versioning for PECL extensions (and only PECL, for now)
This affects the RC template used to ship information with the DLL in Windows distributions - nothing else.
It will potentially affect 13 PECL modules at present (and yes I do know which ones!)
2008-03-22 09:07:59 +00:00
Christopher Jones c401491ca0 Further improvements to error handling 2008-03-22 01:27:50 +00:00
Marcus Boerger f8f01a1fd1 - MFH Settle to 4 MB, see internals@ archives 2008-03-21 19:37:43 +00:00
Marcus Boerger 07e3598762 - Fix YYFILL() 2008-03-21 18:47:26 +00:00
Marcus Boerger 3ce7194a4d - MFH Fix comment 2008-03-21 18:21:09 +00:00
Marcus Boerger 51e9bd075f - Simplify 2008-03-21 18:20:07 +00:00
Marcus Boerger adaf6daa3c - Fix streams handling logic, only real FPs can be mmaped here 2008-03-21 18:15:43 +00:00
Marcus Boerger 9f001a01a1 - MFH Increase max mmap size to 8 MB 2008-03-21 17:13:08 +00:00
Antony Dovgal 7f02e564f7 MFH: revert 2008-03-21 16:39:11 +00:00
Marcus Boerger 40bdb5df57 - Bugfix 44461 2008-03-21 15:29:34 +00:00
Marcus Boerger 736df2fec1 - MFH Add new test 2008-03-21 15:21:38 +00:00
Antony Dovgal 96c2b045ff fix ZTS build 2008-03-21 08:28:24 +00:00
Ilia Alshanetsky 74b5cfdea5 Refine fix for multibyte char hanling inside command names and args 2008-03-20 23:25:31 +00:00
Derick Rethans b23442fc48 - MFH: Fix the DateTimeZone::getTransitions() algorithm. 2008-03-20 19:43:36 +00:00
Stanislav Malyshev e6831f4b4f document the change 2008-03-20 18:12:58 +00:00
Stanislav Malyshev bb86f3ae5b [DOC] make short_open_tag user-accessible 2008-03-20 17:30:14 +00:00
Rob Richards 7c91532eac MFH: fix bug #44478 (Inconsistent behaviour when assigning new nodes)
add test
2008-03-20 16:48:10 +00:00
Andrey Hristov 878f817df6 News entry 2008-03-20 15:39:44 +00:00
Andrey Hristov 85cd8525c9 Small fix and a test case to prove it's right 2008-03-20 15:29:14 +00:00
Steph Fox b72b4ce87e Allow Elizabeth's favourite function to accept 2-4 sets of digits in version. 2008-03-20 15:03:20 +00:00
Andrey Hristov 6867385d75 - Don't modify the variables which are passed for parameter binding.
We need to clone them, if there will be a transformation (convert_to_xxx)
  which will change the origin
  (bug#44390 bind_param / bind_result and Object member variables)
- Make mysqlnd more compatible to libmysql, in this case if the execute of
  a statement fails set the state of the statement back to PREPARED
- A test case to check the case of a failing statement.
2008-03-20 14:03:30 +00:00
Antony Dovgal b2af8cac94 MFH 2008-03-20 12:14:06 +00:00
Antony Dovgal dff9a32350 MFH: fix tests 2008-03-20 08:35:44 +00:00
David Soria Parra 6d66530ae9 MFH: Fix bug #44487 (call_user_method_array issues a warning when throwing an exception). 2008-03-20 00:52:46 +00:00
Nuno Lopes b3a9edd021 ignore generated files 2008-03-19 23:25:53 +00:00
Nuno Lopes 35eb728a7c fix gcov build 2008-03-19 23:24:56 +00:00
Steve Seear 801c795208 Adding language tests. 2008-03-19 18:06:24 +00:00
Steve Seear 6e361fa7db Added some class tests; Replaced some hardcoded instance ids with %d. 2008-03-19 17:56:10 +00:00
Steve Seear 4c2b3336a2 Adding tokenizer test 2008-03-19 17:43:50 +00:00
Steve Seear 5e0afe8eb9 Adding streams tests 2008-03-19 17:38:23 +00:00
Steve Seear 9071a478b5 Adding filesystem tests 2008-03-19 17:25:47 +00:00
Rasmus Lerdorf 6ef4d75c81 Typo (I wonder if anybody would ever have noticed this) 2008-03-19 16:28:46 +00:00
Rasmus Lerdorf ea790cef01 On Windows I guess there is no point starting the timeout thread until
we actually have a timeout value.
2008-03-19 15:30:49 +00:00
Rasmus Lerdorf d2f23dbe64 Make sure we set the signal handler when reset_signals is true, regardless
of the actual timeout value.
2008-03-19 15:22:17 +00:00
Antony Dovgal 54482745ba MFH 2008-03-19 12:44:13 +00:00
Antony Dovgal e3b672bb23 MFH: make use of zend_atol() 2008-03-19 12:42:16 +00:00
Antony Dovgal 7b1bc753c6 MFH: add zend_atol() 2008-03-19 12:41:23 +00:00
Antony Dovgal 8b5524e2fe fix test 2008-03-19 12:36:09 +00:00
Ilia Alshanetsky 6bb865ff04 Removed ze1_compatibility_mode INI options 2008-03-19 12:16:14 +00:00
Dmitry Stogov 5031528ec7 Disabled $GLOBALS' refcount modification 2008-03-19 11:46:10 +00:00
Felipe Pena 47badbe86b Remove accidental change 2008-03-19 03:15:56 +00:00
Felipe Pena 17c7463331 MFB: Fixed bug #43614 (incorrect processing of numerical string keys of array in arbitrary serialized data) 2008-03-19 03:05:35 +00:00
Ilia Alshanetsky c4a33f1515 Fixed bug #44445 (email validator does not handle domains
starting/ending with a -)
2008-03-18 23:31:34 +00:00
Elizabeth Marie Smith b4e97d3230 Correct name for the file 2008-03-18 22:48:26 +00:00
Rasmus Lerdorf 45e327a672 Add new empty child terminate sapi hook to the rest of the sapis 2008-03-18 22:23:21 +00:00
Rasmus Lerdorf 6c158374ba exit_on_timeout patch
After the sigsetjmp change, this is patch #2 in an effort to get some
sanity restored to signal handling in PHP.

This patch does two things.  First, it makes it possible to reset the
timeout without resetting the signal handlers.  This is important for
cases where an extension may have deferred signals in its MINIT in order
to implement critical sections. It also lays the groundwork for cleaning
up our signal handling and perhaps eventually implementing our own
signal deferring mechanism so we can have true critical sections.

The second thing this does is to make it possible to terminate the current
child process (only for Apache1 at the moment) on a timeout.  There are
a number of extensions that are unhappy about being longjmp'ed out of
and when this happens on a timeout they are left in an inconsistent state.
By turning on exit_on_timeout you can now force the process to terminate
on a timeout which will clean up any hanging locks and/or memory left
hanging after the longjmp.
2008-03-18 21:42:50 +00:00
Rasmus Lerdorf 10afe5d96b Make the sigsetjmp change more robust. On systems that don't have
sigsetjmp use setjmp.  Windows is of course weird in that it seems to
have sigsetjmp but not sigjmp_buf (??) so force it to use setjmp in
config.w32.h.in
2008-03-18 21:14:28 +00:00
Rasmus Lerdorf c9e0781d2a Use sigsetjmp and siglongjmp instead of setjmp/longjmp in order to be
consistent in how we deal with the signal mask.  POSIX doesn't specify
what to do with the signal mask in setjmp/longjmp which has resulted in
the signal mask getting saved on *BSD and not getting saved on Linux.
Making the behaviour explicit via sigsetjmp/siglongjmp gives us
consistency and saves expensive sigprocmask() syscalls on *BSD.
2008-03-18 18:34:11 +00:00
Elizabeth Marie Smith 4d9cbaf7a4 Ignore steph's pretty batch file 2008-03-18 18:00:40 +00:00
Andrey Hristov 98680c0c8f Fix the build 2008-03-18 17:30:55 +00:00
Steph Fox 7e38f9b2af Generic function for binary probes, kill the other two. And get rid of the annoying double check for CL. 2008-03-18 17:10:20 +00:00
Andrey Hristov caf3e9c3f1 Fixed a bunch of bugs reported in
Bug #44352 mysqli_connect_error() false negative for host errors
From now on the mysqli object doesn't have that magic properties, like
error, which were readable but not visible through isset(), property_exists()
and var_dump(). All other ext/mysqli classes were fixed too.
Now it will be easier to debug mysqli based applications.
2008-03-18 16:57:31 +00:00
Robin Fernandes bd9e026951 Adding more tests for serialize() and unserialize(). 2008-03-18 15:11:48 +00:00
Antony Dovgal 40a7a6005b remove ze1_compat tests 2008-03-18 14:50:14 +00:00
Antony Dovgal d32270a129 one more forgotten ze1_compat leftover 2008-03-18 14:48:09 +00:00
Antony Dovgal 57f51ee9a4 remove ze1_compat leftovers 2008-03-18 14:44:35 +00:00
Felipe Pena 2b10c53ae1 MFH: Dropped zend.ze1_compatibility_mode
[DOC]
2008-03-18 14:10:45 +00:00
Dmitry Stogov 8b01532f64 Removed hack (we don't need to modify class name).
(the problem is covered by Zend/tests/ns_056.phpt)
2008-03-18 11:37:00 +00:00
Dmitry Stogov 8c885b8913 Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.

function cache_compile_file($filename) {
        if (!is_cached($filename)) {
                ...
                orig_compiler_options = CG(compiler_optins);
                CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
                                        ZEND_COMPILE_DELAYED_BINDING;
                $op_array = orig_compile_file($filename);
                CG(compiler_options) = orig_copiler_options;
                ...
        } else {
                $op_array = restore_from_cache($filename);
        }
        zend_do_delayed_early_binding($op_array);
}
2008-03-18 08:36:30 +00:00
Steph Fox 7c8ff91218 You might as well have 'the Steph special' too :-)
I can never remember the cscript line, so let's just have 'configure' instead.
2008-03-18 03:23:14 +00:00
Steph Fox 766b6b606e re2c checking.
If it's not installed, the least scary of messages goes out.
If it's installed but older than the required version, the download link is given.
2008-03-18 03:12:42 +00:00
Felipe Pena 01dc595706 Fix build 2008-03-18 00:24:21 +00:00
Stanislav Malyshev 085af56710 fix integer overflow in length calculation 2008-03-17 23:06:32 +00:00
Ilia Alshanetsky 9227974ddb Properly address incomplete multibyte chars inside escapeshellcmd() 2008-03-17 23:01:27 +00:00
Rasmus Lerdorf 42d4cf6531 Revert
Never mind, it looks like ext/filter does an estrdup on everything it
gets which doesn't seem very efficient to me as most things it gets
passed will already be emalloc'ed.  My custom version of the filter
extension doesn't do this which led to the confusion.
2008-03-17 18:27:08 +00:00
Rasmus Lerdorf bafb0b4ff5 We need to pass PHP-managed pointers to filter here to avoid having
emalloc'ed data assigned to things like r->uri and having it get efree()'ed
on request shutdown which then means that if the Apache logging module
tries to log r->uri it would be reading from free'ed memory.  So a simple
estrdup before the filter call takes care of that.
2008-03-17 18:03:31 +00:00
Stanislav Malyshev e345eb5e38 fix win32 build 2008-03-17 17:29:13 +00:00
Nuno Lopes 25e6cd1a38 remove duplicated sections 2008-03-17 17:19:48 +00:00
Nuno Lopes 95b627f29b detect test cases with duplicated sections 2008-03-17 17:18:19 +00:00
Scott MacVicar bd4c0ced50 Fix build on Windows 2008-03-17 17:06:51 +00:00
Stanislav Malyshev 8223bb26a6 add request_order 2008-03-17 16:34:18 +00:00
Nuno Lopes 37660519cb fix tests (removed duplicated stuff) 2008-03-17 16:32:15 +00:00
Nuno Lopes e89b52f5ea remove leftovers 2008-03-17 16:21:49 +00:00
Antony Dovgal 74bfe1c3fa fix test 2008-03-17 15:35:32 +00:00
Gwynne Raskind bcc6360dac MFH: Fix bug #44443 (cvsclean fails on Darwin 9) 2008-03-17 15:22:22 +00:00
Antony Dovgal 0ee45c4711 fix tests 2008-03-17 14:59:23 +00:00
Antony Dovgal 5e803b451d BFN 2008-03-17 14:55:40 +00:00
Antony Dovgal 7dd943ac5c MFH: fix #39127 (Old-style constructor fallbacks produce strange results) 2008-03-17 14:54:42 +00:00
Antony Dovgal 964e0522a1 fix test 2008-03-17 14:05:39 +00:00
Scott MacVicar e6960e3ded Fix test 2008-03-17 10:29:17 +00:00
Antony Dovgal 93d4b17de9 use @ to silence the commands 2008-03-17 10:05:04 +00:00
Josie Messa f5cd721058 - new tests for ctype functions 2008-03-17 09:52:02 +00:00
Scott MacVicar b89071ec06 Make re2c required 2008-03-16 23:54:06 +00:00
Marcus Boerger 33da0b6a7b - No more flex underwindows either 2008-03-16 22:26:42 +00:00
Marcus Boerger 31ee06f0aa - Update windows build script 2008-03-16 22:16:56 +00:00
Felipe Pena 40f83dad26 Fix build (ZTS) 2008-03-16 21:55:46 +00:00
Marcus Boerger 00e236aa80 - Fix build 2008-03-16 21:42:42 +00:00
Marcus Boerger 0531ba8952 - Add files generated by re2c 2008-03-16 21:23:02 +00:00
Marcus Boerger af316021e8 - Rewrite scanner to be based on re2c instead of flex
The full patch is available as:
  http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
  This is against php-re2c repository version 98
  An older patch against version 97 is available under:
  http://php.net/~helly/php-re2c-97-20080316.diff.txt
2008-03-16 21:06:55 +00:00
Ilia Alshanetsky eb8f83a98e Remove unused variable 2008-03-16 15:15:21 +00:00
Derick Rethans fb86942ce9 - Updated to version 2008.1 (2008a) 2008-03-16 07:21:00 +00:00
Felipe Pena bbac59aa40 MFB: Fixed bug #44440 (st_blocks undefined under BeOS) 2008-03-15 10:32:32 +00:00
Felipe Pena 766f62f026 Add SKIPIF (32bit platform only) 2008-03-14 23:15:47 +00:00
Lukas Smith 72ae8cdf9b MFH 2008-03-14 21:52:47 +00:00
Dmitry Stogov 7158425387 Improve GC to support garbage created in destructors during objects utilization 2008-03-14 18:36:34 +00:00
Felipe Pena 57f423156e Fix build (ZTS) 2008-03-14 17:56:52 +00:00
Derick Rethans 0e9a12d8b1 - MFH: Allow datetime objects to be serialized and woken up.
- MFH: Implemented __set_state().
2008-03-14 16:19:52 +00:00
Dmitry Stogov 34003557ca Removed commented code and unnecessary inline function 2008-03-14 13:35:40 +00:00
Dmitry Stogov e1a28ee945 Fixed GC bug 2008-03-14 13:21:04 +00:00
Antony Dovgal 8f6b35ccd3 MFH: check if return value of write() is -1 and abort upload in this case setting the correct error status 2008-03-14 13:11:12 +00:00
Marcus Boerger c17997d4b6 - MFH Fix possible memory corruption 2008-03-13 19:46:44 +00:00
Elizabeth Marie Smith 77e914e6dc [DOC] adds new odbc driver specific ODBC_ATTR_ASSUME_UTF8 to deal with unicode coming out of Microsoft SQL Server and is only relevant on windows, use it if unicode output from the server is garbled and it will autoconvert text - original patch by wez 2008-03-13 16:55:09 +00:00
Ilia Alshanetsky 5ea77bc64f MFB: Fixed bug #43677 (Inconsistent behaviour of include_path set with
php_value). (Patch by: manuel at mausz dot at)
2008-03-13 16:01:31 +00:00
Derick Rethans 7aa69c21df - Fixed bug #44257 (timelib_tz_lookup_table must use float for gmtoffset). 2008-03-13 15:59:48 +00:00
Derick Rethans a27d6afd83 - Added support for parsing date/time strings returned by MS SQL with strtotime(). 2008-03-13 15:54:25 +00:00
Dmitry Stogov 7705272218 Disable path resolution for filenames with stream wrappers
More careful check for relative pathes (./xxx and ../xxx)
2008-03-13 14:09:54 +00:00
Stanislav Malyshev a9fe1010d2 [DOC] add request_order INI variable to control $_REQUEST content
# if not set (default), variables_order still is used
# request_order accepts G,P and C
2008-03-12 20:24:45 +00:00
Felipe Pena 5076296d8c Sync with fix for #44394 2008-03-12 19:34:37 +00:00
Felipe Pena eea093b47c MFB: Fixed bug #42177 (Warning "array_merge_recursive(): recursion detected" comes again...) 2008-03-12 19:18:42 +00:00
Christopher Jones c94d9b0c12 MFH: New test for existing behavior 2008-03-12 17:52:59 +00:00
Ilia Alshanetsky 5944170872 Fixed bug #44388 (Crash inside exif_read_data() on invalid images) 2008-03-12 17:32:01 +00:00
Dmitry Stogov a564b2a939 Fixed test 2008-03-12 15:20:23 +00:00
Etienne Kneuss b57e7b44da Fix bug #41828 (Fix crash on wrong instantiation) 2008-03-12 13:34:47 +00:00
Felipe Pena ae0a15b7cf New test 2008-03-12 13:31:38 +00:00
Felipe Pena 5fa8f63a01 New tests 2008-03-12 12:58:12 +00:00
Felipe Pena d269b5fd50 Merged into 5_2 2008-03-12 11:28:37 +00:00
Dmitry Stogov 2564bdc73c Code simplification 2008-03-12 10:40:02 +00:00
Dmitry Stogov be8daf1f47 Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode 2008-03-12 10:32:12 +00:00
Dmitry Stogov 0f2247ae94 Fixed bug #44414 (Incomplete reporting about abstract methods) 2008-03-12 09:46:42 +00:00
Dmitry Stogov c33db5c74e Fixed warning 2008-03-12 08:52:49 +00:00
Felipe Pena e0de453954 Fixed bug #44394 (Last two bytes missing from output) 2008-03-12 02:40:57 +00:00
Christopher Jones b9f72771a6 MFH
Cleaned up whitespace

Fixed bug #44372 (compilation with Oracle 10gR1 libraries)
http://bugs.php.net/bug.php?id=44372

Updated updated error number list to improve re-connection
behavior after a database restart.

Guard against potential internal list corruption after ping
removes old oci_pconnect() information.

Fix ini_set("oci8.connection_class", "abc") to get an appropriate
persistent connection.

Ping at oci8.ping_interval for oci_connect() and oci_new_connect()
when DRCP connections are used. This improves non-persistent
connection reliability if a database gets restarted.
2008-03-12 01:26:44 +00:00
Lars Strojny 698e065295 Adding itk again to non-threaded MPMs. Sorry for the confusion 2008-03-11 22:47:39 +00:00
Felipe Pena fec00fd374 Add new test (bug reported in internals list by Robin) 2008-03-11 16:56:06 +00:00
Felipe Pena 7a9bfa9055 Add new test (bug reported in internals list by Robin) 2008-03-11 16:48:14 +00:00
Felipe Pena 4aebf04353 Missing a line 2008-03-11 15:26:24 +00:00
Felipe Pena 999d2e2294 New tests 2008-03-11 15:18:58 +00:00
Felipe Pena f37f8d85d6 Fix test 2008-03-11 11:04:53 +00:00
Antony Dovgal 6204a10e79 some more tests 2008-03-11 10:40:37 +00:00
Antony Dovgal f0b9ac513c MFH: fix segfault - error_string may be NULL, in this case we have to follow the old behavior 2008-03-11 10:27:10 +00:00
Josie Messa e897db28bf - Fix test 2008-03-11 10:17:51 +00:00
Josie Messa f5d9a8ea42 - Added extra whitespace around error messages in expected output 2008-03-11 10:00:26 +00:00
Dmitry Stogov 1a08aadc9b Fixed memory corruption because of double free() 2008-03-11 09:36:41 +00:00
Ilia Alshanetsky ec45e73891 More todo items 2008-03-11 00:12:53 +00:00
Felipe Pena 1db52c1c5f Fix tests (new error message for void parameters) 2008-03-10 23:14:11 +00:00
Felipe Pena 9324869ef5 Fix tests (new error message for void parameters) 2008-03-10 22:17:59 +00:00
Felipe Pena 84a8bb038a MFH: New way for check void parameters 2008-03-10 22:15:36 +00:00
Felipe Pena cc2b17d51d MFH: Added new macro for check void parameters.
(deprecating ZEND_WRONG_PARAM_COUNT for this cases)
2008-03-10 22:02:41 +00:00
Andrey Hristov 725b31fc6c Update mysqlnd, ext/mysql and ext/mysqli - now possible to compile with different
configurations one or the another extension to use libmysql or mysqlnd mixed in
one binary
2008-03-10 20:15:38 +00:00
Andrey Hristov 49add03404 char **error_message was passed but not used. This causes problems in cases
of getaddrinfo() failure, because the upper layers don't get the error.
initialize a variable because we were reading initialized in case of error.
2008-03-10 19:54:47 +00:00
Antony Dovgal 23bb85388b fix gcov build 2008-03-10 17:26:33 +00:00
Josie Messa 705435eb9e - New tests for getcwd() function 2008-03-10 15:22:47 +00:00
Josie Messa 1d4f18734f - Modified expected output to allow tests to work on all platforms 2008-03-10 15:10:32 +00:00
Felipe Pena af8b8480d5 Improve the Darwin 9 hack considerably and switch to using dl*() instead of NS*() on Darwin 8+. (Patch by Gwynne) 2008-03-10 15:06:04 +00:00
Josie Messa 794955ce85 - New tests for scandir() function 2008-03-10 14:12:41 +00:00
Johannes Schlüter 445a24e400 Fix typo 2008-03-10 13:39:53 +00:00
Andrey Hristov 9cb1ef66b5 Remove unneeded entry 2008-03-10 11:19:24 +00:00
Andrey Hristov 5034db7cbb Update NEWS 2008-03-10 09:22:19 +00:00
Andrey Hristov a27e0c8818 - Fix a warning in php_mysql.c
- Fixed #44371 Extension compile failed
2008-03-10 09:18:43 +00:00
Scott MacVicar 08b5500f4b Fix memory issues with statement being deleted twice 2008-03-09 21:30:28 +00:00
Antony Dovgal 1f3b8cccc4 %v -> %s, this is 5_3 2008-03-09 20:52:29 +00:00
Ilia Alshanetsky 33e23bd355 Initialize ts only after successful argument parsing 2008-03-09 18:09:53 +00:00
Felipe Pena 5d9e462ecf Fix typo (#44381) 2008-03-09 16:07:14 +00:00
Gwynne Raskind 62ba50b762 MFH: Fix Darwin 9/Mac OS X 10.5 build problems, or at least patch them 2008-03-09 14:27:25 +00:00
Lars Strojny a344adf72e sapi/apache2(handler|filter)/config.m4: Removing itk from the list of threaded MPMs (thanks Hannes) 2008-03-09 12:35:56 +00:00
Lars Strojny 1b16b4e243 Adding itk and and peruser MPM to the list of threaded Apache MPMs 2008-03-09 01:10:25 +00:00
Johannes Schlüter 14496417d0 - MFH: Fix typo in skipif 2008-03-09 01:07:01 +00:00
Felipe Pena 77af81b8c3 Fix test (thanks Scoates!) 2008-03-08 23:31:05 +00:00
Felipe Pena a7dd2ad68c Fix test 2008-03-08 23:13:45 +00:00
Felipe Pena 8acaf4118c Fix test (new constant was added in PREG) 2008-03-08 23:06:42 +00:00
Etienne Kneuss e9a6f0f24a MFH: User error handlers no longer catch supressed errors 2008-03-08 22:12:32 +00:00
Felipe Pena fd0d44f0a7 User error handlers no longer catch supressed errors (patch by Etienne Kneuss) 2008-03-08 21:54:03 +00:00
Greg Beaver 2801e87a55 fix tests if allow_url_fopen is disabled in php.ini 2008-03-08 19:12:34 +00:00
David Coallier 47f576db8f - MFH
- If libxml dotted version smaller than 2.6.20 it's a fail. Patch from scoates
2008-03-08 19:11:18 +00:00
Greg Beaver b6d53c51e8 fix test if allow_url_fopen is disabled in php.ini 2008-03-08 19:08:25 +00:00
David Coallier e506d59a0e - Ok to fail on OSX, adjusted bug, patch from scoates 2008-03-08 18:50:14 +00:00
Andrey Hristov 64aad3d210 Bug fixed in 5.0.46 2008-03-08 15:00:50 +00:00
Andrey Hristov 704cab59ee update NEWS 2008-03-08 14:58:04 +00:00
Andrey Hristov ff8a310468 Fix a problem with $mysqi->connect() not working with default values.
Fix a leak, bug#39457
2008-03-08 14:55:52 +00:00
Felipe Pena 739a4d503b MFB: Fixed bug #44373 (PDO_OCI extension compile failed) 2008-03-08 14:03:20 +00:00
Nuno Lopes 03444a67be BFN #44214 2008-03-08 13:03:59 +00:00
Nuno Lopes 634fef42d6 fix bug #44214: crash with preg_replace_callback and global variables 2008-03-08 13:01:59 +00:00
Felipe Pena 11bbb0165a BFN: #39108 2008-03-08 12:17:54 +00:00
Nuno Lopes 3f67ea4568 BFN: #44336 2008-03-08 12:05:19 +00:00
Felipe Pena c7cb8551fe Fix tests (removed space on error message "Undefined index: ...") 2008-03-08 12:01:53 +00:00
Nuno Lopes d204214d7f implement #44336: optimize utf8 string matching
add PREG_BAD_UTF8_OFFSET_ERROR constant
2008-03-08 11:58:12 +00:00
Nuno Lopes 0d0a7a432a add new tests 2008-03-08 11:50:20 +00:00
Felipe Pena 579e46dd76 Cosmetics (removed space on error message) 2008-03-08 11:47:13 +00:00
Felipe Pena ddc8a63168 Fixed bug #39018 (Error control operator '@' fails to suppress "Uninitialized string offset") 2008-03-08 11:35:12 +00:00
Gwynne Raskind 342a75906a BFN 2008-03-08 10:36:15 +00:00
Scott MacVicar 1f150df537 BFN 2008-03-08 04:20:02 +00:00
Scott MacVicar 32c03b5f32 MFB: Fixed bug #42203 (Clear SQLite result sets before closing database.) 2008-03-08 04:18:29 +00:00
Gwynne Raskind 8bbef4f940 Forgot one file in last commit 2008-03-07 23:20:54 +00:00
Gwynne Raskind 3e99d5cc5b MFH: fix bug #32330 (session_destroy, "Failed to initialize storage module", custom session handler) 2008-03-07 23:20:32 +00:00
Johannes Schlüter 278b7f2bdd - MFH: New tests 2008-03-07 21:33:17 +00:00
Scott MacVicar e6f6a1981f BFN. 2008-03-07 17:17:00 +00:00
Scott MacVicar 4147031eb0 Fixed bug #41135 (When binding as binary data use sqlite3_bind_blob() to stop errors with null bytes.)
Fixed bug #42443 (Bind integers and booleans as integers rather than strings.)
2008-03-07 16:58:55 +00:00
Josie Messa 8e3192aed8 - Tests awaiting fix of bug #44246 2008-03-07 16:20:16 +00:00
Josie Messa d19f3990e3 - New tests for rewinddir() function 2008-03-07 16:12:03 +00:00
Josie Messa 37ca3ca2b5 - New tests for closedir() function 2008-03-07 16:00:24 +00:00
Jani Taskinen 51a57fe26e style 2008-03-07 14:40:08 +00:00
Scott MacVicar 1937e87f6d BFN 2008-03-07 12:19:56 +00:00
Scott MacVicar 5a86313123 Update bundled SQLite to 3.5.6 2008-03-07 10:47:32 +00:00
Antony Dovgal 184173fccc fix build 2008-03-07 08:56:38 +00:00
Greg Beaver 1dac2d21a8 test was failing because I had a file named 1 in the checkout directory
# note to tests writers: never assume anything about directory
# contents.
2008-03-07 04:14:53 +00:00
Stanislav Malyshev 507a7840ed improve seed calculation
# better solution would be to port mt's multi-value seed procedure
2008-03-07 03:36:58 +00:00
Ilia Alshanetsky bbf53bbb04 Fixed a memory leak inside date_get_last_errors() when there are no errors 2008-03-07 02:04:40 +00:00
Antony Dovgal cbdc4b9af8 fix segfault when trying to clone uncloneable object because of zend.ze1_compatibility_mode which we should have got rid of years ago 2008-03-06 17:28:26 +00:00
Robin Fernandes ee0f7bc0ac Add new tests for class/object functions and features. 2008-03-06 11:02:37 +00:00
Ilia Alshanetsky 34c89a2601 Revert patch for bug #44325 2008-03-05 23:52:45 +00:00
Lars Strojny da494df864 Using new magic constant __DIR__ in run-tests.php 2008-03-05 20:10:12 +00:00
Jani Taskinen 33af2eb4dc - Fix tests (allow_call_time_pass_reference might be off for properly configured sites.. :) 2008-03-05 15:37:48 +00:00
Dmitry Stogov ab232458c7 Optimized require_once() and include_once() by eliminationg open() syscall on second usage. 2008-03-05 13:34:12 +00:00
Jani Taskinen f6406ae6e9 - Fix test when register_globals=On in php.ini 2008-03-05 12:12:09 +00:00
Antony Dovgal d4fd7c1059 MFH: apply better fix 2008-03-05 12:10:02 +00:00
Antony Dovgal 391da778fb MFH: fix memory corruption due to double destruction of default dir handle 2008-03-05 09:29:25 +00:00
Felipe Pena c3b6ca3b8f MFB: Fixed bug #44333 (SEGFAULT when using mysql_pconnect() with client_flags) 2008-03-04 22:29:29 +00:00
Christopher Jones b8a3bb32ef Add oci_bind_by_name update 2008-03-04 21:58:07 +00:00
Christopher Jones f5d1186793 Add #41069. Clarify attributions. 2008-03-04 21:55:13 +00:00
Christopher Jones af6734c1ff MFH Fix bug #41069 (db link crash). Also allow SQLT_AFC (aka CHAR datatype) in oci_bind_by_name 2008-03-04 21:46:24 +00:00
Christopher Jones 96f8501ccd Attempt greater test portability 2008-03-04 21:05:47 +00:00
Ilia Alshanetsky 0e17aa0630 Fixed bug #44325 (mssql_bind not correctly bind empty strings as parameter
value)
2008-03-04 19:38:38 +00:00
Josie Messa 08d2ac2ea6 - new tests for readdir() function 2008-03-04 17:09:24 +00:00
Dmitry Stogov 29eac881b0 Fixed SIGSEGV because of access to uninitialized data 2008-03-04 12:47:18 +00:00
Dmitry Stogov 430e54d457 Fixed shared memory corruption of opcode caches 2008-03-04 11:43:51 +00:00
Antony Dovgal 14ec6f623b MFH 2008-03-04 11:16:31 +00:00
Josie Messa 99defe9f52 - new tests for opendir() function 2008-03-04 10:40:36 +00:00
Dmitry Stogov 4de15df711 Fixed wrong result of cascading assignment to string offset 2008-03-04 10:07:17 +00:00
Dmitry Stogov 8365e71cb9 Fixed wrong result of cascading assignment to string offset
Fixed memory corruption on cascading assignment of IS_TMP_VAR into string offset
Fixed opcode caches shared memory corruption on cascading assignment of IS_CONST
 into string offset
2008-03-04 10:06:52 +00:00
Ilia Alshanetsky 1a3f7f6450 Fixed bug #44166 (Parameter handling flaw in PDO::getAvailableDrivers()) 2008-03-03 21:12:16 +00:00
Johannes Schlüter 1aa32afa8a MFH: Fix get_parent_class() of PDORow instances 2008-03-03 19:00:45 +00:00
Robin Fernandes 0455ccb805 Remove inconsistent behaviour when a protected static prop is overridden by public static prop (details: http://turl.ca/phhhf ). 2008-03-03 15:07:04 +00:00
Dmitry Stogov bcade81501 Removed unnecassary strlen() 2008-03-03 11:11:43 +00:00
Ilia Alshanetsky a9146c60cb Fixed bug #44306 (Better detection of MIPS processors on Windows) 2008-03-02 15:35:05 +00:00
Lukas Smith 375b4c036a MFH 2008-03-01 23:25:34 +00:00
Lukas Smith 6a1d20ad1d MFH 2008-03-01 22:47:33 +00:00
Johannes Schlüter 95623a1d70 MFH: New tests 2008-03-01 21:55:38 +00:00
Johannes Schlüter 68de75f0b5 MFH: Allow implementation of abstract methods with optional parameters (Christian
Schneider)
2008-03-01 13:53:32 +00:00
Etienne Kneuss 05ba20f9b6 MFH: Fix #44144 (object methods as spl autoload functions returned correctly) 2008-02-29 13:55:23 +00:00
Etienne Kneuss e9918d1bcc Heaps addition 2008-02-29 09:42:23 +00:00
Etienne Kneuss 7c2052957c MFH: Fix #44288 (Move declarations) 2008-02-29 09:26:01 +00:00
Rasmus Lerdorf 3be17e4f66 count() before and after a simplexml array cast should be the same 2008-02-28 17:38:04 +00:00
Dmitry Stogov 4cdbb5b060 We don't nave to change request shutdown sequence if dl() was failed 2008-02-28 16:59:10 +00:00
Antony Dovgal 01fa5a782b MFH 2008-02-28 09:18:13 +00:00
Ilia Alshanetsky 183267dc29 MFB: Fixed security issue detailed in CVE-2008-0599 2008-02-28 00:51:56 +00:00
Derick Rethans 825c3f5ac2 - MFH: Fixed bug #44260 (African timezones missing). 2008-02-27 09:47:35 +00:00
Antony Dovgal 6f95e17a19 MFH 2008-02-27 09:34:53 +00:00
Felipe Pena 95c95d741b Fix (#43559) merged into 5_2 2008-02-27 02:10:40 +00:00
Felipe Pena 57f73fa8fc MFB: Improved fix for #44242 2008-02-27 01:19:05 +00:00
Ilia Alshanetsky 425c4bca2e Fixed bug #44233 (MSG_PEEK undefined under BeOS R5) 2008-02-27 00:30:24 +00:00
Felipe Pena 3f40f96c50 Fixed tests 2008-02-26 13:38:43 +00:00
Josie Messa 40a4cf4fea - committed chdir() tests in wrong directory 2008-02-26 09:34:29 +00:00
Josie Messa f13562aa66 - New tests for chdir() function 2008-02-26 09:34:28 +00:00
Christopher Jones 3207b7b228 MFH: Use STD_PHP_INI_BOOLEAN. Fix whitespace. 2008-02-26 02:21:04 +00:00
Christopher Jones 53a5bf2e65 Fix test noise 2008-02-26 01:05:59 +00:00
Ilia Alshanetsky 43bcf759d3 Better fix for bug #44189 2008-02-26 00:13:57 +00:00
Christopher Jones b4b099ae19 MFH: OCI8: fix bug #44008 (OCI-Lob->close) & bug #44206 (ref cursor leak) 2008-02-25 23:50:51 +00:00
Etienne Kneuss 6e46f25b12 MFH: Fix folding 2008-02-25 23:41:04 +00:00
Etienne Kneuss c54045a1f9 MFH: SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue implementation 2008-02-25 23:39:08 +00:00
Rob Richards de52173257 MFH: fix win32 build 2008-02-25 22:57:09 +00:00
Felipe Pena a9f5ad7e87 MFB: Fixed bug #44242 (metaphone('CMXFXM') crashes PHP) 2008-02-25 22:54:57 +00:00
Derick Rethans f81134a9f2 - MFH: Fixed tests on 64bit platform. 2008-02-25 22:32:59 +00:00
Derick Rethans b8883b65b8 - MFH: Added a few new separation specifiers.
- MFH: Added specifiers that can reset or default the y/m/d/h/i/s/tz values.
- MFH: Fixed a problem with parsing timezones as part of a format.
2008-02-25 18:26:33 +00:00
Steve Seear ad3af52712 Replace hardcoded resource ids with %d in fgetc() tests. 2008-02-25 10:31:17 +00:00
Felipe Pena 3be93e5141 New test 2008-02-24 18:49:55 +00:00
Felipe Pena 6a128d5614 MFB: Fixed segfault in filter extension when using callbacks. 2008-02-24 18:41:08 +00:00
Felipe Pena c47f4b9fd0 Entry existent in 5_2 2008-02-24 18:19:17 +00:00
Ilia Alshanetsky e0388c5549 Fixed bug #44200 (A crash in PDO when no bound targets exists and yet
bound parameters are present)
2008-02-24 16:08:32 +00:00
Felipe Pena 7cf6a28335 Fixed tests (new E_ALL value) 2008-02-24 12:18:07 +00:00
Felipe Pena aafff71c86 New E_ALL value 2008-02-24 12:17:25 +00:00
Felipe Pena e947263bda Removed internal warning 2008-02-24 11:45:55 +00:00
Felipe Pena afd2623ee7 Fixed test 2008-02-24 11:27:26 +00:00
Marcus Boerger d3e5026564 - MFH Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus)
[DOC] Finally added deprecation messages
2008-02-23 17:06:22 +00:00
Derick Rethans 6c5041979c - MFH: Fixed bug #44216 (strftime segfaults on large negative value). 2008-02-22 17:48:46 +00:00
Felipe Pena f7078d469c Fixed Bug #44212 (array_diff_assoc not reporting missing arguments) 2008-02-22 13:28:40 +00:00
Robert Nicholson 6ca51e664d - bug #44212 array_diff_assoc_error.phpt should expect warnings for missing parameters 2008-02-22 12:14:58 +00:00
Derick Rethans 7c46f35da3 - MFH: Fixed bug #44209: strtotime doesn't support 64 bit timestamps. 2008-02-22 09:47:19 +00:00
Josie Messa 116ae80376 - New tests for reset() function 2008-02-22 09:19:56 +00:00
Rasmus Lerdorf 92cd32246b No point in echoeing the raw value back here in the error message 2008-02-22 05:13:20 +00:00
Rasmus Lerdorf 28e4a3d4dd Missing footer 2008-02-22 05:04:34 +00:00
Felipe Pena 31ba224d90 Fix test 2008-02-22 02:15:42 +00:00
Felipe Pena f30b290938 Fix typo and add Derick's name 2008-02-21 20:01:23 +00:00
Felipe Pena 9139e74a60 New parameter parsing [DOC] 2008-02-21 17:50:03 +00:00
Felipe Pena d44f4cb17b Fix test (new parameter parsing) 2008-02-21 17:47:33 +00:00
Josie Messa 2151ce6ba9 - New tests for end() and next() function 2008-02-21 16:39:02 +00:00
Dmitry Stogov 18cc21c662 Fixed bug #43483 (get_class_methods() does not list all visible methods) 2008-02-21 15:14:27 +00:00
Josie Messa e864044411 - New tests for key() function 2008-02-21 14:34:41 +00:00
Felipe Pena 3fd8ccb092 Fix test 2008-02-21 14:22:41 +00:00
Josie Messa 1fa1bd7ac8 - Fixed failing mbstring tests after bug fixes 2008-02-21 14:07:13 +00:00
Dmitry Stogov 3e7e9d4af6 Fixed bug #44141 (private parent constructor callable through static function) 2008-02-21 13:55:45 +00:00
Antony Dovgal 9609e195e9 fix test 2008-02-21 13:39:04 +00:00
Ilia Alshanetsky 2fc9f5928e Fixed bug #44189 (PDO setAttribute() does not properly validate values for
native numeric options)
2008-02-21 13:37:21 +00:00
Antony Dovgal 70fb9a2078 news entry for new stuff 2008-02-21 13:37:14 +00:00
Antony Dovgal 2bc18c7a00 MFH 2008-02-21 13:36:35 +00:00
Antony Dovgal fe4e73238a ws->tab fixes 2008-02-21 11:53:34 +00:00
Dmitry Stogov bb1ee6d14a Prevented recursive collector invocation 2008-02-21 10:42:14 +00:00
Felipe Pena 079bfadbe7 MFB: Fixed Bug #44197 (socket array keys lost on socket_select) 2008-02-21 02:56:57 +00:00
Felipe Pena bc8a62f4b1 MFB: Fixed Bug #44191 (preg_grep messes up array index) 2008-02-20 22:12:17 +00:00
Felipe Pena d427b55b1a New test 2008-02-20 21:57:05 +00:00
Andrey Hristov 702bc3b345 Fix test. Now passes. 2008-02-20 18:27:53 +00:00
Ilia Alshanetsky d3158cdc15 Fixed a possible crash with syslog logging on ZTS builds 2008-02-20 15:27:30 +00:00
Andrey Hristov 7d0cee8c80 Fix memory leak 2008-02-20 15:18:17 +00:00
Josie Messa 21324e9a69 - New tests for current() function 2008-02-20 14:20:31 +00:00
Dmitry Stogov 8c32f99c25 Fixed bug #44184 (Double free of loop-variable on exception) 2008-02-20 12:05:57 +00:00
Dmitry Stogov edf53e2073 Added checks for destoied objects 2008-02-20 09:45:47 +00:00
Ilia Alshanetsky 3101edfd18 Fixed bug #44171 (Invalid FETCH_COLUMN index does not raise an error) 2008-02-20 03:11:43 +00:00
Christopher Jones 23a43bb260 Update for PECL release 2008-02-19 19:04:03 +00:00
Andrey Hristov 4ade01852c Fix a failing test 2008-02-19 17:21:50 +00:00
Dmitry Stogov caee59b856 everted (this part was committed by mistake) 2008-02-19 17:05:41 +00:00
Josie Messa f4dc0f293d - New tests for each() function 2008-02-19 17:02:27 +00:00
Dmitry Stogov cb714158af Fixed memory leaks 2008-02-19 16:39:18 +00:00
Dmitry Stogov 7dd164dcec Fixed GC bug 2008-02-19 15:55:57 +00:00
Andrey Hristov 4dd2425184 Fix compile warning 2008-02-19 15:38:58 +00:00
Andrey Hristov ff23e5c875 Fix test 2008-02-19 15:36:38 +00:00
Felipe Pena eaed933e57 New test 2008-02-19 14:53:04 +00:00
Nuno Lopes 083f474a47 some BDs (e.g. firebird) dont support text, so replace it with varchar(255). 2008-02-19 14:46:20 +00:00
Felipe Pena 6e712e05ab MFB: Fixed Bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)) 2008-02-19 12:13:20 +00:00
Dmitry Stogov a4b872a6d8 iFixed memory leak 2008-02-19 12:00:53 +00:00
Josie Messa 23e18f966b - New tests for natcasesort() function 2008-02-19 10:53:10 +00:00
Sebastian Bergmann 1b03ecf1c7 MFH: Fugbix typo. 2008-02-19 06:52:43 +00:00
Etienne Kneuss 09a928b9c4 MFH: Add debug_info handler to SplDoublyLinkedList/Stack/Queue to make them var_dump friendly 2008-02-19 00:04:20 +00:00
Dmitry Stogov ecc9778dc8 Made code opcode-cache friendly. (It is disallowed to change code during execution) 2008-02-18 14:30:44 +00:00
Ilia Alshanetsky fe9f641658 Fixed a possible crash 2008-02-18 13:28:48 +00:00
Dmitry Stogov 4cf7073a84 Removed redundant refcount manipulations 2008-02-18 12:11:47 +00:00
Marcus Boerger 2633dcab46 - MFH Allow zend_extensions to be build inside ext and tested with 'make test' 2008-02-17 20:50:03 +00:00
Derick Rethans 22392affef - MFH: fixed typoes. 2008-02-17 18:17:45 +00:00
Pierre Joye af15fe6531 - add PHP_PHP_BUILD\bin to the path in PATH_PROG (option set with --with-php-builds=[PATH] the zip.zip contains all we need (except re2c! ) 2008-02-17 01:26:15 +00:00
Felipe Pena 41c95c7d15 Fix the fix 2008-02-17 01:11:04 +00:00
Felipe Pena 8d914d4bcd Fix test 2008-02-17 01:03:19 +00:00
Felipe Pena f3b2a87691 Fix test 2008-02-16 16:35:39 +00:00
Rui Hirokawa bedb308902 fixed #43998 Two error messages returned for incorrect encoding for mb_strto[upper|lower] 2008-02-16 12:01:43 +00:00
Rui Hirokawa ad400f1144 fixed #43994 mb_ereg 'successfully' matching incorrectly. 2008-02-16 11:46:03 +00:00
Rui Hirokawa 179b370957 fixed #43841 mb_strrpos offset is byte count for negative values. 2008-02-16 10:43:57 +00:00
Rui Hirokawa c00121c5a8 fixed bug #43840 mb_strpos bounds check is byte count rather than a character count. 2008-02-16 08:58:00 +00:00
Rui Hirokawa e67c124e61 removed unnecessary space. 2008-02-16 08:32:26 +00:00
Rui Hirokawa 852bf6e55a 'auto' encoding was not initialized correctly per request basis. 2008-02-16 08:21:39 +00:00
Christopher Jones 47c7035ea6 MFB: Test existing LOB error messages 2008-02-16 03:01:53 +00:00
Christopher Jones 07a79208b6 Streamlined code and incorporated review comments. Respect oci8.ping_interval when oci_pconnect called multiple times in a script. Changed OCIServerVersion to OCIPing (http://pecl.php.net/bugs/bug.php?id=11976) 2008-02-16 01:20:22 +00:00
Christopher Jones 2f62d300f7 MHB: Bug #44113 (New collection creation can fail with OCI-22303) 2008-02-15 23:24:45 +00:00
Josie Messa 73004ae4b0 - New tests for rsort() function 2008-02-15 16:06:38 +00:00
Pierre Joye 4652c2bf2c - [DOC] add PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION,
PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants
2008-02-15 14:51:39 +00:00
Dmitry Stogov f27c1b9d07 optimization 2008-02-15 14:45:42 +00:00
Derick Rethans d161f4ec88 - Fixed speling. 2008-02-15 12:48:13 +00:00
Derick Rethans a764d75d08 - Add the ReflectionProperty::setAccesible() method that allows non-public
property's values to be read through ::getValue().
#- [DOC]
2008-02-15 12:38:53 +00:00
Antony Dovgal 2fb4ea9c4f MFH 2008-02-15 09:35:53 +00:00
Antony Dovgal 0970b9f5e9 MFH: recursion protection in count() 2008-02-15 09:33:09 +00:00
Antony Dovgal 0c01626f1c MFH 2008-02-15 09:20:25 +00:00
Dmitry Stogov 7b6238c61f Fixed bug #43507 (SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status) 2008-02-15 06:51:12 +00:00
Josie Messa 0430464b11 - New tests for count() function 2008-02-14 16:49:58 +00:00
Ilia Alshanetsky e2c5bdae51 Fixed test on 64bit machines 2008-02-14 16:29:45 +00:00
Andrey Hristov 28e7d996df Another fix 2008-02-14 15:20:49 +00:00
Andrey Hristov 7e0be017df Fix memory errors< 2008-02-14 14:50:21 +00:00
Dmitry Stogov e563a6d979 Fixed bug #44069 (Huge memory usage with concatenation using . instead of .=) 2008-02-14 14:42:00 +00:00
Josie Messa d972e43b1d - New tests for array_values() function 2008-02-14 14:22:43 +00:00
Felipe Pena aefe056911 MFB: Fixed Bug #42838 (Wrong results in array_diff_uassoc) 2008-02-14 14:08:22 +00:00
Felipe Pena fcb243f6e7 New test 2008-02-14 13:50:36 +00:00
Andrey Hristov 2d9d22395f Update mysqlnd - fix bg_store 2008-02-14 12:49:30 +00:00
Josie Messa 786746cb07 - New tests for array_slice() function 2008-02-14 11:17:36 +00:00
Dmitry Stogov fb50ef1aab Reverted memrchr() patch, because it is broken on linux 64-bit 2008-02-14 10:25:22 +00:00
Zoe Slattery 0f13364729 Fixing typo arg->arglist at line 195. Thanks Chris J! 2008-02-14 10:15:44 +00:00
Dmitry Stogov 4de1e20fbb Fixed memory leak 2008-02-14 08:46:25 +00:00
Ilia Alshanetsky e6e162bc8e New calendar parsing API 2008-02-13 23:50:35 +00:00
Derick Rethans 3edbc7b0b3 - MFH: Add some missing elements from the return value. 2008-02-13 21:53:12 +00:00
Marcus Boerger a976367865 - MFH Add missig .cvsignore 2008-02-13 21:04:23 +00:00
Etienne Kneuss 12bd169f24 MFH: Fix inconcistencies between substr and substr_compare 2008-02-13 17:02:16 +00:00
Josie Messa a74685ea0d - New tests for array_shift() function 2008-02-13 16:42:17 +00:00
Dmitry Stogov 9fdaddc56d Use memrchr() instead of zend_memrchr() if available. (Nuno) 2008-02-13 16:22:01 +00:00
Josie Messa f32e65988c - New tests for array_push() function 2008-02-13 16:12:48 +00:00
Josie Messa 4546084866 - committing tests for array_merge() function 2008-02-13 14:20:58 +00:00
Josie Messa 6b522fdd50 - committing tests for array_key_exists() function 2008-02-13 13:16:21 +00:00
Marcus Boerger 1d98b27235 - MFH Make this behave like in <= 5.2.5 and test for it 2008-02-13 12:05:34 +00:00
Greg Beaver 9feb21f5f1 MFH: fix potential memleak due to destruction of filterparams zval 2008-02-12 23:28:05 +00:00
Andrey Hristov 49172e3c4b Fix windows build - VC doesn't like nested macros 2008-02-12 22:05:34 +00:00
Johannes Schlüter 2c079e328b - MFH: Make clear what's going on and avoid overwriting parameters 2008-02-12 20:43:42 +00:00
Johannes Schlüter d211430aa7 MFH: - Fix build with TSRM and mysqlnd 2008-02-12 20:19:21 +00:00
Hannes Magnusson 59498c8c5a Fix test 2008-02-12 20:05:29 +00:00
Ilia Alshanetsky 77efd89617 Disable mbstring overload 2008-02-12 18:23:14 +00:00
Josie Messa b46602c028 - committing array_change_key_case variation tests 2008-02-12 17:44:50 +00:00
Antony Dovgal a47e15d8b5 MFH 2008-02-12 10:54:54 +00:00
Andrey Hristov c95c7c7d3f Fix typo 2008-02-12 10:51:39 +00:00
Felipe Pena ce197075b0 Fixed Bug #44094 (SEGFAULT when using mysql_connect()) 2008-02-12 10:11:55 +00:00
Dmitry Stogov 82b31e01ae Added NOWDOC 2008-02-12 09:28:01 +00:00
Dmitry Stogov ddcf7a2f49 Added NEWDOC 2008-02-12 09:27:45 +00:00
Dmitry Stogov 51278b6d22 Fixed ext/tokenizer test failures because of token renumbering 2008-02-12 08:49:08 +00:00
Zoe Slattery 5932b49990 Fixing 44092 2008-02-12 07:15:40 +00:00
Felipe Pena ea3a6ed11f array_slice() - Fixed behavior when NULL is given in third parameter (BC) 2008-02-12 01:31:12 +00:00
Felipe Pena d4dbddd2be New test 2008-02-12 01:19:48 +00:00
Stanislav Malyshev bbc813d360 fix folding 2008-02-12 01:17:48 +00:00
Stanislav Malyshev ad7e2f8712 HNY 2008-02-12 00:45:14 +00:00
Stanislav Malyshev 3ffa0df5e7 add T_DIR 2008-02-12 00:42:20 +00:00
Stanislav Malyshev 27d4a3f6c3 add tests for __DIR__ 2008-02-12 00:26:51 +00:00
Stanislav Malyshev b6e6e77fce __DIR__ announce 2008-02-12 00:24:12 +00:00
Stanislav Malyshev fd597dce1b [DOC] Add compile-time __DIR__ constant which implements dirname(__FILE__) 2008-02-12 00:21:15 +00:00
Andrey Hristov cf07e941f1 cvs sync 2008-02-11 16:44:48 +00:00
Etienne Kneuss 80861c001e MFH: Provide ctod/dtor with TSRM 2008-02-11 16:39:20 +00:00
Ilia Alshanetsky 70e913bdad Fixed test on 64bit machines 2008-02-11 16:02:46 +00:00
Hannes Magnusson 86c9b5e46c Fix segfaults when calling "ctors statically" 2008-02-11 15:46:10 +00:00
Andrey Hristov 55b1f666d7 new 6.0 flag 2008-02-11 14:48:04 +00:00
Etienne Kneuss 901cb5a454 MFH: cosmetics 2008-02-11 13:59:23 +00:00
Antony Dovgal 038696fed1 MFH 2008-02-11 13:34:41 +00:00
Johannes Schlüter 80d3438c46 - Fix typo (see #44095) 2008-02-11 00:01:11 +00:00
Johannes Schlüter 5054799bd2 MFH: The exact message differs on different systems 2008-02-10 23:37:03 +00:00
Ilia Alshanetsky a28b1f6d3a Possible fix for bug #43861 2008-02-10 14:49:23 +00:00
Johannes Schlüter 824b19a4d8 MFH: Fix build on Solaris 2008-02-09 21:59:17 +00:00
Marcus Boerger da2a1799ca - MFH Windows build fix 2008-02-09 21:22:31 +00:00
Nuno Lopes 46b9c23008 fix ===DONE=== with windows EOLs 2008-02-08 16:46:23 +00:00
Nuno Lopes 38149b6207 add new test to test function with many arguments (i.e. test the new stack implementation)
this increases the converage of zend_execute.h by 18%
2008-02-08 13:49:27 +00:00
Dmitry Stogov 3ea9c13c4b Improved md5() implementation (Solar Designer) 2008-02-08 09:11:17 +00:00
Ilia Alshanetsky 54680a30fc Update copyright 2008-02-07 19:39:50 +00:00
Marcus Boerger c7f71a7dd0 - MFH Simplify 2008-02-07 18:42:01 +00:00
Marcus Boerger dff168c38b - MFH Add %Z to *printf 2008-02-07 18:41:35 +00:00
Jani Taskinen 7e00a410b3 fix test 2008-02-07 13:44:50 +00:00
Marcus Boerger 45e6d1e333 - MFH WS 2008-02-07 12:47:44 +00:00
Jani Taskinen 3493b0734d MFH 2008-02-07 12:15:53 +00:00
Antony Dovgal a57ce92705 MFH: fix TSRM mutex return value inconsitencies (patch by Scott MacVicar) 2008-02-07 09:06:45 +00:00
Ilia Alshanetsky 87eb2a9ec3 New param parsing API 2008-02-07 02:08:45 +00:00
Marcus Boerger b7b41a6612 - MFH Fix missing check and tests 2008-02-06 20:40:19 +00:00
Jani Taskinen de499c965f MFH 2008-02-06 19:13:56 +00:00
Jani Taskinen d2b77f5cf3 MFH:- Fixed bug in handling arrays which caused the original array being modified too. 2008-02-06 19:06:58 +00:00
Andrey Hristov c2a5e180c7 Fix a test 2008-02-06 15:34:35 +00:00
Andrey Hristov 9790d7bfe8 MFH: Fix a compatibility bug and a failing test 2008-02-06 14:12:32 +00:00
Andrey Hristov 72c97a14e5 MFH: Fix test 2008-02-06 13:01:58 +00:00
Andrey Hristov 1caa85a682 Pconnect working with mysqli_real_connect(). To less failing tests. 2008-02-06 11:34:44 +00:00
Marcus Boerger f6a0999957 - WS/Cleanup/grouping - WOW that'll be a really nice release!
# Thanks for everyone working on this already!!
2008-02-06 11:07:20 +00:00
Zoe Slattery d7fd465bae Fixing bug 44042 2008-02-06 10:56:22 +00:00
Zoe Slattery a6fe8d8ca7 Fixing 32 bit specific 2008-02-06 09:36:58 +00:00
Zoe Slattery a111cabedc Tests for assorted Maths functions 2008-02-06 08:44:24 +00:00
Marcus Boerger f23526528e - MFH Add new test 2008-02-05 19:08:42 +00:00
Marcus Boerger 0976a2646a - MFH Fix cross class tree reference issues with callbacks (colder,helly) 2008-02-05 19:08:24 +00:00
Ilia Alshanetsky 6e9ef8e316 Fixed bug #44046 (crash inside array_slice() function with an invalid
by-ref offset).
2008-02-05 15:58:27 +00:00
Robert Nicholson 178839f667 - fix arsort_variation3.phpt which was missing its EXPECT section 2008-02-05 11:19:17 +00:00
Hannes Magnusson ed1bafe5d7 Fix test 2008-02-05 08:41:04 +00:00
Marcus Boerger 95262f8ac3 - MFH Really last flag change (got confused with code) 2008-02-04 21:37:47 +00:00
Jani Taskinen 8a70a554d6 MFH: - Fixed bugs #43915, #43923 and #44019, a tiny performance issue fixed too 2008-02-04 20:45:20 +00:00
Marcus Boerger dc8bfcaade - MFH Update docu 2008-02-04 20:40:47 +00:00
Jani Taskinen a0f168752e MFH: allow using these constants in php.ini (f.e. PHP_SAPI..) 2008-02-04 20:39:21 +00:00
Marcus Boerger 8f6a6a800e - MFH Fix/add folding markers 2008-02-04 19:40:49 +00:00
Marcus Boerger 81a5389af7 - MFH Really fix flag handling 2008-02-04 19:33:10 +00:00
Marcus Boerger b7a04d786f - MFH Fix #44018 (RecursiveDirectoryIterator options inconsistancy) 2008-02-04 18:46:13 +00:00
Andrey Hristov 2b6e11b555 Simplify unique string generation and plug a leak. 2008-02-04 17:55:06 +00:00
Andrey Hristov 2d5e8a1e55 Fix a leak, memory warning and failing test case. 2008-02-04 17:33:46 +00:00
Marcus Boerger a547c556b6 - MFH Fix default flag value in contructor 2008-02-04 17:19:07 +00:00
Marcus Boerger 36caad5628 - MFH Fix messages and tests 2008-02-04 17:07:07 +00:00
Marcus Boerger fdf95a00dc - CS/WS 2008-02-04 16:48:06 +00:00
Sebastian Bergmann 00586196de MFH: Add missing Reflection API metadata for DOM classes. 2008-02-04 15:22:59 +00:00
Robert Nicholson a9418da4fc - added some new tests for arsort 2008-02-04 00:05:24 +00:00
Marcus Boerger 927b26598f - Update .cvsignore 2008-02-03 18:30:49 +00:00
Marcus Boerger 0ebb904bbb - Small improvements, no malloc needed for the zval 2008-02-03 17:49:46 +00:00
Ilia Alshanetsky c466f232bc Fixed bug #44028 (crash inside stream_socket_enable_crypto() when enabling
encryption without crypto type)
2008-02-03 16:14:16 +00:00
Marcus Boerger 8976db80c5 - MFH Typo 2008-02-03 14:48:38 +00:00
Marcus Boerger f3d7570197 - MFH Rename it again
[DOC]
- MFH Add config_get_hash()
2008-02-03 14:45:00 +00:00
Marcus Boerger fa94dabd97 - MFH Rename dump_config_hash() to get_config_hash() as it doesn't dump 2008-02-03 14:35:59 +00:00
Marcus Boerger 1ecdaa3885 - Fix warnings 2008-02-03 14:32:48 +00:00
Felipe Pena e2c7b27130 Fixed reference problem (variable were converted) 2008-02-03 14:30:25 +00:00
Derick Rethans a61e5f897c - MFH: Support "first/last day of <month>" style texts. 2008-02-03 14:15:07 +00:00
Marcus Boerger 2cc49ecfb2 - Only one line heading 2008-02-03 13:32:07 +00:00
Felipe Pena d37b0fca19 Missing Johannes' name 2008-02-03 12:59:41 +00:00
Zoe Slattery 70c629cdae Moving the the phpt generation script to scripts/dev directory at Jani's suggestion. 2008-02-03 09:34:59 +00:00
Marcus Boerger b628fc219a - MFH Synch directory changes
[DOC]
# Class FilesystemIterator was introduced to have a better DirectoryIterator
# without having to change DirectoryIterator or RecursiveDirectoryIterator.
# On top of FilterIterator the new GlobIterator was introduced. This one allows
# to implement Countable(). But a glob stream flattens all structure, so it
# cannot be derived from RedursiveIterator. With the new structure all children
# of FilesystemIterator have nearly the same behavior. Just their capabilities
# are a bit different. Check out new inheritance tree on SplFileInfo:
#
# [marcus@frodo PHP_5_3]$ php ext/spl/examples/class_tree.php SplFileInfo
# make: `sapi/cli/php' is up to date.
# SplFileInfo
# |-DirectoryIterator (Iterator)
# | \-FilesystemIterator
# |   |-GlobIterator (Countable)
# |   \-RecursiveDirectoryIterator (RecursiveIterator)
# |     \-Phar (ArrayAccess, Countable)
# |-PharFileInfo
# \-SplFileObject (RecursiveIterator, SeekableIterator)
#   \-SplTempFileObject
2008-02-02 23:09:38 +00:00
Antony Dovgal 4904889568 MFH: fix leak appearing when calling non-static protected or private methods as static 2008-02-02 22:29:41 +00:00
Marcus Boerger cd2953db57 - MFH Show interfaces 2008-02-02 21:02:25 +00:00
Derick Rethans 3121962808 - MFH: Make timezone_open() work again. 2008-02-02 17:25:54 +00:00
Marcus Boerger da5b979f88 - MFH Add comment that explains why we need E_ERROR in those cases 2008-02-02 15:48:04 +00:00
Marcus Boerger 1cc463b88a - Fix tests 2008-02-02 15:19:06 +00:00
Marcus Boerger ac8e76c714 - Fix remaining issue (should be last one) 2008-02-02 15:18:30 +00:00
Marcus Boerger 02b13cdd8a - Fix the expectations. Tests still fails because of something else. 2008-02-02 14:37:29 +00:00
Marcus Boerger 7769fda15c - Drop useless TODO, this would need to be fixed in a generic way 2008-02-02 14:19:03 +00:00
Marcus Boerger f3c1a9fa02 - It appears HEAD needs to be MFB'ed and this needs another fix now 2008-02-02 14:03:13 +00:00
Marcus Boerger 14b087192c - MFH Use new parameter parsing API 2008-02-02 13:58:31 +00:00
Marcus Boerger 95a3cccf5f - Fix flag handling in message generation 2008-02-02 13:56:59 +00:00
Marcus Boerger 30eb2dcabf - MFH Fix tests 2008-02-02 13:33:41 +00:00
Rasmus Lerdorf 0530f9e327 Countable requires SPL 2008-02-02 09:53:44 +00:00
Felipe Pena ad476edcee Fix the fix 2008-02-02 04:03:03 +00:00
Felipe Pena 1e294b1d37 Fix tests (new error message) 2008-02-02 03:20:51 +00:00
Felipe Pena 5b0a79cfba Fix tests (new error message) 2008-02-02 03:15:46 +00:00
Felipe Pena e88c5b082b Fix tests (new error message) 2008-02-02 03:00:57 +00:00
Felipe Pena d34f0a08f8 Fix tests (new error message) 2008-02-02 02:45:44 +00:00
Felipe Pena 8241db1b21 Fix tests (new error message) 2008-02-02 02:36:08 +00:00
Felipe Pena 0588ddce2a Fix tests (new error message) 2008-02-02 02:29:27 +00:00
Rasmus Lerdorf c075476810 Another batch of fixed tests 2008-02-02 01:51:17 +00:00
Felipe Pena 17e1a396c1 Ops, fix the fix 2008-02-02 01:48:29 +00:00
Felipe Pena 315f534c02 Fix tests (new error message) 2008-02-02 01:40:45 +00:00
Rasmus Lerdorf 54e98bbb97 Fix a few more tests 2008-02-02 01:31:18 +00:00
Rasmus Lerdorf 539eaceddc What's the [0] for here? Looks wrong and causes stuff to segv 2008-02-02 01:12:01 +00:00
Rasmus Lerdorf 1ee260b121 Fix test and convert to UNIX line endings 2008-02-02 01:01:04 +00:00
Rasmus Lerdorf f48bd05482 Fix more tests (some of these were not broken by the recent changes) 2008-02-02 00:55:35 +00:00
Rasmus Lerdorf 9411b268b2 2 more test fixes 2008-02-02 00:44:45 +00:00
Rasmus Lerdorf b9954bef45 Fix some tests 2008-02-02 00:29:17 +00:00
Marcus Boerger 7cced8f520 - Fix build, thanks Christian Rodriguez for noticing
# I wonder why the other machine didn't catch this
2008-02-01 23:46:36 +00:00
Antony Dovgal b4b0816578 fix test, add 64bit version 2008-02-01 23:19:16 +00:00
Rasmus Lerdorf 45db15ad4e Small tweak. Need to make array and string callback syntax behave the
same way.  Also change "cannot" to "should not" since we obviously
"can" make the call.
2008-02-01 23:09:10 +00:00
Marcus Boerger e8a8acdf39 [DOC]
- Fix callable/static mess, the following will now all result in a E_STRICT
  . binding a dynamic function as a static callback
  . static call of a dynamic function
  . is_callable() on a static binding to a dynamic function
# [marcus@frodo PHP_5_3]$ php -a -d error_reporting=8191
# make: `sapi/cli/php' is up to date.
# Interactive shell
#
# php > class t{ function f() { echo "Funny\n"; } }
# php > $c = array("t","f");
# php > call_user_func($c);
#
# Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method t::f() cannot be called statically in php shell code on line 1
# Funny
# php > var_dump(is_callable($c));
#
# Strict Standards: Non-static method t::f() cannot be called statically in php shell code on line 1
# bool(true)
# php > t::f();
#
# Strict Standards: Non-static method t::f() should not be called statically in php shell code on line 1
# Funny
# php >
2008-02-01 21:27:55 +00:00
Felipe Pena 4ac6390098 MFH: Added new parameter for strstr(), stristr() 2008-02-01 18:01:50 +00:00
Zoe Slattery c8a73b7c84 Command line script to help generate the basic framework of a PHPT 2008-02-01 17:45:38 +00:00
Zoe Slattery 84be2df52a A few new tests for math functions - Note the "constants" test will fail on Windows - Bug 42143. 2008-02-01 17:21:18 +00:00
Robert Nicholson a7de596df2 - a few more gd tests (committed on behalf of andy wharmby) 2008-02-01 16:33:17 +00:00
Josie Messa 51fe79c055 - Committing new tests for MBString extension.
More details can be found here: http://news.php.net/php.qa/62382
2008-02-01 15:29:59 +00:00
Felipe Pena 8c76a00f93 New tests and fix tests (new error message) 2008-02-01 13:41:19 +00:00
Felipe Pena 79cfa91a43 MFH: New parameter 'before_needle' 2008-02-01 12:28:44 +00:00
Hannes Magnusson 79da75ced0 glob:// was added in 5.3, no need to mention bug fixes for it 2008-02-01 10:45:48 +00:00
Christopher Jones 680cf8e994 MFH: New test for old, suspended bug 2008-01-31 22:03:23 +00:00
Rob Richards d1459b8554 MFH: fix bug #42369 (Implicit conversion to string leaks memory)
add test
2008-01-31 21:58:57 +00:00
Rasmus Lerdorf 7b307cc256 Typo 2008-01-31 21:36:40 +00:00
Rasmus Lerdorf 9687442341 These two tests both need a timezone 2008-01-31 21:03:32 +00:00
Ilia Alshanetsky 353d1ea039 PDO is hardly experimental 2008-01-31 20:50:27 +00:00
Christopher Jones 96e9484907 Update test environement description. Typos 2008-01-31 20:21:27 +00:00
Nuno Lopes c10e57b11e try to fix build with gcc 4: take #2 2008-01-31 18:46:03 +00:00
Rasmus Lerdorf 3275f1b057 There are plenty of other non-Windows operating systems 2008-01-31 18:31:54 +00:00
Nuno Lopes 5fce0e51fd try to fix build with gcc 4: take #1 2008-01-31 18:30:42 +00:00
Marcus Boerger 9b3eb44f79 - fix flag handling in is_callable() 2008-01-31 11:21:15 +00:00
Marcus Boerger 55b17871a4 - MFH Fix test 2008-01-31 07:44:01 +00:00
Elizabeth Marie Smith 78a9df9004 Fix windows build 2008-01-31 02:35:44 +00:00
Christopher Jones 87dcb8df8e Merge DRCP & FAN support. PHP6 sync will happen later 2008-01-31 01:33:30 +00:00
Marcus Boerger 116539a5d1 - WS 2008-01-30 23:45:12 +00:00
Marcus Boerger 81b40f7047 - MFH Get rid of overoptimization 2008-01-30 23:43:13 +00:00
Marcus Boerger ef9453546e - Sub path may be NULL 2008-01-30 23:08:13 +00:00
Marcus Boerger 0b71904acc - Fixed glob:// stream handling in (Recursive)DirectoryIterator. 2008-01-30 20:31:07 +00:00
Ilia Alshanetsky 92ebb2e282 Fixed bug #43981 (gmp_div_r() does not preserve the sign of 1st argument) 2008-01-30 18:25:51 +00:00
Zoe Slattery 1e29793386 Removing superfluous --INI-- section 2008-01-30 17:50:38 +00:00
Felipe Pena 544f6dfd49 Fix test 2008-01-30 16:06:44 +00:00
Rob Richards 8a64e9de36 MFH: fix bug #41562 (SimpleXML memory issue) 2008-01-30 15:28:46 +00:00
Felipe Pena 6a2f085f1e Fix test 2008-01-30 14:49:20 +00:00
Felipe Pena 2c90b7127c Revert 2008-01-30 14:45:20 +00:00
Robin Fernandes 7eb114a9cf Adding tests for class features, including __autoload(), property inheritance rules and class constants. 2008-01-30 14:25:57 +00:00
Felipe Pena b9df996a3b Fix the fix (isInstance - order of parameters) 2008-01-30 13:42:01 +00:00
Antony Dovgal ca44081e6b fix ZTS build 2008-01-30 12:50:59 +00:00
Felipe Pena 7ef18ce15d Fix tests 2008-01-30 11:43:10 +00:00
Felipe Pena 8452585fc8 Fixed Bug#43926 (isInstance() isn't equivalent to instanceof operator) 2008-01-30 10:27:28 +00:00
Dmitry Stogov 240fa244c3 Improved PHP binary size and startup speed with GCC4 visibility control (Nuno) 2008-01-30 09:41:12 +00:00
Rasmus Lerdorf 71efa394a6 fix typo 2008-01-30 08:52:17 +00:00
Dmitry Stogov 1a41611372 ZTS fix 2008-01-30 08:10:17 +00:00
Sebastian Bergmann 0c749ab10a MFH: Fix arginfo. 2008-01-30 06:48:13 +00:00
Stanislav Malyshev b4443f35ff fix #43941: invalid utf-8 not accepted 2008-01-30 03:17:57 +00:00
Ilia Alshanetsky 6a455ee097 Change readline extension status to Working 2008-01-30 00:07:38 +00:00
Rasmus Lerdorf 9ae934d5c4 Fixed bug #43957 (utf8_decode() bogus conversion of partial multibyte UTF8 char) 2008-01-29 23:21:11 +00:00
Rob Richards d7622b8ecf MFH: fix win32 build 2008-01-29 22:06:43 +00:00
Stanislav Malyshev 223a53fdeb rm cruft 2008-01-29 22:03:01 +00:00
Sebastian Bergmann 9d86113b20 MFH: Fix arginfo and prototype. 2008-01-29 21:21:20 +00:00
Nuno Lopes 3f7b92c06c upgrade to PCRE 7.6.
#changes to code are minimal. this fixes a security bug
2008-01-29 20:18:02 +00:00
Derick Rethans 99c56139c7 - That should have been ||. 2008-01-29 20:14:18 +00:00
Derick Rethans 81f2dc39bd - Make whitespace the same as in HEAD. 2008-01-29 20:12:53 +00:00
Derick Rethans 6878464e06 - MFH: Fixed bug #43960 (strtotime() returns timestamp in the future when given
a bogus string).
2008-01-29 20:10:24 +00:00
Dmitry Stogov 8cab54a897 Fixed bug #43968 (Extending internal class causes a crash)
The fix is a workaround for GCC optizer bug.
2008-01-29 20:01:31 +00:00
Andrey Hristov 829831f5ba Fix the build, add a missing file 2008-01-29 18:11:46 +00:00
Sebastian Bergmann c08da2a66d MFH: Add Reflection API metadata for DOMXPath. 2008-01-29 15:55:23 +00:00
Sebastian Bergmann 8b87b2b12b MFH: Add Reflection API metadata for DOMNode. 2008-01-29 15:23:18 +00:00
Dmitry Stogov 0ac1830d9c Fixed bug #43491 (Under certain conditions, file_exists() never returns) 2008-01-29 14:24:55 +00:00
Antony Dovgal ea5148d394 entry moved to 5_2 2008-01-29 13:39:57 +00:00
Dmitry Stogov a55d235fef missing spaces 2008-01-29 12:25:25 +00:00
Antony Dovgal 9a16d91117 fix test
Derick, you're adding new methods too fast =)
2008-01-29 12:23:48 +00:00
Andrey Hristov 00877eff13 Moved initialization code into a function. 2008-01-29 11:59:53 +00:00
Dmitry Stogov 9770b3cb00 Fixed bug #43323 (Wrong count abstract methods). (Felipe, Dmitry) 2008-01-29 11:12:57 +00:00
Dmitry Stogov e0ca3b2424 Fixed types 2008-01-29 11:12:07 +00:00
Dmitry Stogov 382f1dddfa Fixed bug #43505 (Assign by reference bug) 2008-01-29 10:45:07 +00:00
Dmitry Stogov 58433c9b11 Fixed bug #43918 (Segmentation fault in garbage collector) 2008-01-29 09:59:42 +00:00
Antony Dovgal b989cba092 BFN 2008-01-29 08:57:26 +00:00
Robert Nicholson 1d6ac15b3d - MFH compact_variation1.phpt - fix for bug #29044 2008-01-29 08:50:43 +00:00
Sebastian Bergmann 98527ad549 MFH: Add Reflection API metadata for XSLTProcessor. 2008-01-29 07:51:43 +00:00
Ilia Alshanetsky 3eb387155a Simplify code 2008-01-29 01:17:30 +00:00
Antony Dovgal 183ed5b686 MFH: fix #43596 (array_slice(): $length arg ignored when it is 0) 2008-01-29 00:39:46 +00:00
Antony Dovgal 4252942abd MFH: fix typo and bug #43646 2008-01-29 00:07:26 +00:00
Stanislav Malyshev 2cd551ffec fix type 2008-01-28 23:55:53 +00:00
Andrey Hristov d95c29d7f6 Moving extension specific code to php_mysqlnd.c as the old rule is. 2008-01-28 23:23:08 +00:00
Antony Dovgal ec34464024 BFN 2008-01-28 23:08:54 +00:00
Antony Dovgal 89273e1482 add test 2008-01-28 23:07:45 +00:00
Antony Dovgal 37a607c7f8 fix #43927 (koi8r is missing from html_entity_decode())
patch by andy at demos dot su
2008-01-28 23:07:12 +00:00
Andrey Hristov 2033c1b7f2 some config.w32 fixes
moved mysqlnd's block allocator to a separate file and also now
it's part of the connection, no MT problems.
2008-01-28 22:50:06 +00:00
Marcus Boerger e9914e9d06 - MFH Make SplObjectStorage implement ArrayAccess
[DOC]
2008-01-28 22:48:15 +00:00
Derick Rethans a1180690a4 - MFH: Added two optional parameters to timezone_transitions_get() /
DateTimeZone::getTranstions() to limit the range of transitions being
  returned.
2008-01-28 21:12:41 +00:00
Derick Rethans afd01152f4 - Fixed test case. 2008-01-28 21:00:14 +00:00
Derick Rethans 19f6fcce87 - Add missing folding tags. 2008-01-28 20:35:17 +00:00
Derick Rethans 13d75ce6e6 - MFH: Send the debug info to stderr instead of stdout. 2008-01-28 20:34:02 +00:00
Derick Rethans ffbe501ad2 - MFH: Added date_timestamp_get() / DateTime::getTimestamp() to retrieve the
Unix timestamp belonging to a date object.
2008-01-28 20:30:51 +00:00
Andrey Hristov 7932ccba6d More optimizations - less MM calls
Clearly separated fetching (physical reading) from decoding phases (data
interpretation). Threaded fetching added but disabled as needs more work for
Windows. For Linux needs some touches to add pthreads if this is enabled,
probably with a compile-time switch.
The code reorganisation makes it easy to add also async API, similar to
cURL's one.
2008-01-28 18:25:50 +00:00
Scott MacVicar a7dabd575a MFH: Fixed bug #43954 (Memory leak when sending the same HTTP status code more than once.) 2008-01-28 16:09:08 +00:00
Nuno Lopes 47e009d392 remove unused PHP_MYSQL_API macro 2008-01-28 11:16:00 +00:00
Dmitry Stogov 8d7d8bd018 Better message 2008-01-28 08:55:19 +00:00
Derick Rethans 4b7f5f9630 - MFH: Fixed parsing of timezones 2008-01-27 22:16:48 +00:00
Hannes Magnusson bb9fa509fe Fix test 2008-01-27 19:10:41 +00:00
Marcus Boerger a339867860 MFH:
[DOC] Add ability to store associative infor with objects in SplObjectStorage
- Add second parameter to SplObjectStorage::attach()
- Add SplObjectStorage::setInfo()
- Add SplObjectStorage::getInfo()
2008-01-27 18:07:20 +00:00
Derick Rethans dc04a42e5c - MFH: Update proto 2008-01-27 17:44:29 +00:00
Derick Rethans 216d0cb0ff - MFH: Added support for selectively listing timezone identifiers through
timezone_identifiers_list() / DateTimezone::listIdentifiers().
2008-01-27 17:29:14 +00:00
Nuno Lopes 89d271a7b0 fix test 2008-01-27 17:01:11 +00:00
Ilia Alshanetsky ec70cb71f4 WS 2008-01-27 17:00:37 +00:00
Nuno Lopes 500ee29e6c be more strict in the skipif 2008-01-27 16:54:22 +00:00
Nuno Lopes d16f4cad0a fix a bunch of SKIPIF (check for non available locales) 2008-01-27 16:45:43 +00:00
Rob Richards 2e58beee96 MFH: add missing export 2008-01-27 16:33:01 +00:00
Marcus Boerger 5081a15490 - Minor rearrange and fix potential issue with double adding 2008-01-27 15:23:14 +00:00
Marcus Boerger 6b778b0def - MFH revert over constfying 2008-01-27 15:04:41 +00:00
Etienne Kneuss bfe7a47b15 MFH: Typo 2008-01-27 14:08:06 +00:00
Etienne Kneuss 36305912e9 MFH: -Pointer doesn't move if we're moving forward and shifting at the same time
-Userland implementation
-Doxygen doc
2008-01-27 13:59:51 +00:00
Etienne Kneuss 6a7074c837 MFH: Iterator implementation in SplDoublyLinkedList, SplStack, SplQueue 2008-01-26 23:04:43 +00:00
Nuno Lopes 65e86e459a more const kewywording
remove spl_functions_none var (wast used anywhere
2008-01-25 20:29:48 +00:00
Nuno Lopes 00e7f90796 const more 216 bytes (on a 32-bits host) 2008-01-25 20:20:07 +00:00
Nuno Lopes d962918299 const'ify more 372 bytes 2008-01-25 20:11:53 +00:00
Nuno Lopes 678e919635 const'ify more 768 bytes 2008-01-25 20:04:10 +00:00
Nuno Lopes b89396b11e move about 3K of data to the const area. also reduce memory usage (~ -266 bytes :P) 2008-01-25 19:57:57 +00:00
Nuno Lopes 2c1a5c0248 spread some static keywords 2008-01-25 19:38:26 +00:00
Scott MacVicar 23e3baf62d Fix html_entity_decode when converting numeric html entities, the numeric values for the extended characters don't correspond to that of windows-1251 and cp866. 2008-01-25 18:10:45 +00:00
Rob Richards 3e69124430 backport functionality to call user functions within XPath
add test
2008-01-25 16:13:04 +00:00
Rob Richards b65adbb4fb MFH: fix win32 compile 2008-01-25 15:54:58 +00:00
Rob Richards 90f168deae MFH: fix zts build 2008-01-25 15:52:48 +00:00
Antony Dovgal 2907ae9d73 MFH: endless loop (and stack overflow) protection in compact() 2008-01-25 13:42:36 +00:00
Ilia Alshanetsky 1a7b75eb11 Adjust new chr() param handling to address chr("") calls 2008-01-25 01:31:10 +00:00
Robert Nicholson be2ae4e76f - Add a basic test for array_shuffle() 2008-01-25 00:32:22 +00:00
Robert Nicholson 3b8256dce4 - add some basic tests for array diff and intersection functions 2008-01-25 00:13:49 +00:00
Antony Dovgal 39b585001a MFH 2008-01-24 23:02:07 +00:00
Dmitry Stogov d90ebc65a6 Fixed comilation warnings 2008-01-24 18:07:45 +00:00
Robert Nicholson c09d8d931f - New tests for compact() 2008-01-24 14:51:20 +00:00
Rob Richards abc8920bb6 MFH: fix zts build 2008-01-24 14:09:36 +00:00
Dmitry Stogov 2fd21da895 Increased Zend MM cache size 2008-01-24 12:21:32 +00:00
Dmitry Stogov 5a00207c6d Fixed possible GC failure because of EG(object_store).object_buckets reallocation 2008-01-24 11:48:54 +00:00
Dmitry Stogov 03c018d34e Fixed GC bug 2008-01-24 10:49:26 +00:00
Derick Rethans 3bd291e118 - MFH: Show GC statistics if GC benchmarking is enabled.
#- Discussed this with Dmitry.
2008-01-24 10:42:12 +00:00
Dmitry Stogov f8297f6e37 Fixed bug #43426 (crash on nested call_user_func() calls) 2008-01-24 09:47:00 +00:00
Dmitry Stogov 0b6825102d Changed EG(argument_stack) implementation. 2008-01-24 09:41:39 +00:00
Dmitry Stogov 07000cc2ba Fixed error message 2008-01-24 08:51:38 +00:00
Ilia Alshanetsky 93759a4288 Added myself as pdo_mysql & pdo_pgsql maintainer 2008-01-23 23:08:27 +00:00
Stanislav Malyshev 529c17665f fix build 2008-01-23 19:55:37 +00:00
Andrey Hristov c52b63ea1d Merge with internal version 2008-01-23 19:11:28 +00:00
Dmitry Stogov 0095544c4d Additional executor specialization 2008-01-23 17:55:55 +00:00
Antony Dovgal e837a3b7b6 BFN 2008-01-23 12:13:40 +00:00
Antony Dovgal 67c8d8d95e MFH: fix #43559 (array_merge_recursive() doesn't behave as expected with duplicate NULL values)
patch by Felipe
2008-01-23 12:09:52 +00:00
Antony Dovgal d008f576b0 use expectF 2008-01-23 09:55:53 +00:00
Antony Dovgal ff183efe61 fix test 2008-01-23 09:54:38 +00:00
Antony Dovgal a5505302e4 fix leak appearing when appending data to unnamed attribute 2008-01-23 09:52:57 +00:00
Ilia Alshanetsky 9f35febdf1 Fixed bug #43912 (Interbase column names are truncated to 31 characters) 2008-01-23 01:22:24 +00:00
Marcus Boerger 10a0f20652 - MFH Bugfix #37076 (SimpleXML ignores .=). (felipe, marcus) 2008-01-22 20:42:22 +00:00
Etienne Kneuss de2bb0f497 MFH: Typos (Dan Scott)
ctor inside the structure. dtor/ctor used on push/pop for better potential interoperability
2008-01-22 19:55:31 +00:00
Antony Dovgal 8d2ad5c12b add new test 2008-01-22 15:42:36 +00:00
Dmitry Stogov 71592cec06 Added garbage collector 2008-01-22 09:27:48 +00:00
Ilia Alshanetsky 2be1ae5415 use new param parsing API 2008-01-22 01:34:24 +00:00
Etienne Kneuss 7366d48c04 MFH: Add doxygen docs for SplDoublyLinkedList, SplStack, SplQueue 2008-01-21 21:55:55 +00:00
Dmitry Stogov fa47e900e2 Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end 2008-01-21 19:39:55 +00:00
Dmitry Stogov 7390459e26 Yet another comparison optimisation for usual cases 2008-01-21 19:10:25 +00:00
David Coallier 13be31db35 - Added lcfirst() announcement. 2008-01-21 18:28:11 +00:00
Dmitry Stogov 48379d53e6 Eliminate unnecessary checks for INC/DEC IS_CV 2008-01-21 14:22:59 +00:00
Ilia Alshanetsky 73d031a390 Optimize wddx boolean encoding 2008-01-20 15:33:24 +00:00
Hannes Magnusson 72473f5299 Add note about new getopt() features 2008-01-20 14:14:28 +00:00
Hannes Magnusson 369bf690c4 MFH: Fixed bug#43875 (Two error messages returned for $new and $flag argument in mysql_connect()) 2008-01-20 14:10:44 +00:00
Etienne Kneuss 5c5d5dd0f6 MFH: Fix mem errors 2008-01-20 13:26:03 +00:00
David Coallier a3c09d611c - MFH (lcfirst())
- Initial test for lcfirst
2008-01-19 19:27:22 +00:00
Andrey Hristov 89871ecc54 Fix compile issue 2008-01-19 18:21:44 +00:00
Christopher Jones 90d414fdb6 MFH: Add ifdef 2008-01-18 16:03:51 +00:00
Antony Dovgal 92294297e5 MFH: fix test 2008-01-18 12:48:35 +00:00
Pierre Joye da5b986a72 - MFB: reflect the correct version 2008-01-18 01:11:26 +00:00
Greg Beaver 5f8d225834 MFPECL: install headers 2008-01-18 00:30:10 +00:00
Greg Beaver 0d074e23d3 update module version number 2008-01-18 00:20:56 +00:00
Nuno Lopes ac11490f82 pcre 7.5 is in 5.2 branch as well 2008-01-17 23:02:50 +00:00
Derick Rethans 2d2552956c - Fixed bug #41599 (setTime() fails after modify() is used). 2008-01-17 20:59:10 +00:00
Derick Rethans 3d0797da2b - MFH: Fixed bug #43075 (Support 2007-11-01T24:00:00+00:00). 2008-01-17 20:45:08 +00:00
Derick Rethans 3fb0e425e0 - MFH: Fixed bug #43808 (date_create never fails (even when it should)). 2008-01-17 20:35:02 +00:00
Derick Rethans 2d4db6b8d6 - Fixed bug #43003 (Invalid timezone reported for DateTime objects constructed
using a timestamp).
2008-01-17 19:59:00 +00:00
Derick Rethans e549873c10 - MFH: Added support for abbreviation and offset based timezone specifiers for
DateTime::getOffset() and DateTime::getName().
- MFH: Fixed bug #43527 (DateTime created from a timestamp reports environment
  timezone).
- MFH: Fixed bug #42190 (Constructing DateTime with TimeZone Indicator
  invalidates DateTimeZone).
2008-01-17 18:49:45 +00:00
Lukas Smith fd72cefbda MFH 2008-01-17 14:38:16 +00:00
Ilia Alshanetsky ba3245e12e Fixed bug #43871 (crash inside dns_get_record) 2008-01-17 14:12:12 +00:00
Ilia Alshanetsky 1227a4c57a Fixed bug #42779 (Incorrect forcing from HTTP/1.0 request to HTTP/1.1
response)
2008-01-16 15:49:46 +00:00
Marcus Boerger 626881d9e8 - MFH Fixed Bug #37964 (Reflection shows private methods of parent class)
(felipe@php.net)
2008-01-16 14:21:07 +00:00
David Coallier 516a9c15d6 - Making sure the tests are not failing after modifications to the new
zend-parsing-parameters in ucfirst()
2008-01-16 12:56:20 +00:00
Antony Dovgal 20b021b209 MFH: fix #43863 (str_word_count() breaks on cyrillic "ya" in locale cp1251)
patch by phprus at gmail dot com
2008-01-16 08:34:33 +00:00
Dmitry Stogov a498d64ceb Fixed wrong type cast 2008-01-16 06:15:04 +00:00
David Coallier d6806d5ead - MFH
- Making sure this is also using the good zend parsing and added
  the php_ucfirst function
2008-01-16 03:11:26 +00:00
Christopher Jones 44a985f63e MFH: fix #41941 (oci8 extension not lib64 savvy) 2008-01-16 00:38:03 +00:00
Christopher Jones bfb584bd0f MFH: Testcase for #43492 (nested cursors) 2008-01-15 20:54:59 +00:00
Christopher Jones ed50a373b1 MFB: fix #43497 (OCI8 XML/getClobVal aka temporary LOBs leak UGA memory) 2008-01-15 20:44:31 +00:00
Rob Richards 05534af71b MFH: fix win build 2008-01-15 15:46:20 +00:00
Rob Richards de777461c5 MFH: fix memleak in sign and verify functions 2008-01-15 15:12:47 +00:00
Ilia Alshanetsky 374f3062f8 Allow test to run from any directory 2008-01-15 14:51:50 +00:00
Marcus Boerger 330c8b49f8 - MFH valgrind detection, note in header 2008-01-15 13:03:54 +00:00
Etienne Kneuss 67e82261c2 Fix ZTS build, fix tests 2008-01-15 12:17:35 +00:00
Dmitry Stogov e6588b6620 Fixed bug #43851 (Memory corrution on reuse of assigned value) 2008-01-15 11:52:45 +00:00
Marcus Boerger ba8acfdfdf - Fix the fix 2008-01-15 11:47:05 +00:00
Antony Dovgal 06229e417f oops..
I didn't mean to commit this
2008-01-15 09:48:55 +00:00
Etienne Kneuss 8e2154f711 MFH: Bump year 2008-01-15 09:44:07 +00:00
Etienne Kneuss 1b4cac77ba MFH: Implement splDoublyLinkedList, splQueue, splStack classes in SPL 2008-01-15 09:38:15 +00:00
Antony Dovgal b101ee1a07 MFH: rename macros
patch by colder
2008-01-15 09:36:05 +00:00
Brian Shire 82874e094b MFH: Fix bug #42850 array_walk_recursive() leaves references, refix bug #34982 2008-01-14 22:09:52 +00:00
Ilia Alshanetsky 40dc00410d Missing patch bit from the FETCH_GROUP fix 2008-01-14 18:41:31 +00:00
Marcus Boerger 22221def71 - Fix memleak (found by colder) 2008-01-14 18:13:12 +00:00
Ilia Alshanetsky 6e936f3bdb Fixed in 5.2 2008-01-14 13:46:34 +00:00
Nuno Lopes 5ad7fb31c3 MFB5.2: fix script for files with short names 2008-01-14 09:40:29 +00:00
Nuno Lopes 549eebd97a ignore run-tests generated files 2008-01-14 09:31:56 +00:00
Greg Beaver a0624708c7 MFH: fix windows build for all cases, and always export symbols (Steph Fox) 2008-01-14 03:16:08 +00:00
Greg Beaver 42ef796add MFH: add missing define for statically-built zip ext 2008-01-13 23:37:41 +00:00
Derick Rethans c4fb570ef3 - Fixed TSRM builds. 2008-01-13 18:42:19 +00:00
Ilia Alshanetsky f94d19ffea Fixed test 2008-01-13 17:23:14 +00:00
Derick Rethans 9f979a16bf - Added new date/time functionality:
* date_parse_from_format(): Parse date/time strings according to a format.
  * date_create_from_format()/DateTime::createFromFormat(): Create a date/time
    object by parsing a date/time string according to a given format.
  * date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings
    and errors that were found while parsing a date/time string through:
    - strtotime() / new DateTime
    - date_create_from_format() / DateTime::createFromFormat()
    - date_parse_from_format()
# [DOC]
2008-01-13 15:16:02 +00:00
Nuno Lopes 18107c0b44 Fixed bug #42945 (preg_split() swallows part of the string) 2008-01-13 14:44:29 +00:00
Nuno Lopes 4c501a0ab6 upgrade PCRE to version 7.5 2008-01-13 12:44:57 +00:00
Greg Beaver ccc0d6e32b a few fixes: overwrite all my careful work in zipint_alias.h with zipint.h, so had to restore that.
PHP_RAW_NAMED_FE() won't work, have to use ZEND_RAW_FENTRY
2008-01-13 06:22:27 +00:00
Greg Beaver c896933b7c MFH: alias all zip identifiers to avoid potential name conflicts with other apache libs that may export zip symbols 2008-01-13 06:02:30 +00:00
Greg Beaver 4f17800e32 far better fix for bug #40189 2008-01-12 22:03:32 +00:00
Greg Beaver 79abe24b1b MFH: fix faulty fix for Bug #40189, and provide real fix for the bug 2008-01-12 21:28:48 +00:00
Greg Beaver 7c1952c863 MFH: clarify error message on why opening a stream wrapper failed for allow_url_include/allow_url_fopen, add test for allow_url_fopen 2008-01-12 15:50:57 +00:00
Greg Beaver f76eac59c0 MFH: export symbols for use by other extensions like phar 2008-01-12 03:48:39 +00:00
Dmitry Stogov 059bc1d593 Simplified assignment to string offset 2008-01-11 15:10:24 +00:00
Lukas Smith 89a9f08516 MFH 2008-01-11 14:02:12 +00:00
Lukas Smith 597f177c2b MFH 2008-01-11 10:49:15 +00:00
Dmitry Stogov 6be997dca9 Fixed unspecialized executor 2008-01-11 10:08:49 +00:00
Lukas Smith d004800d70 MFH 2008-01-11 09:40:43 +00:00
Dmitry Stogov ab5bddd976 Fixed bug #39346 (Unsetting a static variable inside a destructor causes segfault later on) 2008-01-11 08:42:06 +00:00
Ilia Alshanetsky fa1e1d249b Fixed a bug with PDO::FETCH_COLUMN|PDO::FETCH_GROUP mode when a column # by
which to group by data is specified.
2008-01-11 01:47:18 +00:00
Brian Shire 8a37504831 - MFH fix truncation of large values on 64-bit systems in http_build_query 2008-01-10 20:29:12 +00:00
Rob Richards 38ac30162f MFH: add errors when missing dependencies (Steph) 2008-01-10 18:21:56 +00:00
Marcus Boerger 522166bad1 - MFH Fix bug in example code found by Surf Chen 2008-01-10 10:11:33 +00:00
Dmitry Stogov ed8e2fa031 Added missing warning message 2008-01-10 09:38:23 +00:00
Ilia Alshanetsky 1300527db5 Fixed test 2008-01-10 01:41:25 +00:00
Rob Richards 3aa9268976 MFH: fix crash when using default algorithm 2008-01-09 16:47:25 +00:00
Dmitry Stogov 9c64182ae7 Fixed broken soap.wsdl_cache_enabled 2008-01-09 16:45:48 +00:00
Antony Dovgal 5dbb3e4d83 fix typo 2008-01-09 14:27:31 +00:00
Dmitry Stogov 18226f79bc Remplemented support for SplArray using Traversable interface. 2008-01-09 13:49:40 +00:00
Rob Richards 9238ee440f MFH: fix win32 compile 2008-01-09 11:23:59 +00:00
Greg Beaver 686f30d118 apply proper fix of bug #43793 to zlib.deflate (window+16 = gzip) 2008-01-09 08:12:33 +00:00
Dmitry Stogov b5c4244069 Fixed bug #43703 (Signature compatibility check broken) 2008-01-09 07:57:42 +00:00
Greg Beaver d5b9a39064 apply same fix of bug #43793 to zlib.deflate 2008-01-09 07:03:28 +00:00
Greg Beaver 49e181eff1 fix Bug #43793: zlib filter is unable to auto-detect gzip/zlib file headers 2008-01-09 06:45:36 +00:00
Pierre Joye 3a6acb42b2 - MFB: #43790, fix crash when no family name has been found 2008-01-09 01:51:17 +00:00
Ilia Alshanetsky 8055833fac Fixed bug #43498 (file_exists() on a proftpd server got SIZE not
allowed in ASCII mode).
# Original patch by crrodriguez at suse dot de
2008-01-08 19:08:50 +00:00
Ulf Wendel c7c7e7f318 MySQL 6 compatibility fix. 2008-01-08 13:16:00 +00:00
Andrey Hristov 82e36686b3 strncpy->strlcpy 2008-01-08 13:11:55 +00:00
Ulf Wendel b0b510f6e6 Merge from HEAD: looks more than it is. Whitespace, some SQL formatting changes etc.
No "real" changes.
2008-01-08 12:49:42 +00:00
Ilia Alshanetsky 016ee0bf39 WS 2008-01-07 15:13:17 +00:00
Ilia Alshanetsky e24c17f9b4 MFB: Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz. 2008-01-06 17:12:44 +00:00
Marcus Boerger 041bf3518c - MFH Show info for CL and CGI if both are going to be used 2008-01-06 16:48:11 +00:00
Greg Beaver 27ee8f8806 remove potential preg warnings if --EXPECTHEADERS-- is combined with --EXPECTF-- or --EXPECTRE-- 2008-01-05 21:39:53 +00:00
Greg Beaver f61ba6295a implement --FILE_EXTERNAL-- section for using an external file as --FILE--, use CGI for --EXPECTHEADERS--, fix --POST_RAW-- 2008-01-05 21:05:06 +00:00
Ulf Wendel f316766afe MFH
Added:

  mysqli_fetch_assoc_zerofill.phpt
    checks for UNSIGNED ZEROFILL

  mysqli_stmt_bind_result_zerofill.phpt
    checks for UNSIGNED ZEROFILL

  mysqli_stmt_bind_param_call_user_func.phpt
    Needs to be refined once http://bugs.php.net/bug.php?id=43568
    has been closed and a decision has been made on call_user_func_array().
    There seems to be a BC break between 5_2 -> 5_3 .
    Johannes has an eye on it

Modified:

  mysqli_change_user_insert_id.phpt
    skip test for buggy MySQL Server versions

  mysqli_insert_id.phpt
    added additional checks
2008-01-04 18:20:53 +00:00
Raghubansh Kumar 0b26f6fe7e New testcases for array_diff() function 2008-01-04 14:02:27 +00:00
Raghubansh Kumar 7dc36cff7c New testcases for array_diff_assoc() function 2008-01-04 14:01:45 +00:00
Ulf Wendel 754545d918 MFH: Fix for bug #43036 2008-01-04 09:00:59 +00:00
Ulf Wendel 5dceff0104 MFH: Remove test for deprecated (and removed) function 2008-01-03 17:21:01 +00:00
Ilia Alshanetsky a4674c5ed7 Skip test for PostgreSQL driver since error is too dissimilar to other
drivers
2008-01-03 16:46:52 +00:00
Nuno Lopes 61eb7ae554 remove unused PHP_EXTNAME_API macros.
#in preparation for the gcc 4 visibility patch
2008-01-03 16:20:33 +00:00
Johannes Schlüter 32dfad780c - MFH: Remove more replication stuff 2008-01-03 14:33:46 +00:00
Andrey Hristov 60a1a17399 Header protection 2008-01-03 12:49:45 +00:00
Andrey Hristov 18aa7b9607 Remove unused field 2008-01-03 11:37:33 +00:00
Raghubansh Kumar 59558b73cb this testcase has been split into many smaller testcases and committed. 2008-01-03 09:46:00 +00:00
Raghubansh Kumar 4cadbee716 new smaller testcases for array_map() function 2008-01-03 09:43:45 +00:00
Steve Seear af2dfe2e45 Adding PHPT tests for the ReflectionMethod class. 2008-01-03 09:07:07 +00:00
Andrey Hristov fdf20a8287 - Fix problems with double definitions
- Clean up a bit a type mess - 4 types less. No need to have aliases
  for the same thing (unification is the name).
- New macro for Johannes mysqlnd_stmt_ro_result_metadata
2008-01-02 21:14:35 +00:00
Ilia Alshanetsky fc74136a90 Fixed bug #43647 (Make FindFile use PATH_SEPARATOR instead of ";") 2008-01-02 19:19:31 +00:00
Ilia Alshanetsky 93264ecc32 Update copyright 2008-01-01 18:30:20 +00:00
Hartmut Holzgraefe 3354b3a480 fixed binary arithmetic (MF5.2) 2008-01-01 18:13:14 +00:00
Derick Rethans eca59c69b5 - Updated to version 2007.11 2008-01-01 15:32:05 +00:00
Hannes Magnusson 9373479cff MFH: Fix test 2008-01-01 14:35:31 +00:00
Sebastian Bergmann 9044a48291 Leftover: Bump copyright year. 2008-01-01 06:15:40 +00:00
Ilia Alshanetsky 79e02d8786 Update copyright 2007-12-31 21:34:42 +00:00
Sebastian Bergmann a5cf49b2d3 Leftover: Bump copyright year. 2007-12-31 07:24:44 +00:00
Sebastian Bergmann d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Sebastian Bergmann f8a8196d63 MFH: Bump copyright year, 1 of 2. 2007-12-31 07:15:43 +00:00
David Soria Parra 07487ad0e7 - Fixed bug #43663 (Extending PDO class with a __call() function doesn't work).
CVS
2007-12-30 17:51:35 +00:00
Ilia Alshanetsky dddc5682db Fixed typo 2007-12-30 16:46:27 +00:00
Jani Taskinen 8a313d8e77 MFH:- This makes no sense with non-ipv6 builds. (and fixes lot of issues with misconfigured servers) 2007-12-29 18:46:27 +00:00
Hannes Magnusson b9c22f2b1e MFB5.2: Fix test 2007-12-29 11:38:24 +00:00
Antony Dovgal 2dab3c40fe correct fix for bug #43522 2007-12-29 10:52:24 +00:00
Antony Dovgal 611bd33689 fix test 2007-12-29 10:32:52 +00:00
Hannes Magnusson d7f7fa0494 MFH: Update the class method documentation links 2007-12-29 02:21:57 +00:00
Andrey Hristov 77115c49ab Here comes the NEWS entry. The RM knows his job ;) 2007-12-28 15:44:45 +00:00
Andrey Hristov 98f88d7a97 Remove RPL functions. They were always experimental and lead to crashes.
The underlying functions will be removed from libmysql as of MySQL 6.0, so
it's right time to remove them.
2007-12-28 15:37:52 +00:00
Dmitry Stogov 72de143266 Fixed possible memory corruption 2007-12-28 15:32:09 +00:00
Ulf Wendel afa5602456 Fixing SQL syntax in this very old test to make it pass with MySQL 6.0 2007-12-28 15:27:38 +00:00
Ulf Wendel 3ca72e6a79 Isn't it nice to get a new 64bit box? Fixing 32bit/64bit issue. 2007-12-28 15:26:17 +00:00
Ulf Wendel 3562e88fa6 Sooner or later these old 0*.phpt tests had to bite us - fixing SQL syntax,
HEAD sync will follow.
2007-12-28 15:06:02 +00:00
Ulf Wendel 8c71dd5df8 Cutting off a few edges:
- use connection parameter from environment variables
 - check if MySQL supports procedures
 - whitespace
2007-12-28 14:50:48 +00:00
Dmitry Stogov ebf4cd30db Fixed test related to bug #38469 2007-12-28 13:23:00 +00:00
Dmitry Stogov 5a3eb53723 Fixed bug #38469 (unexpected creation of cycle, json tests failed, leaks memory) 2007-12-28 13:22:00 +00:00
Dmitry Stogov 2fa0078a71 Initialize operand type 2007-12-28 09:46:52 +00:00
Nuno Lopes b2e6a56e5c fix tests 2007-12-27 16:05:00 +00:00
Dmitry Stogov ba8dcae76d Use proper result type 2007-12-27 13:52:05 +00:00
Dmitry Stogov 964b8bb30d Added ability to use SplArrays instead of plain arrays in ext/soap. (Joshua Reese, Dmitry) 2007-12-27 13:10:20 +00:00
Dmitry Stogov 0d88ad9b96 Added 64-bit tests (Serg) 2007-12-27 11:39:01 +00:00
Hannes Magnusson c236bcd80e Fixed bug#43105 (PHP seems to fail to close open files.) 2007-12-27 02:09:26 +00:00
Hannes Magnusson b4e95c3e19 MFH: Fix typo (TAKAGI Masahiro) 2007-12-26 21:02:46 +00:00
Hartmut Holzgraefe edee094851 MFH: Fix for bug #42548 "PROCEDURE xxx can't return a result set" 2007-12-25 18:55:40 +00:00
Raghubansh Kumar a47bf2d36a fix test : do not run when run as root 2007-12-25 16:15:34 +00:00
Dmitry Stogov 94a50ae0c9 Fixed %f regex 2007-12-25 12:06:34 +00:00
Dmitry Stogov 43f6392e90 Fixed bug #43651 (is_callable() with one or more nonconsecutive colons crashes) 2007-12-25 10:58:30 +00:00
Dmitry Stogov ed5a424b4f Additional fix for bug #42868 2007-12-24 18:09:50 +00:00
Raghubansh Kumar 7c75fe7b8c new testcases for dir() function 2007-12-24 05:19:42 +00:00
Raghubansh Kumar 8204525427 fix tests 2007-12-24 04:27:55 +00:00
Raghubansh Kumar e54a855955 Changing the regex for %f so the it will match e-, e+ and e. 2007-12-24 04:23:04 +00:00
Johannes Schlüter 1b6100f4c1 - MFH: Fix #43450 (Memory leak on some functions with implicit object
__toString() call) (Davic C.)
2007-12-21 20:56:33 +00:00
Dmitry Stogov d27e5cd152 Fixed test 2007-12-21 09:40:27 +00:00
Ilia Alshanetsky 11a93f62ac Fixed bug #43644 (is_callable(':') crashes) 2007-12-21 01:21:52 +00:00
Raghubansh Kumar e15fb3853a fix tests 2007-12-20 17:27:13 +00:00
Dmitry Stogov 1e5e110844 x86_64 assembler optimization (Brain Shire) 2007-12-20 12:58:46 +00:00
Robert Nicholson d0bfef7f94 New test - Indexing - various special cases 2007-12-20 11:42:00 +00:00
Robert Nicholson 9e8f7a00e3 new tests for array_map usage variations - string keys and references 2007-12-20 11:18:34 +00:00
Ilia Alshanetsky a6e755d6aa Fixed bug #43635 (mysql extension ingores INI settings on NULL values passed
to mysql_connect())
2007-12-20 00:26:21 +00:00
Raghubansh Kumar 1ccf0ba714 fix test 2007-12-19 10:39:10 +00:00
Steve Seear f48e23c67f Adding PHPT tests for the ReflectionProperty class. 2007-12-18 17:21:55 +00:00
Ilia Alshanetsky d5d2b86303 Fixed bug #43620 (Workaround for a bug inside libcurl 7.16.2 that can result
in a crash)
2007-12-18 13:46:07 +00:00
Derick Rethans 9541a66cb8 - MFH: Fixed var_export() for array keys
- MFH: Fixed broken explode() test
2007-12-18 10:53:39 +00:00
Ilia Alshanetsky 31fb02db2e Kill unused vars 2007-12-17 19:00:07 +00:00
Marcus Boerger aabb1c3097 - Fix folding 2007-12-17 13:46:27 +00:00
Raghubansh Kumar f5f92c1940 fix tests 2007-12-17 13:02:27 +00:00
Hannes Magnusson 4de3c0b985 Check if we know which php executable we should use
# Fixes weird test failures when TEST_PHP_EXECUTABLE isn't set
2007-12-17 11:00:16 +00:00
Dmitry Stogov f7f6de4dc2 Fixed test 2007-12-17 10:05:13 +00:00
Dmitry Stogov 2b981769a3 Fixed bug #42868 (Floats cast to integer produce unpredicatable results). (Zoe Slattery) 2007-12-17 10:02:13 +00:00
Jani Taskinen 31a779e813 - Fix indent of macros 2007-12-17 08:51:17 +00:00
Sara Golemon cce03434ef MFH (json.c r-1.32) Add support for encoding options 2007-12-17 07:48:27 +00:00
Johannes Schlüter 57189ca513 - MFH: Fix #43611 SplObjectStorage is available since 5.1.2 2007-12-16 22:19:49 +00:00
Hannes Magnusson 70b10b2b39 Fix test 2007-12-16 19:17:54 +00:00
Hannes Magnusson bfad3071cd Fix typo 2007-12-16 18:31:07 +00:00
Ilia Alshanetsky b0d7f9c3ee WS 2007-12-16 17:28:57 +00:00
Ilia Alshanetsky 19523d5dae MFB: Fixed bug #43589 (a possible infinite loop in bz2_filter.c) 2007-12-16 17:22:00 +00:00
Ilia Alshanetsky ec90d48331 Fixed bug #43606 (define missing depencies of the exif extension) 2007-12-16 17:14:11 +00:00
Hannes Magnusson 2027a1f16a MFB5.2: Fix protos 2007-12-15 12:52:55 +00:00
Antony Dovgal 996e245143 fix test 2007-12-15 12:46:22 +00:00
Raghubansh Kumar 035dc8bdf6 New testcases for token_get_all() function 2007-12-14 16:21:33 +00:00
Scott MacVicar d4bbbc0eab Change createFromTimestamp to setTimestamp 2007-12-14 14:49:15 +00:00
Scott MacVicar 6f04c5169e MFH: Add Datetime::createFromTimestamp to allow setting of a unix timestamp without invoking the date parser. 2007-12-14 14:28:36 +00:00
Dmitry Stogov f817a1ce6a executor optimization 2007-12-14 14:14:50 +00:00
Ilia Alshanetsky f85ca56b25 update todo 2007-12-14 01:23:45 +00:00
Antony Dovgal fc78e491b4 MFH: add workaround for glibc issue 2007-12-13 22:29:48 +00:00
Douglas Goldstein 9bde93698e add tests for ldap_dn2ufn() 2007-12-13 18:00:27 +00:00
Douglas Goldstein fde4144231 expand ldap_explode_dn() tests. 2007-12-13 17:45:44 +00:00
Antony Dovgal 2569b593f1 MFH: add new tests written by Felipe Pena 2007-12-13 13:51:15 +00:00
Dmitry Stogov 64e8f22355 Allowed import of global classes "use ::GlobalClassName;" 2007-12-13 10:02:03 +00:00
Dmitry Stogov 80e77c1366 Allowed multiple namespaces per file (Gregory) 2007-12-13 08:57:52 +00:00
Dmitry Stogov d8afc7ad37 Fixed test 2007-12-13 07:57:39 +00:00
Ilia Alshanetsky 863a7c6a64 Fixed bug #43580 (removed bogus declaration of a non-existent php_is_url()
function)
2007-12-13 00:25:38 +00:00
Antony Dovgal f5d0e57bcc MFH: add support for Valgrind 3.3.0 (which doesn't have --log-file-exactly option) 2007-12-12 09:20:54 +00:00
David Coallier 7c1087f0aa - Nitpicking, using same code (without unicode handling) than in HEAD
just removed useless } else {
2007-12-12 03:29:31 +00:00
David Coallier 2196a52edd - Unit test for bug #41528
- Checking that when you serialize a class that extends to ArrayObject
  Is keeping it's properties.
2007-12-12 00:34:06 +00:00
Ilia Alshanetsky 2199624ad1 WS 2007-12-11 18:30:01 +00:00
Douglas Goldstein 46307c046f add skipif case if the ldap extension is not loaded 2007-12-11 17:36:03 +00:00
Douglas Goldstein 7a2e440ee3 Adding initial tests for LDAP module. Adding tests for ldap_explode_dn() function 2007-12-11 17:19:47 +00:00
Jani Taskinen 14ca778ed9 MFH:- Revert previous patch, it was correct to do this, error is logged if logging is enabled 2007-12-11 12:26:43 +00:00
Jani Taskinen b984960e81 MFH: fix error displaying 2007-12-11 11:29:09 +00:00
Raghubansh Kumar b1f1baba4d New testcases for array_walk_recursive() function 2007-12-11 10:45:50 +00:00
Raghubansh Kumar b2def646b6 New testcases for array_walk() function 2007-12-11 10:45:25 +00:00
Jani Taskinen 9a4de086cb MFH: - Fixed bug #43541 2007-12-11 09:47:21 +00:00
Raghubansh Kumar 5ce6116777 New testcases for array_merge_recursive() function 2007-12-11 09:07:41 +00:00
Christopher Jones 922d1fce29 Sync with 5.2 2007-12-11 06:57:39 +00:00
Christopher Jones 02ecdf0821 MFB: Fix #42496. Cursor leak fetching LOBs 2007-12-11 06:46:16 +00:00
Ilia Alshanetsky b9e4413962 Fixed bug #43522 (stream_get_line() eats additional characters) 2007-12-10 14:16:58 +00:00
Derick Rethans fdafd5cf81 - MFH: Fixed Bug #42272 (var_export() incorrectly escapes char(0)). 2007-12-09 16:54:52 +00:00
Raghubansh Kumar ccb0f19d1c new testcases for array_unique() function 2007-12-09 14:41:10 +00:00
Dmitry Stogov 6484b3c458 Fixed bug #43344 (Wrong error message for undefined namespace constant) 2007-12-07 17:11:24 +00:00
Rob Richards d4cbb77c90 fix win build 2007-12-07 13:33:10 +00:00
Marcus Boerger cd77dc1242 - Fix for #41528 (Classes extending ArrayObject do not serialize correctly) 2007-12-06 16:04:17 +00:00
Ilia Alshanetsky 2352647f1f WS 2007-12-06 15:23:36 +00:00
Marcus Boerger d309efd945 - More about 4.6 2007-12-06 14:01:49 +00:00
Marcus Boerger 1f623c4965 Add db 4.6 to detect list 2007-12-06 13:53:38 +00:00
Ilia Alshanetsky 98bfa2ac74 Fixed bug #43495 (array_merge_recursive() crashes with recursive arrays) 2007-12-05 19:55:31 +00:00
Marcus Boerger d71b3de7f4 - Fixing #38618 by:
- [DOC] ArrayIterator::CHILD_ARRAYS_ONLY, ArrayObject::CHILD_ARRAYS_ONLY
  Passing this flag in the ctor prevents ArrayIterator from following
  objects in ArrayObject::getIterator(), ArrayIterator::hasChildren(),
  ArrayIterator::getChildren().
  The exact behavior might change:
    - should the flag be set by default
    - should the flag be changed to have a negative effect
2007-12-05 15:56:41 +00:00
Marcus Boerger d28117190f - - Allow to check the out,exp and diff results on console while executing the tests 2007-12-05 14:54:08 +00:00
Marcus Boerger bbf7260cde - Allow to specify php executable on commandline 2007-12-05 13:55:46 +00:00
Rob Richards 9d99a820e1 MFH: starting with 2.6.30, standard libxml2 build can be used 2007-12-04 17:14:34 +00:00
Ilia Alshanetsky 3d8e397546 Fixed test 2007-12-04 13:03:39 +00:00
Ilia Alshanetsky 56c610c97a Fixed bug #43493 (pdo_pgsql does not send username on connect when password
is not available)
2007-12-04 13:03:26 +00:00
Dmitry Stogov d161978c56 Fixed uninitialized value 2007-12-04 12:38:42 +00:00
Antony Dovgal 550b617be1 MFH: detect IBM iconv implementation and use correct encoding names 2007-12-04 11:27:25 +00:00
Antony Dovgal cce49d019a MFH 2007-12-04 08:56:07 +00:00
Dmitry Stogov 80a7bf2910 Fixed crash because of uninitialized SG(sapi_headers).mimetype 2007-12-03 16:04:36 +00:00
Derick Rethans 4c0f6c9a71 - Updated to version 2007.10 2007-12-03 15:16:32 +00:00
Dmitry Stogov 0f59a01e4a Fixed bug #43332 (self and parent as type hint in namespace) 2007-12-03 14:15:43 +00:00
Ilia Alshanetsky 7192e8af15 MFB: Fixed bug #43482 (array_pad() does not warn on very small pad
numbers).
2007-12-03 14:13:27 +00:00
Raghubansh Kumar b70d00a648 fix tests : better float values 2007-12-03 13:03:31 +00:00
Raghubansh Kumar 6121702d04 New testcases for array_pad() function 2007-12-03 12:51:56 +00:00
Raghubansh Kumar fdae976d58 fix tests: better float values 2007-12-03 12:02:29 +00:00
Dmitry Stogov c34a2574be The -f option is fixed to work in the same way as in CLI sapi 2007-12-03 09:38:12 +00:00
Raghubansh Kumar 1eae97fbb9 New testcases for array_chunk() function 2007-12-03 03:54:11 +00:00
Ilia Alshanetsky 39f37ce950 Fixed bug #43457 (Prepared statement with incorrect parms doens't
throw exception with pdo_pgsql driver)
2007-12-02 20:58:14 +00:00
Derick Rethans fd73296bf2 - MFH: Fixed bug #43143 (Warning about empty IV with MCRYPT_MODE_ECB). 2007-12-01 17:20:45 +00:00
Antony Dovgal f5b1ee4b2b MFH: fix folding 2007-11-30 13:15:59 +00:00
Derick Rethans 2ac81c2e6e - MFH: Fixed a segfault when reading from an HTTP stream. 2007-11-29 12:28:15 +00:00
Ilia Alshanetsky f6853cccbd Fixed tests 2007-11-28 14:49:20 +00:00
Rob Richards 4cd1b9d803 MFH: Fix bug #43364 (recursive xincludes don't remove internal nodes properly)
add test
2007-11-28 10:44:21 +00:00
Raghubansh Kumar 504e223d83 Marked with defect 2007-11-28 03:44:52 +00:00
Ilia Alshanetsky 674081da93 Fixed bug #43373 (pcntl_fork() should not raise E_ERROR on error) 2007-11-27 17:13:18 +00:00
Raghubansh Kumar d5acf6ad81 New testcases for array_combine() function 2007-11-27 15:17:07 +00:00
Raghubansh Kumar 73f3139119 New testcases for array_sum() function 2007-11-27 14:59:30 +00:00
Antony Dovgal 2b856ff3c7 fix test 2007-11-27 11:14:33 +00:00
Antony Dovgal da231136ce fix test 2007-11-27 06:44:16 +00:00
Ilia Alshanetsky 0c0456d275 Revert addition of - char support for bound param names 2007-11-26 21:09:50 +00:00
Jani Taskinen c75b88760b MFH: No zval is stored here 2007-11-26 16:34:30 +00:00
Jani Taskinen dcd3b197e7 MFH:- Fixed bug #43365 (Several enums have trailing commas) 2007-11-26 10:59:04 +00:00
Ilia Alshanetsky 7cf9dcc81c Fixed bug #43386 (array_globals not reset to 0 properly on init) 2007-11-25 15:56:07 +00:00
Lukas Smith 53c7b1c2e9 - MFH 2007-11-24 13:55:27 +00:00
Stanislav Malyshev 794217eb2f fix proto 2007-11-23 19:48:56 +00:00
Robert Nicholson f35dfc697b Fix incorrect use of assignment in where equality was intended - class tests. 2007-11-23 15:36:41 +00:00
Dmitry Stogov 70bf5468de Fixed compilation on Windows 2007-11-23 15:03:03 +00:00
Dmitry Stogov 4ab8d46ddd Fixed definitions 2007-11-23 13:38:32 +00:00
Marcus Boerger 0846676471 # My editor somehow likes to convert to UTF-8 2007-11-23 13:27:41 +00:00
Marcus Boerger c0802ee667 - Add another LSB test 2007-11-23 13:25:21 +00:00
Dmitry Stogov 543f24742b *** empty log message *** 2007-11-23 11:31:22 +00:00
Dmitry Stogov 1a9e668a04 Fixed bug #42952 (soap cache file is created with insecure permissions) 2007-11-23 10:02:24 +00:00
Ilia Alshanetsky a4e3969215 Fixed bug #43377 (PHP crashes with invalid argument for DateTimeZone) 2007-11-23 00:15:24 +00:00
Lukas Smith 87dfd003f7 - MFH 2007-11-22 18:13:05 +00:00
Dmitry Stogov 4e0a8a0914 Fixed test 2007-11-22 13:33:36 +00:00
Dmitry Stogov 648fbe9d58 Fixed bug #43128 (Very long class name causes segfault) 2007-11-22 13:27:13 +00:00
Dmitry Stogov 1836daf7f9 Fixed bug #43318
The "const" statement is still allowed outside of namespaces but arrays are disabled.
2007-11-22 10:46:26 +00:00
Derick Rethans a6fbf1b083 - MFH: Fixed weights array, which was broken with:
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns.c?r1=1.80&r2=1.81
  and merged to head with:
  http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns.c?r1=1.70.2.7.2.5&r2=1.70.2.7.2.5.2.1
2007-11-22 10:20:09 +00:00
Dmitry Stogov ea0a1c09e9 Speed-up of ZEND_DO_FCALL and ZEND_INIT_FCALL_BY_NAME by lowercasing and calculating hash values at compile time. 2007-11-22 09:02:55 +00:00
Lukas Smith 5d37d09c38 - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseChecklist) 2007-11-22 08:59:05 +00:00
Ilia Alshanetsky 969f81a49e Fixed bug #43041 (micro-optimizations in pgsql data retrieval) Initial patch
by andy at petdance dot com
2007-11-22 00:17:28 +00:00
Robert Nicholson 6cfced8eff Add some more pcre tests 2007-11-21 18:22:01 +00:00
Dmitry Stogov caa15f0291 Macro definitions are moved to zend.h 2007-11-21 14:55:41 +00:00
Dmitry Stogov e0ae3d22c1 Safe exit from executor() 2007-11-21 12:28:13 +00:00
Jani Taskinen 685e5d064a MFH: chown bug test 2007-11-21 11:32:16 +00:00
Jani Taskinen e42bc45c21 MFH: fix crash bug in chown when 2nd parameter != string or int 2007-11-21 11:30:29 +00:00
Hannes Magnusson 024fc2c77a MFH: - Add support for optional values
MFH: - Add support for = as seperator
2007-11-21 10:24:22 +00:00
Johannes Schlüter 45f6b4ce2f - MFH Improved version of ternary shortcut (Marcus) 2007-11-21 09:41:35 +00:00
Jani Taskinen f83871a71d MFH:- Fixed bug #43035: ignore_repeated_errors=On causes lot of tests to fail 2007-11-21 08:20:22 +00:00
Jani Taskinen 54bcf0c813 Missing bla...credit :) 2007-11-21 05:44:34 +00:00
Johannes Schlüter 27e5176ba2 Fix NEWS file 2007-11-21 00:03:59 +00:00
Johannes Schlüter 4a8ed7ab68 - MFH ?: operator (Marcus)
[DOC] "expr1 ?: expr1" is a shortcut for: "expr1 ? expr1 : expr2" as
        exists in gcc and discussed some time back. Note that this is not
        an implementation ifsetor($var, default). While ifsetor would not
        generate any message for non existing variables or array indices
        the ternary shortcut does. Also the ternary shortcut does a boolean
        evaluation rather then checking for isset(). That way ther ternary
        shortcut can work on any expression while ifsetor can only work on
        variables. Also to be silent one has do do: "@$expr1 ?: $expr2".
2007-11-21 00:03:16 +00:00
Ilia Alshanetsky 204f9e1a74 Adjusted fix for bug #42978 2007-11-20 23:12:17 +00:00
Johannes Schlüter cbf466a953 MFH: Add stream_supports_lock() function (Benjamin Schulz) 2007-11-20 22:17:01 +00:00
Lars Westermann b15f2feda8 Win32 still fails to build ... 2007-11-20 21:36:20 +00:00
Johannes Schlüter 611a56faba MFH: Add msg_queue_exists() function (Benjamin Schulz) [DOC] 2007-11-20 21:25:10 +00:00
Lars Westermann e077331077 Win32 fails to build 2007-11-20 19:58:39 +00:00
Jani Taskinen 5e123ebef9 MFH: add ZEND_DEBUG_BUILD constant 2007-11-20 16:34:25 +00:00
Ilia Alshanetsky 48878f2ecd Fixed bug #42978 (mismatch between number of bound params and values causes
a crash in pdo_pgsql)
2007-11-20 14:22:27 +00:00
Dmitry Stogov a29a9d5a42 Optimization of zend_do_fcall_common_helper() 2007-11-20 13:53:08 +00:00
Dmitry Stogov 6a5a172795 MFH: math and comparison optimization + use macroses 2007-11-20 13:26:36 +00:00
Dmitry Stogov de46d94589 ZEND_FETCH_DIM optimization 2007-11-20 11:01:28 +00:00
Dmitry Stogov 10f6cd5cb0 Fixed compilation on some systems (Wez) 2007-11-20 10:19:11 +00:00
Dmitry Stogov c3ab6bd091 Fixed bug #43136 (possible crash on script execution timeout. The EG(function_state_ptr) is completely removed, EG(current_execute_data)->function_state must be used instead) 2007-11-20 09:51:12 +00:00
Dmitry Stogov 9f230a0d79 Added support for "namespace::" prefix that is resolved to current namespace name. 2007-11-20 08:53:02 +00:00
Lars Westermann b51708cdf4 - Fixed bug #43246 (firebird: INSERT ... RETURNING ... throws exception)
#Reworked cursor_open/cursor_close
#Only using isc_dsl_execute() (as in ext/interbase)
Thanks to Hans-Peter Oeri for providing this patch
2007-11-19 21:55:30 +00:00
Antony Dovgal bb2e67aa75 fix test 2007-11-19 11:12:30 +00:00
Dmitry Stogov 969dda1b51 Fixed tests 2007-11-19 08:19:31 +00:00
Derick Rethans 991f1d8d7a - MFH: Initialize the reserved resource bits so that they can be reliably used. 2007-11-18 21:29:55 +00:00
Ilia Alshanetsky 5a7b8d12db Fixed bug #42261 (Incorrect lengths for date and boolean data types) 2007-11-18 14:18:30 +00:00
Sara Golemon ee548c7bf3 MFH(r-1.192) Remove extraneous space in error/notice messages (felipe) 2007-11-17 21:52:02 +00:00
Raghubansh Kumar 13357b0188 New testcases for sizeof() function 2007-11-16 17:54:31 +00:00
Raghubansh Kumar 3f8200fc79 fix tests: removed values that generate diff. output on Linux64 2007-11-16 17:06:43 +00:00
Dmitry Stogov 117a6d77e1 Fixed crash (Serg) 2007-11-16 14:24:08 +00:00
Jani Taskinen 5bf4d6d89b MFH: - Fixed bug #43092 (curl_copy_handle() crashes with > 32 chars long URL) 2007-11-16 14:21:01 +00:00
Jani Taskinen 275e2626ab - fix bug number 2007-11-16 12:28:56 +00:00
Lars Westermann 204d70e13d - Fixed bug (again) #43271 (pdo_firebird: closeCursor not implemented) 2007-11-16 12:27:49 +00:00
Jani Taskinen 3e0680f2ee MFH:- Fixed bug #31911 (mb_ereg*_replace() crashes when replacement string is invalid
PHP expression and 'e' option is used)
2007-11-16 12:26:34 +00:00
Nuno Lopes db87e4b009 ignore gcov files 2007-11-16 12:17:38 +00:00
Antony Dovgal c199b2f598 MFH: fix test 2007-11-15 22:14:15 +00:00
Ilia Alshanetsky 86cca4e696 Completed fix for bug #42739 (fixes bug #43276) 2007-11-15 18:57:14 +00:00
Hannes Magnusson 0aae13f9d2 MFH: Allow numeric options & tests 2007-11-15 13:13:21 +00:00
Lars Westermann 8ff1923fb5 - Fixed bug #43244 (firebird: closeCursor w/o returned data kills process) 2007-11-15 00:25:37 +00:00
Lars Westermann 9d4daba929 - Fixed bug #43296 (Feature req: pdo_firebird: ATTR_FETCH_TABLE_NAMES support) 2007-11-15 00:10:38 +00:00
Ilia Alshanetsky 07a3423f17 Don't show file names being examined 2007-11-14 23:45:29 +00:00
Lars Westermann 35272a63cd # Also nulling cursor_open when closing a named cursor 2007-11-14 23:19:29 +00:00
Antony Dovgal 02277b3b19 MFH 2007-11-14 22:37:01 +00:00
Lars Westermann 9864e08ab5 - Clearing cursor-name when closing it. 2007-11-14 22:15:21 +00:00
Lars Westermann 32eece4bcb - Fixed bug #43271 (pdo_firebird: closeCursor not implemented)
# Actually firebird_stmt_execute() didn't close a previously opened cursor, but implemented closeCursor anyway.
2007-11-14 22:09:21 +00:00
Elizabeth Marie Smith bcc718d971 Allow passing additional configuration parameters to config.nice.bat 2007-11-14 19:38:57 +00:00
Raghubansh Kumar b65ffa0876 New testcases for uasort() function 2007-11-14 17:19:45 +00:00
Raghubansh Kumar 0759fbd8e5 fix test for linux64 - choosing smaller float values 2007-11-14 16:31:45 +00:00
Derick Rethans 7fa84a1260 - MFH: Add a testcase for chgrp() with a NULL as group name, which crashes ATM. 2007-11-14 15:51:56 +00:00
Hannes Magnusson c692127ff2 Fix test (getopt() works on windows now) 2007-11-14 15:22:11 +00:00
Hannes Magnusson 35ba8020cd Fixed bug#43293 (Multiple segfaults in getopt()) 2007-11-14 14:42:25 +00:00
Jani Taskinen ea05938263 fix test 2007-11-14 14:08:51 +00:00
Jani Taskinen 56ef7a5ea3 - Fix tests 2007-11-14 14:05:42 +00:00
Johannes Schlüter deae424154 - MFH: pass parameters to buildconf.bat over to buildconf.js (#43281) 2007-11-14 01:42:55 +00:00
Etienne Kneuss 1bf9059e77 MFH: fix typos 2007-11-13 23:44:28 +00:00
Ilia Alshanetsky 37b3d701e3 Fixed bug #43279 (pg_send_query_params() converts all elements in 'params'
to strings)
2007-11-13 20:05:47 +00:00
Antony Dovgal 714aad97e7 MFH: disallow multiple access modifiers and 'abstract abstract' methods (patch by Etienne Kneuss)
add tests
2007-11-13 16:52:14 +00:00
Dmitry Stogov b710c61f34 Fixed bug #42692 (Procedure 'int1' not present with doc/lit SoapServer) 2007-11-13 15:10:16 +00:00
Antony Dovgal b2cdb92654 MFH: remove Oracle8 support 2007-11-13 11:09:42 +00:00
Antony Dovgal afc76bc71f fix typo (nice catch, Nuno!) 2007-11-13 10:31:24 +00:00
Dmitry Stogov 947e73b385 Fixed bug #43248 (backward compatibility break in realpath()) 2007-11-13 09:47:06 +00:00
Rob Richards 5d10360d5a MFH: fix bug #43221 (SimpleXML adding default namespace in addAttribute)
add test
2007-11-12 18:58:48 +00:00
Ilia Alshanetsky 6a792bed75 Fixed bug #43182 (file_put_contents() LOCK_EX does not work properly on file
truncation).
2007-11-12 18:44:18 +00:00
Zoe Slattery 727a35f1ca MFH: Changing the regex for %f so the it will match E-, E+ and E. 2007-11-12 18:26:37 +00:00
Dmitry Stogov 6d64218bc5 better error messages 2007-11-12 17:52:15 +00:00
Antony Dovgal 52e773740c MFH: fix error message (reported by Felipe Nascimento) 2007-11-12 16:55:44 +00:00
Raghubansh Kumar ab9db3e773 New testcases for ksort() function 2007-11-12 15:53:20 +00:00
Raghubansh Kumar 42de41ad4a New testcases for krsort() function 2007-11-12 15:52:25 +00:00
Dmitry Stogov a90a0305b0 Fixed bug #43183 ("use" of the same class in difference scripts results in a fatal error) 2007-11-12 15:52:22 +00:00
Antony Dovgal 1f1140a93a MFH: fix #42736 (xmlrpc_server_call_method() crashes) 2007-11-12 11:23:04 +00:00
Dmitry Stogov dd3c04cea1 Fixed bug #42937 (__call() method not invoked when methods are called on parent from child class). 2007-11-12 09:12:06 +00:00
Lukas Smith 9e21859909 - MFH typo fix by Jon 2007-11-11 22:12:06 +00:00
Johannes Schlüter 18a656de6f - MFH: static can't be used as type hint, fixes #43126 (Etienne Kneuss) 2007-11-11 22:11:25 +00:00
Lukas Smith d7b921c02b - MFH 2007-11-11 16:30:35 +00:00
Ilia Alshanetsky f100892df0 Fixed parse error described in bug #43228 2007-11-11 13:38:03 +00:00
Jani Taskinen 02d966c263 MFH:- Added support for [HOST=www.example.com] special sections
MFH:- Allowed using full path to load modules using "extension" directive
2007-11-09 16:27:43 +00:00
Jani Taskinen c5776e1a41 MFH: ws + cs + sync 2007-11-09 13:49:15 +00:00
Dmitry Stogov 4d681d5660 new test 2007-11-09 13:34:58 +00:00
Dmitry Stogov 8646d9afce Fixed type-hint compatibility check in namespaces 2007-11-09 13:34:39 +00:00
Dmitry Stogov 98b3c247a8 Fixed implementation of internal interfaces in namesapces 2007-11-09 12:15:41 +00:00
Raghubansh Kumar 4b731b1af0 fix tests 2007-11-09 12:02:42 +00:00
Dmitry Stogov f95ac18b82 Conditions optimization 2007-11-09 11:08:22 +00:00
Andrey Hristov 660ba3b61b Fix build 2007-11-09 11:06:07 +00:00
Andrey Hristov 6f63004f1a Fix crash with pconnect 2007-11-09 10:56:28 +00:00
Johannes Schlüter e6dff0caa4 - MFH: Allow persistent zent_ptr_stacks (patch by Andrey Hristov) 2007-11-09 10:34:27 +00:00
Raghubansh Kumar 7ab56f7a43 fix test : better float values 2007-11-09 08:52:27 +00:00
Raghubansh Kumar 54f6189445 fix tests: better float values 2007-11-09 07:19:00 +00:00
Raghubansh Kumar 640f060335 missing testcases - sprintf() function 2007-11-09 04:20:10 +00:00
Lars Westermann 78e0afe7ad - ibase_query.c bugfixes 2007-11-08 19:54:19 +00:00
Lars Westermann b599957076 [DOC] prototype for ibase_query() should be changed to:
PHP4:
  resource ibase_query ( [resource $link_identifier,] string $query [, mixed $bind_arg [, ...]] )
PHP5:
  resource ibase_query ( [resource $link_identifier,] [resource $transaction_identifier,] string $query [, mixed $bind_arg [, ...]] )

prototype for ibase_prepare() should be changed to:
PHP4:
  resource ibase_prepare ( [resource $link_identifier,] string $query )
PHP5:
  resource ibase_prepare ( [resource $link_identifier,] [resource $transaction_identifier,] string $query )

prototype for ibase_execute() should be changed to:
  mixed ibase_execute ( resource $query, [, mixed $bind_arg [, ...]] )

- Fixed bug #30690: (Resource handle from ibase_execute becomes invalid after return)
- Fixed bug #30907: (ibase_query() crashes (in fact the same bug as #32143)
- Fixed bug #32143: (ibase_query() causing IBserver 7 crash with NULL param as link-id)
- Fixed bug #39056: (Interbase NUMERIC data type error)
- Fixed bug #39397: (invalid statement handle in Unknown on line 0)
- Fixed bug #39700: (NUMERIC error when result precision are 7,8 or 12-14)
- Fixed bug #42284: (duplicate of #39700)
2007-11-08 19:16:27 +00:00
Andrey Hristov 6d2bcdacc1 Fix segfault in debug build 2007-11-08 17:29:42 +00:00
Antony Dovgal c8494a81a7 MFH 2007-11-08 13:34:41 +00:00
Dmitry Stogov 1ab7f533ff Fixed bug #43216 (stream_is_local() returns false on "file://") 2007-11-08 13:29:25 +00:00
Antony Dovgal 4a6b52dc01 MFH: plug leak on invalid result type 2007-11-08 13:29:06 +00:00
Antony Dovgal 379e8a5970 fix test 2007-11-08 12:40:43 +00:00
Antony Dovgal 31f9e63270 MFH 2007-11-08 11:39:40 +00:00
Antony Dovgal 6aeaa2105a fix tests 2007-11-08 11:19:32 +00:00
Antony Dovgal 91c725bd22 fix test 2007-11-08 10:29:52 +00:00
Antony Dovgal 7f58a508d6 MFH: fix test 2007-11-08 10:20:01 +00:00
Antony Dovgal f6be2ee565 MFH: fix test 2007-11-08 10:13:33 +00:00
Antony Dovgal 984842e321 fix test 2007-11-08 10:03:52 +00:00
Antony Dovgal a59a7d5c3c MFH 2007-11-08 08:11:55 +00:00
Stanislav Malyshev 186e34c875 add glob wrapper 2007-11-07 19:47:38 +00:00
Antony Dovgal a670a61951 fix tests 2007-11-07 12:07:16 +00:00
Antony Dovgal 90e650fb25 T_IMPORT nuked 2007-11-07 09:18:52 +00:00
Dmitry Stogov b7d87bebc9 T_IMPORT -> T_USE 2007-11-07 09:13:50 +00:00
Dmitry Stogov 38e93fe401 Fixed test 2007-11-07 08:36:44 +00:00
Ilia Alshanetsky 75bbdac25d Fixed tests on 64bit machines 2007-11-07 01:42:51 +00:00
Jani Taskinen c955f26ab9 MFH: ws + cs 2007-11-06 17:58:53 +00:00
Jani Taskinen 77d2a15a97 MFH: sync 2007-11-06 17:11:57 +00:00
Dmitry Stogov 52f25f6132 Fixed bug #43175 (__destruct() throwing an exception with __call() causes segfault) 2007-11-06 14:56:14 +00:00
Marcus Boerger 552b964e22 - Add hash bang line 2007-11-06 14:38:10 +00:00
Dmitry Stogov 22db451fdd Fixed bug #43201 (Crash on using unitialized vals and __get/__set) 2007-11-06 14:11:59 +00:00
Jani Taskinen 88c66fe540 try #2 2007-11-06 13:43:48 +00:00
Jani Taskinen b51e9221b1 MFH: sync 2007-11-06 13:38:15 +00:00
Jani Taskinen 7f0ad5c1e9 MFH: - Fixed bug #43196 (array_intersect_assoc() crashes with non-array input) 2007-11-06 13:26:59 +00:00
Jani Taskinen 411d34cba0 fix cleanup 2007-11-06 13:22:16 +00:00
Antony Dovgal e6e9d845a5 MFH: fix tests, add 64bit versions 2007-11-06 12:54:28 +00:00
Jani Taskinen 070760c6a7 fix NEWS 2007-11-06 12:23:20 +00:00
Marcus Boerger 5aa7108eb2 - MFH Add glob stream wrapper
[DOC] The glob stream wrapper allows stuff like this:
php -r '$it = new DirectoryIterator("glob://ext/spl/*.c");
        foreach($it as $f) var_dump($f);'
2007-11-06 12:12:58 +00:00
Dmitry Stogov c3c5d27fbc Fixed windows build (Rob) 2007-11-06 12:06:05 +00:00
Marcus Boerger fb7306822d - MFH glob stream wrapper (part 1) 2007-11-06 11:50:52 +00:00
Marcus Boerger 6362476b20 MFH streams stuff 2007-11-06 11:02:36 +00:00
Rob Richards da4da2ae14 MFH: fix non ipv6 enabled win build 2007-11-06 10:57:26 +00:00
Jani Taskinen 5262157d49 MFH: ws + folding tags 2007-11-06 10:57:10 +00:00
Jani Taskinen 661b7c13e6 MFH 2007-11-06 10:53:01 +00:00
Jani Taskinen 5cfa9c6312 MFH: partial MFH before? 2007-11-06 10:00:39 +00:00
Jani Taskinen a506a10cd6 MFH 2007-11-06 09:48:24 +00:00
Jani Taskinen dcb71d7bfc add news 2007-11-06 09:45:37 +00:00
Dmitry Stogov 609aa052b3 Allow user defined malloc/realloc/free 2007-11-06 07:22:13 +00:00
Ilia Alshanetsky 35ab31e7ad Fixed bug #43197 (array_intersect_assoc() does not emit warning messages for
error inputs)
2007-11-05 23:53:23 +00:00
Jani Taskinen b3a334eaf2 Fix tests (MFH) 2007-11-05 17:43:21 +00:00
Jani Taskinen 43e73a56ab MFH: Sync
[DOC]: note
[DOC] -/* {{{ proto bool copy(string source_file, string destination_file)
[DOC] +/* {{{ proto bool copy(string source_file, string destination_file [, resource context])
[DOC]
[DOC] Apparently this was undocumented so far anyway..
2007-11-05 17:43:04 +00:00
Jani Taskinen 74d1a45590 MFH: sync 2007-11-05 17:30:07 +00:00
Raghubansh Kumar 3374078734 New testcases for asort() function 2007-11-05 16:42:56 +00:00
Raghubansh Kumar 2a72f56b30 fix typo in title 2007-11-05 16:22:37 +00:00
Raghubansh Kumar c9b73bf23d New testcases for sort() function 2007-11-05 15:30:49 +00:00
Raghubansh Kumar 49785e26ae New testcases for array_intersect_assoc() function 2007-11-05 14:31:40 +00:00
Jani Taskinen 1eb067476f MFH: sync 2007-11-05 14:06:53 +00:00
Jani Taskinen a0b0d132fe MFH: Sync 2007-11-05 13:42:33 +00:00
Jani Taskinen 108c858a19 MFH 2007-11-05 13:09:44 +00:00
Jani Taskinen 9e235c62ef MFH 2007-11-05 12:44:52 +00:00
Jani Taskinen 910972fc93 - fix oumlaut :) 2007-11-05 12:33:40 +00:00
Jani Taskinen 52cb7350a7 update credits 2007-11-05 12:30:04 +00:00
Jani Taskinen 2501a172fc MFH 2007-11-05 12:27:42 +00:00
Jani Taskinen 44c7a7378f MFH 2007-11-05 12:07:37 +00:00
Jani Taskinen 0903022e29 MFH: ws + cs + folding tags 2007-11-05 11:52:31 +00:00
Jani Taskinen 129c125f7f - Fix confusing logic (sync with HEAD) 2007-11-05 11:43:31 +00:00
Derick Rethans ba9c241e66 - Updated to version 2007.9 2007-11-05 09:38:51 +00:00
Mattias Bengtsson 547ba90c09 -MFB, Right filename 2007-11-05 01:14:31 +00:00
Sara Golemon f75ae01f09 MFH: http/ignore_errors context option 2007-11-05 01:00:43 +00:00
Mattias Bengtsson 81a874710e -MFB, Fixed Bug #43121 (gdImageFill with IMG_COLOR_TILED crashes httpd) 2007-11-04 23:56:41 +00:00
Ilia Alshanetsky d689a10f3a Fixed test 2007-11-04 16:12:13 +00:00
Lars Westermann c1ce41ac34 PDO_Firebird bugfixes 2007-11-03 20:56:58 +00:00
Jani Taskinen c2cfed1b32 - Add missing tests from HEAD 2007-11-02 19:42:51 +00:00
Jani Taskinen a541bb8078 - Fix tests
- Update README.PARAMETER_PARSING_API
2007-11-02 19:41:12 +00:00
Jani Taskinen b489251177 - MFH from HEAD:
. Folding tags
  . Parameter parsing
  . SPL debug info
  . array function improvements (not all yet)
  . Improvements to function calling with call_user_* functions
  . Improvements to debugging info in var_dump/print_r
# I propably forgot already something but this all was pretty close tied
# to each other so it wasn't possible to do it in parts.
2007-11-02 19:40:39 +00:00
Antony Dovgal 0d74798914 fix bug37251.phpt failure (two error messages instead of one)
should I merge this to 5_2?
2007-11-02 18:05:55 +00:00
Jani Taskinen 77bc1f8b76 - Missing test. (NOTE: Fails due to unexpected double output for me, OKOK) 2007-11-02 17:47:39 +00:00
Dmitry Stogov f10766f1fb Reimplemented support for namespaces in indexes id constant arrays (removed zval.idx_type) 2007-11-02 10:11:42 +00:00
Raghubansh Kumar 3fbaa4b873 fix tests: proper temp file names 2007-11-02 03:56:02 +00:00
Raghubansh Kumar 790b763be7 fix tests: proper temp file names 2007-11-02 03:14:10 +00:00
Raghubansh Kumar 4c5c88b716 fix tests: better float values 2007-11-02 03:03:26 +00:00
Jani Taskinen eec1ca7387 fix news 2007-11-01 22:09:50 +00:00
Stanislav Malyshev 245d55674a add gmp_testbit() 2007-11-01 20:36:48 +00:00
Stanislav Malyshev b6914a87d7 add gmp fixes 2007-11-01 20:35:36 +00:00
Stanislav Malyshev ec4d9f3387 fix 64-bit 2007-11-01 20:25:11 +00:00
Antony Dovgal e60e9ae5c8 MFH: initialize correct variable 2007-11-01 19:13:39 +00:00
Stanislav Malyshev 7c69bbaec7 add tests for testbit, sync with HEAD 2007-11-01 18:43:34 +00:00
Stanislav Malyshev 970eb77ee4 fix gcd - can return larger than long with long arg 2007-11-01 18:36:24 +00:00
Stanislav Malyshev 9c4106d3e5 add testbit() 2007-11-01 17:53:02 +00:00
Stanislav Malyshev d0fffa7a72 generalize resource names 2007-11-01 17:52:20 +00:00
Stanislav Malyshev f6a01c8362 merge gmp_testbit() 2007-11-01 17:51:34 +00:00
Jani Taskinen 34b45a30e5 MFH: nuke unused variables 2007-11-01 17:32:44 +00:00
Marcus Boerger 00022a49ff - MFH missing get_debug_info piece 2007-11-01 16:54:43 +00:00
Dmitry Stogov db3496fac8 Another fix for bug #42773 2007-11-01 15:41:25 +00:00
Dmitry Stogov 2f51afe2c6 Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI result in major slowdown) 2007-11-01 13:27:38 +00:00
Antony Dovgal 46c08f53d7 fix tests 2007-11-01 12:55:42 +00:00
Dmitry Stogov bf0d17065f Fixed bug #42773 (WSDL error causes HTTP 500 Response) 2007-11-01 12:26:25 +00:00
Dmitry Stogov acd9a96010 Fixed bug #43027 (Declare cause fatal error) 2007-11-01 11:58:58 +00:00
Dmitry Stogov a1d37c3c7f Fixed bug #42848 (Status: header incorrect under FastCGI) 2007-11-01 11:12:33 +00:00
Antony Dovgal 67bb38424f fix reading uninitialized values 2007-11-01 09:34:18 +00:00
Jani Taskinen 20c86e5afd - Nuke crap 2007-11-01 09:28:00 +00:00
Antony Dovgal bdcefbdc5d fix 64bit issues & tests 2007-11-01 09:25:11 +00:00
Robert Nicholson a174f1331d update min_error and max_error testcases to take into account bug fix for bug#43125 2007-11-01 08:42:49 +00:00
Stanislav Malyshev eb5bd09cff - Fix memory leaks (bug #42509)
- Fix _gmp_binary_opl
- Use modern parameter parsing
2007-11-01 00:46:13 +00:00
Jani Taskinen 2d8dc07e3e MFH: fix typo 2007-10-31 13:39:26 +00:00
Jani Taskinen f552f91618 MFH: - Fixed bug #43137 (rmdir() and rename() do not clear statcache) 2007-10-31 13:22:45 +00:00
Ilia Alshanetsky 548c25ef1c Fixed bug #43139 PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll() 2007-10-31 12:57:51 +00:00
Ilia Alshanetsky 84f0fba1a5 Test not relavent for sqlite that uses built-in bound syntax 2007-10-30 23:03:23 +00:00
Lars Westermann 4b4a5e051c # Removed dead code
- Fixed bug #35386 (firebird: first row is null)
- Fixed bug #36128 (Interbase PDO - timestamp columns return NULL)
- Fixed bug #39700 (NUMERIC error when result precision are 7,8 or 12-14 )
2007-10-30 16:31:41 +00:00
Lars Westermann 9d2b9dd20e - Added 3 firebird specific attributes to firebird_handle_set_attribute()
- function. They control formatting of date/timestamp columns.
- pdo_firebird_handle_factory() now throwing an execption if unable to attach
- database (bug reports 39822 and 41522)
- Fixed bug #39822 (new PDO() doesn't work with firebird)
- Fixed bug #41522 (PDO firebird driver returns null if it fails to connect)
2007-10-30 16:30:40 +00:00
Lars Westermann aa6c5a81f9 [DOC] Added 3 firebird specific attributes that can be set via
PDO::setAttribute() to control formatting of date/timestamp columns:
PDO::FB_ATTR_DATE_FORMAT, PDO::FB_ATTR_TIME_FORMAT and
PDO::FB_ATTR_TIMESTAMP_FORMAT.  These attributes are strftime
format strings, and operate in the same way as the ibase.dateformat,
ibase.timeformat and ibase.timestampformat ini options.
(related to bug #36128, Interbase PDO)
2007-10-30 16:28:47 +00:00
Lars Westermann 1ac482c84b - Added default timestamp format definitions (ISO 8601) (related to bug #36128, Interbase PDO) 2007-10-30 16:26:25 +00:00
Jani Taskinen 7f49f956e8 - Fix bug headers 2007-10-30 12:05:53 +00:00
Antony Dovgal 7cef86c246 backport zero args checks from HEAD
(fixes error message when passing parameters to a function accepting none)
2007-10-30 10:17:41 +00:00
Dmitry Stogov 400101ac5b Use heap-allocated return value 2007-10-30 07:21:47 +00:00
Ilia Alshanetsky c27a8a41c2 Fixed bug #43130 (Bound parameters cannot have - in their name) 2007-10-29 22:36:26 +00:00
Sara Golemon dc08ee3404 Note addition of +/* specifiers 2007-10-29 17:17:54 +00:00
Sara Golemon b38282c3fd Backport +/* vararg specifiers from PHP6 2007-10-29 17:09:57 +00:00
Dmitry Stogov 19bf724c48 optimization 2007-10-29 14:36:55 +00:00
Jani Taskinen ecb0fb3f0e MFH:- Fixed invalid handling of float value passed to an integer field on 64bit machine 2007-10-29 09:51:08 +00:00
Jani Taskinen ae6626e783 MFH: fix test 2007-10-29 09:04:15 +00:00
Ilia Alshanetsky f0197278e0 Fixed bug #42976 (Crash when constructor for newInstance() or
newInstanceArgs() fails)
2007-10-28 13:42:24 +00:00
Raghubansh Kumar a2b4c29ee8 New testcases for shuffle() function 2007-10-27 12:27:49 +00:00
Raghubansh Kumar dfbaff6539 New testcases for array_intersect() function 2007-10-27 12:15:16 +00:00
Robert Nicholson 250cee6329 Remove unneeded INI sections 2007-10-26 16:09:34 +00:00
Raghubansh Kumar ed56c6e38c more testcases for array_unshift() function 2007-10-26 11:49:50 +00:00
Robert Nicholson 9e761076b8 new testcases for array_splice 2007-10-26 11:07:13 +00:00
Robert Nicholson 656d0e468b new testcases for max and min 2007-10-26 11:01:35 +00:00
Dmitry Stogov df96b455d4 Added check for HAVE_GETTIMEOFDAY 2007-10-26 04:46:12 +00:00
Ilia Alshanetsky c5102f0733 Fixed a typo 2007-10-26 03:19:33 +00:00
Antony Dovgal 1c5b478ff5 MFH 2007-10-25 13:01:09 +00:00
Antony Dovgal 48d4654670 MFH 2007-10-25 11:54:17 +00:00
Jani Taskinen 9942f30a38 MFH: ws 2007-10-25 10:01:30 +00:00
Dmitry Stogov 46dc96f3e0 Added ability to control memory consumption between request using ZEND_MM_COMPACT environment variable 2007-10-25 07:32:40 +00:00
Dmitry Stogov 6f7b738b71 Added CGI SAPI -T option, to measure execution time of script repeated several times. 2007-10-25 05:39:06 +00:00
Ilia Alshanetsky a687b6e6b3 Fixed bug #43099 (XMLWriter::endElement() does not check # of params) 2007-10-24 22:49:02 +00:00
Ilia Alshanetsky 4cc23cf49d Fixed bug #43074 (attempt to increment refcount outside of the macro) 2007-10-23 15:21:20 +00:00
Dmitry Stogov 1530fe99c8 Fixed variations of bug #35163 2007-10-23 12:52:40 +00:00
Andrey Hristov 8b8cd15428 Fix build failure on Windows. Seems "free" can't be used even as method name of a structure. The MS compiler (the preprocessor most probably) changes it to _free_dbg 2007-10-23 10:10:18 +00:00
Dmitry Stogov b599e434ad Fixed bug #35163 (Array elements can lose references) 2007-10-23 09:55:11 +00:00
Dmitry Stogov 8e0f5bbfa2 Fixed realpath cache for existent file with CWD_FILEPATH flag on win32 2007-10-23 05:57:25 +00:00
Mattias Bengtsson b6e317e25c -MFB, Be paranoid and dont allow multiplication with zero 2007-10-23 01:58:30 +00:00
Ilia Alshanetsky f3b5b118b6 Fixed bug #4294 (Move *timeout initialization from RINIT to connect time) 2007-10-22 22:42:43 +00:00
Raghubansh Kumar b3044c49ed more testcases for array_filter() function 2007-10-22 11:16:03 +00:00
Dmitry Stogov fa6e5df126 Fixed move_uploaded_file() to always set file permissions of resulting file according to UMASK (Andrew Sitnikov) 2007-10-22 07:37:37 +00:00
Ilia Alshanetsky 7f32916af0 Fixed bug #42944 (test failing due to expectation that /etc/passwd has 0644
permissions).
2007-10-21 15:41:29 +00:00
Raghubansh Kumar 36ca7b94e6 New testcases for array_rand() function 2007-10-19 18:41:13 +00:00
Raghubansh Kumar dd465b457c New testcases for array_fill() function 2007-10-19 18:31:16 +00:00
Raghubansh Kumar 63b1e9fb86 New testcases for array_filter() function 2007-10-19 18:20:02 +00:00
Raghubansh Kumar f1187f0fca New testcases for array_unshift() function 2007-10-19 09:16:29 +00:00
Stanislav Malyshev 988d28cc13 ws 2007-10-18 20:44:41 +00:00
Scott MacVicar 3fa7ec8508 Fixed bug #43020 (Warning message is missing with shuffle() and more than one argument) 2007-10-18 14:33:14 +00:00
Dmitry Stogov 8039433291 Fixed bug #42722 (display_errors setting ignored for E_PARSE and HTTP 500 page) 2007-10-18 13:11:46 +00:00
Marcus Boerger 80893e5727 - Fix #42703 2007-10-18 04:41:39 +00:00
Marcus Boerger 56f9d57091 - Fix #42654 (maybe also a bunch of others) 2007-10-18 03:55:43 +00:00
Johannes Schlüter e3b92dbca2 - There's no need to mention these bugs, they all belong to "Added namespaces" 2007-10-17 17:22:52 +00:00
Dmitry Stogov 68bacdd797 Fixed possible crash because of uninitialized value (Zdash Urf) 2007-10-17 12:09:03 +00:00
Dmitry Stogov af76115fe5 Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran) 2007-10-17 11:18:34 +00:00
Dmitry Stogov cb0991bb85 Fixed bug #42919 (Unserializing of namespaced class object fails) 2007-10-17 10:36:33 +00:00
Dmitry Stogov 1087e6b1e6 Fixed bug #42859 (import always conflicts with internal classes). (cellog@php.net, Dmitry) 2007-10-17 10:01:22 +00:00
Antony Dovgal 74f416106c ..and correct macro 2007-10-17 08:19:07 +00:00
Antony Dovgal 780fa84fbd MFH: use correct dtro and variable for the callback 2007-10-17 08:18:09 +00:00
Andrey Hristov 8a2e9e6043 Sync mysqlnd. Should still compile with 5_2 for those who want to use the
current stable branch. mysqli from 5_3 patched for mysqlnd should be also
compilable with 5_2.
2007-10-16 20:56:22 +00:00
Antony Dovgal c9e481590f avoid double free and use zval_dtor() where neccessary 2007-10-16 13:20:14 +00:00
Andrey Hristov 1421ccd4c0 Fix bug due to shadowing of variables. This one is pretty-pretty rare,
caught by source code inspection.
2007-10-16 12:55:05 +00:00
Raghubansh Kumar 55d0b9780f New testcases for array_flip() function 2007-10-15 06:34:35 +00:00
Raghubansh Kumar dfae3d3f57 New testcases for array_reverse() function 2007-10-15 06:24:40 +00:00
Andrei Zmievski ea74505927 Fix macros after GC patch. 2007-10-14 02:48:30 +00:00
Scott MacVicar 798c222c06 BFN
[DOC] Note: getimagesize() needs a note about icon support and that information is about the icon with the highest bitrate.
2007-10-13 18:08:04 +00:00
Scott MacVicar c76e8e03a1 Added icon file format support to getimagesize 2007-10-13 18:02:22 +00:00
Hannes Magnusson 7c5c2147c6 MFH: Add skipif 2007-10-13 11:37:42 +00:00
Hannes Magnusson ccce08e668 MFH: Fix typo and remove dots in error messages 2007-10-13 11:34:43 +00:00
Ulf Wendel 6c508d2e4d Same as for HEAD: make it skip and not fail if it can't connect to DB 2007-10-12 12:52:56 +00:00
Ulf Wendel 3a11ec8ba1 Same as for HEAD: Trying to skip tests if they can't connect to the
DB server. Note the environment variable MYSQL_TEST_SKIP_CONNECT_FAILURE
to control if you want tests that can't connect to fail or to be skipped.
2007-10-12 12:06:07 +00:00
Ulf Wendel f8156f1607 Trying to skip tests if they can't connect to the DB server.
Currently they have failed by default. Note also the environment
variable MYSQL_TEST_SKIP_CONNECT_FAILURE to control the default (skip or fail)
2007-10-12 11:57:18 +00:00
Edin Kadribasic be87d68c0e Fix build 2007-10-12 08:07:13 +00:00
Edin Kadribasic f1bcbb97ea MFH (and build fix) 2007-10-12 07:58:32 +00:00
Ilia Alshanetsky 3762dfc09f Fixed bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode) 2007-10-11 20:54:41 +00:00
Derick Rethans 548fde4360 - Updated to version 2007.8 2007-10-11 18:54:13 +00:00
Raghubansh Kumar 26ce8bdade fix test (temp. file name) 2007-10-11 11:52:27 +00:00
Jani Taskinen c95f942e9b - fix typo 2007-10-11 09:33:30 +00:00
Jani Taskinen 6c33a8c758 - Fix ws/cs and wrap the stuff within #if HAVE_BROKEN_GETCWD 2007-10-11 08:26:13 +00:00
Marcus Boerger 8ce1211a62 - MFH debug object helper 2007-10-11 01:03:19 +00:00
Robert Thompson 50250dff8c Fix for bug 41899, safe mode and relative paths with Solaris's broken getcwd(). 2007-10-10 22:52:58 +00:00
Ulf Wendel 0c6e832584 Fixing the test. Might the PHP 5.2 run-tests.php have fooled me? I could swear,
I saw this test passing with 5.2 before...
2007-10-10 15:04:59 +00:00
Ulf Wendel 1f651c4051 Version specific EXPECF sections would be wonderful (bug31668.phpt).
And sometimes it helps to read the commit messages to keep tests up to date:
we removed mysqli_set_local_infile_handler() from mysqlnd (061.phpt) some
time ago.
2007-10-10 14:31:28 +00:00
Andrey Hristov b0677f4beb Fix ODBC, the GC patch missed this one leading to compilation failure. 2007-10-10 14:29:27 +00:00
Jani Taskinen 3db75dcb84 MFH 2007-10-10 12:58:41 +00:00
Jani Taskinen 13ea8ee05a MFH 2007-10-10 12:44:46 +00:00
Ulf Wendel 8cc5e47402 Last bunch of new tests. 2007-10-10 10:20:11 +00:00
Ulf Wendel 3a3594d3f1 Adding new tests: mysqli_s*.phpt 2007-10-10 10:18:50 +00:00
Ulf Wendel 5ec98ed1c8 Adding new tests: mysqli_q*.phpt mysqli_r*.phpt 2007-10-10 10:18:29 +00:00
Ulf Wendel 007e650e2e Adding new tests: mysqli_m*.phpt mysqli_n*.phpt mysqli_o*.phpt mysqli_p*.phpt 2007-10-10 10:17:38 +00:00
Ulf Wendel 92256befd5 Adding new tests: mysqli_g*.phpt mysqli_i*.phpt mysqli_k*.phpt 2007-10-10 10:16:00 +00:00
Ulf Wendel ec08f105b9 Adding new tests mysqli_d*.phpt mysqli_e*.phpt mysqli_f*.phpt 2007-10-10 10:14:38 +00:00
Ulf Wendel 97c82d363f Adding new tests. Again, I'll commit in chunks and try to find acceptable
commit sizes.
2007-10-10 10:13:47 +00:00
Ulf Wendel 5f1fe934ea Test code for bug #42378 2007-10-10 10:11:27 +00:00
Ulf Wendel 636d1b0803 Further changes to regression/bug-verification tests. 2007-10-10 10:10:59 +00:00
Ulf Wendel af818e3e53 Last set of changes to the classical 0*.phpt - 06*.phpt/07*.phpt 2007-10-10 10:10:14 +00:00
Ulf Wendel 041d506a86 Changes to 04*.phpt, 05*.phpt. 2007-10-10 10:08:29 +00:00
Ulf Wendel a429f06289 Changes to 02*.phpt, 03*.phpt 2007-10-10 10:07:46 +00:00
Ulf Wendel 4f913a4d4d Changes to all 01*.phpt tests 2007-10-10 10:07:08 +00:00
Ulf Wendel 0a212c12b1 Changes to existing tests: 0*.phpt 2007-10-10 10:06:53 +00:00
Ulf Wendel 326fd449e2 Starting to merge updated set of tests into 5.3. 2007-10-10 10:04:46 +00:00
Ulf Wendel db9cdc1b66 And the last set of new tests for ext/mysql. "new" does not really mean new.
We've checked them into HEAD/PHP6 before already.
2007-10-10 09:56:48 +00:00
Ulf Wendel 865d199df3 Second last set of new tests for ext/mysql 2007-10-10 09:55:28 +00:00
Ulf Wendel f01e360850 Next set of new tests - more to follow. Trying to find reasonable commit size... 2007-10-10 09:53:34 +00:00
Ulf Wendel dd9292e225 Adding new tests. 2007-10-10 09:51:45 +00:00
Ulf Wendel 15a201d6a7 New tests use more helper files. 2007-10-10 09:49:37 +00:00
Ulf Wendel 83911a1e5e Starting to merge the latest set of tests from the mysqlnd development
tree into the PHP 5_3 tree.
2007-10-10 09:47:21 +00:00
Jani Taskinen e795168a20 - Generated with a bit more recent re2c version 2007-10-10 09:27:13 +00:00
Ilia Alshanetsky 774136736e Fixed bug #42869 (automatic session id insertion adds sessions id to
non-local forms)
2007-10-10 00:34:40 +00:00
Elizabeth Marie Smith 4e339842fc Fix build on MSVC 2008 - channeling Wez 2007-10-09 21:53:44 +00:00
Raghubansh Kumar 1d0c11f472 New testcases for strip_tags() function 2007-10-09 12:44:45 +00:00
Raghubansh Kumar 5f24b53cc5 fix tests 2007-10-09 12:17:48 +00:00
Raghubansh Kumar f567d4c6ad fix tests 2007-10-09 11:04:17 +00:00
Scott MacVicar 52debae82e MFH: Fix expand_filepath when including relative files, ideally you should test you code... 2007-10-09 10:05:08 +00:00
Jani Taskinen e2b5419e05 MFH: ws + cs 2007-10-09 08:40:36 +00:00
Raghubansh Kumar 5e46edd6c3 fix tests 2007-10-09 06:15:39 +00:00
Raghubansh Kumar 705bda6fa6 more tests for fseek(), ftell() & rewind() for win32 2007-10-09 04:56:28 +00:00
Raghubansh Kumar 0289fd1458 fix tests 2007-10-09 04:12:16 +00:00
Robert Thompson 0092263030 Fix for bug 41822. expand_filepath() will now return a relative path under the specific situation where getcwd() returns NULL and the file is still readable. As far as I have been able to tell, this fix only applies to the Solaris OS where files in directories with (--x) cannot getcwd(). 2007-10-08 23:44:50 +00:00
Wez Furlong 14ec6825a2 add iODBC support to pdo_odbc 2007-10-08 17:55:40 +00:00
Andrey Hristov dba6e473ca Move non-public code to non-public header file. This should also solve
#42890 "Constant "LIST" defined by mysqlclient and c-client"
2007-10-08 16:14:56 +00:00
Raghubansh Kumar d42d41000d fix test 2007-10-08 16:04:28 +00:00
Raghubansh Kumar e52c923f68 fix test 2007-10-08 15:45:53 +00:00
Andrey Hristov eb02cb5990 Move declarations from the public header file. 2007-10-08 15:38:47 +00:00
Raghubansh Kumar 513f5e5d5f fix tests 2007-10-08 15:37:57 +00:00
Raghubansh Kumar 7ccc5eef20 New testcases for strtr() function 2007-10-08 15:21:36 +00:00
Raghubansh Kumar f8eacb31c0 New testcases for get_html_translation_table() function 2007-10-08 15:21:13 +00:00
Raghubansh Kumar aeeafd3b59 fix test 2007-10-08 06:22:13 +00:00
Yiduo (David) Wang 104290130e MFH: stmt->fetch.func.values is not a zval and should not be freed with FREE_ZVAL 2007-10-08 04:06:15 +00:00
Yiduo (David) Wang f4f0a47433 Fix build for mysqlnd 2007-10-07 21:47:36 +00:00
Nuno Lopes 66a24c86a6 Fixed bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines) 2007-10-07 13:57:10 +00:00
Nuno Lopes 51051fc8bc now fix the thread-safe build..
#sorry for the noise, but I didnt commit patches to PHP for a long time..
2007-10-07 12:20:11 +00:00
Nuno Lopes 3adfe9c0f1 fix the previous patch: the rc var doesnt need to be passed to the make_subpats_table() 2007-10-07 12:14:02 +00:00
Nuno Lopes 640db15ff8 BFN: #37911 2007-10-07 11:51:35 +00:00
Nuno Lopes 424db6feb9 fix bug #37911: preg_replace_callback ignores named groups 2007-10-07 11:48:27 +00:00
Nuno Lopes 41dcd7d0b5 upgrade pcre to version 7.4 2007-10-07 10:35:03 +00:00
Antony Dovgal 05b536f251 one more fix 2007-10-07 08:33:38 +00:00
Antony Dovgal 1ee4146d71 fix build 2007-10-07 08:30:47 +00:00
Yiduo (David) Wang 4b4d634cb9 MFH: Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:22:07 +00:00
Antony Dovgal ca4c55ad3a MFH: fix ws & folding, nuke unused vars 2007-10-06 21:28:50 +00:00
Jani Taskinen 732f54a65c MFH:- Add support for LDAP_X_OPT_CONNECT_TIMEOUT (Netscape LDAP SDK equivalent for LDAP_OPT_NETWORK_TIMEOUT) 2007-10-06 02:13:50 +00:00
Jani Taskinen c65b53b6c6 BFN
[DOC] Note: ldap_[get|set]_option() manual pages needs an entry for
[DOC] LDAP_OPT_NETWORK_TIMEOUT
2007-10-06 01:46:24 +00:00
Jani Taskinen d473e198f5 MFH: - Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow setting network timeout (FR#42837) 2007-10-06 01:43:26 +00:00
Andrey Hristov 8b9b553aa2 Import mysqlnd
Patch ext/mysql and ext/mysqli to support mysqlnd
2007-10-05 21:23:56 +00:00
Raghubansh Kumar 9f9495a484 New testcases for setlocale() function 2007-10-05 19:32:28 +00:00
Raghubansh Kumar a458ad89f9 New testcases for nl2br() function 2007-10-05 18:46:02 +00:00
Raghubansh Kumar 8ad09bf445 New testcases for strrpos() function 2007-10-05 18:33:24 +00:00
Raghubansh Kumar 2c63918058 New testcases for str_split() function 2007-10-05 18:18:18 +00:00
Raghubansh Kumar 805a1b9e9c New testcases for vsprintf() function 2007-10-05 18:09:31 +00:00
Rob Richards c4575f4c4b MFH: fix win build 2007-10-05 16:00:30 +00:00
Jani Taskinen aa3eee1dce MFH:- Moved the old regex functions to own extension: ereg 2007-10-05 15:00:09 +00:00
Jani Taskinen 3a5817e972 MFH: fix test 2007-10-05 14:57:28 +00:00
Nuno Lopes c2f78aae37 lcov 1.6 also works correctly 2007-10-05 14:48:32 +00:00
Jani Taskinen 69bea4d736 - Sync with configure.in from HEAD (the CGI stuff is as ini options nowadays) 2007-10-05 12:34:48 +00:00
David Soria Parra fd841a44db WS fix. Space instead of tab. 2007-10-05 11:43:09 +00:00
David Soria Parra 7db53fe049 WS/Indent fix 2007-10-05 09:37:17 +00:00
Ilia Alshanetsky 0604cb8d48 Generated files that are part of the previous patch 2007-10-04 23:22:37 +00:00
Ilia Alshanetsky 4c619a3f5f Fixed bug #42817 (clone() on a non-object does not result in a fatal error) 2007-10-04 23:19:20 +00:00
Ilia Alshanetsky f6b761b0ac Fixed bug #42783 (pg_insert() does not accept an empty list for insertion) 2007-10-03 23:30:46 +00:00
Michael Wallner 2448b05b4f MFH: fix CURLOPT_TIMEOUT_MS support 2007-10-03 20:34:01 +00:00
Jani Taskinen 108dddcac0 MFH:- Removed the %destructor declaration (requires bison 1.875 or above) 2007-10-03 13:03:18 +00:00
David Soria Parra d4e8fa62c6 MFH: Add an escape parameter to fgetcsv to satisfy rfc4180 and bug #40501.
[DOC] 5th parameter available since PHP 5.3+
2007-10-03 10:44:32 +00:00
Dmitry Stogov eb0c56ada1 Fixed bug #42820 (defined() on constant with namespace prefixes tries to load class). 2007-10-03 10:33:02 +00:00
Dmitry Stogov 68055015eb Fixed bug #42818 ($foo = clone(array()); leaks memory) 2007-10-03 09:47:45 +00:00
Dmitry Stogov 1491992f76 Fixed bug #42772 (Storing $this in a static var fails while handling a cast to string) 2007-10-03 08:02:36 +00:00
Dmitry Stogov 69edb0131a ws 2007-10-03 06:49:15 +00:00
Stanislav Malyshev 5840ba0ffe MFB utf test 2007-10-03 05:05:37 +00:00
Stanislav Malyshev 6e1dfff1ed MFB do not accept partial multibyte sequences in html* functions 2007-10-03 05:05:08 +00:00
Antony Dovgal b380ff014a fix test 2007-10-02 11:21:40 +00:00
Jani Taskinen fd9c80b054 - There really is no point in mentioned fixed bugs in something that has never been in any release.. 2007-10-02 10:42:55 +00:00
Antony Dovgal 1297fa1b8f MF5_2: improved recursion detection in array_walk()
fixes #42752, though the leaks are still there
2007-10-02 10:04:38 +00:00
Dmitry Stogov 9aee9e0417 Fixed access to freed memory in tests/classes/__call_001.phpt 2007-10-02 08:47:22 +00:00
Dmitry Stogov 220641af70 Fixed bug #42819 (namespaces in indexes of constant arrays) 2007-10-02 08:26:50 +00:00
Christian Stocker 5b0f4647b6 - Added xsl->setProfiling() for profiling stylesheets. 2007-10-02 06:31:18 +00:00
Johannes Schlüter 32966bb37d - pass the adress not the value 2007-10-01 20:36:01 +00:00
Ilia Alshanetsky c3cf6cb069 Added test for bug #42785 2007-10-01 15:33:11 +00:00
Ilia Alshanetsky 36cf6a2b05 Fixed bug #42785 (json_encode() formats doubles according to locale rather
then following standard syntax).
2007-10-01 15:22:41 +00:00
Johannes Schlüter 5f15b1ef7a - Fix test 2007-10-01 15:01:47 +00:00
Ilia Alshanetsky bb8b632dc1 Fixed typo in the previous patch 2007-10-01 14:59:55 +00:00
Ilia Alshanetsky 086289983e Refactor code to make fixes for coverity issues #385 and #386 a bit more
obvious
2007-10-01 14:51:11 +00:00
Jani Taskinen 25be330cd0 - ws + cs + sync HEAD 2007-10-01 13:38:14 +00:00
Jani Taskinen 2bc631fb40 MFH:- Added common getopt implementation to core.
MFH:- Added long-option feature to getopt().
MFH:- Made getopt() available on win32 systems.
MFH:  Patch by: David Soria Parra <dsp@php.net>
[DOC]: These changes will be available from 5.3+

# Note: Fixed also tests and synced basic_functions.c with HEAD.
2007-10-01 12:40:54 +00:00
Jani Taskinen 27e8fa0d31 MFH: sync (adds php_prefix_varname() API function) 2007-10-01 12:34:19 +00:00
Jani Taskinen b34fcd4791 MFH: Fixed bug #42789 2007-10-01 12:05:41 +00:00
Dmitry Stogov 0625e266cd Late Static Binding make no sense in compile-time constants. 2007-10-01 11:25:14 +00:00
Dmitry Stogov 41e9b6b61c Fixed bug #42802 (Namespace not supported in typehints) 2007-10-01 10:37:14 +00:00
Dmitry Stogov 3a3a7e7441 Fixed bug #42798 (__autoload() not triggered for classes used in method signature). 2007-10-01 09:32:48 +00:00
Jani Taskinen 1e5ca0a765 - Fix tests (too many dots in error messages :) 2007-09-30 21:35:52 +00:00
Ilia Alshanetsky b6817f82b1 Nuke unused vars 2007-09-30 16:53:10 +00:00
Antony Dovgal cd5b16015e fix test 2007-09-30 14:40:06 +00:00
Antony Dovgal 38c37bb61f fix tests 2007-09-30 14:37:33 +00:00
Jani Taskinen 6723ed1db3 MFH: Nuked ending dots from error messages 2007-09-30 05:49:45 +00:00
Jani Taskinen adae5131f3 - Nuked ending dots from error messages 2007-09-30 05:40:23 +00:00
Raghubansh Kumar 9645bbbbee smaller tests already exists 2007-09-29 17:19:03 +00:00
Raghubansh Kumar 1aa5830044 New testcases for strrchr() function 2007-09-29 16:59:07 +00:00
Raghubansh Kumar efc32bacaa New testcases for stripos() function 2007-09-29 16:56:46 +00:00
Raghubansh Kumar 2a22e422ad New testcases for sprintf() function 2007-09-29 16:54:57 +00:00
Raghubansh Kumar b9ccaf44fb New testcases for join() function 2007-09-29 16:52:54 +00:00
Raghubansh Kumar 3253c3b6dd New testcases for htmlspecialchars_decode() function 2007-09-29 16:51:42 +00:00
Raghubansh Kumar 482eabc6b6 New testcases for chunk_split() function 2007-09-29 16:49:41 +00:00
Dmitry Stogov fedf2eddfd Updated API version numbers 2007-09-29 11:25:16 +00:00
Nuno Lopes 887d439404 use FREE_ZVAL() instead of free() to free a zval 2007-09-29 11:24:05 +00:00
Nuno Lopes e029a0ee59 fix a few compiler warnings (mostly use of unitialized values) 2007-09-29 11:18:42 +00:00
Dmitry Stogov ae14f6ba78 Added "compact" handler for Zend MM storage. 2007-09-29 10:37:29 +00:00
Dmitry Stogov 72d0454bf6 Added support for __callstatic() magic method (missing part). (Sara) 2007-09-29 09:34:24 +00:00
Dmitry Stogov b20ed0d2e0 Added support for __callstatic() magic method. (Sara) 2007-09-29 08:52:40 +00:00
Dmitry Stogov c560a96848 Removed commented code 2007-09-29 08:29:56 +00:00
Dmitry Stogov 166266df68 Added support for Late Static Binding. (Dmitry, Etienne Kneuss) 2007-09-29 07:28:34 +00:00
Johannes Schlüter e9dd6fab91 - MFH: Fix type in example 2007-09-28 22:04:39 +00:00
Johannes Schlüter 059b506d38 - Merge minor namespace related stuff (README and tokenizer) 2007-09-28 21:02:19 +00:00
Dmitry Stogov f37e408ed8 Support for namespaces 2007-09-28 19:53:42 +00:00
Dmitry Stogov f32ffe9b43 Namespaces 2007-09-28 19:52:53 +00:00
Jani Taskinen 1674976346 MFH: Fixed win32 build. 2007-09-28 10:23:38 +00:00
Antony Dovgal d84755e758 ws 2007-09-28 05:33:11 +00:00
Jani Taskinen df5e183470 One more thing.. 2007-09-28 02:14:11 +00:00
Jani Taskinen e367dac30d BFN 2007-09-28 02:09:05 +00:00
Jani Taskinen 09b6f37f20 MFH:
- Added ".htaccess" style user-defined php.ini files support for
  CGI/FastCGI.
- Added support for special [PATH=/opt/httpd/www.example.com/] sections
  in php.ini. All directives set in these sections will not be able to be
  overridden in user-defined ini-files or during runtime in the specified
  path.

- Improved php.ini handling:
  . Added better error reporting for syntax errors in php.ini files
  . Allowed "ini-variables" to be used almost everywhere ini php.ini files
  . Allowed using alphanumeric/variable indexes in "array" ini options
  . Fixed get_cfg_var() to be able to return "array" ini options

- Fixed bug #27372 (parse error loading browscap.ini at apache startup)
- Fixed bug #42069 (parse_ini_file() allows using some non-alpha numeric
  characters)
2007-09-28 02:05:10 +00:00
Jani Taskinen 0d3bdf23d2 MFH: ws + cs 2007-09-27 22:09:46 +00:00
Sebastian Bergmann b4036287f6 Fugbix typo. 2007-09-27 18:15:22 +00:00
Dmitry Stogov 6c810b0d4c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:00:48 +00:00
Ilia Alshanetsky f6d9901873 Fixed coverity issue #470 Unitialized integer value used inside
zend_ini_boolean_displayer_cb
2007-09-27 17:26:47 +00:00
Jani Taskinen d64b3989c5 BFN 2007-09-27 17:06:36 +00:00
Jani Taskinen fc0e59073e MFH:- Fixed bug #42657 (ini_get() returns incorrect value when default is NULL) 2007-09-27 17:05:23 +00:00
Jani Taskinen 6700a20e64 MFH: BC (missed from the patch :) 2007-09-27 16:59:25 +00:00
Jani Taskinen 338a12a018 MFH: Nuked unnecessary TSRMLS_FETCH() call 2007-09-27 16:55:25 +00:00
Jani Taskinen 72e7721393 MFH: missing folding tag + use Z_STR* macros 2007-09-27 16:44:27 +00:00
Jani Taskinen 7668572e26 last ws 2007-09-27 15:59:42 +00:00
Jani Taskinen c3c0fd2819 ws 2007-09-27 15:56:49 +00:00
Jani Taskinen c1a4cc358c MFH: ws + cs (more to follow) 2007-09-27 15:53:28 +00:00
Jani Taskinen bea9591f47 MFB52: ws+cs 2007-09-27 13:15:40 +00:00
Dmitry Stogov 10150ea755 Improved ext/soap to support element names in context of XMLShema's <any> 2007-09-27 10:01:43 +00:00
Antony Dovgal 84195223ec MFH: fix coverity issue #412 2007-09-27 09:18:50 +00:00
Antony Dovgal 7a954c4c48 MFH: fix coverity issue #411 2007-09-27 09:15:09 +00:00
Dmitry Stogov 65741beb79 MFH: Improved ext/openssl
. Added support for OpenSSL digest functions
. Added support for OpenSSL cipher functions
. Added access to internal values of DSA, RSA and DH keys
2007-09-27 08:46:00 +00:00
Dmitry Stogov 06f43b30c1 MFH: Improved and cleaned CGI code. FastCGI is now always enabled and can not be disabled. See sapi/cgi/CHANGES for more details. 2007-09-27 08:23:58 +00:00
Sebastian Bergmann a748ada212 Bump version. 2007-09-27 05:24:50 +00:00
Johannes Schlüter 9483a2ff23 - Readd support for ynamic access of static members (Etienne) 2007-09-27 00:32:40 +00:00
SVN Migration 0e5d551a56 This commit was manufactured by cvs2svn to create branch 'PHP_5_3'. 2007-09-26 15:44:16 +00:00
Ilia Alshanetsky f871988b88 BFN 2007-09-26 15:44:15 +00:00
Ilia Alshanetsky b26d5f6077 Fixed bug #42767 (highlight_string() truncates trailing comment) 2007-09-26 15:43:58 +00:00
Raghubansh Kumar 2ff92b584e new testcases for strrev() function 2007-09-26 14:40:14 +00:00
Antony Dovgal 72fc33ef6a MFH 2007-09-26 10:55:07 +00:00
Raghubansh Kumar 433d1a5d02 New testcases for crc32() function 2007-09-26 06:03:55 +00:00
Ilia Alshanetsky d0796d9d68 Another typo fix 2007-09-25 18:18:10 +00:00
Ilia Alshanetsky b89c7fcf8f Fixed typo 2007-09-24 23:33:24 +00:00
Dmitry Stogov 884b06e303 Fixed crash on POST request after dl("mbstring.so") 2007-09-24 11:53:40 +00:00
Rui Hirokawa e94f26f356 MFH: added support "entity" as substitute_character settin accoding to bug #39404 2007-09-24 11:51:36 +00:00
Dmitry Stogov b441b275b3 Fixed bug #42699 (PHP_SELF duplicates path) 2007-09-24 11:40:05 +00:00
Ilia Alshanetsky f60df047f1 Fixed bug #42739 (mkdir() doesnt like a trailing slash when safe_mode is
enabled).
2007-09-23 15:19:21 +00:00
Ilia Alshanetsky ddc1871576 Improve check for filename (fixed coverity issue #355) 2007-09-22 15:55:35 +00:00
Ilia Alshanetsky 24c806c41b Fixed memory leak inside array_intersec (coverity issues #403,#404) 2007-09-22 15:38:00 +00:00
Ilia Alshanetsky 91e8740fe4 Fixed memory leak inside array_diff() (coverity issues #401,#402) 2007-09-22 15:32:11 +00:00
Ilia Alshanetsky 9307163e67 Fixed memory leak inside pack() (coverity issues #398,#399,#400) 2007-09-22 15:25:46 +00:00
Raghubansh Kumar b17d0085f3 New testcases for strspn() function 2007-09-22 10:51:38 +00:00
Raghubansh Kumar 0aa09167c1 New testcases for strcspn() function 2007-09-22 10:36:15 +00:00
Raghubansh Kumar eb3f8fda65 New testcases for strtok() function 2007-09-22 07:39:57 +00:00
Raghubansh Kumar 32b432f878 replaced by array_search_variation1.phpt, hence removed. 2007-09-22 06:58:33 +00:00
Raghubansh Kumar 12bc950491 update and split of testcases for functions array_search() and in_array() 2007-09-22 06:53:58 +00:00
Antony Dovgal cecbe87656 MFH: add NULL check (coverity issue #385) and fix CS 2007-09-21 14:17:06 +00:00
Antony Dovgal 74ae13f933 MFH: check for NULL (coverity issue #386) 2007-09-21 14:12:52 +00:00
Antony Dovgal 074b4e51f0 MFH: check the return value of getgroups() for -1 (coverity issue #390) 2007-09-21 14:05:18 +00:00
Antony Dovgal 43cc8937b2 MFH: plug leak on error (coverity issue #405) 2007-09-21 13:51:49 +00:00
Antony Dovgal 366c113156 MFH: plug leak on error (coverity issue #407) 2007-09-21 13:37:30 +00:00
Dmitry Stogov 9ee4848c3f Improved speed of array_diff_key(), array_diff_assoc() and array_udiff_assoc(). 2007-09-21 13:10:59 +00:00
Antony Dovgal f5bf263b88 initialize all fields of the struct (it's generally good idea even though they should not be used) 2007-09-21 13:08:00 +00:00
Antony Dovgal 3587185a89 MFH: fix invalid read when opendir over FTP fails (coverity issue #462) 2007-09-21 12:57:38 +00:00
Stanislav Malyshev 7985002fc6 better fix for iconv_substr 2007-09-20 22:35:24 +00:00
Nuno Lopes fa0efe45e0 fix crash when fetching a node type that doesnt exist
# reported in a manual user note
2007-09-20 22:25:06 +00:00
Stanislav Malyshev c70e307e77 fix potential overflow (Mattias Bengtsson) 2007-09-20 21:55:14 +00:00
Stanislav Malyshev cfd8f6d775 add test for dl() with long name 2007-09-20 18:44:24 +00:00
Jani Taskinen 30dc58671d MFH 2007-09-20 14:28:12 +00:00
Jani Taskinen ba144fd417 - Fix test and tuned error message 2007-09-20 14:11:32 +00:00
Jani Taskinen c932082f7b MFH 2007-09-20 13:49:33 +00:00
Ilia Alshanetsky 84d594e4b6 Fixed test for glob() affected by previous patch 2007-09-20 13:29:04 +00:00
Rob Richards da068e5291 BFN 2007-09-20 09:32:31 +00:00
Rob Richards adb1cd835d MFH: fix bug #42139 (XMLReader option constants are broken using XML())
add test
2007-09-20 09:30:45 +00:00
Dmitry Stogov 8d377a698a Improved speed of array_intersect_key(), array_intersect_assoc() and array_uintersect_assoc(). (100 times faster on arrays with 100000 elements) 2007-09-20 09:22:59 +00:00
Antony Dovgal f67c0222fe MFH 2007-09-20 08:10:44 +00:00
Ilia Alshanetsky 47950d10cf Fixed regression in glob() when enforcing safe_mode/open_basedir checks on
paths containing '*'
2007-09-19 22:37:58 +00:00
Antony Dovgal 77951494b7 MFH 2007-09-19 11:25:57 +00:00
Stanislav Malyshev f7e4ff1054 one more test 2007-09-19 00:49:02 +00:00
Stanislav Malyshev d07b041e8a report iconv fix 2007-09-19 00:41:10 +00:00
Stanislav Malyshev 1ef91c8494 limit iconv parameters here too 2007-09-19 00:33:43 +00:00
Stanislav Malyshev 2fe9599880 limit iconv parameter sizes - workaround for glibc bug 2007-09-19 00:30:52 +00:00
Stanislav Malyshev 15a715ae73 add length tests for iconv functions 2007-09-19 00:18:01 +00:00
Rui Hirokawa beeddd8873 MFH: fixed bug #42502 va_* cannot detect. 2007-09-18 21:35:39 +00:00
Rui Hirokawa 507112e44d modified line end CR -> CR+NL 2007-09-18 21:33:29 +00:00
Stanislav Malyshev 08d3f07ced add dl() limit patch 2007-09-18 20:25:07 +00:00
Stanislav Malyshev 280e6464e8 limit dl() argument length (patch by Christian Hoffmann) 2007-09-18 20:19:34 +00:00
Ilia Alshanetsky 785b9d76f8 Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime
values).
2007-09-18 19:49:54 +00:00
Jani Taskinen 21f5a00183 BFN 2007-09-18 09:25:03 +00:00
Jani Taskinen c29136bd08 - Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported on MacOSX) 2007-09-18 09:24:04 +00:00
Ilia Alshanetsky 6c49087e64 Fixed typos 2007-09-17 12:44:16 +00:00
Ilia Alshanetsky 402d3eb0e0 Fixed a typo 2007-09-16 15:38:57 +00:00
Raghubansh Kumar 35990e7c5b better output matching/fixes 2007-09-15 07:29:55 +00:00
Raghubansh Kumar ec3a713fbb Removing from file dir as it was wrongly committed to this dir 2007-09-14 19:03:14 +00:00
Raghubansh Kumar b59c171e23 New testcases for strncasecmp() 2007-09-14 19:02:07 +00:00
Raghubansh Kumar 6d12620591 New testcases for chop() 2007-09-14 18:58:02 +00:00
Raghubansh Kumar e1a08e5d55 New testcases for wordwrap() 2007-09-14 18:53:38 +00:00
Raghubansh Kumar 4799047e07 New testcases for strncasecmp() function 2007-09-14 18:26:44 +00:00
Raghubansh Kumar aafdc266bf New testscases for chop() function 2007-09-14 18:24:47 +00:00
Zoe Slattery 619b218e9a Changing to use %a to match recent run-tests.php patch 2007-09-14 16:28:54 +00:00
Nuno Lopes 40085b06f2 changes to run-tests.php:
- change %s to %a
- make %s = [^\r\n]+
- fix tests accordingly
2007-09-14 15:28:03 +00:00
Nuno Lopes b121ffae92 fix expected output 2007-09-14 15:04:19 +00:00
Raghubansh Kumar 0cb6cfcd87 better comments 2007-09-14 14:31:55 +00:00
Raghubansh Kumar f22626ba5a New testcases for wordwrap() function 2007-09-14 14:14:48 +00:00
Raghubansh Kumar 4903f48eaa fix test 2007-09-14 09:38:13 +00:00
Jani Taskinen 3373aeff8e fix news 2007-09-14 08:20:15 +00:00
Stanislav Malyshev 03547dc13c register mail.force_extra_parameters change 2007-09-13 20:08:00 +00:00
Stanislav Malyshev cd836153d6 disallow setting mail.force_extra_parameters from .htaccess 2007-09-13 20:04:22 +00:00
Nuno Lopes bb2ec1c790 fix test, particularly when running with valgrind, bacause it may take more than one second to execute both instructions and thus get different dates 2007-09-13 19:58:26 +00:00
Nuno Lopes b0e393e543 attemp to set locale if it exists. fix skip condition 2007-09-13 19:51:34 +00:00
Nuno Lopes e0660a267e fix expected output 2007-09-13 19:30:19 +00:00
Nuno Lopes e3e2a62d44 fix test expected output 2007-09-13 18:55:28 +00:00
Nuno Lopes 69fbaf7d10 fix skip reasons. the word 'skip' should be followed by a single space and doesnt need any \n at the end 2007-09-13 18:24:26 +00:00
Stanislav Malyshev 4d34ae2946 List recent fixes 2007-09-13 17:15:02 +00:00
Ilia Alshanetsky 2cfdcd265d Added a note indicating that the tests may fail to due libc implementation 2007-09-13 15:36:37 +00:00
Jani Taskinen 859a017f95 MFH: cs/ws 2007-09-13 07:42:12 +00:00
Stanislav Malyshev f39d5a2f21 docs say dl() parameter can be filename only - enforce it 2007-09-13 00:56:31 +00:00
Stanislav Malyshev 1f45d49a0c fix crash if stream is empty and reader function sets buffer as null 2007-09-12 21:21:18 +00:00
Ilia Alshanetsky 910850be51 Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). 2007-09-12 18:26:49 +00:00
Jani Taskinen 96df4d2161 reorder 2007-09-12 11:46:02 +00:00
Jani Taskinen 0e0df5e47c BFN 2007-09-12 11:45:34 +00:00
Jani Taskinen bf132de1eb MFH:- Fixed bug #42627 (bz2 extension fails to build with -fno-common) 2007-09-12 11:44:26 +00:00
Nuno Lopes ada2b7ca41 BFN #39651 2007-09-12 11:44:25 +00:00
Nuno Lopes b24d4ddac9 fix bug #39651: proc_open() append mode doesnt work on windows 2007-09-12 11:42:43 +00:00
Jani Taskinen 26bcbca33b fix news 2007-09-12 09:49:20 +00:00
Raghubansh Kumar 99c6da86f3 marked with Bug #42038 2007-09-12 09:47:35 +00:00
Andrey Hristov dc34874dc9 Fix stupid error, which happens only on Windows. And we thought this has
been fixed. Now my_thread_end() should be called and there should be no
warnings in the error logs of exiting thread, which hasn't deinited, and
leaks.
2007-09-12 09:12:56 +00:00
Raghubansh Kumar 5e6724b122 marked with Bug# 42638 2007-09-12 08:27:35 +00:00
Ilia Alshanetsky 79325e3c55 MFH: Fixed function definition 2007-09-11 23:34:25 +00:00
Pierre Joye fd15282c77 - [DOC] add alpha support for imagefilter's IMG_FILTER_COLORIZE 2007-09-11 21:03:48 +00:00
Nuno Lopes 336111e4e9 remove the -DHAVE_CONFIG_H switch again to fix things on windows
this means that the upgrade script strips the #ifdef automatically
2007-09-11 16:17:34 +00:00
Rob Richards 7f7c158096 MFH: revert config header change 2007-09-11 11:25:20 +00:00
Jani Taskinen 3327653e19 - Fix tests (we are not interested what the old value was for the ini option) 2007-09-11 10:23:04 +00:00
Raghubansh Kumar b33ea59337 fix test 2007-09-11 05:21:40 +00:00
Ilia Alshanetsky ea6de20d86 Fixed Bug #42596 (session.save_path MODE option does not work). 2007-09-10 23:42:54 +00:00
Dmitry Stogov 96810f0ae6 Fixed bug #42587 (behaviour change regarding symlinked .php files) 2007-09-10 10:55:26 +00:00
Antony Dovgal a09eadc95b fix tests 2007-09-10 10:28:54 +00:00
Antony Dovgal 99695744ac split one more ten-in-one test
and fix \v\f stuff while we're here..
2007-09-09 22:28:06 +00:00
Ilia Alshanetsky 9f249298fc BFN 2007-09-09 16:34:05 +00:00
Ilia Alshanetsky 8ff31493b7 Fixed bug #42590 (Make the engine recornize \v and \f escape sequences) 2007-09-09 16:33:34 +00:00
Scott MacVicar e041a39e25 BFN 2007-09-09 16:12:09 +00:00
Scott MacVicar 734dfc8b75 MFH: Fixed bug 42549 (ext/mysql failed to compile with libmysql 3.23) 2007-09-09 16:08:17 +00:00
Pierre Joye 374bef4bc4 - #106 entry 2007-09-09 13:07:00 +00:00
Pierre Joye 7ea43ee23a - re-add fix for libgd #106, imagerectangle draws 1x1 rectangles
as 1x3 rectangles
2007-09-09 13:05:51 +00:00
Rob Richards 20296c625d MFH: point to valid config header 2007-09-08 09:57:22 +00:00
Pierre Joye 793956a0e1 - #42592, remove ending dot in warning msg 2007-09-07 18:23:58 +00:00
Raghubansh Kumar a14ef42c0c New testcases for ucwords() function 2007-09-07 14:44:52 +00:00
Raghubansh Kumar 67b4492c47 New testcases for strncmp() function 2007-09-07 14:20:12 +00:00
Jani Taskinen 9025c2a891 - Can not remove because of the idiotic ZEND_STR*() macros 2007-09-07 14:15:17 +00:00
Raghubansh Kumar cf2121887c New testcases for stripslashes() function 2007-09-07 13:51:26 +00:00
Zoe Slattery b7a47a439b fixing error in expected output 2007-09-07 10:28:03 +00:00
Jani Taskinen 2b69d18e49 - Added reminder for 5.3 2007-09-07 10:00:45 +00:00
Jani Taskinen 822400d78f - Missed this from previous commit to zend_ini.h 2007-09-07 09:59:50 +00:00
Jani Taskinen 2a528a158a - No need to break binary compatibility here 2007-09-07 09:55:37 +00:00
Jani Taskinen 279f8d4822 BFN 2007-09-07 09:39:11 +00:00
Jani Taskinen 82626c1868 MFH: - Fixed the rest of bug #41561 ( @ operator not working ) 2007-09-07 09:37:38 +00:00
Jani Taskinen 510ad20616 MFH: folding tags 2007-09-07 09:35:06 +00:00
Jani Taskinen f393620b9b BFN 2007-09-07 08:50:13 +00:00
Jani Taskinen fef2b33e85 MFH:- Fixed bug #42579 (apache_reset_timeout() does not exist) 2007-09-07 08:49:24 +00:00
Dmitry Stogov dd8c8d05e8 Added checks for malformated FastCGI requests (Mattias Bengtsson) 2007-09-07 08:26:47 +00:00
Ilia Alshanetsky 022d4fc0b6 Added missing safety checks for 2nd parameter of setlocale() function 2007-09-07 02:28:42 +00:00
Derick Rethans e280715150 - MFH: Add a comment why not ~0 or -1. 2007-09-06 13:28:05 +00:00
Andrey Hristov 09fbf87a6c Fixed leaks with multiple connects using one mysqli object.
HEAD will be fixed during the next mysqlnd merge

Fixed failing test for bug38710, 5.0 version is bad, 5.1 is ok.
2007-09-06 10:07:42 +00:00
Raghubansh Kumar af40765f8f New testcases for addslashes() function 2007-09-06 04:01:25 +00:00
Ilia Alshanetsky 49c91f6e33 MFH: fixed typo in function name 2007-09-05 13:03:59 +00:00
Andrey Hristov 649152ca49 Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion)
Fixed regression of bug 38710. Already fixed in HEAD.
#HEAD will be fixed when doing the next merge from svn
2007-09-05 12:36:44 +00:00
Dmitry Stogov e56466edc8 Fixed bug #42214 (SoapServer sends clients internal PHP errors) 2007-09-05 11:20:45 +00:00
Dmitry Stogov ee944bd1b5 Fixed bug #42488 (SoapServer reports an encoding error and the error itself breaks). 2007-09-05 10:18:23 +00:00
Dmitry Stogov 5d238efaa6 Fixed bug #42523 (PHP_SELF duplicates path) 2007-09-05 08:26:32 +00:00
Antony Dovgal 18ce620bdf bfn 2007-09-04 18:51:48 +00:00
Antony Dovgal 2198abb1c4 MFH: detect endianness in compile time when using Apple's GCC (fixes universal binary build) 2007-09-04 18:46:21 +00:00
Rui Hirokawa b9424cdfaf MFH: fixed bug #29955 invalid case conversion in iso-8859-9. 2007-09-04 14:14:11 +00:00
Ilia Alshanetsky 72f910c012 Fixed possible buffer overflows inside the fnmatch() and glob() functions 2007-09-04 12:51:49 +00:00
Zoe Slattery b78b25a336 Test cases for sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh. 2007-09-04 09:01:02 +00:00
Raghubansh Kumar 5096c8d232 fix tests 2007-09-04 08:37:51 +00:00
Ilia Alshanetsky 59a410cb76 Fixed bug #42506 (php_pgsql_convert() timezone parse bug) 2007-09-03 15:36:04 +00:00
Ilia Alshanetsky 09cad322fa Fixed bug #42468 (Write lock on file_get_contents fails when using a
compression stream).
2007-09-03 02:53:56 +00:00
Derick Rethans 152d379950 - MFH: Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on
64-bit PHP).
2007-09-01 18:38:39 +00:00
Nuno Lopes c6f777da1f adapt for PCRE 7.3
remove ability to include config.h from php_pcre.c, as it seems pretty useless and produces a few warnings
2007-09-01 17:51:35 +00:00
Nuno Lopes 3edd2a69f2 upgrade to PCRE 7.3 2007-09-01 17:48:43 +00:00
Nuno Lopes a3e6be974f new test 2007-09-01 17:47:13 +00:00
Antony Dovgal eaa89d2443 1.2.4 2007-08-31 22:30:27 +00:00
Antony Dovgal 19b1e39830 fix package2.xml 2007-08-31 22:26:13 +00:00
Antony Dovgal c230fa2b76 add Chris to the maintainers 2007-08-31 21:44:57 +00:00
Christopher Jones 63bfa32aee New tests for getAttribute 2007-08-31 21:09:43 +00:00
Christopher Jones af387e49ba Add $dbh->getAttribute() support for ATTR_SERVER_VERSION, ATTR_SERVER_INFO, ATTR_CLIENT_VERSION, ATTR_AUTOCOMMIT. Sync WS between PHP 5 & 6 and add a couple of casts. 2007-08-31 21:08:48 +00:00
Antony Dovgal 90d58d4668 MFH: prohibit arguments by ref in magic methods 2007-08-31 12:36:14 +00:00
Dmitry Stogov 39bceffc4a Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline options) 2007-08-31 12:17:52 +00:00
Antony Dovgal a1ac6e1ee3 update changelog, prepare for 1.2.4 release 2007-08-31 12:10:54 +00:00
Dmitry Stogov 83647013af Fixed bug #42359 (xsd:list type not parsed) 2007-08-31 10:48:45 +00:00
Jani Taskinen cac7e107c6 MFH: ws + protos 2007-08-31 10:46:19 +00:00
Dmitry Stogov fdf96bed47 Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic compliant wsdl) 2007-08-31 09:36:02 +00:00
Jani Taskinen 77c36cd259 MFH: ws 2007-08-31 08:35:37 +00:00
Jani Taskinen 9be89ed6f6 MFH: ws fixes 2007-08-31 08:16:13 +00:00
Jani Taskinen b9ddb5cba6 MFH 2007-08-31 08:09:50 +00:00
Dmitry Stogov ba1f56cb6d Fixed bug #42326 (SoapServer crash) 2007-08-31 08:07:28 +00:00
Jani Taskinen 6066b01d1b MFH: Revert revert. 2007-08-31 07:52:29 +00:00
Jani Taskinen 3197e135fa MFH: Moved php.ini related protos where they belong 2007-08-31 07:48:05 +00:00
Jani Taskinen 11750c315d MFH: ws 2007-08-31 07:43:37 +00:00
Jani Taskinen cd0cfdfc39 MFH 2007-08-31 07:42:05 +00:00
Christopher Jones 4450386ae0 New tests 2007-08-30 17:33:00 +00:00
Rob Richards 0ecaf04f86 BFN 2007-08-30 16:32:54 +00:00
Rob Richards 78b2aaa954 MFH: fix bug #42462 (Segmentation when trying to set an attribute in DOMElement) 2007-08-30 16:32:34 +00:00
Hannes Magnusson 2fc92c9172 - Fixed bug #42452 (PDO classes do not expose Reflection API information)
- Fixed tests
2007-08-30 14:06:12 +00:00
Sebastian Bergmann d0d1e42c75 Add optional parameter to debug_backtrace(). 2007-08-30 07:43:21 +00:00
Sebastian Bergmann 78e0e02179 Back to -dev. 2007-08-30 07:40:13 +00:00
Raghubansh Kumar 5081b960e5 fix test: do not run when noatime set 2007-08-30 04:04:58 +00:00
6615 changed files with 130893 additions and 1410922 deletions

No files matched your search

-542
View File
@@ -1,542 +0,0 @@
define ____executor_globals
if basic_functions_module.zts
set $tsrm_ls = ts_resource_ex(0, 0)
set $eg = ((zend_executor_globals) (*((void ***) $tsrm_ls))[executor_globals_id-1])
else
set $eg = executor_globals
end
end
document ____executor_globals
portable way of accessing executor_globals, set $eg
ZTS detection is automatically based on ext/standard module struct
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 zval contents
end
define ____printzv_contents
set $zvalue = $arg0
set $type = $zvalue->type
printf "(refcount=%d", $zvalue->refcount
if $zvalue->is_ref
printf ",is_ref"
end
printf ") "
if $type == 0
printf "NULL"
end
if $type == 1
printf "long: %ld", $zvalue->value.lval
end
if $type == 2
printf "double: %lf", $zvalue->value.dval
end
if $type == 3
printf "bool: "
if $zvalue->value.lval
printf "true"
else
printf "false"
end
end
if $type == 4
printf "array(%d): ", $zvalue->value.ht->nNumOfElements
if ! $arg1
printf "{\n"
set $ind = $ind + 1
____print_ht $zvalue->value.ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
printf "}"
end
set $type = 0
end
if $type == 5
printf "object"
____executor_globals
set $handle = $zvalue->value.obj.handle
set $handlers = $zvalue->value.obj.handlers
if basic_functions_module.zts
set $zobj = zend_objects_get_address($zvalue, $tsrm_ls)
else
set $zobj = zend_objects_get_address($zvalue)
end
if $handlers->get_class_entry == &zend_std_object_get_class
set $cname = $zobj->ce.name
else
set $cname = "Unknown"
end
printf "(%s) #%d", $cname, $handle
if ! $arg1
if $handlers->get_properties == &zend_std_get_properties
set $ht = $zobj->properties
if $ht
printf "(%d): ", $ht->nNumOfElements
printf "{\n"
set $ind = $ind + 1
____print_ht $ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
printf "}"
else
echo "no properties found"
end
end
end
set $type = 0
end
if $type == 6
printf "string(%d): ", $zvalue->value.str.len
____print_str $zvalue->value.str.val $zvalue->value.str.len
end
if $type == 7
printf "resource: #%d", $zvalue->value.lval
end
if $type == 8
printf "constant"
end
if $type == 9
printf "const_array"
end
if $type > 9
printf "unknown type %d", $type
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 = (zval*) $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
____print_str $p->arKey $p->nKeyLength
printf " => "
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 = (HashTable*)$arg0
set $p = $ht->pListHead
while $p != 0
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
____print_str $p->arKey $p->nKeyLength
printf " => "
else
printf "%d => ", $p->h
end
if $arg1 == 0
printf "%p\n", (void*)$p->pData
end
if $arg1 == 1
set $zval = *(zval **)$p->pData
____printzv $zval 1
end
if $arg1 == 2
printf "%s\n", (char*)$p->pData
end
set $p = $p->pListNext
end
end
define print_ht
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 1
printf "}\n"
end
document print_ht
dumps elements of HashTable made of zval
end
define print_htptr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 0
printf "}\n"
end
document print_htptr
dumps elements of HashTable made of pointers
end
define print_htstr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 2
printf "}\n"
end
document print_htstr
dumps elements of HashTable made of strings
end
define ____print_ft
set $ht = $arg0
set $p = $ht->pListHead
while $p != 0
set $func = (zend_function*)$p->pData
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
____print_str $p->arKey $p->nKeyLength
printf " => "
else
printf "%d => ", $p->h
end
printf "\"%s\"\n", $func->common.function_name
set $p = $p->pListNext
end
end
define print_ft
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ft $arg0
printf "}\n"
end
document print_ft
dumps a function table (HashTable)
end
define ____print_inh_class
set $ce = $arg0
if $ce->ce_flags & 0x10 || $ce->ce_flags & 0x20
printf "abstract "
else
if $ce->ce_flags & 0x40
printf "final "
end
end
printf "class %s", $ce->name
if $ce->parent != 0
printf " extends %s", $ce->parent->name
end
if $ce->num_interfaces != 0
printf " implements"
set $tmp = 0
while $tmp < $ce->num_interfaces
printf " %s", $ce->interfaces[$tmp]->name
set $tmp = $tmp + 1
if $tmp < $ce->num_interfaces
printf ","
end
end
end
set $ce = $ce->parent
end
define ____print_inh_iface
set $ce = $arg0
printf "interface %s", $ce->name
if $ce->num_interfaces != 0
set $ce = $ce->interfaces[0]
printf " extends %s", $ce->name
else
set $ce = 0
end
end
define print_inh
set $ce = $arg0
set $depth = 0
while $ce != 0
set $tmp = $depth
while $tmp != 0
printf " "
set $tmp = $tmp - 1
end
set $depth = $depth + 1
if $ce->ce_flags & 0x80
____print_inh_iface $ce
else
____print_inh_class $ce
end
printf " {\n"
end
while $depth != 0
set $tmp = $depth
while $tmp != 1
printf " "
set $tmp = $tmp - 1
end
printf "}\n"
set $depth = $depth - 1
end
end
define print_pi
set $pi = $arg0
printf "[0x%08x] {\n", $pi
printf " h = %lu\n", $pi->h
printf " flags = %d (", $pi->flags
if $pi->flags & 0x100
printf "ZEND_ACC_PUBLIC"
else
if $pi->flags & 0x200
printf "ZEND_ACC_PROTECTED"
else
if $pi->flags & 0x400
printf "ZEND_ACC_PRIVATE"
else
if $pi->flags & 0x800
printf "ZEND_ACC_CHANGED"
end
end
end
end
printf ")\n"
printf " name = "
____print_str $pi->name $pi->name_length
printf "\n}\n"
end
define ____print_str
set $tmp = 0
set $str = $arg0
printf "\""
while $tmp < $arg1
if $str[$tmp] > 32 && $str[$tmp] < 127
printf "%c", $str[$tmp]
else
printf "\\%o", $str[$tmp]
end
set $tmp = $tmp + 1
end
printf "\""
end
define printzn
____executor_globals
set $ind = 0
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
-277
View File
@@ -1,277 +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,
without underscore delimiters (CampelCaps starting with a capital letter).
The class name should be prefixed with the name of the 'parent set' (e.g.
the name of the extension).
Good:
'Curl'
'FooBar'
Bad:
'foobar'
'foo_bar'
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.
Testing
-------
[1] Extensions should be well tested using *.phpt tests. Read about that
in README.TESTING.
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 labeled 'EXPERIMENTAL' should include the following
information:
Any authoring information (known bugs, future directions of the module).
Ongoing status notes which may not be appropriate for CVS comments.
Aliases & Legacy Documentation
-----------------------------------
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.
-519
View File
@@ -1,519 +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>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
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: 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: fbsql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu>, Jouni Ahto <jouni.ahto@exdec.fi>
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: msql
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mssql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Maintained
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>, Andrey Hristov <andrey@php.net>
MAINTENANCE: Maintained
STATUS: Working
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: pdo
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_dblib
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_firebird
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_mysql
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_odbc
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_oci
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_pgsql
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_sqlite
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
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: Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: soap
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Orphaned
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlreader
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
PRIMARY MAINTAINER: Dan Libby
MAINTENANCE: Orphaned
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xmlwriter
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xsl
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
== Other extensions ==
-------------------------------------------------------------------------------
EXTENSION: bcmath
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
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: ctype
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: curl
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>,Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: date
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
-------------------------------------------------------------------------------
EXTENSION: filter
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>, Pierre-Alain Joye <pajoye@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gd
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gettext
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gmp
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net>, Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: iconv
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: imap
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: json
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@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: mhash
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
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: ncurses
PRIMARY MAINTAINER Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>, Hartmut Holzgraefe <hholzgra@php.net>, Georg Richter <georg@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>, Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: pcntl
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>, Nuno Lopes <nlopess@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
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: Working
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: reflection
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Johannes Schlüter <johannes@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: session
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: shmop
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
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: Working
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: Working
-------------------------------------------------------------------------------
EXTENSION: sysvsem
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sysvshm
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tidy
PRIMARY MAINTAINER: John Coggeshall <john@php.net>, Ilia Alshanetsky <iliaa@php.net>, Nuno Lopes <nlopess@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: zip
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: zlib
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
-2051
View File
File diff suppressed because it is too large. Load diff
-68
View File
@@ -1,68 +0,0 @@
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2006 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 software, freely available from
<http://www.php.net/software/>".
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>.
PHP includes the Zend Engine, freely available at
<http://www.zend.com>.
-23
View File
@@ -1,23 +0,0 @@
#
# Zend
#
$(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
$(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
@$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
$(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c
$(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
@$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
$(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c
$(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
@$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
$(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
-76
View File
@@ -1,76 +0,0 @@
#
# LCOV
#
lcov: lcov-html
lcov-test: all
@echo "Running test suite"
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
NO_INTERACTION=1 \
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(PHP_EXECUTABLE) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -d 'extension_dir=modules/' -d `( . $(PHP_MODULES) ; echo extension=$$dlname)` tests/; \
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
NO_INTERACTION=1 \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
php_lcov.info: lcov-test
@echo "Generating data for $@"
@rm -rf lcov_data/
@$(mkinstalldirs) lcov_data/
@echo
-@find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | uniq | while read x; do \
echo -n . ;\
y=`echo $$x | sed -e 's!\.libs/!!'`; \
dir=lcov_data/`dirname $$x`; \
test -d "$$dir" || $(mkinstalldirs) "$$dir"; \
if test -f "$(top_srcdir)/$$y.c"; then \
ln -f -s $(top_srcdir)/$$y.c lcov_data/$$y.c; \
fi; \
if test -f "$(top_srcdir)/$$y.h"; then \
ln -f -s $(top_srcdir)/$$y.h lcov_data/$$y.h; \
fi; \
if test -f "$(top_srcdir)/$$y.re"; then \
ln -f -s $(top_srcdir)/$$y.re lcov_data/$$y.re; \
fi; \
if test -f "$(top_srcdir)/$$y.y"; then \
ln -f -s $(top_srcdir)/$$y.y lcov_data/$$y.y; \
fi; \
if test -f "$(top_srcdir)/$$y.l"; then \
ln -f -s $(top_srcdir)/$$y.l lcov_data/$$y.l; \
fi; \
if test -f "$(top_srcdir)/$$y"; then \
ln -f -s $(top_srcdir)/$$y lcov_data/$$y; \
fi; \
if test -f "$(top_builddir)/$$y.c"; then \
ln -f -s $(top_builddir)/$$y.c lcov_data/$$y.c; \
fi; \
test -f "$$x.gcno" && cp $$x.gcno lcov_data/$$y.gcno ; \
test -f "$$x.gcda" && cp $$x.gcda lcov_data/$$y.gcda ; \
test -f "$$x.da" && cp $$x.da lcov_data/$$y.da ; \
test -f "$$x.bb" && cp $$x.bb lcov_data/$$y.bb ; \
test -f "$$x.bbg" && cp $$x.bbg lcov_data/$$y.bbg ; \
done
@echo
@echo "Generating $@"
@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@
lcov-html: php_lcov.info
@echo "Generating lcov HTML"
@$(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" php_lcov.info
lcov-clean:
rm -f php_lcov.info
rm -rf lcov_data/
rm -rf lcov_html/
-145
View File
@@ -1,145 +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)
all: $(all_targets)
@echo
@echo "Build complete."
@echo "Don't forget to run 'make test'."
@echo
build-modules: $(PHP_MODULES)
libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1
libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp$(PHP_MAJOR_VERSION).so
install: $(all_targets) $(install_targets)
install-sapi: $(OVERALL_TARGET)
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-@if test ! -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); then \
for i in 0.0.0 0.0 0; do \
if test -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); \
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-headers:
-@if test "$(INSTALL_HEADERS)"; then \
for i in `echo $(INSTALL_HEADERS)`; do \
i=`$(top_srcdir)/build/shtool path -d $$i`; \
paths="$$paths $(INSTALL_ROOT)$(phpincludedir)/$$i"; \
done; \
$(mkinstalldirs) $$paths && \
echo "Installing header files: $(INSTALL_ROOT)$(phpincludedir)/" && \
for i in `echo $(INSTALL_HEADERS)`; do \
if test "$(PHP_PECL_EXTENSION)"; then \
src=`echo $$i | $(SED) -e "s#ext/$(PHP_PECL_EXTENSION)/##g"`; \
else \
src=$$i; \
fi; \
if test -f "$(top_srcdir)/$$src"; then \
$(INSTALL_DATA) $(top_srcdir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
elif test -f "$(top_builddir)/$$src"; then \
$(INSTALL_DATA) $(top_builddir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
else \
(cd $(top_srcdir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i; \
cd $(top_builddir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i) 2>/dev/null || true; \
fi \
done; \
fi
PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1'
PHP_TEST_SHARED_EXTENSIONS = ` \
if test "x$(PHP_MODULES)" != "x"; then \
for i in $(PHP_MODULES)""; do \
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
done; \
fi`
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) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -U -d extension_dir=modules/ $(PHP_TEST_SHARED_EXTENSIONS) tests/; \
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -U -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
utest: all
-@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -u -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
ntest: all
-@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -N -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
clean:
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f
.PHONY: all clean install distclean test
.NOEXPORT:
-3036
View File
File diff suppressed because it is too large. Load diff
-125
View File
@@ -1,125 +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.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for thos who need that.
Currently we have the following branches in use:
HEAD Will become PHP 6.0. This CVS branch is for active development.
PHP_5_2 Is used to release the PHP 5.2.x series. Only minor feature
enhancements may go in here, but please keep that as infrequent as
possible.
PHP_5_1 This branch is closed.
PHP_4_4 Is used to release the PHP 4.4.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
PHP_4_3 This branch is closed.
The next few rules are more of a technical nature.
1. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
messages every day. Woe be to those who attempt to mess with it.
2. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file.
NB! Lines, starting with @ will go automagically into NEWS file, but
this is NOT recommended, though. Please, add news entries directly to
NEWS file and don't forget to keep them adjusted and sorted.
3. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
provide a nice commit message for each one. See example below.
4. Do write your commit message in such a way that it makes sense even
without the corresponding diff. One should be able to look at it, and
immediately know what was modified. Definitely include the function name
in the message as shown below.
5. In your commit messages, keep each line shorter than 80 characters. And
try to align your lines vertically, if they wrap. It looks bad otherwise.
6. If you modified a function that is callable from PHP, prepend PHP to
the function name as shown below.
The format of the commit messages is pretty simple.
Use a - to start a new item in your commit message.
If a line begins with #, it is taken to be a comment and will not appear
in the ChangeLog. Everything else goes into the ChangeLog.
It is important to note that if your comment or news logline spans multiple
lines, you have to put # at the beginning of _every_ such line.
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
added a new format option for the date() function, and in string.c you fixed a
memory leak in php_trim(). Don't commit both of these at once. Commit them
separately and try to make sure your commit messages look something like the
following.
For datetime.c:
- Added new 'K' format modifier to date() for printing out number of days until
New Year's Eve.
For string.c:
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
#- Man, that thing was leaking all over the place!
The # lines will be omitted from the ChangeLog automagically.
Use the [DOC] tag in your log message whenever you feel that your changes
imply a documentation modification. The php-doc team will automatically
get notified about your commit through the php-doc mailing list.
If you fix some bugs, you should note the bug ID numbers in your
commit message. Bug ID should be prefixed by "#" for easier access to
bug report when developers are browsing CVS via LXR or Bonsai.
Example:
Fixed bug #14016 (pgsql notice handler double free crash bug.)
If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP CVS repository in various ways.
To receive daily updates to ChangeLog and NEWS, send an empty message to
php-cvs-daily-subscribe@lists.php.net.
Happy hacking,
PHP Team
-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");
}
/* }}} */
-130
View File
@@ -1,130 +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
---------------
a - array
b - boolean, stored in zend_bool
d - double
f - function or array containing php method call info (returned as
zend_fcall_info* and zend_fcall_info_cache*)
h - array (returned as HashTable*)
l - long
o - object (of any type)
O - object (of specific type, specified by class entry)
r - resource (stored in zval)
s - string (with possible null bytes) and its length
z - the actual zval
The following characters also have a meaning in the specifier string:
| - indicates that the remaining parameters are optional, they
should be initialized to default values by the extension since they
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
! - the parameter it follows can be of specified type or NULL (only applies
to 's', 'a', 'o', 'O', 'r', 'h', 'C', 'z', and 'Z'). If NULL is passed,
the results pointer is set to NULL as well.
Examples
--------
/* 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.
-1022
View File
File diff suppressed because it is too large. Load diff
-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'
-196
View File
@@ -1,196 +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. There is also
a powerful standard implementation in ext/filter that should suit most
peoples' needs. However, if you want to implement your own security
policy, read on.
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)
zend_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);
}
-136
View File
@@ -1,136 +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/curl
--------
* Have a warning scheme for when people use unsupported features.
ext/oci8
--------
* All OCIFetch*() functions should return 0 for no more data and false on
error.
* Have a flag that trims trailing spaces from CHAR fields on retrieval.
* Make allow_call_time_pass_reference=Off working.
* For additional todo information, see oci8.c, in ext/oci8
ext/odbc
--------
For PHP 4.3.0:
* update all php_error calls to php_error_docref where valid
* integrate EXPERIMENTAL ODBC update for use in PHP 5.0, use for
testing purposes only.
For PHP 5.0.0
* Activate EXPERIMENTAL ODBC codebase update
ext/pcre
--------
* Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe
ext/pcntl
---------
* Change internal callback handler to use TICKS
* Remove all zend_extension code
* Add object callback support to pcntl_signal()
ext/session
-----------
For PHP 4.3.0:
* session_abort() to abort session. ie: Do not save session data.
* Allow unset($_SESSION) or unset($HTTP_SESSION_VARS) to unset
session vars regardless of register_globals setting.
Other:
* Maybe implement finer-grained session variables that could be
locked individually.
* Write a network-transparent storage back-end with fallover
facilities
* Provide a callback facility which is executed upon encountering
an unknown class name during deserialization
ext/standard
------------
* Add a version number to data serialized via serialize().
* Possibly modify parsing of GPC data to automatically create arrays if
variable name is seen more than once.
* Implement regex-cache for url-functions.
* Move socket related functions to fsock.c.
ext/wddx
--------
* See if we can support the remaining data types:
binary
http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
(Andrei)
* implement wddx_packet_as_javascript(). (Andrei)
other cool stuff
----------------
* PVM extension
vim:et:sw=4:ts=4
-4
View File
@@ -1,4 +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)
-89
View File
@@ -1,89 +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: 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-2006, 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
-764
View File
@@ -1,764 +0,0 @@
/*
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2007, 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();
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);
}
/* frees all resources allocated for all threads except current */
void ts_free_worker_threads(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;
}
free(thread_resources);
if (last) {
thread_resources = last->next;
} else {
thread_resources = tsrm_tls_table[hash_value];
}
} else {
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
-177
View File
@@ -1,177 +0,0 @@
/*
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2007, 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
#if !defined(__CYGWIN__) && defined(WIN32)
# define TSRM_WIN32
# include "tsrm_config.w32.h"
#else
# include <tsrm_config.h>
#endif
#ifdef TSRM_WIN32
# ifdef TSRM_EXPORTS
# define TSRM_API __declspec(dllexport)
# else
# define TSRM_API __declspec(dllimport)
# endif
#else
# define TSRM_API
#endif
#ifdef _WIN64
typedef __int64 tsrm_intptr_t;
typedef unsigned __int64 tsrm_uintptr_t;
#else
typedef long tsrm_intptr_t;
typedef unsigned long tsrm_uintptr_t;
#endif
/* Only compile multi-threading functions if we're in ZTS mode */
#ifdef ZTS
#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);
/* frees all resources allocated for all threads except current */
void ts_free_worker_threads(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)
-47
View File
@@ -1,47 +0,0 @@
#ifndef READDIR_H
#define READDIR_H
/*
* Structures and types used to implement opendir/readdir/closedir
* on Windows 95/NT.
*/
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <direct.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 {
HANDLE handle; /* _findfirst/_findnext handle */
short offset; /* offset into directory */
short finished; /* 1 if there are not more files */
WIN32_FIND_DATA fileinfo; /* from _findfirst/_findnext */
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 *);
int 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
-128
View File
@@ -1,128 +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)
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
-62
View File
@@ -1,62 +0,0 @@
#ifndef TSRM_CONFIG_COMMON_H
#define TSRM_CONFIG_COMMON_H
#ifndef __CYGWIN__
# if WINNT|WIN32
# define TSRM_WIN32
# endif
#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
# elif defined(MAX_PATH)
# define MAXPATHLEN MAX_PATH
# 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-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.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-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.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
-310
View File
@@ -1,310 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.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
#ifdef ZTS
#define VIRTUAL_DIR
#endif
#ifndef TSRM_WIN32
#include <unistd.h>
#else
#include <direct.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
#ifdef TSRM_WIN32
CWD_API int php_sys_stat(const char *path, struct stat *buf);
#else
# define php_sys_stat stat
#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
#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, int link TSRMLS_DC);
#endif
/* One of the following constants must be used as the last argument
in virtual_file_ex() call. */
#define CWD_EXPAND 0 /* expand "." and ".." but dont resolve symlinks */
#define CWD_FILEPATH 1 /* resolve symlinks if file is exist otherwise expand */
#define CWD_REALPATH 2 /* call realpath(), resolve symlinks. File must exist */
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath);
CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC);
#define REALPATH_CACHE_TTL (2*60) /* 2 minutes */
#define REALPATH_CACHE_SIZE 0 /* disabled while php.ini isn't loaded */
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;
typedef struct _virtual_cwd_globals {
cwd_state cwd;
long realpath_cache_size;
long realpath_cache_size_limit;
long realpath_cache_ttl;
realpath_cache_bucket *realpath_cache[1024];
} 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
CWD_API void realpath_cache_clean(TSRMLS_D);
CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC);
/* 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, 0 TSRMLS_CC)
#if HAVE_LCHOWN
#define VCWD_LCHOWN(path, owner, group) virtual_chown(path, owner, group, 1 TSRMLS_CC)
#endif
#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) php_sys_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
#define VCWD_REALPATH(path, real_path) tsrm_realpath(path, real_path TSRMLS_CC)
#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)
#if HAVE_LCHOWN
#define VCWD_LCHOWN(path, owner, group) lchown(path, owner, group)
#endif
#endif
#endif
#endif /* VIRTUAL_CWD_H */
-397
View File
@@ -1,397 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.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)
{
if (mode == 1 /*X_OK*/) {
#if 1
/* This code is not supported by Windows 98,
* but we don't support it anymore */
DWORD type;
return GetBinaryType(pathname, &type)?0:-1;
#else
SHFILEINFO sfi;
return access(pathname, 0) == 0 &&
SHGetFileInfo(pathname, 0, &sfi, sizeof(SHFILEINFO), SHGFI_EXETYPE) != 0 ? 0 : -1;
#endif
} 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|CREATE_NO_WINDOW, env, cwd, &startup, &process)) {
return NULL;
}
free(cmd);
CloseHandle(process.hThread);
proc = process_get(NULL TSRMLS_CC);
if (read) {
fno = _open_osfhandle((tsrm_intptr_t)in, _O_RDONLY | mode);
CloseHandle(out);
} else {
fno = _open_osfhandle((tsrm_intptr_t)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_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;
}
} else {
if (flags & IPC_EXCL) {
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-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.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
-548
View File
@@ -1,548 +0,0 @@
$Id$
UPGRADE NOTES - PHP 5.1
1. Changes in reference handling
a. Overview
b. Code that worked under PHP 4.3, but now fails
c. Code that was valid under PHP 4.3, but now throws an error
d. Code that failed under PHP 4.3, but now works
e. Code that 'should have worked' under PHP 5.0
f. Warnings that came and went
2. Reading []
3. instanceof, is_a(), is_subclass_of(), catch
4. Integer values in function parameters
5. Abstract private methods
6. Access modifiers in interfaces
7. Changes in inheritance rules
8. Class constants
9. Extensions
a. Extensions that are gone from the PHP core
b. Class constants in new PHP 5.1 extensions
10. Date/time support
11. Changes in database support
a. PDO overview
b. Changes in MySQL support
c. Changes in SQLite support
12. Further migration information
13. Checking for E_STRICT errors
===============================================================================
1. Changes in reference handling
================================
1a. Overview
============
From the PHP script writer's point of view, the change most likely to impact
legacy code is in the way that references are handled in all PHP versions
post-dating the PHP 4.4.0 release.
Until and including PHP 4.3, it was possible to send, assign or return variables
by reference that should really be returned by value, such as a constant, a
temporary value (e.g. the result of an expression), or the result of a function
that had itself been returned by value, as here:
<?php
$foo = "123";
function return_value() {
global $foo;
return $foo;
}
$bar = &return_value();
?>
Although this code would usually work as expected under PHP 4.3, in the general
case the result is undefined. The Zend Engine could not act correctly on these
values as references. This bug could and did lead to various hard-to-reproduce
memory corruption problems, particularly where the code base was large.
In PHP 4.4.0, PHP 5.0.4 and all subsequent PHP releases, the Engine was fixed
to 'know' when the reference operation is being used on a value that should
not be referenced. The actual value is now used in such cases, and a warning
is emitted. The warning takes the form of an E_NOTICE in PHP 4.4.0 and up,
and E_STRICT in PHP 5.0.4 and up.
Code that could potentially produce memory corruption can no longer do so.
However, some legacy code might work differently as a result.
1b. Code that worked under PHP 4.3, but now fails
=================================================
<?php
function func(&$arraykey) {
return $arraykey; // function returns by value!
}
$array = array('a', 'b', 'c');
foreach (array_keys($array) as $key) {
$y = &func($array[$key]);
$z[] =& $y;
}
var_dump($z);
?>
Running the above script under any version of PHP that pre-dates the reference
fix would produce this output:
array(3) {
[0]=>
&string(1) "a"
[1]=>
&string(1) "b"
[2]=>
&string(1) "c"
}
Following the reference fix, the same code would result in:
array(3) {
[0]=>
&string(1) "c"
[1]=>
&string(1) "c"
[2]=>
&string(1) "c"
}
This is because, following the changes, func() assigns by value. The value
of $y is re-assigned, and reference-binding is preserved from $z. Prior
to the fix, the value was assigned by reference, leading $y to be
re-bound on each assignment. The attempt to bind to a temporary value
by reference was the cause of the memory corruption.
Such code can be made to work identically in both the pre-fix and the
post-fix PHP versions. The signature of func() can be altered to return
by reference, or the reference assignment can be removed from the result
of func().
<?php
function func() {
return 'function return';
}
$x = 'original value';
$y =& $x;
$y = &func();
echo $x;
?>
In PHP 4.3 $x would be 'original value', whereas after the changes it would
be 'function return' - remember that where the function does not return by
reference, the reference assignment is converted to a regular assignment.
Again, this can be brought to a common base, either by forcing func() to
return by reference or by eliminating the by-reference assignment.
1c. Code that was valid under PHP 4.3, but now throws an error
==============================================================
<?php
class Foo {
function getThis() {
return $this;
}
function destroyThis() {
$baz =& $this->getThis();
}
}
$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>
In PHP 5.0.3, $bar evaluated to NULL instead of returning an object.
That happened because getThis() returns by value, but the value here
is assigned by reference. Although it now works in the expected way,
this is actually invalid code which will throw an E_NOTICE under
PHP 4.4 or an E_STRICT under PHP 5.0.4 and up.
1d. Code that failed under PHP 4.3, but now works
=================================================
<?php
function &f() {
$x = "foo";
var_dump($x);
print "$x\n";
return($a);
}
for ($i = 0; $i < 3; $i++) {
$h = &f();
}
?>
In PHP 4.3 the third call to var_dump produces NULL, due to the memory
corruption caused by returning an uninitialized value by reference.
This is valid code in PHP 5.0.4 and up, but threw errors in earlier
releases of PHP.
<?php
$arr = array('a1' => array('alfa' => 'ok'));
$arr =& $arr['a1'];
echo '-'.$arr['alfa']."-\n";
?>
Until PHP 5.0.5, it wasn't possible to assign an array element by
reference in this way. It now is.
1e. Code that 'should have worked' under PHP 5.0
================================================
There are a couple of instances of bugs reported under PHP 5.0 prior
to the reference fixes which now 'work'. However, in both cases errors
are thrown by PHP 5.1, because the code was invalid in the first place.
Returning values by reference using self:: now works in the general
case but throws an E_STRICT warning, and although your mileage may
vary when assigning by reference to an overloaded object, you will
still see an E_ERROR when you try it, even where the assignment
itself appears to work.
1f. Warnings that came and went
===============================
<?php
function & foo() {
$var = 'ok';
return $var;
}
function & bar() {
return foo();
}
$a =& bar();
echo "$a\n";
?>
Nested calls to functions returning by reference are valid code under both
PHP 4.3 and PHP 5.1, but threw an unwarranted E_NOTICE or E_STRICT under
the intervening PHP releases.
2. Reading []
=============
<?php
class XmlTest {
function test_ref(&$test) {
$test = "ok";
}
function test($test) { }
function run() {
$ar = array();
$this->test_ref($ar[]);
var_dump($ar);
$this->test($ar[]);
}
}
$o = new XmlTest();
$o->run();
?>
This should always have thrown a fatal E_ERROR, because [] cannot be used
for reading in PHP. It is invalid code in PHP 4.4.2 and PHP 5.0.5 upward.
3. instanceof, is_a(), is_subclass_of(), catch
==============================================
In PHP 5.0, is_a() was deprecated and replaced by the "instanceof" operator.
There were some issues with the initial implementation of "instanceof", which
relied on __autoload() to search for missing classes. If the class was not
present, "instanceof" would throw a fatal E_ERROR due to the failure of
__autoload() to discover that class. The same behaviour occurred in the
"catch" operator and the is_subclass_of() function, for the same reason.
None of these functions or operators call __autoload() in PHP 5.1, and
the class_exists() workarounds used in code written for PHP 5.0, while
not problematic in any way, are no longer necessary.
4. Integer values in function parameters
========================================
With the advent of PHP 5.0, a new parameter parsing API was introduced
which is used by a large number of PHP functions. In all versions of
PHP between 5.0 and 5.1, the handling of integer values was very strict
and would reject non-well formed numeric values when a PHP function
expected an integer. These checks have now been relaxed to support
non-well formed numeric strings such as " 123" and "123 ", and will
no longer fail as they did under PHP 5.0. However, to promote code
safety and input validation, PHP functions will now emit an E_NOTICE
when such strings are passed as integers.
5. Abstract private methods
===========================
Abstract private methods were supported between PHP 5.0.0 and PHP 5.0.4,
but were then disallowed on the grounds that the behaviours of 'private'
and 'abstract' are mutually exclusive.
6. Access modifiers in interfaces
=================================
Under PHP 5.0, function declarations in interfaces were treated in exactly
the same way as function declarations in classes. This has not been the case
since October 2004, at which point only the 'public' access modifier was
allowed in interface function declarations. Since April 2005 - which pre-dates
the PHP 5.0b1 release - the 'static' modifier has also been allowed. However,
the 'protected' and 'private' modifiers will now throw an E_ERROR, as will
'abstract'. Note that this change should not affect your existing code, as
none of these modifiers makes sense in the context of interfaces anyway.
7. Changes in inheritance rules
===============================
Under PHP 5.0, it was possible to have a function declaration in a derived class
that did not match the declaration of the same function in the base class, e.g.
class Base {
function &return_by_ref() {
$r = 1;
return $r;
}
}
class Derived extends Base {
function return_by_ref() {
return 1;
}
}
This code will cause an E_STRICT error to be emitted under PHP 5.1.
8. Class constants
==================
Under PHP 5.0, the following code was valid:
<?php
class test {
const foobar = 'foo';
const foobar = 'bar';
}
?>
Under PHP 5.1, redefinition of a class constant will throw a fatal E_ERROR.
9. Extensions
=============
9a. Extensions that are gone from the PHP core
==============================================
One of the first things you're likely to notice when you download PHP 5.1 is that
several of the older extensions have disappeared. Those extensions that are still
actively maintained are available in the PHP Extension Community Library (PECL),
at http://pecl.php.net. Windows binaries are built regularly, and you can obtain
the binaries for PECL extensions built against PHP 5.1 from
http://pecl4win.php.net/list.php/5_1.
Extension Alternative/status
========= ========================
ext/cpdf pecl/pdflib
ext/dbx pecl/dbx
ext/dio pecl/dio
ext/fam not actively maintained
ext/ingres_ii pecl/ingres
ext/ircg not actively maintained
ext/mcve pecl/mcve
ext/mnogosearch not actively maintained
ext/oracle ext/oci8 or ext/pdo_oci
ext/ovrimos not actively maintained
ext/pfpro not actively maintained
- alternatives at http://pecl.php.net/packages.php?catpid=18&catname=Payment
ext/w32api pecl/ffi
ext/yp not actively maintained
sapi/activescript http://pecl4win.php.net/ext.php/php5activescript.dll (PECL package)
or pecl/activescript (CVS)
Modules in PECL that are not actively maintained (i.e. have not been supported
for some time, have no active maintainer working on them currently, and do not
have any PECL package releases), are still available in CVS at
http://cvs.php.net/pecl/. However, unreleased PHP modules are by their nature
unsupported, and your mileage may vary when attempting to install or use them.
9b. Class constants in new PHP 5.1 extensions
=============================================
The Zend Engine 2.1 API allows extension developers to declare class constants
in object oriented extensions. New extensions written for PHP 5.1, including SPL,
PDO, ext/XMLReader and ext/date, have their constants in the format
PDO::CLASS_CONSTANT
rather than in the C format
PDO_CLASS_CONSTANT
in order to minimise pollution of the global namespace in PHP.
10. Date/time support
====================
Date/time support has been fully rewritten in PHP 5.1, and no longer
uses the system settings to 'know' the timezone in operation. It will
instead utilize, in the following order:
* The timezone set using the date_default_timezone_set() function (if any)
* The TZ environment variable (if non empty)
* The date.timezone ini option (if set)
* "magical" guess (if the operating system supports it)
* If none of the above options succeeds, UTC
To ensure accuracy (and avoid an E_STRICT warning), you will need to define
your timezone in your php.ini using the following format:
date.timezone = Europe/London
The supported timezones are listed, in this format, in the PHP manual at
http://www.php.net/manual/en/timezones.php.
11. Changes in database support
==============================
11a. PDO overview
================
PHP Data Objects (PDO) were introduced as a PECL extension under PHP 5.0,
and became part of the core PHP distribution in PHP 5.1. The PDO extension
provides a consistent interface for database access, and is used alongside
database-specific PDO drivers. Each driver may also have database-specific
functions of its own, but basic data access functionality such as issuing
queries and fetching data is covered by PDO functions, using the driver
named in PDO::__construct().
Note that the PDO extension, and its drivers, are intended to be built as
shared extensions. This will enable straightforward driver upgrades from
PECL, without forcing you to rebuild all of PHP.
At the point of the PHP 5.1 release, PDO is more than ready for widespread
testing and could be adopted in most situations. However, it is important
to understand that PDO and its drivers are comparatively young and may be
missing certain database-specific features; evaluate PDO carefully before
you use it in new projects.
Legacy code will generally rely on the pre-existing database extensions,
which are still maintained.
There is more in-depth information about the PDO extension in the manual
at http://www.php.net/manual/ref.pdo.php.
11b. Changes in MySQL support
============================
In PHP 4, MySQL 3 support was built-in. With the release of PHP 5.0 there
were two MySQL extensions, named 'mysql' and 'mysqli', which were designed
to support MySQL < 4.1 and MySQL 4.1 and up, respectively. With the
introduction of PDO, which provides a very fast interface to all the
database APIs supported by PHP, the PDO_MYSQL driver can support any
of the current versions (MySQL 3, 4 or 5) in PHP code written for PDO,
depending on the MySQL library version used during compilation. The
older MySQL extensions remain in place for reasons of back compatibility,
but are not enabled by default.
11c. Changes in SQLite support
=============================
In PHP 5.0, SQLite 2 support was provided by the built-in sqlite
extension, which was also available as a PECL extension in PHP 4.3
and PHP 4.4. With the introduction of PDO, the sqlite extension doubles
up to act as a 'sqlite2' driver for PDO; it is due to this that the
sqlite extension in PHP 5.1 has a dependency upon the PDO extension.
PHP 5.1 ships with a number of alternative interfaces to sqlite:
The sqlite extension provides the "classic" sqlite procedural/OO API
that you may have used in prior versions of PHP. It also provides the
PDO 'sqlite2' driver, which allows you to access legacy SQLite 2
databases using the PDO API.
PDO_SQLITE provides the 'sqlite' version 3 driver. SQLite version 3
is vastly superior to SQLite version 2, but the file formats of the
two versions are not compatible.
If your SQLite-based project is already written and working against
earlier PHP versions, then you can continue to use ext/sqlite without
problems, but will need to explicitly enable both PDO and sqlite. New
projects should use PDO and the 'sqlite' (version 3) driver, as this is
faster than SQLite 2, has improved locking concurrency, and supports
both prepared statements and binary columns natively.
12. Further migration information
================================
For general information about migrating from PHP 4 to PHP 5, please refer to
the relevant section in the PHP manual at http://www.php.net/manual/migration5.php.
13. Checking for E_STRICT errors
================================
If you only have a single script to check, you can pick up E_STRICT
errors using PHP's commandline lint facility:
php -d error_reporting=4095 -l script_to_check.php
For larger projects, the shell script below will achieve the same task:
#!/bin/sh
directory=$1
shift
# These extensions are checked
extensions="php inc"
check_file ()
{
echo -ne "Doing PHP syntax check on $1 ..."
# Options:
ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`
if test -z "$ERRORS"; then
echo -ne "OK."
else
echo -e "Errors found!\n$ERRORS"
fi
echo
}
# loop over remaining file args
for FILE in "$@" ; do
for ext in $extensions; do
if echo $FILE | grep "\.$ext$" > /dev/null; then
if test -f $FILE; then
check_file "$FILE"
fi
fi
done
done
-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-2006 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_default_classes.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
-34
View File
@@ -1,34 +0,0 @@
Zend Memory Manager
===================
General:
--------
The goal of the new memory manager (available since PHP 5.2) is to reduce memory
allocation overhead and speedup memory management.
The new manager's "configure" has no "--disable-zend-memory-manager" option,
but it has "--enable-malloc-mm" instead. It is enabled by default in DEBUG
build and disabled by default in RELEASE build. when enabled it allows selecting
between malloc and emalloc at runtime so you can use internal and external memory
debuggers without recompilation.
Debugging:
----------
Normal:
$ sapi/cli/php -r 'leak();'
Zend MM disabled:
$ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'
Tweaking:
---------
The Zend MM can be tweaked using ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment
variables. Default values are "malloc" and "256K". Dependent on target system you
can also use "mmap_anon", "mmap_zero" and "win32" storage managers.
$ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php ..etc.
-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
-594
View File
@@ -1,594 +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_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_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_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_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
-390
View File
@@ -1,390 +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(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(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 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 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_MAINTAINER_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
CFLAGS="$CFLAGS -DZTS"
LIBZEND_CPLUSPLUS_CHECKS
fi
if test "$ZEND_MULTIBYTE" = "yes"; then
AC_DEFINE(ZEND_MULTIBYTE, 1, [ ])
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)
dnl test for memory allocation using mmap(MAP_ANON)
AC_MSG_CHECKING(for memory allocation using mmap(MAP_ANON))
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <stdio.h>
#ifndef MAP_ANON
# ifdef MAP_ANONYMOUS
# define MAP_ANON MAP_ANONYMOUS
# endif
#endif
#ifndef MREMAP_MAYMOVE
# define MREMAP_MAYMOVE 0
#endif
#ifndef MAP_FAILED
# define MAP_FAILED ((void*)-1)
#endif
#define SEG_SIZE (256*1024)
int main()
{
void *seg = mmap(NULL, SEG_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
if (seg == MAP_FAILED) {
return 1;
}
if (munmap(seg, SEG_SIZE) != 0) {
return 2;
}
return 0;
}
], [
AC_DEFINE([HAVE_MEM_MMAP_ANON], 1, [Define if the target system has support for memory allocation using mmap(MAP_ANON)])
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
], [
dnl cross-compile needs something here
AC_MSG_RESULT(no)
])
dnl test for memory allocation using mmap("/dev/zero")
AC_MSG_CHECKING(for memory allocation using mmap("/dev/zero"))
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <stdio.h>
#ifndef MAP_ANON
# ifdef MAP_ANONYMOUS
# define MAP_ANON MAP_ANONYMOUS
# endif
#endif
#ifndef MREMAP_MAYMOVE
# define MREMAP_MAYMOVE 0
#endif
#ifndef MAP_FAILED
# define MAP_FAILED ((void*)-1)
#endif
#define SEG_SIZE (256*1024)
int main()
{
int fd;
void *seg;
fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
if (fd < 0) {
return 1;
}
seg = mmap(NULL, SEG_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
if (seg == MAP_FAILED) {
return 2;
}
if (munmap(seg, SEG_SIZE) != 0) {
return 3;
}
if (close(fd) != 0) {
return 4;
}
return 0;
}
], [
AC_DEFINE([HAVE_MEM_MMAP_ZERO], 1, [Define if the target system has support for memory allocation using mmap("/dev/zero")])
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
], [
dnl cross-compile needs something here
AC_MSG_RESULT(no)
])
AC_CHECK_FUNCS(mremap)
])
AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
])
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define if the target system has /dev/urandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
-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
-728
View File
@@ -1,728 +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
# ADD CPP /I "..\TSRM"
# 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_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_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_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_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-2007 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:
*/
-107
View File
@@ -1,107 +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 2.1 2.2 2.3"
# for standalone build of Zend Engine
test -z "$SED" && SED=sed
bison_version=none
if test "$YACC"; then
AC_CACHE_CHECK([for bison version], php_cv_bison_version, [
bison_version_vars=`bison --version 2> /dev/null | grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /' | tr -d a-z`
php_cv_bison_version=invalid
if test -n "$bison_version_vars"; then
set $bison_version_vars
bison_version="${1}.${2}"
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)"
break
fi
done
fi
])
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'
])
-420
View File
@@ -1,420 +0,0 @@
<?php
date_default_timezone_set("UTC");
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 hash1($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)");
hash1(50000);
$t = end_test($t, "hash1(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-2006 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
| 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$ */
-54
View File
@@ -1,54 +0,0 @@
--TEST--
func_num_args() tests
--FILE--
<?php
function test1() {
var_dump(func_num_args());
}
function test2($a) {
var_dump(func_num_args());
}
function test3($a, $b) {
var_dump(func_num_args());
}
test1();
test2(1);
test2();
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_num_args());
}
}
test::test1(1);
var_dump(func_num_args());
echo "Done\n";
?>
--EXPECTF--
int(0)
int(1)
Warning: Missing argument 1 for test2(), called in %s on line %d
int(0)
int(2)
int(0)
Warning: Missing argument 2 for test3() in %s on line %d
int(1)
int(2)
int(1)
Warning: func_num_args(): Called from the global scope - no function context in %s on line %d
int(-1)
Done
-108
View File
@@ -1,108 +0,0 @@
--TEST--
func_get_arg() tests
--FILE--
<?php
function test1() {
var_dump(func_get_arg(-10));
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
}
function test2($a) {
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
}
function test3($a, $b) {
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
var_dump(func_get_arg(2));
}
test1();
test1(10);
test2(1);
test2();
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_get_arg(0));
var_dump(func_get_arg(1));
}
}
test::test1(1);
var_dump(func_get_arg(1));
echo "Done\n";
?>
--EXPECTF--
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 0 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
int(10)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: Missing argument 1 for test2(), called in %s on line %d and defined in %s on line %d
Warning: func_get_arg(): Argument 0 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
int(1)
int(2)
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 0 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: Missing argument 2 for test3() in %s on line %d
int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
int(1)
int(2)
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Called from the global scope - no function context in %s on line %d
bool(false)
Done
-81
View File
@@ -1,81 +0,0 @@
--TEST--
func_get_args() tests
--FILE--
<?php
function test1() {
var_dump(func_get_args());
}
function test2($a) {
var_dump(func_get_args());
}
function test3($a, $b) {
var_dump(func_get_args());
}
test1();
test1(10);
test2(1);
test2();
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_get_args());
}
}
test::test1(1);
var_dump(func_get_args());
echo "Done\n";
?>
--EXPECTF--
array(0) {
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1)
}
Warning: Missing argument 1 for test2(), called in %s on line %d and defined in %s on line %d
array(0) {
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
array(0) {
}
Warning: Missing argument 2 for test3() in %s on line %d
array(1) {
[0]=>
int(1)
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
array(1) {
[0]=>
int(1)
}
Warning: func_get_args(): Called from the global scope - no function context in %s on line %d
bool(false)
Done
-25
View File
@@ -1,25 +0,0 @@
--TEST--
strncmp() tests
--FILE--
<?php
var_dump(strncmp("", ""));
var_dump(strncmp("", "", 100));
var_dump(strncmp("aef", "dfsgbdf", -1));
var_dump(strncmp("fghjkl", "qwer", 0));
var_dump(strncmp("qwerty", "qwerty123", 6));
var_dump(strncmp("qwerty", "qwerty123", 7));
echo "Done\n";
?>
--EXPECTF--
Warning: Wrong parameter count for strncmp() in %s on line %d
NULL
int(0)
Warning: Length must be greater than or equal to 0 in %s on line %d
bool(false)
int(0)
int(0)
int(-1)
Done
-27
View File
@@ -1,27 +0,0 @@
--TEST--
strcasecmp() tests
--FILE--
<?php
var_dump(strcasecmp(""));
var_dump(strcasecmp("", ""));
var_dump(strcasecmp("aef", "dfsgbdf"));
var_dump(strcasecmp("qwe", "qwer"));
var_dump(strcasecmp("qwerty", "QweRty"));
var_dump(strcasecmp("qwErtY", "qwerty"));
var_dump(strcasecmp("q123", "Q123"));
var_dump(strcasecmp("01", "01"));
echo "Done\n";
?>
--EXPECTF--
Warning: Wrong parameter count for strcasecmp() in %s on line %d
NULL
int(0)
int(-3)
int(-1)
int(0)
int(0)
int(0)
int(0)
Done
-31
View File
@@ -1,31 +0,0 @@
--TEST--
strncasecmp() tests
--FILE--
<?php
var_dump(strncasecmp(""));
var_dump(strncasecmp("", "", -1));
var_dump(strncasecmp("aef", "dfsgbdf", 0));
var_dump(strncasecmp("aef", "dfsgbdf", 10));
var_dump(strncasecmp("qwe", "qwer", 3));
var_dump(strncasecmp("qwerty", "QweRty", 6));
var_dump(strncasecmp("qwErtY", "qwer", 7));
var_dump(strncasecmp("q123", "Q123", 3));
var_dump(strncasecmp("01", "01", 1000));
echo "Done\n";
?>
--EXPECTF--
Warning: Wrong parameter count for strncasecmp() in %s on line %d
NULL
Warning: Length must be greater than or equal to 0 in %s on line %d
bool(false)
int(0)
int(-3)
int(0)
int(0)
int(2)
int(0)
int(0)
Done
-63
View File
@@ -1,63 +0,0 @@
--TEST--
each() tests
--FILE--
<?php
var_dump(each());
$var = 1;
var_dump(each($var));
$var = "string";
var_dump(each($var));
$var = array(1,2,3);
var_dump(each($var));
$var = array("a"=>1,"b"=>2,"c"=>3);
var_dump(each($var));
$a = array(1);
$a [] =&$a[0];
var_dump(each($a));
echo "Done\n";
?>
--EXPECTF--
Warning: Wrong parameter count for each() in %s on line %d
NULL
Warning: Variable passed to each() is not an array or object in %s on line %d
NULL
Warning: Variable passed to each() is not an array or object in %s on line %d
NULL
array(4) {
[1]=>
int(1)
["value"]=>
int(1)
[0]=>
int(0)
["key"]=>
int(0)
}
array(4) {
[1]=>
int(1)
["value"]=>
int(1)
[0]=>
string(1) "a"
["key"]=>
string(1) "a"
}
array(4) {
[1]=>
int(1)
["value"]=>
int(1)
[0]=>
int(0)
["key"]=>
int(0)
}
Done
-53
View File
@@ -1,53 +0,0 @@
--TEST--
define() tests
--FILE--
<?php
var_dump(define());
var_dump(define("TRUE"));
var_dump(define("TRUE", 1));
var_dump(define("TRUE", 1, array(1)));
var_dump(define(array(1,2,3,4,5), 1));
var_dump(define(" ", 1));
var_dump(define("[[[", 2));
var_dump(define("test const", 3));
var_dump(define("test const", 3));
var_dump(define("test", array(1)));
var_dump(define("test1", new stdclass));
var_dump(constant(" "));
var_dump(constant("[[["));
var_dump(constant("test const"));
echo "Done\n";
?>
--EXPECTF--
Warning: Wrong parameter count for define() in %s on line %d
NULL
Warning: Wrong parameter count for define() in %s on line %d
NULL
bool(true)
Notice: Constant true already defined in %s on line %d
bool(false)
Notice: Array to string conversion in %s on line %d
bool(true)
bool(true)
bool(true)
bool(true)
Notice: Constant test const already defined in %s on line %d
bool(false)
Warning: Constants may only evaluate to scalar values in %s on line %d
bool(false)
Warning: Constants may only evaluate to scalar values in %s on line %d
bool(false)
int(1)
int(2)
int(3)
Done
-46
View File
@@ -1,46 +0,0 @@
--TEST--
get_class() tests
--FILE--
<?php
class foo {
function bar () {
var_dump(get_class());
}
}
class foo2 extends foo {
}
foo::bar();
foo2::bar();
$f1 = new foo;
$f2 = new foo2;
$f1->bar();
$f2->bar();
var_dump(get_class());
var_dump(get_class("qwerty"));
var_dump(get_class($f1));
var_dump(get_class($f2));
echo "Done\n";
?>
--EXPECTF--
Strict Standards: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
Strict Standards: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
string(3) "foo"
string(3) "foo"
Warning: get_class() called without object from outside a class in %s on line %d
bool(false)
bool(false)
string(3) "foo"
string(4) "foo2"
Done
-59
View File
@@ -1,59 +0,0 @@
--TEST--
get_parent_class() tests
--FILE--
<?php
interface i {
function test();
}
class foo implements i {
function test() {
var_dump(get_parent_class());
}
}
class bar extends foo {
function test_bar() {
var_dump(get_parent_class());
}
}
$bar = new bar;
$foo = new foo;
$foo->test();
$bar->test();
$bar->test_bar();
var_dump(get_parent_class($bar));
var_dump(get_parent_class($foo));
var_dump(get_parent_class("bar"));
var_dump(get_parent_class("foo"));
var_dump(get_parent_class("i"));
var_dump(get_parent_class(""));
var_dump(get_parent_class("[[[["));
var_dump(get_parent_class(" "));
var_dump(get_parent_class(new stdclass));
var_dump(get_parent_class(array()));
var_dump(get_parent_class(1));
echo "Done\n";
?>
--EXPECTF--
bool(false)
bool(false)
string(3) "foo"
string(3) "foo"
bool(false)
string(3) "foo"
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
Done
-89
View File
@@ -1,89 +0,0 @@
--TEST--
property_exists() tests
--FILE--
<?php
class foo {
public $pp1 = 1;
private $pp2 = 2;
protected $pp3 = 3;
function bar() {
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
}
}
class bar extends foo {
function test() {
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
}
}
var_dump(property_exists());
var_dump(property_exists(""));
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
var_dump(property_exists("foo","nonexistent"));
var_dump(property_exists("fo","nonexistent"));
var_dump(property_exists("foo",""));
var_dump(property_exists("","test"));
var_dump(property_exists("",""));
$foo = new foo;
var_dump(property_exists($foo,"pp1"));
var_dump(property_exists($foo,"pp2"));
var_dump(property_exists($foo,"pp3"));
var_dump(property_exists($foo,"nonexistent"));
var_dump(property_exists($foo,""));
var_dump(property_exists(array(),"test"));
var_dump(property_exists(1,"test"));
var_dump(property_exists(true,"test"));
$foo->bar();
$bar = new bar;
$bar->test();
echo "Done\n";
?>
--EXPECTF--
Warning: Wrong parameter count for property_exists() in %s on line %d
NULL
Warning: Wrong parameter count for property_exists() in %s on line %d
NULL
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
Warning: First parameter must either be an object or the name of an existing class in %s on line %d
NULL
Warning: First parameter must either be an object or the name of an existing class in %s on line %d
NULL
Warning: First parameter must either be an object or the name of an existing class in %s on line %d
NULL
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
Done
-34
View File
@@ -1,34 +0,0 @@
--TEST--
class_exists() tests
--FILE--
<?php
class foo {
}
var_dump(class_exists());
var_dump(class_exists("qwerty"));
var_dump(class_exists(""));
var_dump(class_exists(array()));
var_dump(class_exists("test", false));
var_dump(class_exists("foo", false));
var_dump(class_exists("foo"));
var_dump(class_exists("stdClass", false));
var_dump(class_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
Warning: class_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
bool(false)
Warning: class_exists() expects parameter 1 to be string, array given in %s on line %d
NULL
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
Done
-34
View File
@@ -1,34 +0,0 @@
--TEST--
interface_exists() tests
--FILE--
<?php
interface foo {
}
var_dump(interface_exists());
var_dump(interface_exists("qwerty"));
var_dump(interface_exists(""));
var_dump(interface_exists(array()));
var_dump(interface_exists("test", false));
var_dump(interface_exists("foo", false));
var_dump(interface_exists("foo"));
var_dump(interface_exists("stdClass", false));
var_dump(interface_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
Warning: interface_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
bool(false)
Warning: interface_exists() expects parameter 1 to be string, array given in %s on line %d
NULL
bool(false)
bool(true)
bool(true)
bool(false)
bool(false)
Done
-3
View File
@@ -1,3 +0,0 @@
<?php
/* dummy file for 014.phpt */
?>
Loaded 100 of 6615 files, more files were not shown because too many files have changed in this diff. Show more