Compare commits

..
4487 Commits
Author SHA1 Message Date
SVN Migration 1002acbac0 This commit was manufactured by cvs2svn to create tag 'BEFORE_ARG_INFO'. 2003-08-03 13:58:21 +00:00
Moriyoshi Koizumi f05452fbcd Disable the test temporarily because "-d" flags in the command line doesn't
take effect under CGI mode. (See the relevant portion of cgi_main.c
that begins at line 996)
2003-08-03 13:58:20 +00:00
Tomas V.V.Cox 7c58f22aaf Made package dep checking to work again
(Seems that this line got lost at some point)
2003-08-03 13:44:36 +00:00
Uwe Schindler 52da23faf4 Fix Win32 Build because of missint TSRM stuff 2003-08-03 11:22:53 +00:00
Zeev Suraski 7112d3a3f8 No need for this initialization - this function initializes all of the
elements of zend_internal_function
2003-08-03 10:32:40 +00:00
Zeev Suraski 8b4bd4a8ec Clean up. extended_value can only contain either ZEND_UNSET_DIM or
ZEND_UNSET_OBJ.
2003-08-03 08:23:25 +00:00
Zeev Suraski 9d7122fb53 Generalize fetch_class 2003-08-03 08:21:08 +00:00
973b85672b ChangeLog update 2003-08-03 00:30:27 +00:00
Marcus Boerger 4f1e331c4d Initialize all struct members: Necessary for reflection 2003-08-02 19:03:14 +00:00
Ilia Alshanetsky d2bf1c1338 Fixed bug #24177 (Status not set correctly after flush() in Apache 2) 2003-08-02 18:29:30 +00:00
Tomas V.V.Cox ede834c8b1 fix invalid $fp check (by nicox@php.net) 2003-08-02 15:34:19 +00:00
Tomas V.V.Cox ad9875b877 upgrade-all back to work 2003-08-02 14:59:44 +00:00
Tomas V.V.Cox 6aa44378f3 trailing ws 2003-08-02 14:57:59 +00:00
Marcus Boerger 04c90c8738 Show interfaces 2003-08-02 14:22:18 +00:00
Marcus Boerger 54df2e14b4 Use correct macro 2003-08-02 13:49:12 +00:00
Wez Furlong 0b6f7bddf4 fix usage of instanceof here too 2003-08-02 11:43:55 +00:00
Marcus Boerger 4fa6eac1f8 Fix warning 2003-08-02 11:39:15 +00:00
be9986eb8e ChangeLog update 2003-08-02 00:30:27 +00:00
Ilia Alshanetsky 2b768e8bdc Fixed bug #22072 (Apache2 sapis do not detect aborted connections). 2003-08-01 20:20:11 +00:00
Wez Furlong 5c4de2664c better fix... 2003-08-01 17:51:56 +00:00
Ilia Alshanetsky 3253746c26 Preserve exit status for non-php execution modes. 2003-08-01 16:52:49 +00:00
Wez Furlong ad12b3da82 Fix "O" format for zend_parse_parameters 2003-08-01 16:48:11 +00:00
Ilia Alshanetsky 68616d764c Fixed bug #23509 (exit code lost when exit() called from
register_shutdown_function())
2003-08-01 12:26:28 +00:00
Andrey Hristov a0ad4f949e Removed the unnecessary check of array_init() return value. 2003-08-01 11:09:11 +00:00
Edin Kadribasic e6adc8fa15 Add missing .cvsignore files. 2003-08-01 09:48:57 +00:00
John Coggeshall ac08f881e7 Segfault fix. 2003-08-01 09:48:06 +00:00
John Coggeshall b724930c06 Fixed a number of memleaks and cleaned up the code a bit. 2003-08-01 09:12:35 +00:00
6e49dd99c8 ChangeLog update 2003-08-01 00:30:42 +00:00
John Coggeshall 2fb97cdf95 Adding the tidy extension to PECL 2003-08-01 00:22:43 +00:00
Ilia Alshanetsky de7f7658cf Only register server variables when needed. 2003-07-31 22:56:57 +00:00
Ilia Alshanetsky 0eb76eb2ec Fixed bug #24883 (variables created through register_globals, ignore
gpc_order and variables_order).
Prevent multiple registration of ENV & SERVER variables when more then one
is specified.
Prevent multiple addition of GET/POST/COOKIE variables when building
_REQUEST.
2003-07-31 22:29:32 +00:00
Ilia Alshanetsky ecbcd7f59f Fixed bug #22154 (Possible crash when memory_limit is reached and
output buffering in addition to session.use_trans_sid is used).
2003-07-31 19:46:03 +00:00
foobar 88cbc175ea - Removed the unnecessary check of array_init() return value. 2003-07-31 18:28:47 +00:00
Zeev Suraski 4f6b315211 Use instanceof_function() 2003-07-31 16:30:15 +00:00
Zeev Suraski accd6b623b Finish the array overloading patch 2003-07-31 09:06:11 +00:00
Zeev Suraski d95a6916de Cleanup 2003-07-31 08:24:55 +00:00
Andi Gutmans 7055fda013 - Fix logic. It was the wrong way around. 2003-07-31 05:08:59 +00:00
8d75e7082d ChangeLog update 2003-07-31 00:30:27 +00:00
foobar 57ca69c014 Revert the fix for now 2003-07-30 21:56:45 +00:00
Andi Gutmans 8264eedc48 - Fix problem with hash when updating same bucket with data of different
sizes one after another.
- Fix number of arguments to read_dimension.
2003-07-30 19:47:39 +00:00
Ilia Alshanetsky 9ba651c692 Fixed bug #24873 (incorrect handling of / inside open_basedir) 2003-07-30 17:55:06 +00:00
Zeev Suraski 68fa4e50f8 Get rid of an opcode 2003-07-30 17:49:27 +00:00
Zeev Suraski f41f62c2ff Support overloading of $foo["bar"] += "baz" 2003-07-30 17:40:54 +00:00
Ilia Alshanetsky c7a45fc9da Fixed bug #23792 (8 bit graphics don't rotate properly)
Patch by: pajoye@php.net
2003-07-30 17:34:11 +00:00
Zeev Suraski c0b46739ca Improve array overloading - support unset($foo["bar"]) 2003-07-30 17:12:06 +00:00
Zeev Suraski 4839ce5952 Remove garbage 2003-07-30 17:02:41 +00:00
Zeev Suraski 0d77cf2a33 Call exec_finished() 2003-07-30 16:15:03 +00:00
Zeev Suraski 2fd4ffce17 Add exec_finished() callback for modules - this is the last place where the
modules may touch the symbol table reliably
2003-07-30 16:13:52 +00:00
foobar 81c5e49a68 Fix build on certain platforms which do not accept #include FOOBAR 2003-07-30 14:09:42 +00:00
Adam Dickmeiss 72aa064016 Fix yaz_record, type array to return bibliographic record part 2003-07-30 09:53:39 +00:00
815be4e5c6 ChangeLog update 2003-07-30 00:30:26 +00:00
Ilia Alshanetsky 4d98e9ec97 Finalize the closing process of persistent streams. The current
behavior/API is as follows:

1) To close a persistent use php_stream_pclose(), it will close the stream
and remove it from the persistent list.

2) Inside PHP code only explicit fclose() will close persistent streams,
all other actions such as unset() or assigning a value to stream handle
will not.

3) Regular streams can still be closed by either fclose(), unset() or an
assignment of a value to the stream handler.
2003-07-29 18:26:34 +00:00
Ilia Alshanetsky 7b18132dba Test case for bug #22836. 2003-07-29 17:56:50 +00:00
Rob Richards a5a859361b increment refcount for arrays passed to xml_set_handler 2003-07-29 13:34:50 +00:00
foobar c50fbaf69a Remove the obfuscation caused by the double "#ifdef ZTS" 2003-07-29 01:30:59 +00:00
Ilia Alshanetsky 37ee0e57cc Fixed a double free bug when freeing persistent streams. 2003-07-28 18:57:28 +00:00
Ilia Alshanetsky abe2afcf6e Make pclose() respect references. 2003-07-28 14:42:42 +00:00
foobar 082f49a27b Fixed bug #24839 (missing </div>) 2003-07-28 10:44:19 +00:00
foobar 4babf66753 ws fix 2003-07-28 10:23:36 +00:00
Ilia Alshanetsky f9cf39bd30 Fixed bug #13142 (strtotime not handling "M d H:i:s Y" format) 2003-07-28 04:01:32 +00:00
8aef486417 ChangeLog update 2003-07-28 00:30:27 +00:00
Rob Richards 4d31aa4444 Fix bug #24801 (xml_call_handler() causes segmentation fault) 2003-07-27 20:32:55 +00:00
Rob Richards 7ba3cb8c1e remove xml debug code 2003-07-27 20:21:36 +00:00
Ilia Alshanetsky cd4a281364 Fixed bug #24557 (make fclose() respect refcount on the resource). 2003-07-27 18:45:02 +00:00
Ilia Alshanetsky 308df2af54 Fixed bug #24827 (ob_gzhandler overrides Vary header) 2003-07-27 18:16:06 +00:00
Rob Richards 43bc2f0b6d reworking xml namespace support
add node lookupNamespaceURI and lookupPrefix
add attr isId
2003-07-27 17:57:06 +00:00
Marcus Boerger b156ac9703 #damn 2003-07-27 17:44:20 +00:00
Marcus Boerger dbc6519b1a In protocol version < 3 we cannot test transaction status and do unconditional ROLLBACK; 2003-07-27 17:05:56 +00:00
Marcus Boerger f5f60e6fea Added new function pg_parameter_status() 2003-07-27 16:47:36 +00:00
Marcus Boerger ab36d72c16 Needed function detection 2003-07-27 16:46:40 +00:00
Marcus Boerger e5d492a3df New smart connect/shutdown for persistent connections.
Behavior for old libs/servers is "BEGIN;ROLLBACK;" in request shutdown.
For new libs a "RESET ALL;" is done in connect and "ROLLBACK;" is only done
where appropriate.
2003-07-27 16:45:10 +00:00
Stanislav Malyshev 57b12285de fix compare 2003-07-27 16:43:05 +00:00
Stanislav Malyshev 7b1bbc85bc use zend_binary_strncasecmp 2003-07-27 16:39:35 +00:00
Stanislav Malyshev 47fef22bc5 change shutdown order so that dtors would coexist with object error handlers 2003-07-27 15:59:37 +00:00
Stanislav Malyshev 1cc89effdb clean the right one 2003-07-27 14:02:46 +00:00
Stanislav Malyshev 5bfd386bc3 make shutdown more granular so in case some dtor goes ape we still
can shut down cleanly
2003-07-27 13:47:58 +00:00
Stanislav Malyshev 9fa2d52310 make clone and throw coexist peacefully 2003-07-27 13:20:31 +00:00
Stanislav Malyshev 6bea4ca1b0 add test 2003-07-27 12:50:56 +00:00
Stanislav Malyshev c3c136ea4b fix #24635: clean hash before putting into cache 2003-07-27 12:46:14 +00:00
Stanislav Malyshev 399db3c846 fix crash #24550 2003-07-27 12:25:50 +00:00
Stanislav Malyshev 91b4bca976 add test 2003-07-27 12:07:23 +00:00
Stanislav Malyshev 5724c7a66c fix leaks with class constants (bug #24699) 2003-07-27 12:03:54 +00:00
Stanislav Malyshev 78f8ca6e55 make __clone call case insensitive, just as other calls are 2003-07-27 11:42:21 +00:00
Rob Richards 618d6c904d doctype and namespace fix
memory leak fix
2003-07-25 17:25:50 +00:00
Tomas V.V.Cox 9b38350af4 Made avaible the "download-all" command 2003-07-25 17:08:19 +00:00
foobar 8e80be016e Fix typo (and debug build) 2003-07-25 12:15:33 +00:00
Edin Kadribasic 37cbc7cbb5 Partial MDB 2003-07-25 11:41:33 +00:00
Moriyoshi Koizumi 9fe5094d77 Fix run-test.php so it can correctly handle skip conditions. 2003-07-25 05:51:57 +00:00
Ilia Alshanetsky ee3e4f79df Removed unused variable. 2003-07-25 03:03:26 +00:00
Sara Golemon 3caa0d0aa9 Fix Bug#24784 single character search keys not respecting case sensitivity/replace count parameters. 2003-07-25 01:03:39 +00:00
29df7213cb ChangeLog update 2003-07-25 00:30:31 +00:00
Harrie Hazewinkel 4d2229d6a3 Bug 24760 fix, in which the port number when non-default is not handled
correctly and ends up as the default port. This seems to be caused by
some buffer overflow where the port number is assign zero, even though
it it is not assigned to the port variable.
FIx was reported and a fix proposed by "chuck+php at 2003 dot snew dot com"
2003-07-24 21:48:55 +00:00
Marcus Boerger d7b37fa96b Update due to Zeev's latest engine changes 2003-07-24 20:28:15 +00:00
Uwe Schindler 870610d679 put $ID:...$ in readme 2003-07-24 17:46:36 +00:00
Ilia Alshanetsky 64d6421885 When encountering a test that users GET/POST make run-tests.php use CGI
sapi if it is avaliable.
If CLI sapi is not avaliable print a clear error when make test is executed.
2003-07-24 17:44:16 +00:00
Uwe Schindler 3fbe69f49a Possibility to use php5_execute to display server error pages or directory listing pages 2003-07-24 17:40:40 +00:00
foobar e03b0dea7d cleanup (CS+ws) 2003-07-24 17:07:40 +00:00
Zeev Suraski 0e0936fa59 Fix expectations :) 2003-07-24 17:00:17 +00:00
Zeev Suraski b54ae17904 Fix logic and comments in ASSIGN_DIM 2003-07-24 16:51:35 +00:00
Zeev Suraski 95eaf55aa6 Add foreach() test with references 2003-07-24 13:21:54 +00:00
Rob Richards d326b80998 add xpath.c to DOM source files 2003-07-24 13:20:59 +00:00
Rob Richards e8a87e5430 initial xpath implementation
make dom_object generic
2003-07-24 13:18:40 +00:00
Zeev Suraski 55097d1dcf Fix another HANDLE_NUMERIC bug. Looks like you opened Pandora's box, Sterling ;) 2003-07-24 13:14:57 +00:00
Zeev Suraski 4f3e52ac1b Add test for binary safety of each() 2003-07-24 13:08:35 +00:00
Zeev Suraski 2109ab3438 Fix each() binary safety for keys 2003-07-24 13:06:25 +00:00
Zeev Suraski 0610515703 Fix assignments to numeric array indices 2003-07-24 12:56:05 +00:00
Zeev Suraski 7928e763d2 Remove useless code 2003-07-24 12:51:07 +00:00
Zeev Suraski 03b6af07eb Support references in foreach()
Syntax:
  foreach ($arr as &$val)
  foreach ($arr as $key => &$val)
2003-07-24 12:38:33 +00:00
foobar 8514398dfc Fix the test.. 2003-07-24 10:41:47 +00:00
foobar d8e5bd97c1 fix the test 2003-07-24 10:37:57 +00:00
foobar dcfe901015 test for bug 24783 (foreach() key not binary safe) 2003-07-24 10:25:15 +00:00
foobar 760fe8e923 test for bug #14580 (key() not binary safe) 2003-07-24 10:13:17 +00:00
Zeev Suraski e25d5e7f7a Fix binary safety in foreach() keys (fixes bug #24783) 2003-07-24 08:36:39 +00:00
Zeev Suraski 9b13202723 Make print_r() binary safe with keys 2003-07-24 08:24:07 +00:00
Zeev Suraski 0fe21a3a29 Fix bug #19613 2003-07-24 08:02:08 +00:00
foobar 4a04fa1ced Missing entries (Thies&Marcus), some style fixes 2003-07-24 02:11:30 +00:00
005fc4eddd ChangeLog update 2003-07-24 00:30:26 +00:00
Ilia Alshanetsky 402edee1a6 gztell() is not necessary, the return value of gzseek() represents the
new position. With zlib 1.1.4 gztell() alse returns 0 when working
on non-zlib files (test ext/zlib/tests/gzreadgzwriteplain.phpt).
2003-07-24 00:03:42 +00:00
Ilia Alshanetsky 0bd1e86d4c Fixed GLOB_ONLYDIR to work on GNU libc based system. 2003-07-23 21:41:44 +00:00
Ilia Alshanetsky 3a9e5400c6 Removed unused variables. 2003-07-23 16:54:34 +00:00
Ilia Alshanetsky 1a1826903b Fixed bug #24752 (Unhandled "uniqueidentifier" field type)
Original Patch By: s.sonnenberg[at]coolspot.de
2003-07-23 16:53:26 +00:00
Ilia Alshanetsky 9826911139 Fixed bug #23798 (Spaces were not being stripped from Bcc header)
Fixed bug #24663 (\n. sequences were not being escaped)
2003-07-23 16:03:10 +00:00
Stanislav Malyshev 237116aa27 Remove namespace leftovers 2003-07-23 08:58:46 +00:00
Zeev Suraski e89977f9d9 Go back to ZE1-like code 2003-07-23 08:56:34 +00:00
Zeev Suraski 785130c09c Fix interface 2003-07-23 08:53:23 +00:00
Sebastian Bergmann 786afb48cb Fix segfault. Patch by Timm Friebe <thekid@thekid.de>. 2003-07-23 04:02:26 +00:00
a480901c9f ChangeLog update 2003-07-23 00:30:29 +00:00
Pierre Joye dc0606f041 - Fix leak when no fill is done (ilia) 2003-07-23 00:23:21 +00:00
Pierre Joye 28bc693d3a - Remove imagepng, not used in test 2003-07-23 00:17:29 +00:00
Pierre Joye 768468257c - imagefill tests 2003-07-23 00:11:33 +00:00
Pierre Joye 74c2027573 - Fix #bug24594
Rewrite the imagefill function (non recursive, uses of connected points
  algorithm)
2003-07-23 00:08:57 +00:00
Marcus Boerger 7a85edd370 Added pg_version() which returns an associative array of client/protocol/server
version.
@Added pg_version() function. (Marcus)
2003-07-22 23:05:17 +00:00
Marcus Boerger ec9ae45e2f Add reson 2003-07-22 23:01:24 +00:00
Marcus Boerger bc90ce7818 The value might be a null pointer 2003-07-22 22:05:46 +00:00
Marcus Boerger dd781dcdc9 Postgres decision on this 2003-07-22 21:12:32 +00:00
Marcus Boerger 6079d4dc1b Fix for the moment 2003-07-22 20:53:56 +00:00
Zeev Suraski 0a49c033d0 - Use the new infrastructure of zend_symtable_*() (fixes bug #24565)
- Fix bogus use of get_current_key()
2003-07-22 16:08:50 +00:00
Zeev Suraski cf90932a05 Improve infrastructure of numeric handling of elements in symbol tables.
When you want to work with a symbol table, and you don't know whether you
have a numeric ("string that looks like a number") or a string element in
your hands, use zend_symtable_*() functions, in place of zend_hash_*()
functions.
2003-07-22 16:06:07 +00:00
Ilia Alshanetsky 5fcff2d872 * Fixed bug #24535 (Crash when retrieving data from unbuffered result after
the original connection has been changed).
* Fixed a crash when trying to fetch an unbuffered result after
mysql_close() has been called.
* Added a check to make sure no unbuffered results are inside the buffer
when calling functions that internally execute a query. Affected functions
are: mysql_select_db(), mysql_list_dbs(), mysql_list_tables(),
mysql_list_processes(), mysql_list_fields(), mysql_stat() and mysql_ping().
* Do not re-select a database if the database to be selected is the same.
2003-07-22 16:05:32 +00:00
Zeev Suraski 4ec05c508b Add test 2003-07-22 13:54:45 +00:00
Zeev Suraski 6c24e1577c API update 2003-07-22 13:50:00 +00:00
Zeev Suraski 6a50660cfe Fix isset()/empty() for non-trivial object elements
(API change - read_property now accepts an extra element)
Fixes bug #24436
2003-07-22 13:49:33 +00:00
Edin Kadribasic ccff468774 MFB 2003-07-22 12:36:59 +00:00
Thies C. Arntzen eef52f549f @ - Added optional Parameter to OCIWriteTemporaryLob which allows to
@   specify the type of LOB you want to be written (OCI_TEMP_CLOB, OCI_TEMP_BLOB)
@   (Patch by Novicky Marek <novicky@aarongroup.cz>) (Thies)
2003-07-22 10:38:34 +00:00
Jason Greene 7eea6525a7 Fix EINVAL errors for OS's (Solaris + BSD) that do not appreciate microseconds >= 1 second
Patch submitted from meebery@php.net
2003-07-22 07:20:55 +00:00
Ilia Alshanetsky 1e92b5e7a3 Make php_check_safe_mode_include_dir check independent of unrelated
open_basedir directive and make it properly handle undefined/empty
safe_mode_include_dir directive when safe_mode is enabled.
2003-07-22 01:32:01 +00:00
Sascha Schumann 5978734f30 MFB proper fix for #24592 2003-07-22 01:11:07 +00:00
3437e2ef41 ChangeLog update 2003-07-22 00:30:54 +00:00
Ilia Alshanetsky f9a8fc0c09 Fixed bug #24592 (Possible crash in session extnsion, with NULL values) 2003-07-21 21:47:52 +00:00
Marcus Boerger 6175f0a4c9 Reset vars when reusing a persistent connection as requested from postgres developers 2003-07-21 20:53:00 +00:00
Marcus Boerger c89ade3b66 Go without #24499 hint sneaked in by accident 2003-07-21 20:49:47 +00:00
Zeev Suraski 023c8a7d95 Fix register_globals 2003-07-21 17:42:24 +00:00
Zeev Suraski f4ae16519c Remove old code 2003-07-21 17:41:42 +00:00
Uwe Schindler 17c02dd9d4 some code cleanups 2003-07-21 14:20:47 +00:00
Ilia Alshanetsky 7825a1864c Fixed bug #24560 (parse_url() incorrectly handling certain file:// based
schemas).
2003-07-21 13:36:23 +00:00
Zeev Suraski 7e72d8e826 Fix bug #24499 2003-07-21 12:13:16 +00:00
Zeev Suraski 9bbf5577dd Add a couple of tests 2003-07-21 11:48:37 +00:00
foobar eede10964f Missing .cvsignore 2003-07-21 08:27:23 +00:00
foobar b9b123a9dd some style fixes 2003-07-21 08:20:48 +00:00
Zeev Suraski 754529920d Revert fix for #24729, and refix 2003-07-21 07:42:15 +00:00
Marcus Boerger 98963e3c75 Go with a better fix for #24729 2003-07-21 07:13:26 +00:00
George Schlossnagle 0229aad042 reverted at Andi's request. replaced with more generic wrapper. 2003-07-21 06:05:58 +00:00
ada5008f9a ChangeLog update 2003-07-21 00:30:29 +00:00
Marcus Boerger 82293c2a54 Unify 2003-07-20 22:03:28 +00:00
Marcus Boerger 9710546578 BFN 2003-07-20 21:57:50 +00:00
Marcus Boerger 3287b80015 BFN 2003-07-20 20:48:54 +00:00
Marcus Boerger 8ac334289a Bugfix #24729 = new ; causes crash when is not set 2003-07-20 20:45:59 +00:00
Marcus Boerger db86597e88 Add test for bug #24499 2003-07-20 20:27:43 +00:00
George Schlossnagle 600f72f7b4 should nt here 2003-07-20 20:16:07 +00:00
Marcus Boerger cfe2eda4f6 Fix warnings and whitespace in output 2003-07-20 19:57:02 +00:00
Marcus Boerger 23da3057b9 Add support for instances in Reflection_Class.
# Thanks to Timm for the fast patch contained reply to my help request :-)))
2003-07-20 18:58:34 +00:00
George Schlossnagle 7c7de5eb3c removed references to smart_str, replaced with private string management
function.  When snprintf is integrated into the engine, string_printf
should be altered to use that.
2003-07-20 18:45:40 +00:00
Marcus Boerger 08f725fa24 Remove this then, too 2003-07-20 18:05:03 +00:00
Marcus Boerger 7dd6f48f45 SQLite objects are not cloneable. Maybe we allow this later for sqlite_db. 2003-07-20 18:00:54 +00:00
Marcus Boerger c9c1fcc026 More informative errors here and these are real core errors 2003-07-20 17:50:23 +00:00
Marcus Boerger 7bbe6080f2 Fix uncloneable objetcs 2003-07-20 17:46:21 +00:00
Marcus Boerger c766e9a503 Use only one line per error message and don't terminate with a dot as everywhere else. 2003-07-20 16:00:40 +00:00
George Schlossnagle 84f5e4870e more of Timm's implementation. 2003-07-20 15:42:42 +00:00
Marcus Boerger 8a2e76d72c Update docu 2003-07-20 12:30:05 +00:00
Marcus Boerger 184118d9a9 Make it a macro 2003-07-20 12:23:46 +00:00
foobar afdc3e9530 Missing headers 2003-07-20 10:53:22 +00:00
Marcus Boerger a68cb5129c - Add class spl_array_it which is the iterator returned by spl_array.
This class can also be used alone without spl_array but doesn't allow
  recursive foreach usage.
- Fix protos to new proto system.
- Add test for spl_array_it.
2003-07-20 01:22:03 +00:00
01d8fea855 ChangeLog update 2003-07-20 00:30:10 +00:00
Marcus Boerger c038d88769 Add test for class spl_array 2003-07-19 21:04:16 +00:00
Marcus Boerger 173cb1436f Add class spl_array which is an array wrapper 2003-07-19 20:54:22 +00:00
Marcus Boerger 9556c6c27e This is meant to be used in for(;has_more;next)
# Probably the name of such functions should be eol (End-Of-List).
2003-07-19 20:04:51 +00:00
Andrey Hristov 5fcc682ebc proto fixes 2003-07-19 19:23:34 +00:00
Andrey Hristov 71990112b7 Id tag added.
Proto fixes
2003-07-19 19:11:01 +00:00
Marcus Boerger b1f96b77fb Revert stuid patch 2003-07-19 19:04:35 +00:00
Marcus Boerger 9efcbe1e75 Fix clone 2003-07-19 18:53:10 +00:00
Andrey Hristov a76745a6a2 Id tag added 2003-07-19 18:52:49 +00:00
Andrey Hristov 66bcb6529b Id tags added 2003-07-19 18:32:04 +00:00
Rob Richards d85845a64b fix for Bug #24715 segfault in dom_document_create_element
removed xmlmemorydump debug code
2003-07-19 14:59:29 +00:00
Marcus Boerger 892c1fbbe7 Add missing function to ease implementations 2003-07-19 14:19:04 +00:00
foobar aad797691b Fix the HPUX alloca fix as suggested by Sascha 2003-07-19 13:10:24 +00:00
foobar 82af3ff733 OS_UNIX/OS_WIN are set in the bundled libsqlite sources. 2003-07-19 12:44:46 +00:00
Sebastian Bergmann aeefb55a6a Cleanup, as suggested by Andi. 2003-07-19 11:00:17 +00:00
Marcus Boerger 59d6d4ab18 Move filter functionality to dedicated function 2003-07-19 09:50:18 +00:00
Marcus Boerger 2432baee40 Add clone support 2003-07-19 09:49:28 +00:00
Marcus Boerger 7cdc2d1f39 Shuffle code to ease writing clone handlers 2003-07-19 09:47:00 +00:00
Andi Gutmans 99d0a5c86e - Don't use alloca on HP-UX (Moriyoshi Koizumi <moriyoshi@at.wakwak.com>) 2003-07-19 07:19:21 +00:00
Rob Richards 1344b5d9b9 fix invalid node pointers 2003-07-18 12:41:35 +00:00
foobar a00e3f6f1e Added test case for bug #24573 2003-07-18 12:24:49 +00:00
Sascha Schumann 94756ffb8b Add short notice regarding unbundled client lib 2003-07-18 09:53:04 +00:00
Sergey Kartashoff 936b36ce4a - UDM_PARAM_SORT_ORDER has been added in Udm_Set_Agent_Param while
using with mnogosearch-3.2.14+ to set order of search results.
2003-07-18 09:14:25 +00:00
Sergey Kartashoff 76a6eae91a - Coredump in Udm_Find was fixed. 2003-07-18 08:37:18 +00:00
Georg Richter 13966fdf3e added new functions:
mysqli_connect_error
  mysqli_connect_errno

  which return possible errors for the last connect
2003-07-18 06:17:39 +00:00
Marcus Boerger 244795a4df Fix text output of numbers with absolute exponent greater than or equal 80.
#
# Probably not last conclusion on wisdom. But i looked up current apache
# sources and they have the same error and so this must do the trick.
#
2003-07-17 21:26:25 +00:00
Marcus Boerger 4e2b88255c Add test for bug #24640 2003-07-17 21:02:44 +00:00
Moriyoshi Koizumi 02c55f6c63 Added test case for bug #24658 2003-07-17 18:50:56 +00:00
Tomas V.V.Cox d462d93836 PEAR binaries go where the php bin goes 2003-07-17 06:30:21 +00:00
e4625963aa ChangeLog update 2003-07-17 00:30:28 +00:00
Marcus Boerger 7f1cf60331 Remove bogus comment (noticed by Zak) 2003-07-16 22:55:02 +00:00
Marcus Boerger d8943e513c Update examples 2003-07-16 21:52:03 +00:00
Marcus Boerger a86eff2162 Fix handling of empty settings 2003-07-16 20:53:17 +00:00
Marcus Boerger 49277b2ac6 More examples 2003-07-16 20:18:33 +00:00
Marcus Boerger 1131d43b0b Update examples 2003-07-16 20:17:34 +00:00
Marcus Boerger 5e1606b882 Add tree example 2003-07-16 18:47:26 +00:00
Marcus Boerger 3a49606d9d Add directory iterator class 2003-07-16 15:13:23 +00:00
Zak Greant 8178d87d25 Created shorter/sensible key names for dbase_get_header_info
* 'decimal places' becomes 'precision'
 * 'printf format' becomes 'format'
 * 'record offset' becomes 'offset'

 BTW No docs have been committed for this function yet, nor is it part of any
 release. This change should affect no users.
2003-07-16 11:08:03 +00:00
Marcus Boerger aa9bde9a34 Make array write stuff work again correct and fix tests 2003-07-16 10:41:43 +00:00
Marcus Boerger 15097151f4 Update and remove parts no longer possible 2003-07-16 09:48:36 +00:00
foobar c03bd010c3 heat wave 2003-07-16 09:30:56 +00:00
foobar 704a7e5653 - Added snmp_read_mib() which reads a MIB file into the active MIB tree. 2003-07-16 09:28:47 +00:00
Zeev Suraski e10dbc607c Fix bug in the verification of interface-function implementation 2003-07-16 09:13:47 +00:00
Zeev Suraski 3a898f6d4e More cleanup for assign-op handling of objects 2003-07-16 08:57:08 +00:00
Zeev Suraski 1c385fc742 Fix warning 2003-07-16 08:48:22 +00:00
Marcus Boerger bdfed34ef6 Bugfix #22690 2003-07-16 08:36:04 +00:00
Sebastian Bergmann d2e72bc134 Add /libpath directives for zlib. 2003-07-16 08:13:14 +00:00
foobar 82701d48c2 - Fixes some problems (debug mode only). (bug #23051 and bug #23685) 2003-07-16 06:03:46 +00:00
foobar 5553b6827b - Use the correct paths to apu-config / apr-config 2003-07-16 05:46:36 +00:00
foobar 9887afad9c Remove extra proto. (copy/paste error?) 2003-07-16 05:10:29 +00:00
foobar 6676e6f2e9 Fixed bug #22529 (object_id parameter in all snmp*() functions broken.) 2003-07-16 04:54:40 +00:00
foobar 7fe8f6cf94 Added test case for bug #22690 2003-07-16 00:38:54 +00:00
Uwe Schindler 72aa28d0c3 safe mode fix 2003-07-15 22:19:00 +00:00
Zak Greant c0bd985ad9 Added function dbase_get_header_info
* Passed a handle for an open dbase database, it returns an array of
   associative arrays. Each associative array contains information on a
   single column, including name, column type, length, precision, ...
2003-07-15 18:19:51 +00:00
Uwe Schindler e3a55ba297 Make virtual() an alias for nsapi_virtual() -- better for docs/naming in future 2003-07-15 17:30:33 +00:00
Hartmut Holzgraefe b0a4e1a2d2 whitespace 2003-07-15 17:28:41 +00:00
Hartmut Holzgraefe 2f5a3b4c63 #1 $_ENV is not always set, use getenv() instead
#2 bail out after 1000 loop iterations to avoid hanging tests
2003-07-15 16:55:44 +00:00
Georg Richter db398787e6 added new function mysqli_stmt_data_seek 2003-07-15 14:00:19 +00:00
Georg Richter 5c09a9e42f test for bind + sql_mode=PIPES_AS_CONCAT 2003-07-15 13:13:59 +00:00
Georg Richter b6bed54bbd added support for rebind 2003-07-15 10:37:19 +00:00
Georg Richter 4457876554 additional test for multi-bind 2003-07-15 10:36:18 +00:00
foobar 94a19d1bc6 Make this test work regardless of safe_mode setting (bug #24654) 2003-07-15 07:06:42 +00:00
Edin Kadribasic fdf3019eca MFB: fix for #24249 2003-07-14 23:23:01 +00:00
Rui Hirokawa ac91b2dbba MFH 2003-07-14 23:09:46 +00:00
Rob Richards e4d73c22ad fix setting new encoding 2003-07-14 21:51:28 +00:00
Wez Furlong 5cf5248b00 Fix for mips compiler. 2003-07-14 19:38:13 +00:00
Harrie Hazewinkel 83063e7445 Updating the SNMP credits in ext/standard/credits_ext.h 2003-07-14 18:59:18 +00:00
Harrie Hazewinkel ecef612862 Applying the correct format of the CREDITS. 2003-07-14 18:55:35 +00:00
Harrie Hazewinkel 68a7ce29d1 Updating the CREDITS with those who are indicated as authors in the code. 2003-07-14 18:19:34 +00:00
Harrie Hazewinkel a8d156177f Adding an SNMP GETNEXT.
This is a basic SNMP operation that retrieves the next value as the
one provided to the command.
NOTE: snmpgetnext does not follow the official naming convetions of
functions, but now it is equal to it version 1 equivalents snmpget
and snmpset.
I also would like to reserve the snmp_getnext for a function to
which a session can be given instead of the multiple values to
create the session internally. (Work in progress).
2003-07-14 18:10:22 +00:00
Harrie Hazewinkel fa910bd2b0 (RE applying)
Cleaning up some very old definitions of version 3.3.1 until 3.5.3.
Those versions are that old that people better upgrade the SNMP libraries.
2003-07-14 17:34:56 +00:00
Harrie Hazewinkel 6dd04c368e (RE-)Applying the contributed patch of Johan Hanne to the main tree.
The patch enables control on the way the values are returned
into the PHP script, instaed of always strings. Also the
type of the value is now returned when configured to do so.
This enables better management scripts to do more automatic
processing and value calculations.
(By default the values are returned as strings, as was before)
2003-07-14 17:11:04 +00:00
foobar e209272db1 CS & WS fixes 2003-07-14 16:23:14 +00:00
foobar d862a8ee90 WS fix 2003-07-14 16:11:38 +00:00
Sebastian Bergmann 83bf4599b7 ZTS fix. 2003-07-14 05:52:57 +00:00
foobar 9933944e01 Added comment 2003-07-14 03:58:31 +00:00
foobar c2b21f7098 Move the macosx fix to proper place. 2003-07-14 03:57:57 +00:00
Stefan Roehrich 750635d131 Allow setting of the serial number. 2003-07-13 09:54:42 +00:00
Wez Furlong 78e236da26 Add sqlite_has_prev, and sqlite_prev.
Patch by Jan Lehnardt <jan@php.net>
2003-07-13 09:38:33 +00:00
Stefan Roehrich 80ee75f11e Fixed certificate version (counting begins with 0, so 2 means version 3). 2003-07-13 09:38:32 +00:00
Wez Furlong ce2a4d9121 MFB better popen fix 2003-07-13 09:20:40 +00:00
Wez Furlong e17043c248 Fix bug #24575 (sqlite_popen did not request a new resource id when persistent
handles were re-used within a request).
2003-07-13 08:48:43 +00:00
Rui Hirokawa 0b0962eb8e added strict encoding detection mode to fix #24309 2003-07-13 08:20:01 +00:00
Moriyoshi Koizumi d33ffb78aa Added regression test for proc_open() 2003-07-13 08:03:46 +00:00
ed9c700d9b ChangeLog update 2003-07-13 00:30:23 +00:00
Rob Richards d75618e780 implement read only exceptions
implement notation nodes
changes for spec conformance
2003-07-12 17:29:20 +00:00
Rob Richards a04b2c8724 fix loading off of interface 2003-07-12 17:23:05 +00:00
Martin Jansen 6249a7dac1 * Update the DTD path 2003-07-12 15:15:38 +00:00
Andi Gutmans af1254e458 - WS 2003-07-12 14:54:53 +00:00
Tomas V.V.Cox 17573ddf0b +* Added proxy support for remote commands using the
xmlrcp C ext (Adam Ashley)
2003-07-12 14:27:27 +00:00
Tomas V.V.Cox 4e268d9270 Added proxy support for remote commands using the xmlrcp C ext
(contribution by Adam Ashley <aashley@optimiser.com>)
2003-07-12 14:25:06 +00:00
Moriyoshi Koizumi 4b07cb98b1 Fixed bug #24556 2003-07-12 09:33:31 +00:00
Moriyoshi Koizumi 4c8230696c Add folding markers 2003-07-12 07:01:30 +00:00
Moriyoshi Koizumi 77ae01ac72 Oops, this is not needed though. 2003-07-12 06:54:03 +00:00
Moriyoshi Koizumi cd52986a5c Fixed leaks that occurs if the third parameter already contains a valid value. 2003-07-12 06:50:32 +00:00
f9551bc554 ChangeLog update 2003-07-12 00:30:21 +00:00
foobar c751ba0cc8 Remove un-used code. 2003-07-11 15:56:23 +00:00
Rob Richards d1c41150c6 fix compile issue - TSRMLS_FETCH is only temporary until errors handled 2003-07-11 14:19:05 +00:00
Dan Kalowsky a1d8121bda Fix for bug #22897 2003-07-11 13:13:32 +00:00
Dan Kalowsky bc2086b11e Patch for bug #24183 2003-07-11 13:08:45 +00:00
Andi Gutmans 939ab68637 - Add support for Z in zend_parse_parameters(). It will allow the extension
- to retreive the zval **, thus allowing it to use the convert_to_*_ex()
- family of functions to do type conversions without effecting the value in
- the engine itself. (Josh Fuhs <fuhs@purdue.edu>)
2003-07-11 10:21:39 +00:00
foobar 2deb3c224d - CS/WS fixes
- Updated CREDITS
- Added some kind of version check for ming..
- Fixed some possible BC issues.
2003-07-11 07:48:13 +00:00
foobar 5afd8cbf07 update credits. 2003-07-11 07:44:56 +00:00
Frank M. Kromann 5baaa6aee1 Allow the use of both ming 0.2a and 0.3a (API\s changed) 2003-07-11 05:55:13 +00:00
foobar d6430ab79f - Fixed bug #21074 (Apache2: "ErrorDocument xxx /error.php" broken). (Jani) 2003-07-11 04:23:34 +00:00
foobar 5aeedb4c88 Fixed bug #17291 (mssql_query does not update get_last_message) (patch by: mgruetzner at rw3 dot com) 2003-07-11 02:08:14 +00:00
foobar d3bde360a7 Use the proper way to get the max requests per child. 2003-07-10 22:45:06 +00:00
foobar 253dc38445 Fixed bug #24563 (preg_match() crashes PHP under Apache2) 2003-07-10 16:08:56 +00:00
Tomas V.V.Cox 8c7c27b93a Expose PHP errors on error callback function 2003-07-10 11:35:37 +00:00
Rob Richards 16fb3e91c0 remove global error handling - use of libxml globals is a bad thing
add domDocument properties for parsing options:
validateOnParse, resolveExternals, preserveWhiteSpace, substituteEntities
implement custom parsing to avoid use of globals
implement local errors while parsing
errors displayed until error objects implemented
2003-07-10 11:17:25 +00:00
Marc Boeren 98b74781a5 WS 2003-07-10 08:34:03 +00:00
Marc Boeren 76aba9b755 Add -2003 to copyright line (Marc). 2003-07-10 08:25:58 +00:00
Frank M. Kromann 4b70683464 Adding missing compression paramters to output functions 2003-07-10 05:07:07 +00:00
foobar 676d4fca3c Revert bad fix. 2003-07-10 01:40:01 +00:00
Tomas V.V.Cox c7e2c03b53 Made the install of the config honors $INSTALL_ROOT 2003-07-10 01:34:46 +00:00
foobar 3396cb340a Fix crashes in certain situations (whenever there is an error, basically..) 2003-07-10 01:17:34 +00:00
foobar b645c60bd5 - Fixed bug #11924 (ibase_query() and ibase_execute() mangled passed
parameter variables)
2003-07-10 00:17:09 +00:00
Pierre Joye bf7f45601d - wrong patch applied for #23792, fixed 2003-07-10 00:09:23 +00:00
Frank M. Kromann f078959207 oops. fix spelling 2003-07-09 22:38:46 +00:00
Frank M. Kromann fe04bd50e8 Adding missing MSSQL Server ini settings 2003-07-09 22:36:18 +00:00
Marcus Boerger 959f7784e0 Don't use class_implements() for the moment 2003-07-09 17:05:09 +00:00
Marcus Boerger bd752698cf Use --EXPECTF-- for errors 2003-07-09 17:02:42 +00:00
Marcus Boerger ae19eb5334 Add oo version of test 2003-07-09 16:55:07 +00:00
Marc Boeren 60d1776b31 Add SQLite support to DBX (Marc).
@Add SQLite support to DBX (Marc).
2003-07-09 16:31:40 +00:00
Marcus Boerger 52e3aa1f8e Update the info and collect XML extensions 2003-07-09 14:55:14 +00:00
Brad House 6995520e20 fix typecasting errors, especially for new constants. Don't assume long and int are the same size, as on 64bit architectures, they are normally not 2003-07-09 13:45:21 +00:00
Pierre Joye 6da86c7e93 - Fix a possible crash when invalid color index are given as background
in imagerotate, only when palette based image is used as src
2003-07-09 10:36:07 +00:00
Pierre Joye e1f163b053 - "Fix" #23792, imagerotate returns always truecolor images now
(the destination image is a truecolor, no more limited palette problems)
- Clean the cast in gdImageCopyMerge
2003-07-09 10:15:13 +00:00
Sterling Hughes 8fcd71dccf boom bam bing 2003-07-09 03:14:41 +00:00
Jason Greene ae3101c5f1 Convert C++ comments to C (violates C99, and breaks several compilers) 2003-07-09 02:48:25 +00:00
b868cb62b2 ChangeLog update 2003-07-09 00:30:34 +00:00
Marcus Boerger f31df5693e Currently we're presented all properties with foreach() 2003-07-08 23:25:18 +00:00
Marcus Boerger 79ac007d20 Fix configure options 2003-07-08 23:11:36 +00:00
Marcus Boerger d9de39ec16 Add some comments 2003-07-08 23:11:14 +00:00
Marcus Boerger af3be899e6 fix this stupid error 2003-07-08 23:10:01 +00:00
Marcus Boerger 139852d3ff Fix bug #24540 2003-07-08 18:57:28 +00:00
Marcus Boerger 2ef1935c83 Add test for sqlite_seek() 2003-07-08 18:56:14 +00:00
Rob Richards 7de2784bd3 fix getElementsByTagName 2003-07-08 17:00:49 +00:00
foobar a952a4383a fix typo (most likely fixes #24533 too) 2003-07-08 14:46:32 +00:00
foobar 471eaadffd apache2filter does not require 2.0.44 2003-07-08 14:12:56 +00:00
Sergey Kartashoff 502d59ea01 - Output of UDM_PARAM_WORDINFO_ALL was fixed 2003-07-08 14:00:20 +00:00
foobar 64cad72284 - Fixed bug #24537 (apache2 compile missing include directories) 2003-07-08 13:53:34 +00:00
Sergey Kartashoff 79d1a39b48 - Udm_Find function is fixed to be compatible with mnogosearch-3.2.13 2003-07-08 13:28:17 +00:00
Zeev Suraski d9fb6b672a initial refactoring for assign-op handling of objects 2003-07-08 11:52:21 +00:00
Tomas V.V.Cox 67999408db Go with b3 2003-07-08 10:53:33 +00:00
Tomas V.V.Cox 287363df63 Detect enable_dl off or safe_mode on PEAR::loadExtension() 2003-07-08 10:52:23 +00:00
Tomas V.V.Cox d633b92fe0 Check dependencies on uninstall 2003-07-08 10:33:38 +00:00
Tomas V.V.Cox 0304ec19ff Added checkPackageUninstall() 2003-07-08 10:32:23 +00:00
Derick Rethans dc0426652e - Fixed email address 2003-07-08 09:43:39 +00:00
Wez Furlong 495255470d MFB extensions info 2003-07-08 09:13:05 +00:00
Sascha Schumann 3290685fda grep -E -> egrep 2003-07-08 05:37:06 +00:00
Sara Golemon 6cb8ce2880 gethostbyname2() not thread safe. Use getaddrinfo() or nothing at all. 2003-07-08 05:00:13 +00:00
Sara Golemon 010f5a12c7 Make php_set_inet6_addr happy with any environment. Use getaddrinfo() if available, gethostbyname2() if not, and simply fail if neither is present. 2003-07-08 03:38:00 +00:00
Brad House 61b47cdaf0 sync functionality with libmcve 3.2 2003-07-08 02:59:51 +00:00
0bef1de448 ChangeLog update 2003-07-08 00:30:24 +00:00
foobar e922164a31 Little update 2003-07-07 22:36:31 +00:00
Sara Golemon acc587fdfa Fix non-GNU build. Use getaddrinfo() rather than gethostbyname2() 2003-07-07 22:27:32 +00:00
Rob Richards 3b2507b910 changed to studlyCaps naming convention 2003-07-07 19:45:24 +00:00
Rob Richards 4cd06845f9 implement node proxies: next phase of interop 2003-07-07 19:37:32 +00:00
Zeev Suraski 134338522f Rework zend_do_declare_property and related code into one code base 2003-07-07 16:22:56 +00:00
Zeev Suraski 376c7a1771 Fix bug 2003-07-07 16:04:42 +00:00
Tomas V.V.Cox e07220ad03 Experimental dependencies database handling functions
(not yet in production)
2003-07-07 15:44:07 +00:00
Tomas V.V.Cox 01795e2ae1 Moved dependecy db code to its own file 2003-07-07 15:42:58 +00:00
Derick Rethans 6d563b3bdc - Commiting conversion to zend_parse_parameters (leftovers from debugging). 2003-07-07 13:21:10 +00:00
Zeev Suraski d6320007e0 Add missing elements 2003-07-07 12:07:02 +00:00
foobar f55b83cb18 ws + missing fold tag 2003-07-07 11:43:34 +00:00
foobar ae2b733e14 Added missing .cvsignore file 2003-07-07 11:40:12 +00:00
Zeev Suraski 3cfa6a68f4 Add get_dim callback 2003-07-07 10:53:27 +00:00
Zeev Suraski ed97b9fb6e Fix naming convention 2003-07-07 10:47:25 +00:00
Derick Rethans d16f0a6333 - Help Zeev fixing ghosts :) 2003-07-07 10:16:05 +00:00
Zeev Suraski ae6a1e7e4e whitespace 2003-07-07 09:12:15 +00:00
Zeev Suraski 65f8bafb29 Fix & whitespace 2003-07-07 09:08:33 +00:00
Zeev Suraski 765f349ecd fixlet 2003-07-07 09:01:22 +00:00
Zeev Suraski 938c0fbc19 Initial support for overloading of array syntax for objects (very initial) 2003-07-07 09:00:36 +00:00
54271f5187 ChangeLog update 2003-07-07 00:30:19 +00:00
Moriyoshi Koizumi e661d9e22a Updated test so it won't fail if the extension has been built with libiconv. 2003-07-06 21:44:44 +00:00
Moriyoshi Koizumi 80a8ff3a43 Fixed segfault due to reference to the already free'd block :) 2003-07-06 21:30:23 +00:00
Moriyoshi Koizumi 9fbd2f44ec Modified the test so it reflects the change to iconv_mime_decode() 2003-07-06 21:19:38 +00:00
Moriyoshi Koizumi 8d850b4c3a Improved iconv_mime_encode() interface 2003-07-06 21:19:08 +00:00
Moriyoshi Koizumi c5e123f584 oops 2003-07-06 21:10:02 +00:00
Moriyoshi Koizumi 716a34a4d0 Avoid miscellaneous conflicts between glibc's iconv and libiconv. 2003-07-06 21:08:50 +00:00
Sebastian Bergmann 81543d043e COMPILE_DL_MYSQL_MYSQL -> COMPILE_DL_MYSQL 2003-07-06 20:38:56 +00:00
George Schlossnagle daf3ac65ea add convenience functions or adding class properties. Ok'd for commit by Andi. 2003-07-06 19:55:20 +00:00
Moriyoshi Koizumi f4b24b82f2 Added missing includes 2003-07-06 17:52:42 +00:00
Moriyoshi Koizumi 6b4a5bfd8c Simplified config scripts 2003-07-06 17:51:46 +00:00
Pierre Joye c8a14f4ad1 - Fix bug #24512 2003-07-06 14:17:58 +00:00
Rob Richards 1688895f6b use common doc with ref counting rather than copy 2003-07-05 23:43:10 +00:00
Marcus Boerger f145b163a8 - In function sqlite_field_name the index parameter is not optional.
- Fix all the protos.
2003-07-05 20:02:40 +00:00
Wez Furlong fa342d2404 MFB: binary mode by default under win32. 2003-07-05 08:25:25 +00:00
Derick Rethans a952e28c73 - Fixed bug #24504: T_INTERFACE and T_IMPLEMENTS not defined in tokenizer
extension
2003-07-05 06:49:57 +00:00
Sterling Hughes 73d98824d7 not a temp var unless its a singular var 2003-07-05 00:33:13 +00:00
772f666998 ChangeLog update 2003-07-05 00:30:12 +00:00
Sterling Hughes e0347ab2c4 "real" fix 2003-07-04 22:21:23 +00:00
Sterling Hughes 2935efb446 fix memory cverrun when accessing an empty xml element.
guess how many lines it took me to write a basic WSDL parser + API?  20 using
curl + simplexml
2003-07-04 21:58:09 +00:00
Adam Dickmeiss a0c7a95ba1 On Windows, handle YAZ versions that don't export yaz_version. 2003-07-04 19:17:09 +00:00
Sterling Hughes 9a29929029 avoid external conflicts in apache 2003-07-04 18:19:02 +00:00
Andi Gutmans 84f4588726 - Add heap to memory manager. This should improve performance.
- Enabling it by default so that it gets tested. We should decide before
beta 2 if we want to revert back to malloc or not.
- Thanks to Sebastian for benchmarking it
2003-07-04 15:38:12 +00:00
Hartmut Holzgraefe de6a6ed6d7 skip test if glob() is not available at all 2003-07-04 15:07:11 +00:00
Hartmut Holzgraefe 3c34e4edaf regression test for #24482 GLOB_ONLYDIR is not working (on BSD) 2003-07-04 14:38:07 +00:00
Hartmut Holzgraefe f49b1d2da0 make sure operator precedence is not playing tricks on us
(it worked before on gcc3.2/Linux and with VC++ 6, but not
 with gcc3.1/MacOSX)
2003-07-04 13:24:47 +00:00
Sebastian Bergmann c86b4d13e6 2 * TSRMLS_FETCH() -> 1 * TSRMLS_DC 2003-07-04 10:31:41 +00:00
George Schlossnagle 96b71d7f87 ws fix 2003-07-04 03:26:37 +00:00
99b41db6c1 ChangeLog update 2003-07-04 00:30:27 +00:00
Sascha Schumann 320a86b7a5 MFB quoting of ) 2003-07-03 22:54:57 +00:00
Marcus Boerger 4f0b480f78 More __clone testing 2003-07-03 19:53:01 +00:00
Frank M. Kromann d77e8393cd Change fetch functions and protos so they make more sense.
fetch_row or fetch_assoc should  not take the optional parameter
2003-07-03 16:53:04 +00:00
Marcus Boerger d7e14ad8a3 Allow final private methods
#
# Declaring a method private and final would only be an error for an abstract
# class. But at the moment the method is defined and it's modifiers are checked
# we do not know whether or not we have an abstract class. It could already be
# abstract but it also become abstract later.
#
# Since i made the mistake in first place i remove the check now.
#
# Providing the correct test would slow down the compiler becuase we'd have to
# iterate through all methods on all abstract classes and check for this. I
# guess we can live without. Or does anybody wants this to be implemented ?
2003-07-03 16:45:37 +00:00
Moriyoshi Koizumi dd710f4dc0 Added missing protos 2003-07-03 15:30:14 +00:00
Moriyoshi Koizumi fd9d9dea1c Fix build 2003-07-03 15:26:12 +00:00
Hartmut Holzgraefe 00fbf2af67 VCWD awareness and (hopefully) windows compile fix 2003-07-03 14:54:03 +00:00
Hartmut Holzgraefe a7edbe04ad PHP glob() will now emulate GLOB_ONLYDIR on non-GNU systems 2003-07-03 14:34:02 +00:00
George Schlossnagle edf78b2141 win build fixes (Rob Richards) 2003-07-03 14:11:31 +00:00
Marcus Boerger 5b1a6f7be0 Accessing globals from a destructor causes memory corruption 2003-07-03 14:06:51 +00:00
George Schlossnagle 6a4c48be6f can't forget Andrei 2003-07-03 14:00:17 +00:00
Stanislav Malyshev 8f0234160a enable Classname() constructor to be called via parent::__constructor() 2003-07-03 12:03:11 +00:00
Marcus Boerger bc16d962a6 Fix open mode (noticed by FutureQuest, Inc.) 2003-07-03 11:17:34 +00:00
Marcus Boerger 2044fbf59e Check private redeclare behavior 2003-07-03 10:05:01 +00:00
Stanislav Malyshev 3f0d60f749 add test for Bug #19859 2003-07-03 09:22:35 +00:00
Stanislav Malyshev 5a7b07701b Fix bug #19859 - allow fast_call_user_function to support __call 2003-07-03 09:18:41 +00:00
Stanislav Malyshev 2f96c161df fix the get_parent_class fix 2003-07-03 08:00:10 +00:00
Sterling Hughes 62ea4ebd92 fix these tests 2003-07-03 07:18:41 +00:00
Tomas V.V.Cox 14f70bb1b7 Store verbose=1 in config file 2003-07-03 07:08:21 +00:00
Tomas V.V.Cox a136105e34 Atm php5 doesn't support this:
function foo(&$a) {
	return new Bar;
}
2003-07-03 06:54:26 +00:00
Tomas V.V.Cox 6ca92fbaa6 Write the PEAR system config file while installing 2003-07-03 06:45:49 +00:00
Tomas V.V.Cox 6f14374b3b Added tha ability to store custom data in a layer
Added method getConfFile()
Better layer removing in removeLayer()
2003-07-03 06:43:31 +00:00
George Schlossnagle 3d7283b94f more of Timm's patches, and mod authors line to give credit where credit is due. 2003-07-03 05:33:23 +00:00
Tomas V.V.Cox 0ba644f3f7 typo, need the complete file name not the basenamed one 2003-07-03 05:09:36 +00:00
Jon Parise 9b31c51d66 Update documentation for PHP 5. 2003-07-03 04:14:42 +00:00
foobar 50d3650a92 Cut the long line a bit for readability.. 2003-07-03 02:59:04 +00:00
Ilia Alshanetsky a96aa89ae3 Compiler warning fix. 2003-07-03 00:55:20 +00:00
30b5cbd151 ChangeLog update 2003-07-03 00:30:19 +00:00
Marcus Boerger 5b54322dc7 Temporairy solution to overcome shutdown propbelms with objects that have
hidden destructors.
#
# If we set the error level to E_ERROR what we must to to be correct and an
# object needs to be automatically destructed in shutdown process then the
# exit would cause memory corruption and a SEGV.
2003-07-02 23:58:47 +00:00
Marcus Boerger 669016c724 Reorganize this a bit to ensure the object memory is destructed before
showing the error.
2003-07-02 23:53:53 +00:00
Uwe Schindler 948476bd45 rename functions to php5_* 2003-07-02 22:39:37 +00:00
Sara Golemon 444615e74c Introduce connection pooling API. I'll use these in http/ftp fopen wrappers soon. 2003-07-02 22:18:59 +00:00
Marcus Boerger d007a6ce5e Bug #24399: is_subclass_of(): fix memleak, too 2003-07-02 21:57:57 +00:00
Marcus Boerger a5588b4c7a funny fixes 2003-07-02 21:40:54 +00:00
Marcus Boerger 019d70e67a ZTS fix 2003-07-02 21:37:46 +00:00
Wez Furlong 49228bd5e2 more size_t -> socklen_t.
Noticed by tychay@php.net
2003-07-02 21:11:35 +00:00
Sterling Hughes e158cd285e Not really the best way to solve this. But it doesn't give a segfault on
self-referential structures, which is always a bonus
2003-07-02 20:05:13 +00:00
Zeev Suraski eab449ded0 Another test case 2003-07-02 18:05:45 +00:00
Derick Rethans dab62fcf60 - use <?php in testcases 2003-07-02 18:00:51 +00:00
Zeev Suraski 60152a0db8 Add test case 2003-07-02 17:51:15 +00:00
Zeev Suraski eb224d4a5f Throughly fix scoping change. Fixes, among other things, bug #24403 2003-07-02 17:48:18 +00:00
Moriyoshi Koizumi d0679bf9c8 Changed line break characters from CRLF to LF. 2003-07-02 17:13:27 +00:00
Moriyoshi Koizumi 181508a837 s/cvs/csv/ 2003-07-02 17:07:56 +00:00
Andi Gutmans 02c7aacf83 - Nuke CG(in_clone_method) 2003-07-02 16:52:07 +00:00
Moriyoshi Koizumi 1379c46d9e Fixed a leak that occurs with "R" reference variable specifier. 2003-07-02 16:19:57 +00:00
Moriyoshi Koizumi 31431193ca Now this should make sense. 2003-07-02 15:47:24 +00:00
Moriyoshi Koizumi ed033faaec s/cvs/csv/ :) 2003-07-02 15:43:44 +00:00
Moriyoshi Koizumi 928d6ac769 Adjust test.
# This was also fixed by the Zeev's patch for bug #22367.
2003-07-02 15:38:51 +00:00
Zeev Suraski cb38a9227e Adjust expectations :) 2003-07-02 15:08:11 +00:00
Zeev Suraski d245c52e0c Fix for bug #22367.
Heads up - this will break syntactical compatiblity, return($foo) will
not work with functions that return references - return $foo should be used
instead.  It never worked well before, and caused all sorts of odd bugs.
It *might* be possible to support this specifically, albeit unlikely
2003-07-02 15:06:10 +00:00
Sterling Hughes 92e9e0ca7e optimize the case where the object is really a class name, as we don't need
to set EX(object) here.
2003-07-02 14:44:41 +00:00
Sterling Hughes 3fc83023b6 Timm Friebe points out that object detection should be done regardless of
the function pointer
2003-07-02 14:33:41 +00:00
Uwe Schindler 2f280dcd55 prevent user from making nested PHP requests using virtual() 2003-07-02 13:39:41 +00:00
Pierre Joye 119175c943 - tabs 2003-07-02 11:36:17 +00:00
Pierre Joye 19f3c5b5fa - Fix #23808 2003-07-02 11:23:56 +00:00
Pierre Joye b7c2a33f30 - MFH 2003-07-02 10:08:17 +00:00
Marcus Boerger 74a0f6c8ab Finally fix property cloning and fix the tests accordingly.
# The default behaviour is to copy all properties with all current values
# from the old object. But if __clone is overwritten then only the default
# properties are cloned with their correct default values. So we keep
# the type system intact and also allow real __clone overwriting now.
2003-07-02 07:24:11 +00:00
Marcus Boerger 43e74fc8b1 Fix test name 2003-07-02 06:40:34 +00:00
Sterling Hughes 7da8fbd7ef fix this test when using a save_handler other than files... 2003-07-02 04:34:18 +00:00
Sterling Hughes c491b0a672 Fix bug #24445 2003-07-02 04:31:33 +00:00
Sterling Hughes dc22926f49 add a test for get_parent_class() bug 2003-07-02 04:30:45 +00:00
Sterling Hughes e724e4cbdb further improve the performance and clean up 2003-07-02 03:12:06 +00:00
Sascha Schumann 4239cc4256 MFB PHP_CHECK_LIBRARY fix 2003-07-02 03:04:35 +00:00
foobar eb8c8f94a9 *** empty log message *** 2003-07-02 02:38:47 +00:00
Ilia Alshanetsky 46d834aad2 Fixed a crash when text is added before a font is specified. 2003-07-02 02:04:00 +00:00
Wez Furlong 989500b347 socklen_t needs this.
We might need some more magic to ensure that socklen_t gets defined in
the correct places; lets see if any more problems arise...
2003-07-02 01:35:39 +00:00
Sascha Schumann 1b50ca4df6 Fix install-sapi dependency - it should depend on OVERALL_TARGET, of course. 2003-07-02 01:08:26 +00:00
Sterling Hughes 6084487822 not necessary, already assumed binary safe (it has to be under the current
session architecture), and anything else is fair play
2003-07-02 00:56:32 +00:00
Sascha Schumann 566ce10664 This file has moved for your years ago into TSRM. Delete it. 2003-07-02 00:52:35 +00:00
Sterling Hughes 960ab9bd8d ws fix 2003-07-02 00:45:15 +00:00
Sterling Hughes 6129ddce1e set synching to off
cleanup some silly code
2003-07-02 00:43:00 +00:00
ed96d7bff0 ChangeLog update 2003-07-02 00:30:25 +00:00
Sterling Hughes 8a77e2b3db no c++ style comments 2003-07-02 00:04:58 +00:00
Sascha Schumann ae03f44694 Sync PHP_CHECK_LIBRARY change 2003-07-02 00:04:12 +00:00
Sterling Hughes bd4601ea28 make this actually work. 2003-07-02 00:03:41 +00:00
Marcus Boerger 30b7f39d07 Add more clone testing 2003-07-01 23:57:27 +00:00
Marcus Boerger 47a881f01c Check handling of private class members 2003-07-01 23:50:01 +00:00
Marcus Boerger 5500287432 Fix __clone().
# This is somewhat discussable. I copied all properties from the old to the
# new object. But for type correctness we only need to copy the properties
# declared in the class and its parents.
#
# Also someone might want to take care about static and const members.
2003-07-01 23:29:36 +00:00
Marcus Boerger 5dd671e3cc ups (2nd) 2003-07-01 23:20:48 +00:00
Marcus Boerger e0a68b1ee0 Use both destructor and shutdown 2003-07-01 23:06:40 +00:00
Marcus Boerger bef4696d3e small bugfix 2003-07-01 22:47:41 +00:00
Marcus Boerger 2c72deee2c Rename test to correct extension 2003-07-01 21:59:46 +00:00
Marcus Boerger 40dd3f4f88 __clone might not be defined 2003-07-01 21:30:21 +00:00
Marcus Boerger 11e5c08d39 ups 2003-07-01 21:28:15 +00:00
Marcus Boerger e92b88a8c5 Add more clone testing 2003-07-01 21:27:59 +00:00
Marcus Boerger 38e5f7b18e Fix test (damn copy'n'paste) 2003-07-01 21:05:02 +00:00
Marcus Boerger a04cba504f Fix __clone visibility 2003-07-01 20:02:27 +00:00
Marcus Boerger 0e300b7f77 Add tests for __clone visibility 2003-07-01 19:59:50 +00:00
Wez Furlong 17cbf83404 size_t -> socklen_t
fixes warnings under macosx
2003-07-01 19:51:06 +00:00
Rob Richards ee9ca6ee9d fix load() and loadxml() when used with uninstantiated object 2003-07-01 19:28:30 +00:00
Marcus Boerger 35c40932e8 Fix destructor visibility 2003-07-01 19:13:50 +00:00
Derick Rethans d2b1b6c700 - Added test for bug #24436 2003-07-01 19:12:56 +00:00
Marcus Boerger 26d0753804 Add tests for static members 2003-07-01 19:12:23 +00:00
Derick Rethans 7d6d146a02 - Fixing this test, this is the correct behavior 2003-07-01 19:06:04 +00:00
George Schlossnagle c36a59cfd9 Timm Friebe's patches for code celanup and additional functions. 2003-07-01 18:41:42 +00:00
Marcus Boerger c31e49e4cb Add tests for static members 2003-07-01 18:34:42 +00:00
Marcus Boerger d531dee390 Fix warnings and allow builds without ext/session 2003-07-01 17:55:32 +00:00
foobar e5af63a7d5 - Separate CGI build from regular SAPI build
# Creating the libphp5.a lib is not necessary for CGI build.
#
# btw. It would be quite easy to build CGI, CLI and for example Apache SAPI
# the same time.. :)
2003-07-01 17:01:21 +00:00
foobar f6cafd6041 Fix previous commit. (never do 2 things same time :) 2003-07-01 16:20:32 +00:00
foobar 82194d2766 Missing .cvsignore, broken test, renamed zend2.php -> zend2.php.txt 2003-07-01 15:56:07 +00:00
foobar 063e4e251e Added --help to phpize 2003-07-01 15:55:09 +00:00
foobar e7ff808fb8 Add .cvsignore here too. 2003-07-01 13:42:03 +00:00
foobar 1829d7468e ws fix 2003-07-01 13:31:14 +00:00
Corne' Cornelius 294cabb35f - MFB: 1.69.2.18 2003-07-01 13:27:04 +00:00
Wez Furlong 090328fd32 silence warning under win32
(maybe!)
2003-07-01 13:26:49 +00:00
Edin Kadribasic 9c717b33a6 Add sqlite session handler to win32 build 2003-07-01 13:26:02 +00:00
Wez Furlong a8f74b14f1 WS 2003-07-01 13:09:57 +00:00
Wez Furlong 607b6501ed Add sqlite session handler.
Modified (quite a bit!) patch from John Coggeshall.
It compiles, but it otherwise untested.
session.save_path == path to actual database file for the session.

eg: session.save_path=/tmp/mysite-session.db
2003-07-01 13:07:37 +00:00
Corne' Cornelius 8cbc0eae75 - MFB: 1.69.2.17 2003-07-01 11:09:11 +00:00
Edin Kadribasic dda902d56d Fix shared win32 build 2003-07-01 09:44:14 +00:00
Edin Kadribasic c1550b6d6c Some more files to ignore 2003-07-01 09:43:53 +00:00
Zeev Suraski 77037dcea4 Add missing sqlite references 2003-07-01 08:19:11 +00:00
Sascha Schumann 6dcf9c22b5 properly restart syscalls 2003-07-01 05:29:17 +00:00
Sebastian Bergmann fff7ef2f6c ZTS fixes. 2003-07-01 04:25:29 +00:00
George Schlossnagle 4edd9505fe more incremental changes. add anything that needs a class factory. 2003-07-01 04:10:57 +00:00
Ilia Alshanetsky 4634554976 Fix up test 2003-07-01 03:11:09 +00:00
Jason Greene b8a5d84dba Prevent lines following the version output from confusing the version test 2003-07-01 03:08:16 +00:00
George Schlossnagle 9c26571b37 all the easy parts of Reflection_Class 2003-07-01 02:31:21 +00:00
Marcus Boerger a6d0972c05 Fix warnings 2003-07-01 00:49:25 +00:00
d699324624 ChangeLog update 2003-07-01 00:30:09 +00:00
foobar d215b040b7 - Changed 'grep -E' back to 'egrep'.
#
# whatever some posix standard says, there's no use to change this in
# two places and possibly break stuff, like said in bug #22604.
#
# Grep for 'egrep' in autoconf 2.13 generated configure to find
# several hundred 'egrep's..
#
2003-07-01 00:16:23 +00:00
foobar b9fcb34625 Fixed bug #24025 (Can not build with shared ldap support) 2003-07-01 00:02:13 +00:00
Marcus Boerger e4f67f3545 Make --disable-spl work 2003-06-30 23:24:12 +00:00
Edin Kadribasic 59e96375c3 MySQL is back as a shared extension. 2003-06-30 20:36:38 +00:00
Shane Caraveo 5efc65f910 this fixes including this header in a c++ file (vs6) 2003-06-30 20:33:02 +00:00
Shane Caraveo d6ee8bab7f fix a crash I run into on occasion 2003-06-30 20:31:57 +00:00
Derick Rethans a62928a3e8 - Fix win32 install instructions 2003-06-30 20:29:52 +00:00
Sterling Hughes 778d8c8bf1 nuke "main" as a reserved keyword 2003-06-30 20:24:26 +00:00
Andi Gutmans 288dacca0c - ZE coding style requires if ( instead of if( 2003-06-30 20:22:35 +00:00
Sebastian Bergmann 5ee72bb478 ZTS fixes. Remove unused local variables. 2003-06-30 20:17:01 +00:00
George Schlossnagle 9995daebd2 add support for end_reflection_api.c 2003-06-30 20:04:39 +00:00
George Schlossnagle aa96d17022 added support for Reflection_Function, the first part of
the reflection api
2003-06-30 20:03:56 +00:00
Sterling Hughes f6d84a10ea set precision properly.. test passes here 2003-06-30 20:03:17 +00:00
Sterling Hughes 1d70191ab1 move the check down a little so it catches all cases 2003-06-30 19:52:47 +00:00
Sterling Hughes 223584a138 this is the correct result 2003-06-30 19:50:18 +00:00
Sterling Hughes c6876a53df test for bug #24399, segfault in is_subclass_of() 2003-06-30 19:40:48 +00:00
Derick Rethans 7a4ed00603 - Rename test and update title 2003-06-30 19:16:41 +00:00
Sterling Hughes f27571134b its not a bug - its a feature. No longer allowed in ze2. 2003-06-30 19:16:36 +00:00
Sterling Hughes d0bd54ce6a Fix bug #24399 from an excellent test case by edin 2003-06-30 19:11:01 +00:00
Rasmus Lerdorf 832ffd1970 Fix 3 tests that didn't adequately specify the .ini settings they rely on 2003-06-30 18:22:53 +00:00
Sterling Hughes 00c83984a3 add a test for shane's bug #24392 2003-06-30 18:09:11 +00:00
Marcus Boerger f970724d79 Do not test postgres settings 2003-06-30 18:00:30 +00:00
foobar b377225d4f Added test case for bug #24396 2003-06-30 17:30:16 +00:00
foobar f3ac60d4a4 - Cleanup, simplifying, etc. 2003-06-30 17:23:52 +00:00
Sergey Kartashoff e5e58c80ef - Memory leaks in UdmCatPath and UdmCatList functions have been fixed. 2003-06-30 17:12:18 +00:00
foobar 8dca948cf9 - Moved the PEAR check after the extensions.
. added checks for the dependancies PEAR has.
- Moved PHP_REGEX checks to ext/standard/config.m4

# If someone knows the reason for PHP_REGEX macro being where it was,
# please tell..
2003-06-30 16:33:50 +00:00
Zeev Suraski 53acb1814e Semantically it's a refcount increase, not a lock... 2003-06-30 13:51:48 +00:00
Zeev Suraski 6f9d0da2e5 Fix 'global' implementation (fixes, at least, bug #24396 2003-06-30 13:47:12 +00:00
foobar dcaf0ee650 no need to tell news twice 2003-06-30 13:37:18 +00:00
Andrei Zmievski a841b74ee3 *** empty log message *** 2003-06-30 13:29:06 +00:00
Tomas V.V.Cox 4513d36892 Added local version installed in "list-upgrades"
(http://bugs.php.net/bug.php?id=24298)
2003-06-30 13:12:50 +00:00
Zeev Suraski 8dd84b7b98 Conform to the sqlite.dsp updates 2003-06-30 11:43:14 +00:00
Zeev Suraski b31570f03e Remove Release_TSinline (it's not necessary)
Add Release_TSDbg
Change directories to be consistent with our other modules...
2003-06-30 11:41:25 +00:00
Zeev Suraski a6d06bea94 Remove unnecessary elements, internationalize 2003-06-30 11:27:03 +00:00
Tomas V.V.Cox 8a00ccf039 Added "\nRunning on: ".php_uname(); to pear -V 2003-06-30 10:43:57 +00:00
Tomas V.V.Cox 1ca5fc5f0a Fix for http://bugs.php.net/bug.php?id=21994 2003-06-30 10:09:44 +00:00
Sterling Hughes 0422e0d475 fix by Elfyn, use = not == 2003-06-30 05:01:18 +00:00
Sterling Hughes 57e1c829aa and my first user doesn't even like goto's. sniffle 2003-06-30 03:11:03 +00:00
Sterling Hughes 2505cf7c2c satisfy my very first user :) 2003-06-30 03:08:48 +00:00
Sterling Hughes dae3fefd10 revert back the optimization for now. 2003-06-30 01:41:15 +00:00
Ilia Alshanetsky 8cb5c9c6ba Fixed bug #24063 (*printf() did not handle scientific notation correctly) 2003-06-30 01:03:21 +00:00
68749958ab ChangeLog update 2003-06-30 00:30:21 +00:00
Ilia Alshanetsky 9754535255 Fixed bug #24279 (__get() crash when no value is returned) 2003-06-29 23:41:49 +00:00
foobar 7f952adc09 update 2003-06-29 23:14:47 +00:00
foobar 5971df8fa2 cleanup 2003-06-29 22:48:46 +00:00
Tomas V.V.Cox f945e2c251 typo 2003-06-29 20:50:05 +00:00
Tomas V.V.Cox d5e365ac54 Use the --with-pear=DIR, --prefix && --layout
# Will continue with the TODO in next time
2003-06-29 20:49:09 +00:00
Shane Caraveo 42165c12b0 renable -b option (removed when longopts were added)
dissable -b on windows due to fastcgi lib bug
close stdin on linux when using socket server (bug 23664)
2003-06-29 20:45:38 +00:00
Shane Caraveo 97ffab21a6 fix bug http://bugs.php.net/bug.php?id=24009
also do not use APPL_PHYSICAL_PATH as DOCUMENT_ROOT under IIS, it's
different depending on IIS configuration.  Code works fine without it, that
was just an attempt at a shortcut.
2003-06-29 20:09:36 +00:00
Sterling Hughes 9b20c06a0c add <![CDATA[ ]]> fixes 2003-06-29 19:42:29 +00:00
Sterling Hughes bd4cd4355c update to beta 2003-06-29 19:41:39 +00:00
Pierre Joye e0f9f0eb9e - Update DB to 1.5RC1 (final will be in 4.3.3) 2003-06-29 19:40:13 +00:00
Sterling Hughes 681d6bfaeb fix libxml2 when dealing with character data 2003-06-29 18:26:23 +00:00
Tomas V.V.Cox 994c70ef20 - Workarround to the PEAR_INSTALL_DIR empty constant
- Remove the layer in $reg->layers too
2003-06-29 17:44:29 +00:00
Hartmut Holzgraefe f355c4c5bb ok, re-adding this mostly un-maintained awk/sed/sh nightmare for now ... 2003-06-29 16:07:18 +00:00
Derick Rethans 913cec6551 - Remove register_globals warning, and "built-in MySQL lib" warning 2003-06-29 15:07:03 +00:00
Hartmut Holzgraefe 7218a70ff6 ext_skel is no more, and ext_skel_ng is moving to PEAR::PECL_Gen 2003-06-29 12:21:58 +00:00
Sebastian Bergmann 4aa81c9d72 Remove namespace references. 2003-06-29 09:40:23 +00:00
Sebastian Bergmann b851992902 Add zlib directory. 2003-06-29 06:15:06 +00:00
foobar 6e9c28e1a2 Fixed bug #24363 (plain "./configure && make install" failed) 2003-06-29 05:59:29 +00:00
Sterling Hughes f605f0b708 Very simple, but very effective optimization. Provides a signifigant speed
improvement to matches done via '=='.  This checks that the lengths of two
strings are equal before performing a memcmp() on them.
2003-06-29 01:49:10 +00:00
Andrei Zmievski 505fd434ac MFB 2003-06-29 00:09:41 +00:00
Rui Hirokawa 2b44c63d50 Fixed corruption of multibyte character including 0x5c as second
byte in multipart/form-data.
2003-06-28 23:37:18 +00:00
Sterling Hughes aacd3d2f1b what's a php5? 2003-06-28 23:32:04 +00:00
Shane Caraveo 082a1489d2 fix building mysql as a loadable extension 2003-06-28 22:28:44 +00:00
Rob Richards a225934450 fix mem leak in sxe_property_read
fix compiler warning
2003-06-28 21:38:44 +00:00
Georg Richter 192fb9095e changed tests (ysqli_bind_param and mysql_bind_result changes) 2003-06-28 21:30:58 +00:00
Georg Richter f38bd95002 added BYREF_FORCE for bind parameters in msqli_bind_param and mysqli_bind_result
changed function parameters in mysqli_bind_param
  from (object statement, mixed var1, long type1, ...)
  to   (object statement, array tyoes, mixed var1, mixed var2, ...)
2003-06-28 21:27:08 +00:00
Ilia Alshanetsky a6fd611c5e Added array handling to file_put_contents()
More verbose error reporting mechanism.
Test case for file_put_contents().
2003-06-28 20:06:13 +00:00
Martin Jansen e95ee2b313 * Silence warning 2003-06-28 18:14:24 +00:00
Ilia Alshanetsky 9e53c34ad3 Fixed test failure on systems with short_tags (<?) off. 2003-06-28 17:36:46 +00:00
Sascha Schumann 423c16befd MFB snprintf test 2003-06-28 12:29:43 +00:00
Wez Furlong 5ecc91c27d Merge selectable descriptor casting from PHP_4_3 branch. 2003-06-28 11:24:47 +00:00
Wez Furlong 8dfe385215 Merge getaddrinfo() tidy-up from PHP_4_3 branch. 2003-06-28 11:12:48 +00:00
Wez Furlong c0c20ef6f6 Fix for mips compiler 2003-06-28 11:06:11 +00:00
Derick Rethans 12cf3ec385 - Removed duplicate constants 2003-06-28 09:55:12 +00:00
Derick Rethans f2acb42223 - Return number of bytes written instead of just TRUE. (Path by Paul Hudson,
hudzilla@php.net)
2003-06-28 08:21:02 +00:00
Sterling Hughes 3e67c2a63a for now we let xml support build with versions older than 2.5.7, as we want
users to actually test this...
2003-06-28 07:46:03 +00:00
Ilia Alshanetsky 58c25fb24a Added missing handling of dateTime
Fixed compiler warning involving streams
Added a test case for wddx_deserialize()
2003-06-28 06:55:47 +00:00
Sterling Hughes f783d06d65 ilia points out this is ok 2003-06-28 06:32:02 +00:00
Sebastian Bergmann 67400949f2 Remove aggregation tests as well. 2003-06-28 05:51:37 +00:00
Sebastian Bergmann 10ec176f69 Buckle your seatbelt, Dorothy, 'cause Aggregation is going bye-bye. 2003-06-28 05:38:52 +00:00
Sterling Hughes 57ddcca06e there is no domxml :) 2003-06-28 05:22:39 +00:00
Sterling Hughes 5e0bc7c133 bump up to 2.5.7 2003-06-28 05:18:11 +00:00
Sterling Hughes 0ec0a3097c define this here too 2003-06-28 04:30:51 +00:00
Edin Kadribasic 2e9c9427ec Move along, nothing to see. 2003-06-27 22:18:06 +00:00
Sterling Hughes 1135af7340 beta 1 2003-06-27 22:09:12 +00:00
Rob Richards d50554ebae fix the libxml linking warnings 2003-06-27 21:59:53 +00:00
Sascha Schumann a5017f0b4c Serialize headers for systems with low IOV_MAX (e.g. Solaris) 2003-06-27 18:41:11 +00:00
Sebastian Bergmann f8af9c3cee MFB: libpcre 4.X needs POSIX_MALLOC_THRESHOLD to be defined. 2003-06-27 16:43:05 +00:00
foobar 3a7ca909be - HAVE_OPENSSL_EXT is not defined always. 2003-06-27 16:41:41 +00:00
Andrei Zmievski 357f62734a Upgrading PCRE library to version 4.3. 2003-06-27 16:31:24 +00:00
Sara Golemon 2e4ef86e10 MFB
Plug leak in context notifiers, implement notifier->dtor
2003-06-27 16:23:58 +00:00
Edin Kadribasic ecf58cf895 Missing part of SQLite enabling on windows. 2003-06-27 14:34:06 +00:00
Edin Kadribasic 94b7050bc0 Enabled sqlite by default on Windows.
# Also added iconv.lib to the build since it is a dependency of
# the precompiled libxml. This will be removed later.
2003-06-27 14:32:59 +00:00
Edin Kadribasic 7730c1d994 Fix windows build 2003-06-27 14:30:26 +00:00
Edin Kadribasic 19a6d56e51 Prepare for enabling by default on Windows. 2003-06-27 14:14:08 +00:00
Pierre Joye 8aac7b57c0 - Sync, HEAD is now uptodate 2003-06-27 10:59:43 +00:00
Pierre Joye dd2d9c3315 - Sync 2003-06-27 10:46:54 +00:00
Sascha Schumann c6a1a9edad test commit 2003-06-27 10:43:01 +00:00
Sascha Schumann 9979003eeb undefine macros before defining them 2003-06-27 07:43:42 +00:00
Sascha Schumann dc324648fe Try to link the getaddrinfo test, so that one can disable it using
-Dgetaddrinfo=NO_getaddrinfo.
2003-06-27 07:12:54 +00:00
Sara Golemon ac79577776 MFB PHP_4_3 main/streams.c r-1.125.2.70 2003-06-27 04:27:18 +00:00
Sascha Schumann 7c5afebdb8 Don't add -L/usr/lib 2003-06-27 00:37:21 +00:00
Sascha Schumann e715fb00f8 Eliminate need for automake/aclocal 2003-06-27 00:19:43 +00:00
Marcus Boerger 4608ddb5d8 MFB: Function was renamed (don't test an alias) 2003-06-26 21:37:54 +00:00
Marcus Boerger a0ecfc9c31 errmsg must be ref 2003-06-26 21:07:07 +00:00
Marcus Boerger add3674b20 Rename sqlite_fetch_string() to sqlite_fetch_single() + alias 2003-06-26 19:26:26 +00:00
Sascha Schumann d6e84b639c Committing engine select project
This is a noop in an already setup tree.

When necessary, it renames ZendEngine2 to Zend permanently.
This occurs only after a fresh checkout (not after an update!).
2003-06-26 19:19:44 +00:00
Marcus Boerger bbfa7cae25 Fix memleak 2003-06-26 19:07:17 +00:00
Marcus Boerger 8e0516c990 ext/xsl requires ext/dom 2003-06-26 18:51:52 +00:00
foobar 71278c2969 MFB 2003-06-26 18:15:56 +00:00
Zeev Suraski daae086380 New logo (not final yet...) 2003-06-26 17:30:41 +00:00
Sebastian Bergmann 9f9a1d4d3a Leftovers. 2003-06-26 15:57:03 +00:00
Zeev Suraski 94c8f5624e libxml work
use static libxml library
2003-06-26 15:31:48 +00:00
Sebastian Bergmann 7305930c80 Remove MySQL leftovers. 2003-06-26 15:16:56 +00:00
Sebastian Bergmann 1c6c9e9485 Sync. 2003-06-26 15:15:02 +00:00
Sebastian Bergmann 39b0d384e6 Sync. 2003-06-26 14:57:48 +00:00
Zeev Suraski ff52e95cbb - Add libxml directory
- Add zlib to configurations where it was missing
- Remove libmysql linkage
2003-06-26 14:19:42 +00:00
Rob Richards 6d8dc4b936 fix linking as dom symbols are now built in 2003-06-26 10:51:37 +00:00
Rob Richards 85488c4a0d fix import/export for win32 when enabled by default 2003-06-26 10:40:26 +00:00
Sterling Hughes a8eba3cc80 some friendly names... 2003-06-26 04:08:54 +00:00
Sterling Hughes 747937d1f7 touch the file 2003-06-26 03:53:17 +00:00
Sterling Hughes a0ae63670a fix by ilia to fix crashes in the session extension when /tmp/sess_* files
previously existed.  make test now passes fully with the session extension.
2003-06-26 03:24:11 +00:00
Sterling Hughes 1ed8e46273 according to the notes in the bugs database, this is the correct result.
this result is also the same one given in 4.3.2 and 5.0
2003-06-26 03:21:45 +00:00
Marcus Boerger 30b4f8f494 Fix a warning 2003-06-25 23:21:10 +00:00
Edin Kadribasic b950e4ee04 Make sqlite good ext/ citizen.
# Hope this CVS mess goes away real soon now!
2003-06-25 23:20:30 +00:00
Ilia Alshanetsky 0dc20e8bea ZTS typo 2003-06-25 23:14:19 +00:00
Sterling Hughes 936c9d5736 re-enable dom by default 2003-06-25 22:42:54 +00:00
foobar 0a6f6bab52 This should not be enabled by default, ext/xml is.. 2003-06-25 22:40:05 +00:00
Sterling Hughes cf3bd3e9fc fine 2003-06-25 21:54:01 +00:00
foobar 9bee0725d2 Experimental extensions are never enabled by default.. 2003-06-25 21:46:31 +00:00
Sebastian Bergmann 4434c8e0d6 Add ext/dom and ext/simplexml to the Win32 default build. #Apart from a linker error when HAVE_SIMPLEXML=1 is set this already works. More research, after a good night's sleep, is required ;-) 2003-06-25 21:37:50 +00:00
Sterling Hughes 75abafdfc3 these should be enabled by default. At least this much was agreed upon when
the decision to debundle libxml2 was made.
2003-06-25 20:53:52 +00:00
Sterling Hughes edd1db3f0f autodetect zlib if dom is enabled 2003-06-25 18:06:06 +00:00
Sterling Hughes 12b06799ae Don't pass resource as an argument when its not being parsed. 2003-06-25 17:22:31 +00:00
Ilia Alshanetsky 94b90d0c0a Added sqlite_single_query() and it's OO equivalent single_query(). 2003-06-25 16:59:24 +00:00
Sterling Hughes a4f41fbb26 allow the root element to be accessed as a text node 2003-06-25 16:26:32 +00:00
Sterling Hughes 1aa6e3fee3 dom5 = dom 2003-06-25 15:31:59 +00:00
Sascha Schumann b97ce9d19f First shot at making ze1/ze2 coexist 2003-06-25 12:56:40 +00:00
Hartmut Holzgraefe 0072188eeb some awk installations need this escpaed ... BUG #24314 fixed 2003-06-25 11:05:48 +00:00
Sebastian Bergmann 60ffd0ea5d Restore HEAD of TSRM to what it was two days ago. 2003-06-25 05:05:06 +00:00
Sebastian Bergmann 926bd5cf29 Disable MySQL extension by default. 2003-06-25 05:01:50 +00:00
Sebastian Bergmann a10e5b6381 Remove ext/rpc references from Windows build. 2003-06-25 04:54:23 +00:00
Sterling Hughes ab30e40fff add zend engine 2 changes. 2003-06-25 04:39:00 +00:00
foobar a6a321c1ac clean up a bit. 2003-06-25 03:53:17 +00:00
Sascha Schumann 34f0fe27cd fix entry 2003-06-25 00:56:29 +00:00
Sterling Hughes 0383939500 add some NEWS stuff. Add your stuff now! 2003-06-25 00:32:11 +00:00
Sterling Hughes 09927a7ba2 moved to pecl by sascha. remove them from head.
discussed with harald, will remain in pecl till he has some more time to
work on it.
2003-06-25 00:28:10 +00:00
Sterling Hughes 211ca9d9e5 enable sqlite by default 2003-06-25 00:18:01 +00:00
Sterling Hughes fa36b5bfa4 can now be --with-dom, as the old domxml is now in pecl 2003-06-25 00:17:41 +00:00
foobar 7a24772485 Fix configure failure with static openssl libs 2003-06-24 16:39:52 +00:00
Ilia Alshanetsky c8ecf7ec3e Fixed bug #24312 (base64_decode() does not skip 0xF0-0xFF characters)
Patch by: gereon.steffens[at]onvista.de
2003-06-24 15:23:17 +00:00
foobar 420941a80b remove totally useless, incomplete, badly named, etc. script. 2003-06-24 15:22:12 +00:00
Ilia Alshanetsky 419448238b Fixed typo. 2003-06-24 14:36:01 +00:00
foobar 80031b0c9f added missing .cvsignore file 2003-06-24 14:09:23 +00:00
foobar e3cd8fac9b - Unified PHP_SETUP_OPENSSL with other PHP_SETUP_* macros. 2003-06-24 14:05:26 +00:00
Sascha Schumann e1a9dd289a Empty HEAD of domxml, hyperwave, xslt 2003-06-24 13:56:57 +00:00
Ilia Alshanetsky 6b5b6079da Fix for bug #24313 (port from dead PHP_5 branch) 2003-06-24 13:56:25 +00:00
Wez Furlong eea0ffc0d1 1.1, not 2.0... 2003-06-24 11:30:59 +00:00
Wez Furlong a27b34a20b update package.xml for 5.0 2003-06-24 11:23:31 +00:00
b6bc8b9edf ChangeLog update 2003-06-24 00:30:11 +00:00
Marcus Boerger 20b8a7dfe4 Put some brief technically description here 2003-06-23 22:37:12 +00:00
Zeev Suraski bc4c7c6a6d Fix crash :) 2003-06-23 22:14:38 +00:00
Marcus Boerger f2bce37d04 Add profiling results 2003-06-23 21:59:55 +00:00
Ilia Alshanetsky 28347d74bb port sqlite_array_query() fix from PHP_4_3 2003-06-23 19:37:48 +00:00
Wez Furlong 0f971485ac Fix build when builddir != srcdir. 2003-06-23 16:06:37 +00:00
Stanislav Malyshev c3fb1eac15 FIx leak 2003-06-23 14:48:59 +00:00
Stanislav Malyshev 02bebe8186 add test for #24281 2003-06-23 14:18:33 +00:00
Stanislav Malyshev baa3892fe1 Fix #24281 - str_replace not updating the count if value is
not initialized
2003-06-23 14:09:14 +00:00
Sebastian Bergmann 4ee26b390f Remove references to bundled libmysql. 2003-06-23 04:27:11 +00:00
James Cox 76f85107e2 bring head into sync with the php4 branch 2003-06-23 01:27:13 +00:00
Sterling Hughes d4cd1ef084 remove the bundled libmysql, and update the config.m4 file as necessary.
this works locally, but everyone, *please* test
2003-06-23 01:10:58 +00:00
d520d2b805 ChangeLog update 2003-06-23 00:31:49 +00:00
Martin Jansen f2f140bbe9 * Fix for bug #23954
# MFH?
2003-06-22 19:14:16 +00:00
Marcus Boerger a594c7b714 Fix test shutdown 2003-06-22 19:03:24 +00:00
Marcus Boerger 9d6f63ef71 Remove sqlite::close() 2003-06-22 19:00:44 +00:00
Marcus Boerger f2d26fc85d Add oo API 2003-06-22 17:19:46 +00:00
Ilia Alshanetsky 77f11b9f45 Fixed bug #24284 (Fixed memory leak inside pg_ping()) 2003-06-22 16:46:24 +00:00
Marcus Boerger b8d079a4c2 Somehow i feel like that 2003-06-22 16:32:58 +00:00
Marcus Boerger 1cdc2d48b6 Fix possible SEGV 2003-06-22 15:53:50 +00:00
Marcus Boerger 51dbd3b39e Adding an array example 2003-06-22 15:48:44 +00:00
Marcus Boerger f9477577a4 Fix array writing 2003-06-22 14:55:44 +00:00
Andrey Hristov f89e7e3fb9 proto fixes. 2003-06-22 14:33:09 +00:00
Marcus Boerger f4d3111e8a Fix example 2003-06-22 12:57:53 +00:00
Marcus Boerger b5434aac36 Fix module pointer name to enable building again 2003-06-22 12:50:28 +00:00
Zeev Suraski cbec89a358 Fix complex expressions for class names in NEW 2003-06-22 10:50:43 +00:00
Zeev Suraski f263aecc8e Simplify 2003-06-22 10:12:25 +00:00
Georg Richter 5655ebe6f2 added new function mysqli_stmt_num_rows 2003-06-22 08:46:39 +00:00
Georg Richter bb37c9c335 fixed prototypes 2003-06-22 06:16:47 +00:00
39c3b7a184 ChangeLog update 2003-06-22 00:31:09 +00:00
Marcus Boerger 4ff79c7d84 Add test case for final classes 2003-06-21 22:02:16 +00:00
Marcus Boerger c8bebdaf67 WS 2003-06-21 21:56:44 +00:00
Marcus Boerger 60c7abac61 Add final classes 2003-06-21 21:56:06 +00:00
Hartmut Holzgraefe 2df990c803 TODO revisited 2003-06-21 19:38:32 +00:00
Hartmut Holzgraefe 476cb35083 ini stuff was a bit broken 2003-06-21 19:38:13 +00:00
Hartmut Holzgraefe ba8e371db1 thoughts about a new proto parser ... 2003-06-21 19:28:19 +00:00
Hartmut Holzgraefe 7319c5132b test script tags are found but not used yet
double quotes in extensions summary line are now escaped in code generation
2003-06-21 19:25:31 +00:00
Hartmut Holzgraefe 434c849ff0 typo fixes and test script tags added 2003-06-21 19:23:17 +00:00
Hartmut Holzgraefe c95a96bfe4 start to track them bugs 2003-06-21 19:19:56 +00:00
Marcus Boerger 8251858120 Add test case for abstract classes 2003-06-21 19:10:08 +00:00
Marcus Boerger a332df50fb Don't copy the filename when it is not needed 2003-06-21 18:43:25 +00:00
Marcus Boerger 7eb9fc251a Store the absolute path of the database file and use that in the external library 2003-06-21 18:17:20 +00:00
Marcus Boerger 814c0be675 When persistent then we may use threads 2003-06-21 18:16:38 +00:00
Wez Furlong ce62305a38 More prep for 1.0 release. 2003-06-21 13:50:43 +00:00
Georg Richter 4554dc4a37 new functions (4.1.1): mysql_sqlstate, mysql_stmt_sqlstate 2003-06-21 13:35:26 +00:00
Wez Furlong 3a550b3c8c Prepare for 1.0 release 2003-06-21 13:29:26 +00:00
Wez Furlong 9e858102a8 Add a pair of functions to handle the binary coding used by PHP from within
UDF callbacks.

Add test for binary functions.
Fix proto.
2003-06-21 12:29:32 +00:00
Pierre Joye 418e4aee58 - New releases Net_SMTP, Mail, DB will follow asap 2003-06-21 10:04:17 +00:00
Pierre Joye a8d64a3156 - Sync release 2003-06-21 10:02:12 +00:00
d19c93c48a ChangeLog update 2003-06-21 00:31:17 +00:00
Marcus Boerger c5d4b5ddcd - Errors, warnings and notices start with a capital letter.
- Show sorcode info when debugging exif.
2003-06-20 18:24:38 +00:00
Sara Golemon 4c52cf5f90 When skipping blank searchvals we should advance the corresponding replace hash as well 2003-06-20 15:41:43 +00:00
Rob Richards c69d395931 cleanup common code 2003-06-20 14:08:56 +00:00
Rob Richards 015c6bacdd fix mem leak
remove unused code
2003-06-20 14:07:51 +00:00
Hartmut Holzgraefe c687987f25 - package.xml genartion fixed, <configureoptions> and <license> added
- shutdown code for globals added
2003-06-20 11:31:43 +00:00
Hartmut Holzgraefe 4debf9bb29 typo fix 2003-06-20 11:30:42 +00:00
4b93d257be ChangeLog update 2003-06-20 00:31:17 +00:00
Edin Kadribasic 022ed0464d Ignore some more win32 build files 2003-06-19 23:19:49 +00:00
Edin Kadribasic 23a9f80f89 ZTS Fixes 2003-06-19 23:13:28 +00:00
Edin Kadribasic 7886bc93f6 Win32 build fixes 2003-06-19 23:07:14 +00:00
Sara Golemon 496d17b98d Quiet down decode_context_param when stream (not context) is passed.
Switch stream_socket_*() to use macro for retrieving context from zval.
2003-06-19 22:30:54 +00:00
Ilia Alshanetsky d81f2e582c Added missing safe_mode checks.
Added support for additional libcurl options.
Set CURLOPT_NOSIGNAL by default for ZTS, for signal free operation.
2003-06-19 22:12:21 +00:00
Ilia Alshanetsky 7ef01f01b9 Reverting previous patch (not necessary, thanks Pollita ;) ) 2003-06-19 21:04:43 +00:00
Wez Furlong 425882ef70 Some tweaks ready for the upcoming 1.0 release. 2003-06-19 20:57:11 +00:00
Marcus Boerger 76b3007386 More name fixes (more thanks to george) 2003-06-19 18:22:17 +00:00
Marcus Boerger 69b7bb275a Forget to remove these namespace crap (thanks to george to remind me) 2003-06-19 17:38:53 +00:00
Ilia Alshanetsky a370ceb742 Fixed memory leak, when invalid context is specified. 2003-06-19 16:35:17 +00:00
Ilia Alshanetsky cbfb63c1c4 Fixed possible crashes in streams code 2003-06-19 16:10:54 +00:00
Marcus Boerger ba3e315b65 Allow the extension to reside elsewhere 2003-06-19 15:48:06 +00:00
Ilia Alshanetsky aeadf9bd4a Fixed a crash inside php_imagettftext_common(); 2003-06-19 15:47:46 +00:00
Rob Richards e52b96a296 add xsl_xsltprocessor_transform_to_uri functionality
fix a few unhandled error conditions
fix compiler warnings
2003-06-19 15:00:28 +00:00
Marcus Boerger 44401fa0e7 to be precise 2003-06-19 11:10:14 +00:00
Derick Rethans 05db82333d - Correct stray commit 2003-06-19 08:41:51 +00:00
Vincent Blavet 6b9269c717 - Sync with pear/Archive_Tar/package.xml 1.12 2003-06-19 05:52:28 +00:00
Sterling Hughes 651854a6dd enable sockets by default. 2003-06-19 04:39:42 +00:00
7c6d87aef0 ChangeLog update 2003-06-19 00:30:54 +00:00
Tomas V.V.Cox 4f2696ba7f Typo (sorry Pierre ;) 2003-06-18 23:19:04 +00:00
Vincent Blavet 9d012efd2c - Syncho with pear/Archive_Tar/Archive/Tar.php 1.14 2003-06-18 21:36:28 +00:00
Sterling Hughes 8eef152174 recognize CURLOPT_PORT 2003-06-18 21:02:02 +00:00
Wez Furlong 20ee07ef92 Should build with PHP5 now... 2003-06-18 19:48:02 +00:00
Tomas V.V.Cox d3f9d47aa9 Be more clever for discovering the default ext_dir 2003-06-18 19:27:55 +00:00
Tomas V.V.Cox 6fa60939f2 Update to 1.2 for PHP 4.3.3 2003-06-18 18:46:57 +00:00
foobar 71dedd2dd4 Fixed bug #24231: ext/sybase_ct could not be build as shared 2003-06-18 18:28:47 +00:00
Rob Richards e4c67c0035 Fix for bug #24219 segfault during resource destruction
Used bug fix to optimize free_doc routine
2003-06-18 17:42:39 +00:00
Sascha Schumann be4947b0e6 Use a smaller default size to accomodate the engine
Submitted by: Stanislav Malyshev, with some massaging by me
2003-06-18 16:15:47 +00:00
Ilia Alshanetsky d860759db9 Make the default mysql connection timeout 60 seconds rather then unlimited. 2003-06-18 15:19:16 +00:00
Sara Golemon 66881b5f2c Fix compiler warnings 2003-06-18 03:26:29 +00:00
705967daec ChangeLog update 2003-06-18 00:31:01 +00:00
Marcus Boerger 5b3fd9bf2f - Remove namespace leftovers
- Convert some static inline functions to macros
- Faster was of function call parameter stack building
2003-06-17 20:18:10 +00:00
Sara Golemon 897e6a4069 No need to allocate a hashtable when return_value is just going to be overwriten 2003-06-17 18:38:56 +00:00
Ilia Alshanetsky caef4c7776 Handle numeric keys passed via GPC 2003-06-17 17:15:02 +00:00
Ilia Alshanetsky 4151fd0453 One more typo ;) 2003-06-17 14:13:17 +00:00
Ilia Alshanetsky 4426338bf6 Fixed a typo in the check 2003-06-17 13:59:44 +00:00
Ilia Alshanetsky cadc8a15f9 Fixed bug #24223 (missing variable initialization in bundled gd) 2003-06-17 13:37:43 +00:00
Ilia Alshanetsky abe8647eb4 Added a test case for bug #24220 2003-06-17 13:19:20 +00:00
Sterling Hughes 3de4afa454 rename SOCKET to PHP_SOCKET to avoid conflicts with Mono 2003-06-17 04:44:30 +00:00
Sterling Hughes 821b0fa134 remove the wierdness that prevented the compileness 2003-06-17 00:49:24 +00:00
ccfb4c316e ChangeLog update 2003-06-17 00:31:41 +00:00
foobar c43d558700 Fixed bug #24207: phpize wrong exit code 2003-06-16 21:44:29 +00:00
Sara Golemon abd52d4efc Bug #24210 : assume misspelled (and thereby not found during configure) 2003-06-16 20:16:06 +00:00
foobar 9aa14246d9 Fixed the expected result 2003-06-16 19:59:27 +00:00
foobar b35611000e Nothing to see here, move along. 2003-06-16 19:58:24 +00:00
Ilia Alshanetsky e40142047b Fixed bug #24208 2003-06-16 19:24:56 +00:00
Sara Golemon 730ce7b06f Add context property to userspace streams object. 2003-06-16 19:13:39 +00:00
Sascha Schumann e5c5c491fb Simplify/fix logging 2003-06-16 19:11:33 +00:00
Moriyoshi Koizumi a3873c986b Added test case for bug #24208 2003-06-16 19:10:12 +00:00
Sara Golemon 2f4e91bf8a optionvalue is being copied via zval_copy_ctor, there's no need to addref the original 2003-06-16 18:19:14 +00:00
Derick Rethans cd5fd7eed7 - Added test for bug #24142 2003-06-16 17:50:07 +00:00
Ilia Alshanetsky df32619d63 Fixed bug #24150 (crash in imap_fetch_overview() &
imap_rfc822_write_address())
2003-06-16 17:41:52 +00:00
Ilia Alshanetsky 6057160dbf Fixed bug #24198 (Invalid recursion detection in array_merge_recurcive()) 2003-06-16 17:35:16 +00:00
Tomas V.V.Cox 1a290fb692 s/verbose/debug/ 2003-06-16 17:14:27 +00:00
Tomas V.V.Cox a407529fc6 Fix registry obj creation when no installroot is set 2003-06-16 17:12:33 +00:00
Tomas V.V.Cox e72354e18e Expose phpize output
Increase verbosity for building process by default
(no need for -v)
2003-06-16 17:10:09 +00:00
Andrey Hristov 8934146246 proto fixes
#my head hurts now. no more fixes today ;)
2003-06-16 16:36:51 +00:00
Stanislav Malyshev 7e663790c7 flush after banner print 2003-06-16 16:14:38 +00:00
Stanislav Malyshev b48a86581a no need to init zval - assignment will init 2003-06-16 15:43:40 +00:00
Stanislav Malyshev f205abb3f8 Fix bug #22592 - cascading assignments to string offsets 2003-06-16 15:41:02 +00:00
Andrey Hristov 466ef9fd91 1. proto fixes.
2, comments on possible leak : buffer calloc()-ed but not free()-d on error (author will be contacted)
2003-06-16 15:40:37 +00:00
Andrey Hristov e1b285dc93 updating license to 3.0 2003-06-16 15:25:00 +00:00
Andrey Hristov e050348b67 $Id tag added 2003-06-16 15:13:32 +00:00
Andrey Hristov e064275b03 load of proto fixes 2003-06-16 15:12:56 +00:00
Andrey Hristov 23e7163a2d $Id tag added. License added tp php_mhash.h 2003-06-16 14:27:59 +00:00
Andrey Hristov 69154f527e added $Id tag 2003-06-16 14:20:07 +00:00
Andrey Hristov 1e42a25ca1 proto fixes 2003-06-16 14:03:35 +00:00
Andrey Hristov 9e9bd915aa proto fix 2003-06-16 13:39:56 +00:00
Andrey Hristov 3e95de04a9 proto fix 2003-06-16 13:32:00 +00:00
Stanislav Malyshev 10642b81a0 Add test for the bug - will fail for now! 2003-06-16 12:26:07 +00:00
Daniela Mariaschi e537337398 proto fixes ibase_rollback and ibase_commit 2003-06-16 10:41:42 +00:00
Stanislav Malyshev f57ac82bb0 support for self:: and parent:: constants 2003-06-16 10:16:50 +00:00
Stanislav Malyshev 4dcc1ef66c fix lambda function static vars (related to #17115) 2003-06-16 09:59:02 +00:00
Stanislav Malyshev c44e4eddbe fix test so it does not depend on variable order 2003-06-16 09:27:33 +00:00
Stanislav Malyshev 91ec828de5 add tests for fixed bugs 2003-06-16 09:20:42 +00:00
Edin Kadribasic 5a3c09c440 Fixed win32 build 2003-06-16 09:11:31 +00:00
Stanislav Malyshev e64dbbfda6 default_classes belongs to ZE2 part 2003-06-16 08:32:35 +00:00
Tomas V.V.Cox d93e9fea6a Better file relocation and invert post/postun logic 2003-06-16 08:27:47 +00:00
Tomas V.V.Cox d335b38a37 Do not create the registry obj at Installer object creation
(it's problematic when pear install -R <DIR> is used)
2003-06-16 07:44:46 +00:00
Ilia Alshanetsky b25c652f95 Fixed a few remaining compiler warnings. 2003-06-16 03:05:25 +00:00
0e4f73ee54 ChangeLog update 2003-06-16 00:31:04 +00:00
Marcus Boerger 46b4ab47be Fit the error handler into the naming scheme and get rid of trailing new lines 2003-06-16 00:18:28 +00:00
Edin Kadribasic 711cf23894 Fixed win32 build (link to external expat). 2003-06-15 23:58:33 +00:00
Marcus Boerger e208b0e77e Add an error handler (thx to timm for the idea) 2003-06-15 23:57:48 +00:00
Edin Kadribasic c61492823e Fixed win32 build 2003-06-15 23:47:18 +00:00
Edin Kadribasic 6e2743023b Win32 build fixes for openssl 2003-06-15 23:34:46 +00:00
Edin Kadribasic 6bcf810687 This needs to be exported for dynamic extensions 2003-06-15 23:27:05 +00:00
Edin Kadribasic e92e7d47c5 Fixed win32 build 2003-06-15 22:58:04 +00:00
Rob Richards 19a9489cb6 remove leftover parser->mem_hdlrs - compiles now 2003-06-15 20:56:48 +00:00
Moriyoshi Koizumi f9b194f609 Removed xmlMemSetup() code as it doesn't help at all. 2003-06-15 20:40:45 +00:00
Pierre Joye 445c710733 add Marcus, enough work done 2003-06-15 20:16:46 +00:00
Marcus Boerger 8fd5e11ff4 Add ImageXBM 2003-06-15 20:00:08 +00:00
Rob Richards 2a02045596 remove code no longer needed
fix format Output property
2003-06-15 19:58:42 +00:00
Marcus Boerger 4593a04e3b Better use '_' instead of '.' 2003-06-15 19:56:40 +00:00
Marcus Boerger 8913dcd267 Better configure output 2003-06-15 19:54:41 +00:00
Rob Richards 6ed47a404a should be multithreaded and correct lib naming 2003-06-15 19:54:38 +00:00
Tomas V.V.Cox 02ef813164 Added TODO and IDEAS to makerpm 2003-06-15 16:52:08 +00:00
Tomas V.V.Cox 47aa7a9b36 Fix makerpm (again)
Build an independant filelist tree
(this command still needs some work)
2003-06-15 16:29:10 +00:00
Andrey Hristov 900263aaa9 proto fixes 2003-06-15 16:25:59 +00:00
Andrey Hristov 7711dbac76 proto fixes 2003-06-15 16:04:31 +00:00
Sebastian Bergmann 2c7ebe557f Fix ZTS build. 2003-06-15 15:34:00 +00:00
Andrey Hristov eb33adf139 proto fixes 2003-06-15 15:29:46 +00:00
Stanislav Malyshev b81873134b Fix bug #23279 - exception handler exits after first function call 2003-06-15 15:07:55 +00:00
Rob Richards 02bc7c3217 be nice if i named the dll correctly and put it somewhere 2003-06-15 14:57:06 +00:00
Rob Richards 6082168510 fix xsl release build
link libxml2 and libxslt dynamically for consistancy
2003-06-15 14:52:23 +00:00
Rob Richards c1b5700333 link libxml2 dynamically for consistancy 2003-06-15 14:50:11 +00:00
Stanislav Malyshev fe1ef91e77 No need to duplicate code - zend_get_constant() knows to
handle class constants now
2003-06-15 14:46:15 +00:00
Stanislav Malyshev 95a936becc Fix bug #18872 - Improper handling of class constants used as default
function argument values
2003-06-15 14:42:39 +00:00
Stanislav Malyshev 4a8c31d6c9 set ending \0 for string 2003-06-15 14:40:38 +00:00
Stanislav Malyshev 8cd9792375 Fix bug #23384 - static class::constant constants should now
work in static & array expressions.
2003-06-15 13:58:50 +00:00
Edin Kadribasic 68ae83f339 Fixed win32 build 2003-06-15 12:19:57 +00:00
Edin Kadribasic 244c706a0d Fixed ZTS build 2003-06-15 12:10:28 +00:00
Edin Kadribasic fa48ad6df3 Fixed ZTS build 2003-06-15 11:50:17 +00:00
Edin Kadribasic 045460edd3 No need for this in the HEAD branch 2003-06-15 11:48:47 +00:00
Stanislav Malyshev efafae1427 Fix bug #21800 - initialize opcode handlers in interactive mode 2003-06-15 11:44:30 +00:00
Edin Kadribasic f58cc5d28a Fixed win32 build (mod_php4 -> mod_php5) 2003-06-15 11:36:02 +00:00
Edin Kadribasic 99b1f4fb7b Switch to dynamic linking of php_domxml.dll due to the libxml2 dependency
already being present for the core php4ts.dll.
2003-06-15 01:31:43 +00:00
a618f3e651 NEWS update 2003-06-15 00:31:08 +00:00
768ac8de32 ChangeLog update 2003-06-15 00:31:02 +00:00
Marcus Boerger 0137868171 No more namespaces 2003-06-14 22:10:15 +00:00
Marcus Boerger 344737c24e Fix test 2003-06-14 19:42:32 +00:00
Marcus Boerger f304458bdb Fix ZTS mode (hopefully all is working fine now again) 2003-06-14 19:30:42 +00:00
Marcus Boerger 8f2b387c61 - Update license
- Don't buffer in non buffered mode
2003-06-14 18:16:47 +00:00
Rob Richards d1bfc58aee use xmlInitParser instead of xmlInitThreads
reentrant safe as well no need for xml_parser_inited
2003-06-14 18:15:50 +00:00
Rob Richards c104c0d676 use xmlInitParser instead of xmlInitThreads
reentrant safe as well
2003-06-14 18:14:05 +00:00
Marcus Boerger 27a81109be Correct license again 2003-06-14 17:14:42 +00:00
Marcus Boerger 9605db43ed Fix ZTS mode 2003-06-14 17:08:49 +00:00
Tomas V.V.Cox 9f828a5035 Fix some typos in makerpm and removed unused debug code 2003-06-14 16:56:19 +00:00
Marcus Boerger 3861a10c07 Update before moving to PECL 2003-06-14 16:54:18 +00:00
Daniela Mariaschi 6203058381 Added test for IBASE_REC_VERSION/IBASE_REC_NO_VERSION trans constants 2003-06-14 16:45:38 +00:00
Daniela Mariaschi e8e4db8581 Added IBASE_REC_VERSION/IBASE_REC_NO_VERSION transaction constants
required from bugs #8797 #23887
(added IBASE_WRITE, IBASE_WAIT, IBASE_CONCURRENCY just for clarity)
2003-06-14 16:38:10 +00:00
Rob Richards 09eb38ec10 interoperability support
fix some memleak scenarios
2003-06-14 15:32:23 +00:00
Rob Richards 14fad0e5d8 interoperability support 2003-06-14 15:28:13 +00:00
Rob Richards 6414becb62 fix xml_parser_inited on win32
add common structs for better interoprability
2003-06-14 15:27:15 +00:00
Rob Richards e6502514fb fix common libxml init and deinit routines 2003-06-14 15:08:48 +00:00
Ilia Alshanetsky 93a5238465 Fixed bug #24007 (Problem with register_globals & arrays) 2003-06-14 15:08:27 +00:00
foobar f07f3267e2 - Fixed some /usr/lib leaks into LIBS/LDFLAGS which later on made other
configure checks fail (old libs in /usr/lib, new ones in /opt/lib :)
2003-06-14 14:22:13 +00:00
Marcus Boerger 74476dc1da Improve/fix preventing both enabled 2003-06-14 13:35:09 +00:00
foobar 12804f5234 Fix compile failure. 2003-06-14 13:31:51 +00:00
foobar d3d2b47b89 - Fixed some build problems (/usr/lib leaked in to LDFLAGS/LIBS)
- Made this extension to be possible to be build as shared.
2003-06-14 12:57:38 +00:00
Marcus Boerger 4eb6392519 ecalloc doesn't return NULL 2003-06-14 11:32:30 +00:00
Marcus Boerger 4a97e3fef6 Don't allow both and mark the old one as deprecated 2003-06-14 11:27:49 +00:00
Rob Richards 68ff4becab export xml_parser_inited under win32 2003-06-14 11:22:13 +00:00
Marcus Boerger ceb91fba65 Bugfix #24182: va_arg macro error in Zend/zend.c 2003-06-14 09:25:36 +00:00
Sterling Hughes e4db6159f2 make alan happy 2003-06-14 04:40:58 +00:00
Sterling Hughes 34b36fd50f delete + no C++ comments 2003-06-14 04:17:59 +00:00
Sterling Hughes ec3823a5d2 fix some more leaks 2003-06-14 04:15:57 +00:00
Sterling Hughes cc0c4e4981 This shouldn't be refcount = 0, causes a memory overrun 2003-06-14 04:02:12 +00:00
Frank M. Kromann 60d161a382 Updating email address 2003-06-14 03:35:16 +00:00
de6d5efea8 ChangeLog update 2003-06-14 00:31:07 +00:00
Sara Golemon 236349f156 User Filters don't need to register a resource list for streams.
That functionality is already exported by the streams API.
2003-06-13 22:25:29 +00:00
Sara Golemon 99db19661a Plug leak (context options not freed)
Make contexts auto-registered, ensures userland contexts
and C API contexts are both dealt with on request shutdown.
Also brings contexts in keeping with streams which are already
auto-registered.
2003-06-13 21:33:59 +00:00
Rob Richards 785bc24a9b fix compile when ZTS enabled
fix bunch of memory leaks
2003-06-13 19:58:56 +00:00
Sara Golemon 82ddb23338 Loosen restrictions on method used with http_fopen_wrapper, still default to GET though. 2003-06-13 19:27:26 +00:00
Ilia Alshanetsky d75d52a571 Busted by the CS police. 2003-06-13 15:01:18 +00:00
Andrey Hristov ab5b9b91d3 proto fixes 2003-06-13 14:59:01 +00:00
Ilia Alshanetsky de6c599504 Added missing function proto 2003-06-13 14:56:07 +00:00
Ilia Alshanetsky 17861b93bf Fixed bug #24161 (No timeout value for imap functions)
Added imap_timeout() that allows the user to specify as well as retrieve
timeout values and set default timeout values based on the
default_socket_timeout ini setting.
2003-06-13 14:39:22 +00:00
foobar 1d008db710 Missing entry 2003-06-13 14:35:54 +00:00
foobar 9dd0584672 Added missing NEWS entry 2003-06-13 14:31:54 +00:00
foobar bb37952bc2 Fixed the SASL config check. 2003-06-13 13:30:46 +00:00
Sascha Schumann f25ff93cc6 MFB 2003-06-13 09:19:52 +00:00
foobar 9706fcd17f Fix the test. (second session init call produces a notice) 2003-06-13 09:15:56 +00:00
f3a1c37081 ChangeLog update 2003-06-13 00:31:14 +00:00
Wez Furlong b39ff50d9b Add .def file to export the sqlite functions from our win32 dll 2003-06-12 23:22:33 +00:00
Rob Richards 5b19e1ec92 add node->isSupported()
add domimplementation->hasFeature()
add formatOutput property (extends DOM)
call xmlFreeDoc when doc is no longer referenced rather than custom code
save and savexml now format based on formatOutput property
2003-06-12 20:02:05 +00:00
Marcus Boerger 48cc4a7be6 Bugfix #2397: dba_open locking error with db3 2003-06-12 19:53:40 +00:00
Ilia Alshanetsky a17c5a5fbc Fixed bug #22505 (Allow imap_sort() and imap_search() to specify a charset) 2003-06-12 19:46:44 +00:00
Ilia Alshanetsky 490da4fbb7 Fixed bug #24155 (gdImageRotate270 incorrectly use x parameter for y axis) 2003-06-12 19:31:44 +00:00
Marcus Boerger 3a75403bac License update 2003-06-12 19:30:54 +00:00
Rob Richards 2b8fcfbeab fix some calls to libxml 2003-06-12 17:04:28 +00:00
Andrey Hristov 2d4449caf9 silly bug 2003-06-12 15:11:11 +00:00
Andrey Hristov 792d15ae93 proto fixes
#hope not to be scared again by andrei ;)
2003-06-12 14:04:31 +00:00
Andrey Hristov b607030b13 proto fixes 2003-06-12 12:35:19 +00:00
Andrey Hristov 03a135a141 proto fix 2003-06-12 12:32:22 +00:00
Andrey Hristov bbc9134fc4 proto fixes 2003-06-12 12:21:33 +00:00
Andrey Hristov b8e59bb336 proto fixes 2003-06-12 12:00:20 +00:00
Andrey Hristov 080eaaf573 proto fixes 2003-06-12 11:24:24 +00:00
Andrey Hristov 18cc2a9b4f proto fixes 2003-06-12 10:30:08 +00:00
Andrey Hristov 864f217e20 proto fixes 2003-06-12 10:08:26 +00:00
Derick Rethans 5b1f7be3eb - MFB: HTTP Request Methods are case sensitive
#- This was surrounded by an #ifdef, but I thought I fixed it too.
2003-06-12 08:38:58 +00:00
Ilia Alshanetsky 6e2285dded Added missing safe_mode/open_basedir checks. 2003-06-12 01:47:12 +00:00
fd88694a29 ChangeLog update 2003-06-12 00:31:13 +00:00
Marcus Boerger 76f68f2a51 WS and removing unecessary things 2003-06-11 20:51:14 +00:00
Rob Richards b2c4882d54 forgot this: set doc for new text node as current may not be in tree 2003-06-11 20:06:03 +00:00
Rob Richards 110920bc7e add isWhitespaceInElementContent()
fix splitText for nodes not in tree
correct links to specs
2003-06-11 19:55:52 +00:00
Rob Richards aa0afd9307 update messages to require libxsl >= 1.0.18 2003-06-11 19:27:01 +00:00
Rob Richards 73c172cfee add substringData, insertData, deleteData, replaceData
fix reference links to specs
2003-06-11 11:25:08 +00:00
Ilia Alshanetsky b5dc8f918e fixed proto 2003-06-11 02:16:19 +00:00
a5cc34d6f0 ChangeLog update 2003-06-11 00:31:17 +00:00
foobar d0bfc137df - Missing $Id$ tag 2003-06-10 22:39:29 +00:00
Rob Richards a3128df046 Fixed memleaks 2003-06-10 22:24:54 +00:00
James Cox f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Hartmut Holzgraefe 90be6aa546 new TODO item: VisualStudio.net project files 2003-06-10 17:48:10 +00:00
Andrey Hristov 3ae8d27176 proto fixes 2003-06-10 14:06:20 +00:00
Sascha Schumann 3c58f69fc4 Print NOTICE upon session_start being called while another session is
active
2003-06-10 03:56:23 +00:00
61dbfa7624 ChangeLog update 2003-06-10 00:31:08 +00:00
Marcus Boerger c114698445 Add a test for sqlite_array_query() 2003-06-09 23:22:00 +00:00
Marcus Boerger 25b7954dbb This is a 'fetch all' test using fetch_all() 2003-06-09 23:21:06 +00:00
Marcus Boerger ed1a17a032 Update 2003-06-09 23:16:32 +00:00
Marcus Boerger 062b9afe4f Add sqlite_array_query(). 2003-06-09 23:15:29 +00:00
Marcus Boerger e1652789ea - Add sqlite_array_query().
- Make all read functions destructive when in unbuffered read mode.
2003-06-09 23:14:25 +00:00
Ilia Alshanetsky d3ad6e640d Do not perform safe_mode & open_basedir checks for memory-only databases. 2003-06-09 20:36:55 +00:00
Rob Richards f2957721af changes for /ext/dom document ref count
changes for /ext/dom internal object handling
2003-06-09 20:24:16 +00:00
Rob Richards 6d72c89408 implmentation of document ref counting for persistance
re-work of internal object handling
2003-06-09 20:20:55 +00:00
Ilia Alshanetsky aec7815e9c Fixed bug #24098 (Crash in pathinfo() due to double var initialization).
# This is a php5 specific bug, no MFB needed
2003-06-09 18:12:36 +00:00
Wez Furlong 7959b2d7b0 Fix for Bug #23951 2003-06-09 17:02:32 +00:00
Marcus Boerger cdac4401d8 No more namespaces 2003-06-09 16:58:51 +00:00
Marcus Boerger 67befca5e6 Add some 'structure' and make it faster 2003-06-09 16:57:17 +00:00
Stanislav Malyshev c68924dcbc remove NS leftover 2003-06-09 14:05:12 +00:00
Zeev Suraski 8d2a4e04ae Fix bogus implicit declarations of properties (squash bug #23671) 2003-06-09 13:51:53 +00:00
Stanislav Malyshev 565985acfc Support 'self' and 'parent' in call_user_func() 2003-06-09 10:55:37 +00:00
Moriyoshi Koizumi e7fd4c57b2 Fixed trivial typo 2003-06-09 08:11:53 +00:00
Zeev Suraski 910dff4c2b Fix indirect reference calls to bogus function names 2003-06-09 07:39:55 +00:00
Sterling Hughes 21d90d6ac4 ok, this is a zend bug. 2003-06-09 04:01:11 +00:00
Sterling Hughes 6fc9fdeefc simon says leaking is better than crashing 2003-06-09 03:29:33 +00:00
Sterling Hughes 568aecd973 get rid of a memleak
make namespaces work properly
2003-06-09 03:11:28 +00:00
Edin Kadribasic f7c9551d5e MFB 2003-06-09 01:00:23 +00:00
866bce3414 ChangeLog update 2003-06-09 00:30:58 +00:00
foobar 755eccf82a - Moved scan_makefile_in.awk to better suitable place for it.
(other build related scripts are under build/ too..)
2003-06-09 00:17:03 +00:00
foobar 7f52928ea5 ws 2003-06-09 00:15:11 +00:00
Ilia Alshanetsky b19f3302eb MFB 2003-06-08 23:52:29 +00:00
foobar c0e4bfcae4 - Added ldap_sasl_bind(). (Jani, peter_c60@hotmail.com) 2003-06-08 23:44:01 +00:00
foobar c15b8fb19e ws & cs 2003-06-08 23:34:51 +00:00
Zeev Suraski 636e9cc6a4 Fix casing issues in access level checks 2003-06-08 19:28:29 +00:00
Zeev Suraski d329ce93f2 Nicer handling of protected/private members in print_r() 2003-06-08 18:53:58 +00:00
Zeev Suraski faefdb7bdd Fix handling of object property assignments in switch expressions
(bug #23925)
2003-06-08 18:52:53 +00:00
Zeev Suraski fa78f2b8eb XMLless build fix 2003-06-08 18:29:55 +00:00
Zeev Suraski ce40bc9073 Make $_FILES auto global (bug #23680) 2003-06-08 15:30:33 +00:00
Zeev Suraski 4abaac8c2f Fix set_error_handler() 2003-06-08 14:00:11 +00:00
f8fbb4a30b ChangeLog update 2003-06-08 00:31:03 +00:00
Tomas V.V.Cox dd7132d478 Martin's run-test error msg improvements :-) 2003-06-07 18:44:46 +00:00
Sterling Hughes 5930c2fbbc woops, make that "bundle," not ".bundle" 2003-06-07 17:07:10 +00:00
Sterling Hughes d5e1020714 simple script that will look at bundle (when which is populated when we
move the extensions to pecl) and bundle the contents of that file
2003-06-07 17:06:42 +00:00
Tomas V.V.Cox 106a277239 Added better error message to run-tests 2003-06-07 16:45:53 +00:00
Georg Richter 0a2968a75f fixed mysql bug #564 (http://bugs.mysql.com/bug.php?id=564) 2003-06-07 16:15:22 +00:00
Marcus Boerger c191b4343b Actually sqlite.c isn't located in libsqlite 2003-06-07 15:15:27 +00:00
Sterling Hughes 208aa6152d i ain't know domdom 2003-06-07 15:09:24 +00:00
Sterling Hughes d65e9b3818 leftover.
its wholeText not whole_text
2003-06-07 15:07:42 +00:00
Sterling Hughes 1837db58d1 add the wholeText property 2003-06-07 15:03:45 +00:00
Marcus Boerger 2e84e2ab3f Added new test 2003-06-07 14:13:36 +00:00
Rob Richards 0565d9724b fix more memory overruns
initial definition for document ref counting
fixed property access to support all objects
clear property handler from invalid objects until ref count implemented
2003-06-07 13:30:58 +00:00
Marcus Boerger eccfbe5f88 WS 2003-06-07 11:38:03 +00:00
Sterling Hughes 815d41f85a Add the pear bundle command from Thomas Cox. 2003-06-07 03:08:05 +00:00
Marcus Boerger cae9aab2c0 Goodbye namespaces 2003-06-07 00:57:07 +00:00
06d6909c58 ChangeLog update 2003-06-07 00:31:14 +00:00
Wez Furlong b230df9254 Touch lemon generated file 2003-06-06 22:46:33 +00:00
Wez Furlong 30fc9e152f Update bundled library to 2.8.3 + patches from sqlite author to enable
authorization checks for the ATTACH database command.
2003-06-06 22:44:57 +00:00
Sterling Hughes 6610183236 add splitText()
never has such a complex process been endured for such a simple function
libxml makes me queasy right now :)
2003-06-06 20:10:05 +00:00
Rob Richards 29b5fbcc53 fix double free issue
fix property access within invalid objects and failed reads
2003-06-06 19:04:32 +00:00
Georg Richter f8ac961927 fixed bug #24060 2003-06-06 19:02:30 +00:00
Marcus Boerger 2013859ec5 Update 2003-06-06 19:01:38 +00:00
Jay Smith 0efbd4f925 Namespaces are gone, and so is this test. 2003-06-06 19:00:48 +00:00
Marcus Boerger 797654bde7 New fetch_all() an fetch optimization reworked (original idea by ilia) 2003-06-06 19:00:16 +00:00
Edin Kadribasic bd2f381edf Update win32 build with new version 2003-06-06 16:39:46 +00:00
Wez Furlong c1817c9b8d Update for 2.8.2 2003-06-06 16:33:32 +00:00
Martin Jansen 4ab3e6860f * The argument of displayError() is a PEAR_Error instance.
# Bug: 23932
2003-06-06 16:09:01 +00:00
Martin Jansen b4cf8debce * Use raiseError(), like it's done in the rest of class also.
# Bug: 23932
2003-06-06 16:07:15 +00:00
Sascha Schumann 3d5ecc112b mfb #24025 fix 2003-06-06 12:12:25 +00:00
foobar c8c45d14da Test for bug #24054 2003-06-06 11:09:55 +00:00
Georg Richter 5a7257f6e2 fixed return value 2003-06-06 08:57:51 +00:00
foobar 9e71e39fa9 WS 2003-06-06 08:10:02 +00:00
foobar 497060f49f missing header 2003-06-06 06:43:08 +00:00
foobar 5083d8b1c5 Missing header 2003-06-06 06:40:36 +00:00
foobar 4dc1f7af3c Some missing files.. 2003-06-06 06:34:30 +00:00
foobar aaf2473558 Missing entries in .cvsignore and some cutpaste bugs in config.m4 2003-06-06 06:32:16 +00:00
foobar fe054542a3 Fixed bug #24051: shared build and test 2003-06-06 06:17:02 +00:00
93640e75e6 ChangeLog update 2003-06-06 00:30:45 +00:00
Marcus Boerger 96a7b5557c Added test files 2003-06-05 20:15:21 +00:00
Marcus Boerger a5f52b5052 Update 2003-06-05 19:40:41 +00:00
Marcus Boerger cb22a3b9e6 Update 2003-06-05 19:38:59 +00:00
Sterling Hughes a71652e12e add CREDITS file 2003-06-05 19:12:07 +00:00
Moriyoshi Koizumi 95f390bf2a Avoid unnecessary zval separation 2003-06-05 18:59:55 +00:00
Sterling Hughes ee5f79487e fix a bunch of memory overruns, and uninitialized variable uses
fixes crash on sample script rob sent me
2003-06-05 18:54:25 +00:00
Moriyoshi Koizumi 3ebf297261 Avoid unnecesary zval separation 2003-06-05 18:54:19 +00:00
Sterling Hughes 15aab08e9d version length too 2003-06-05 18:30:19 +00:00
Sterling Hughes a957b66dc8 initialize the encoding length 2003-06-05 18:29:55 +00:00
Moriyoshi Koizumi cf0087ef34 WS fix 2003-06-05 18:04:30 +00:00
Sterling Hughes 7dadb69c88 add tests/ files as examples that you can run and play around with 2003-06-05 17:51:35 +00:00
Sterling Hughes b59c7c7307 add .cvsignore file 2003-06-05 17:49:46 +00:00
Sterling Hughes 7b42eccfd6 prevent double destroy and double init badness 2003-06-05 17:48:51 +00:00
Sterling Hughes 49bef1ac9a fig segv on make install (double destroy badness) 2003-06-05 17:48:25 +00:00
Rob Richards 848795e3f9 Inital cut of new xsl extension
interoperates with new dom extension
PHP5 only
2003-06-05 17:10:13 +00:00
Rob Richards 1b046ed40e Inital cut of new dom extension
PHP5 only
2003-06-05 17:06:52 +00:00
Hartmut Holzgraefe bf0e2751bb ... as suggested by Wez 2003-06-05 14:42:12 +00:00
Sterling Hughes 295a1c665c fix array_key_exists() from HANDLE_NUMERIC() changes
# need to go through this file and find any stuff that relies on this
# change
2003-06-05 13:58:14 +00:00
Wez Furlong c44fcc1dc5 WS 2003-06-05 13:03:15 +00:00
Martin Jansen a0805d8f53 * Advancing myself 2003-06-05 07:03:03 +00:00
Martin Jansen a0ddbbaed9 * Add optional dependency to the DTD 2003-06-05 07:01:20 +00:00
Martin Jansen fcebd4ac36 * Commit support for optional dependencies
# Stig: Please review this stuff!
2003-06-05 06:57:22 +00:00
Martin Jansen 5f262f10ab * Add support for <provides />
# Bug: #23933
2003-06-05 06:32:10 +00:00
foobar 89e2d04ab9 Fix the regex issues with apache2handler 2003-06-05 04:14:43 +00:00
2cf370142d ChangeLog update 2003-06-05 00:30:46 +00:00
Wez Furlong 80e7f7001d Update bundled library to version 2.8.2.
Make OnUpdateInt compatible with ZE2.
Fix the makefile fragment for non-gnu makes
2003-06-04 22:40:00 +00:00
Wez Furlong 82a1818fde Revert accidental commit from marcus. 2003-06-04 21:11:45 +00:00
Marcus Boerger b70cf40742 Goodbye namespaces 2003-06-04 20:54:48 +00:00
Ilia Alshanetsky a8c7c3bc5e No need to dupe macro 2003-06-04 14:58:20 +00:00
Moriyoshi Koizumi 12ecc6ca1e Fixed base64_encode() integer overflow issue pointed out in TODO_SEGFAULTS 2003-06-04 14:41:45 +00:00
Moriyoshi Koizumi 0f1f635d00 Fixed ob_iconv_handler() type mismatch issue on 64bit platforms.
Patch by Joe Orton <jorton@redhat.com>
2003-06-04 14:29:43 +00:00
Hartmut Holzgraefe 55e2bbecfa mime_content_type() now also accepts open streams as argument
streas have to bee seekable, the stream position is reset to
its original value using ftell and fseek after operation
2003-06-04 14:21:40 +00:00
Stanislav Malyshev b4fcdaedee fix non-ZTS build 2003-06-04 09:09:47 +00:00
Sebastian Bergmann f26c5f9ce4 Fix segfault. Again. 2003-06-04 08:52:43 +00:00
Stanislav Malyshev 039c174337 rm namespace leftovers 2003-06-04 08:16:55 +00:00
Sebastian Bergmann d74d05f431 Fix segfault. #Hopefully not a Voodoo Fix[TM]. 2003-06-04 07:46:22 +00:00
foobar fde80076ec No C++ comments and extra tabs. 2003-06-04 05:45:54 +00:00
foobar b2ee53106f MFB: fix build 2003-06-04 05:32:03 +00:00
Sascha Schumann ef1263a589 Don't corrupt data during request body handling 2003-06-04 05:28:17 +00:00
Sascha Schumann 4247f4b90e Don't return CRLF from broken clients 2003-06-04 05:13:59 +00:00
73f3b49d9a ChangeLog update 2003-06-04 00:30:39 +00:00
Ilia Alshanetsky f2a9f31160 GD 2.0.15 sync 2003-06-04 00:20:19 +00:00
Sascha Schumann 4d361edd91 cleanup macros 2003-06-04 00:01:21 +00:00
Ilia Alshanetsky e1b8cad26f Syncronize bunbled GD with gd 2.0.14 2003-06-03 23:54:56 +00:00
Ilia Alshanetsky c13be6e6d5 Last set of integer overflow checks. 2003-06-03 23:42:31 +00:00
Ilia Alshanetsky 7a35766dec Integer overflow checks. 2003-06-03 23:23:21 +00:00
Sterling Hughes a148878752 god bless valgrind.
fix double free where object is prematurely dtor'd. I should probably convert
the simplexml nodes over to this system too.  Actually the new dom extension
and everywhere else should use the same type of methods.. :)
2003-06-03 19:36:20 +00:00
Edin Kadribasic a96ab2a090 MFB 2003-06-03 12:47:49 +00:00
Hartmut Holzgraefe c83ed19a7b handle return value for "no matches" on systems that don't return
GLOB_NOMATCH consistent to those that do (return array(), not FALSE)
2003-06-03 11:01:16 +00:00
Edin Kadribasic b7713f411e Fix for #23902 by Shane.
Removed bogus recommendation from php.ini files.

# Basic authentication is actually possible
# usign IIS + PHP cgi countrary to our current docs
2003-06-03 10:06:45 +00:00
Rasmus Lerdorf a516171dec MFB - fix a couple of missing closing folding tags 2003-06-03 05:44:17 +00:00
5c2b048135 ChangeLog update 2003-06-03 00:31:04 +00:00
Ilia Alshanetsky 55676c662a Fixed bug #23912 (Invalid CSS in phpinfo() output) 2003-06-03 00:06:01 +00:00
Rob Richards df62ddd213 Fix for 64 bit platforms (by Joe Orton) 2003-06-02 18:57:59 +00:00
Wez Furlong 1011d196b1 Add "seekable" flag to stream_get_meta_data()
# Caveat Emptor: some streams don't know if they are seekable until
# sometime tries to seek first (user streams).
2003-06-02 16:36:10 +00:00
Sebastian Bergmann 572504845d Leftover. 2003-06-02 15:53:09 +00:00
Sebastian Bergmann 1fe874fbb8 Leftover. 2003-06-02 15:42:34 +00:00
Daniela Mariaschi 234e7a3fed Fixed numeric/decimal +/-(x,y) +/-(x,0)
for all platforms
2003-06-02 12:37:16 +00:00
Stanislav Malyshev f7f5a5ea6b MEGA-patch: namespaces are R.I.P. 2003-06-02 12:13:11 +00:00
foobar aeabe85804 No C++ comments in C code 2003-06-02 11:51:01 +00:00
foobar 8282bd0117 - No c++ comments in c code.. 2003-06-02 11:42:39 +00:00
Derick Rethans 0346fb6a89 - Add test case for bug #23951 2003-06-02 11:12:25 +00:00
6fc0636581 ChangeLog update 2003-06-02 00:30:46 +00:00
Uwe Schindler 0ab88d1eb3 Messages for newer servers. 2003-06-01 21:45:04 +00:00
Uwe Schindler 827734280b Update of README for newer servers; apache-similar functions nsapi_request_headers and nsapi_response_headers with apache_* aliases; hide authorization-header in save mode. 2003-06-01 21:14:58 +00:00
Holger Zimmermann ef4ffaaf1a Removed increment of read_post_bytes because this is done within SAPI (SAPI.c). 2003-06-01 20:28:49 +00:00
Sterling Hughes 0ecbdc55a1 earn my keep and allow one to register a namespace name to access a namespace
value.
2003-06-01 19:46:19 +00:00
Marcus Boerger 7e2f7b06b5 No nested classes 2003-06-01 19:18:34 +00:00
Marcus Boerger c3dd93fb4a Add some ZE2 bug tests 2003-06-01 18:35:29 +00:00
Marcus Boerger 070803a482 Allow optional directories 2003-06-01 18:34:03 +00:00
Marcus Boerger a023c1034b Bugfix #23670: implements and extends cause Apache 2 crash 2003-06-01 17:28:52 +00:00
Marcus Boerger 9211aed984 Simplify by using __METHOD__ 2003-06-01 16:41:53 +00:00
Marcus Boerger 53dae40d5a Do it correct always 2003-06-01 16:20:23 +00:00
Sebastian Bergmann 26e7420615 Per request by Derick and Marcus. 2003-06-01 14:15:44 +00:00
Marcus Boerger 7463e7239b Defining it once is enough 2003-06-01 11:15:01 +00:00
Sterling Hughes 287d5f277e don't do this on startup, lazy initialize it. This takes up > 17% of load
time in CGI mode
2003-06-01 02:29:28 +00:00
d40e85bdc6 ChangeLog update 2003-06-01 00:30:54 +00:00
Marcus Boerger cc629666e8 - fix one warning
- fix some commit by accident?
# did someone here mix c and php code ?
2003-05-31 22:03:57 +00:00
Marcus Boerger 9e4286112e Fix init shutdown 2003-05-31 19:21:52 +00:00
Sterling Hughes 5bb29cfaeb revert the function call caching patch until a new solution is decided
upon.
2003-05-31 18:31:28 +00:00
Marcus Boerger 5457e34273 Fix constants (noticed by David Brown <dave@codewhore.org>) 2003-05-31 17:24:20 +00:00
Marcus Boerger 05a217707f c->name_len already contains the '\0' 2003-05-31 15:57:59 +00:00
Uwe Schindler 6aaa211e9c zend_alter_ini_entry now with PHP_INI_USER 2003-05-31 15:32:50 +00:00
Marcus Boerger 80bdb812e1 Fix precondition 2003-05-31 15:22:42 +00:00
Marcus Boerger 7d78168c7b Classes are neither interfaces nor necessarily abstract 2003-05-31 15:20:11 +00:00
Marcus Boerger 7ad9732a94 MFB: This is needed though 2003-05-31 14:10:27 +00:00
Marcus Boerger d1c19eb5a1 Fix tests 2003-05-31 13:10:00 +00:00
Marcus Boerger a7d485143c Update 2003-05-31 12:54:20 +00:00
Marcus Boerger aa87c89d35 MFB: Showing info/warning once is enough 2003-05-31 12:14:41 +00:00
Moriyoshi Koizumi 2efc619dae Fix test 2003-05-31 07:17:35 +00:00
Georg Richter 82afbdc281 additional check for unsecure connect options 2003-05-31 07:05:34 +00:00
foobar 8b158fa15f Missing entry 2003-05-31 02:41:05 +00:00
foobar bfe9e39673 MFB: fix proto 2003-05-31 02:33:55 +00:00
foobar ed1378a975 MFB: Always send a new session cookie upon regenerating id 2003-05-31 02:33:21 +00:00
foobar 935672787a MFB 2003-05-31 02:30:50 +00:00
Ilia Alshanetsky 32a0044a21 Fixed bug #23913 (make rename() work across partitions on *nix) 2003-05-31 00:32:45 +00:00
3240dce99c ChangeLog update 2003-05-31 00:30:49 +00:00
Uwe Schindler eeb7f4060e Disable virtual() if zlib.output_compression is turned on. Better detection of ns-httpdXX.dll 2003-05-30 23:39:15 +00:00
Moriyoshi Koizumi 6d9f8632a5 done. 2003-05-30 22:32:37 +00:00
Moriyoshi Koizumi aa50e817ae CGI SAPI should honour this setting 2003-05-30 22:31:12 +00:00
foobar f1b68224fe Beginning of restructuring NEWS to make it more readable. 2003-05-30 21:19:56 +00:00
foobar 8df56be33c Add the note to php.ini-* about the mail.force_extra_paramaters 2003-05-30 20:06:05 +00:00
foobar d5253b4f1f Follow the "standard" naming. 2003-05-30 20:03:10 +00:00
foobar d43b7d8ed8 - Removed all PHP 4 entries. They're easier to be added all when PHP 5
is actually released..
# If not at all.
2003-05-30 19:57:39 +00:00
Marcus Boerger ed09fed5cb Removed parts committed by mistake 2003-05-30 19:57:13 +00:00
Marcus Boerger 95530c61bf Better fix for default connection handling.
# Problems noticed by Jay with the help of Sascha's nice little script.
2003-05-30 19:12:26 +00:00
Jay Smith a79c751ae2 Relying on longer matches seems to work better than
matching the whole string with ^...$.
2003-05-30 19:06:34 +00:00
Marcus Boerger 6f524ac9f1 Use safe_estrdup() instead.
# Thanks Sascha i didn't knew about that thing.
2003-05-30 18:59:49 +00:00
97e21d21d0 Update 2003-05-30 18:39:38 +00:00
Marcus Boerger 07ba5f6c9e Fix handling of ini settings 2003-05-30 17:46:57 +00:00
Marcus Boerger 1eec984976 Fix handling of default links 2003-05-30 16:51:00 +00:00
Moriyoshi Koizumi 8c538c904f Refined the bz2 section as per Sascha's suggestion 2003-05-30 16:15:19 +00:00
Derick Rethans 814f793035 - MFB: Version output beautification 2003-05-30 16:10:58 +00:00
Marcus Boerger 3dbe16cac4 Fix notice handling 2003-05-30 15:42:46 +00:00
Moriyoshi Koizumi 4eefb174c7 Fixed a little typo. No germany.. 2003-05-30 15:32:14 +00:00
Marcus Boerger 680653fecb - Fix ini handling in ZTS mode 2003-05-30 15:07:02 +00:00
Ilia Alshanetsky ded4aadde0 Fixed bug #23898 (Proper handling of NULLs in odbc_result, odbc_fetch_into
and odbc_result_all)
2003-05-30 14:44:15 +00:00
Ilia Alshanetsky 209bba391b Fixed bug #23888 (Missing input validation for flags parameter) 2003-05-30 14:08:14 +00:00
Moriyoshi Koizumi a51ab0fed0 Fixed bug #23894 (sprintf() decimal specifiers problem) 2003-05-30 13:49:33 +00:00
Moriyoshi Koizumi 3c0071a211 Added test case for bug #23894 2003-05-30 13:48:14 +00:00
Ilia Alshanetsky ff5fc53c5e Fixed bug #23897 (Fixed a check for mbfilter_ru.h) aleks@m2media.ru 2003-05-30 13:20:01 +00:00
Uwe Schindler c1b8e699e1 virtual() now works under windows, too 2003-05-30 13:15:22 +00:00
Marcus Boerger bbc3c6089b Add php_uname() to output 2003-05-30 12:41:51 +00:00
Marcus Boerger 25704f0753 Fix memleaks (detected by rrichards@php.net) 2003-05-30 12:28:48 +00:00
Stanislav Malyshev 95a3fd7b3c fix crash on exceptions when return value of the inside function is used 2003-05-30 10:05:29 +00:00
Adam Dickmeiss 8c7c16509b Prevent yaz from logging unless yaz.log_file is set 2003-05-30 09:48:50 +00:00
76ff0be768 NEWS update 2003-05-30 00:31:03 +00:00
78b5b96d17 ChangeLog update 2003-05-30 00:30:57 +00:00
Marcus Boerger 6ddd6ca2be MFB 2003-05-30 00:11:37 +00:00
Marcus Boerger 5b32cdc5a0 Fix last commit 2003-05-29 23:55:07 +00:00
Marcus Boerger 90640a7774 Optimize 2003-05-29 23:44:22 +00:00
Ilia Alshanetsky 493633d16f Fixed compiler warnings. 2003-05-29 23:39:41 +00:00
Marcus Boerger 57ceaebe8a Make use of ze2 code 2003-05-29 23:34:23 +00:00
Marcus Boerger 283f52f415 Optimize interface checks 2003-05-29 21:08:08 +00:00
Uwe Schindler 499f902a30 fix of incomplete windows fix 2003-05-29 21:05:29 +00:00
Hartmut Holzgraefe ac2606bf58 fix for crashbug with user level wrapper implementations of stream_stat 2003-05-29 20:19:03 +00:00
Uwe Schindler b13365a56b Changes for compilation under windows 2003-05-29 20:13:42 +00:00
Marcus Boerger 21d32c2430 Fix ~ operator in class constants. 2003-05-29 19:27:11 +00:00
Marcus Boerger 23e5004132 Execute --SKIPIF-- like --FILE-- 2003-05-29 19:11:51 +00:00
Marcus Boerger 472cc5b9f3 Faster interface inheritance & faster inheritance checks 2003-05-29 19:00:40 +00:00
Marcus Boerger 66bc801998 MFH-Update 2003-05-29 15:47:08 +00:00
Marcus Boerger 1aebe79599 Simply print errors 2003-05-29 14:45:03 +00:00
Marcus Boerger a93bff54ef Update 2003-05-29 14:26:57 +00:00
Marcus Boerger 04d2e39de9 MFH to 4.3.3 2003-05-29 14:19:47 +00:00
Marcus Boerger a13edb62d5 Fix builddir entry 2003-05-29 14:01:21 +00:00
Marcus Boerger afb748d17a CS 2003-05-29 12:59:43 +00:00
Marcus Boerger 97a9bf4dd1 MFB 2003-05-29 12:54:01 +00:00
Marcus Boerger afc3b8b6dc MFB (these parts were missing) 2003-05-29 12:33:19 +00:00
Uwe Schindler fe141ca1ac Added php.ini value: nsapi.read_timeout; Included the apache-like virtual() function to make sub-request on server (thanks to Chris Elving from Sun) 2003-05-29 12:24:28 +00:00
Wez Furlong 15fd642525 Fix Bug #23285 (Potential Stack Overflow in zendlex). 2003-05-29 09:01:55 +00:00
foobar 72459774e6 Sync with PHP 4.3.2 NEWS 2003-05-29 01:34:02 +00:00
21524ef512 NEWS update 2003-05-29 00:30:53 +00:00
35a76b2a8a ChangeLog update 2003-05-29 00:30:48 +00:00
Sterling Hughes d919f18607 no reason to do this at runtime 2003-05-28 22:56:56 +00:00
Ilia Alshanetsky fbc32ea828 Fixed compiler warnings. 2003-05-28 22:21:13 +00:00
Sterling Hughes 88b2f89eee Cache function call lookups with loops (store in a temporary variable on the
result opline).
Assuming lazy concensus on message that GeorgeS sent to the list last week
2003-05-28 20:42:40 +00:00
Rasmus Lerdorf 8effacb144 MFB 2003-05-28 16:19:08 +00:00
foobar dcb0daeae3 - Fix the error message if apxs|2 is fubar. 2003-05-28 14:11:21 +00:00
Hartmut Holzgraefe fb232d96c9 @fdf crash with ZTS builds fixed (see Bug #14877) 2003-05-28 09:40:32 +00:00
Hartmut Holzgraefe cad89fa5a0 FDF test cases 2003-05-28 09:35:45 +00:00
Vincent Blavet 534ab0b542 - Sync with pear/Archive_Tar/Archive/Tar.php CVS 1.11
- Support for bz2 compression
- Add new methods AddString() and extractInString()
2003-05-28 06:01:04 +00:00
Ilia Alshanetsky 4a240c6a50 Fixed compiler warnings. 2003-05-28 01:04:06 +00:00
d20e82daf0 ChangeLog update 2003-05-28 00:30:50 +00:00
Pierre Joye 400e5c0b66 - Fix the "weird bug" with different serialized file under cli/cgi or apache sapi
Important Notice:
*always* use 'wb' to write file, sapi cli and cgi force the default to be binary, apache does not.
2003-05-27 23:31:56 +00:00
Sterling Hughes 94136f0ccd fix __clone()
add schema support
2003-05-27 22:15:17 +00:00
Sterling Hughes ae2bfb7880 Assume lazy consensus regarding the cast_object() patch. *Only* implemented
from a internals perspective.  This callback has been very useful for both
ext/mono and ext/simplexml
2003-05-27 18:52:25 +00:00
Sterling Hughes c60879dbb9 plane hacking 2003-05-27 18:41:02 +00:00
foobar 3c2f9fd5c0 MFB: php_error_docref -> zend_error (MINIT) 2003-05-27 17:24:59 +00:00
Adam Dickmeiss 7e28c28bf1 Fix close of log file. Ensure that YAZ log file is reset too 2003-05-27 09:47:27 +00:00
Ilia Alshanetsky 8dc90d446f Fix compiler warnings. 2003-05-27 00:50:00 +00:00
Melvyn Sopacua e4006659b2 MFB: LC_MESSAGES support 2003-05-27 00:42:39 +00:00
119e150189 ChangeLog update 2003-05-27 00:30:59 +00:00
Marcus Boerger e525904c8e For now that works.
# However some of the register stuff must be moved to the engine.
# And inside the engine some fixes are needed, too.
2003-05-27 00:14:04 +00:00
foobar 61e09677b2 MFB: nuked php_header() call from the sapi_cgi_log_message() 2003-05-26 23:22:05 +00:00
Moriyoshi Koizumi 3cd1ea3154 Changed the test so it would not fail on some old platforms. 2003-05-26 22:16:14 +00:00
Marcus Boerger 6d913a3bfc - Fix handling of abstract methods. They must be inherited when inheriting
a method.
- Fix entry more (should be amed has_more).
- Add a check against that bug.
2003-05-26 22:06:49 +00:00
Marcus Boerger 955460a319 Add pseudo constant __METHOD__ to easily report namespace::class::method.
# This is especially good for tests. Since it does not draw away from the
# real issues and nicely reports what is needed to identify a method.
2003-05-26 20:45:22 +00:00
Derick Rethans 87a85db670 - MFB 2003-05-26 18:37:48 +00:00
Derick Rethans 7bd188fcf0 - Fix typo 2003-05-26 09:45:46 +00:00
Sterling Hughes afc2196715 add support for querying nodes with xpath expressions. 2003-05-26 03:57:41 +00:00
foobar 380bf699ae Added regression test for bug #23788 2003-05-26 03:55:08 +00:00
Sterling Hughes 3c511d9f24 add namespace support 2003-05-26 02:42:41 +00:00
Shane Caraveo e3e22511b1 one more define to make it load into php 2003-05-26 02:28:20 +00:00
Shane Caraveo ea1437d711 get rid of crudy stuff 2003-05-26 02:19:14 +00:00
Shane Caraveo 8e58169364 now builds on windows 2003-05-26 02:18:38 +00:00
Sterling Hughes fb14866796 add a new function simplexml_load_string() 2003-05-26 01:41:25 +00:00
Sterling Hughes 1410e81847 several changes improvements, including the new
simplexml_save_document_string() function which saves a XML document to a
string variable
2003-05-26 01:37:02 +00:00
Sterling Hughes 97b5a5df4f sascha points out this is more purdy-like 2003-05-26 01:03:51 +00:00
Shane Caraveo ce91e18377 http://bugs.php.net/bug.php?id=14409
move from PHP_4_3
2003-05-26 00:46:24 +00:00
01e5787e0a ChangeLog update 2003-05-26 00:30:57 +00:00
Sterling Hughes 3192da2d2b this is right
but it shouldn't be
2003-05-26 00:27:30 +00:00
Sterling Hughes ad509c690a add a note, and implement this properly later 2003-05-25 22:03:47 +00:00
Sterling Hughes bb2a324b65 use proper types 2003-05-25 21:58:09 +00:00
Sterling Hughes 3d62c3ebb7 remove compiler warnings 2003-05-25 21:50:30 +00:00
Ilia Alshanetsky 2e361db1fe Fixed bug #23788 (str|preg_replace clober the array elements).
# Should this be MFBed to 4.3 branch?
2003-05-25 21:48:57 +00:00
Sterling Hughes cf8a7bd235 add/fix assignments for both nodes and attributes
add a working get_property_ptr construct
2003-05-25 21:44:54 +00:00
Marcus Boerger 0b4cbe26a7 Add a testcase to foreach/break 2003-05-25 19:24:29 +00:00
Marcus Boerger 13f50103ae Make foreach on spl'ed objects work with break, too 2003-05-25 19:10:44 +00:00
Marcus Boerger 2f0ea97617 Speling 2003-05-25 12:10:48 +00:00
Sebastian Bergmann 70fa1ff7f5 Hopefully get correct display of version information. 2003-05-25 07:23:41 +00:00
Sebastian Bergmann f53360616e Leftover. 2003-05-25 06:22:35 +00:00
Marcus Boerger 21bbfb503e Optimizations 2003-05-25 01:36:50 +00:00
e8dba2cba1 ChangeLog update 2003-05-25 00:30:58 +00:00
Sterling Hughes 981f5051a9 exploit the not yet committed, not yet shown cast_object() object callback.
this makes simplexml the mostest bestest xml extension in the whole wide
world.
2003-05-25 00:05:30 +00:00
Marcus Boerger 96034f390b Optimizing by caching class entries, too.
# The comment block inside ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_FETCH)
# is a tricky way to create result = array(key => value) very fast.
# But it is close to overoptimizing.
2003-05-24 21:02:33 +00:00
Marcus Boerger 0b0e0e9511 Update after fix 2003-05-24 17:12:58 +00:00
Marcus Boerger e035046ac2 Add new test 2003-05-24 17:10:34 +00:00
Marcus Boerger 3b2fa8bb96 Fix namespace related problems 2003-05-24 17:10:03 +00:00
Marcus Boerger 135415ca8f fix error resulting from strlen() -> sizeof() change in engine macros 2003-05-24 15:51:24 +00:00
Marcus Boerger 29a5535394 Fixes and optimizations 2003-05-24 13:47:49 +00:00
Marcus Boerger de0d3366c1 Fix speling found by Allowee <php@allowee.no-ip.com> 2003-05-24 12:00:03 +00:00
Sebastian Bergmann d1cb228bf1 Get rid of references to expat in MSVC project files. For now this expects libxml2 (library and includes) in one of the MSVC default include/library directories. Right now it doesn't link, dunno why -- working on it. 2003-05-24 08:03:38 +00:00
07adb2e19f ChangeLog update 2003-05-24 00:30:49 +00:00
Moriyoshi Koizumi 2e5013efec Added test case for bug #17115 2003-05-23 23:27:24 +00:00
Sara Golemon a8b38817ac Jani will learn me about NEWS entries yet. 2003-05-23 22:58:25 +00:00
foobar 2709f628e3 this fix will be in 4.3.2.. 2003-05-23 22:41:38 +00:00
Marcus Boerger 4980461081 Executing tests once is enough 2003-05-23 22:35:15 +00:00
Marcus Boerger 2537e01c77 Allow writing a list of failed tests.
# use php run-tests.php -h for more.
2003-05-23 22:01:38 +00:00
Sara Golemon 4942030f1d BFN 23765 2003-05-23 21:42:03 +00:00
Sara Golemon dccf33b4e8 MFB(r-1.122.2.10)
Bug#23765 File upload handler should not care about case sensitivity of header values.
2003-05-23 21:40:45 +00:00
Marcus Boerger 7ff718f455 Make this a warning 2003-05-23 20:51:49 +00:00
Marcus Boerger 8cd4933d31 Add warning level for tests.
# You set a test to warning by return "warn <description>" from
# the --SKIPIF-- section. But this only works when you supply
# a reason why it is only a warning.
# Warnings are not called for FAILed tests of corse and hence a
# test result with not FAIL but SKIP/PASS/WARN results is mailed
# as a PASS.
2003-05-23 20:51:09 +00:00
Marcus Boerger b1b8ed64dc Revert to sizeof() 2003-05-23 18:37:36 +00:00
Sterling Hughes ae9106521a move HANDLE_NUMERIC() from the hash table implementation upstream to the
places that actually need to use it.
2003-05-23 15:11:15 +00:00
Derick Rethans b94bd055ee - Update codinf standards with the posted RFC (results from PEAR Meeting) 2003-05-23 10:38:43 +00:00
Ilia Alshanetsky 2f15b2062c Fixed bug #23759 (PHP doesn't preserve subrequest status).
(jaboydjr.netwalk@com, Ilia)
2003-05-23 02:41:59 +00:00
9b08c569c6 ChangeLog update 2003-05-23 00:30:53 +00:00
foobar a747e1b768 added another test case (due to the problems we saw with 4.3.2RC4) 2003-05-22 23:59:37 +00:00
Marcus Boerger 475594c861 No need to copy here unless implicit_clone is active (noticed by rob) 2003-05-22 19:13:20 +00:00
Derick Rethans 48041d4d7f - Fixed bug #23751: Confusing configure warning concerning required cURL
version
2003-05-22 13:08:49 +00:00
Sterling Hughes d844c2841d rename namespace to use_namespace to avoid a c++ keyword conflict
fix whitespace surrounding the enums, use tabs please :)
2003-05-22 03:29:05 +00:00
Sterling Hughes bf022fd49f use zval_ptr_dtor() instead of the more verbose and less correct version 2003-05-22 03:08:48 +00:00
Sterling Hughes 8b50ea61a7 take advantage of the fast_call_user_function() api call for all of the
callbacks.
2003-05-22 03:04:11 +00:00
Wez Furlong 8338bea018 --force here too for release packages 2003-05-22 00:31:31 +00:00
f31389a956 ChangeLog update 2003-05-22 00:30:45 +00:00
Sterling Hughes 5641234ee2 move all the other callbacks 2003-05-21 23:27:12 +00:00
Sterling Hughes 3de6a7d3b2 switch over to using fast_call_user_function() with the callbacks 2003-05-21 23:15:28 +00:00
Jay Smith 1611ebd45e Fix segfault in pspell_new_config(). Also fix grammar
in error messages.
2003-05-21 23:04:18 +00:00
Marcus Boerger 66b9125968 Make use optimized string lowering 2003-05-21 22:57:51 +00:00
Ilia Alshanetsky 5298fd6256 MFB 2003-05-21 22:56:59 +00:00
Marcus Boerger 402f5f7a0d Use same parameter order as strcpy() 2003-05-21 22:36:09 +00:00
foobar bde75d5a12 Fixed bug #23738 (ifx_copy_blob() crash). (Jani) 2003-05-21 22:20:07 +00:00
Marcus Boerger 7af8eadd57 Make zend_str_tolower_copy() a copy function (like stccpy).
Supply a dup version (like estrdup).
Fix tolower() handling.
# Havin copy and dup allows to use the faster version even with
# memory not allocated by emalloc.
2003-05-21 21:59:40 +00:00
foobar bbe87059fb style polizei 2003-05-21 21:50:20 +00:00
foobar bec958114b Fixed bug #23619 (set_error_handler() registered handler not called for object instances). (Jani, waboring@qualys.com) 2003-05-21 21:42:25 +00:00
Sara Golemon af5e2af752 Setup FG(default_context) in RINIT/RSHUTDOWN instead of fg_ctor/fg_dtor.
Frees context at right time without double freeing.
2003-05-21 21:36:51 +00:00
Sterling Hughes 7d9a4a0ad8 simplexml property modification works now 2003-05-21 20:39:01 +00:00
Derick Rethans ec02fe98d8 - Fixed example 2003-05-21 20:16:04 +00:00
Sterling Hughes 956676e68c foodle 2003-05-21 20:15:05 +00:00
Sterling Hughes 5619166fe4 optimize loops. The check only exists for integers because that's the more
common optimization, and you actually lose performance if you check for
a double too (wierd but true).
2003-05-21 18:46:34 +00:00
Derick Rethans 7b26ddd9b0 -Fix notice 2003-05-21 18:41:28 +00:00
Sterling Hughes d824cd3309 add some logic to detect zend_mm, which is really only useful when thread
safety support is enabled.
2003-05-21 17:54:57 +00:00
Sterling Hughes 24eee37fed seems there is only the stupid way to be stupid (implode copying array
elements)
at least we check for IS_STRING, which should clear this up 90% of the time
2003-05-21 17:44:08 +00:00
Sterling Hughes 90ae4e0095 be stupid, but at least be smart about being stupid. 2003-05-21 17:38:17 +00:00
Ilia Alshanetsky e953bbb257 Added missing open_basedir & safe_mode checks 2003-05-21 17:04:08 +00:00
Rasmus Lerdorf 18954d8bd2 Remove bogus commit here too 2003-05-21 17:02:40 +00:00
Sterling Hughes 8d5c30c14b make brian happy 2003-05-21 16:52:09 +00:00
Sander Roobol ff36043d14 ob_gzhandler and zlib.output_compression should send a Content-Length
header if the length of the complete compressed  output is known
# MFH follows in a few minutes, please wait with the release :)
2003-05-21 16:05:03 +00:00
Sterling Hughes 18254e85ef ilia's request is my command 2003-05-21 15:47:01 +00:00
43d9e9a4d8 NEWS update 2003-05-21 15:46:38 +00:00
ec2c98b933 ChangeLog update 2003-05-21 15:46:35 +00:00
Sterling Hughes c418dd14b5 add an example of modifying the XML tree 2003-05-21 14:06:00 +00:00
Wez Furlong 2d1a6e5dc2 MFB context refcounting and text-mode fopen fixes 2003-05-21 13:33:55 +00:00
Sterling Hughes 654f141e1c leave this off until its more ready/stable
php5 actually beats php4.3.* in my benchmarks now

# make sure to recompile zend_alloc.c
2003-05-21 12:22:24 +00:00
Sterling Hughes d141ffd9de use zend_str_tolower_copy() 2003-05-21 12:15:33 +00:00
Sterling Hughes b5ca4de525 Bottom drawer optimization to avoid this comparison, but this OP is executed
quite often (all of the fetch_* ops)
2003-05-21 11:48:55 +00:00
Georg Richter 445180f228 MYSQL_NEED_DATA isn't defined anymore in mysql.h 2003-05-21 08:47:27 +00:00
Marcus Boerger e504166277 This depends on libc and CPU used 2003-05-21 07:23:45 +00:00
Sara Golemon 83b7b75c3c Implement default contexts. For the moment this is useless
but it will be used soon for connection pooling.
2003-05-21 04:04:50 +00:00
Ilia Alshanetsky b078f60fce Added missing safe_mode checks and corrected a typo in stdout check. 2003-05-21 00:57:34 +00:00
Marcus Boerger 323eedd1b2 Fix build 2003-05-21 00:14:16 +00:00
Frank M. Kromann 03c56a5a1f Fix for bug 23402. Crash when mssql?bind was used incorrectly 2003-05-21 00:08:10 +00:00
Sterling Hughes 34087ad2b5 bah humbug, use the pointer based version, which turns out to be an instruction
faster
2003-05-20 22:31:15 +00:00
Marcus Boerger e9c10acc76 Fix test (ssen by Dan Torop) 2003-05-20 22:28:10 +00:00
Sterling Hughes 7c7d14a413 use pointer arithmetic for the normal zend_str_tolower() 2003-05-20 20:39:58 +00:00
Marcus Boerger 851bd22f82 No need to copy the zval unless __clone() is called 2003-05-20 20:20:57 +00:00
Sterling Hughes 3079bb1bda make this faster and sexier 2003-05-20 19:09:33 +00:00
Sterling Hughes 54764e9848 use the new zend_str_tolower_copy() function 2003-05-20 18:44:24 +00:00
Sterling Hughes a4fb3300b3 doesn't need to be register 2003-05-20 18:42:09 +00:00
Sterling Hughes ca6ca5e2a6 optimize the lookups by avoiding a copy and then another pass
Naked Dancing Girls should be given to: Myself, Zeev, Marcus,
and George Schlossnagle (in no particular order)
2003-05-20 18:28:14 +00:00
Sterling Hughes 3c6fd35007 initialize these to NULL 2003-05-20 18:18:56 +00:00
Andrei Zmievski 8571f5eac2 Put some guards in place. 2003-05-20 18:11:09 +00:00
Jay Smith 515f0e3f71 Make get_browser() try harder to find better matches. 2003-05-20 17:59:16 +00:00
Dan Kalowsky 53c90b2344 Adding imap_getacl, patch provided by Holger Burbach
(holger.burbach@gonicus.de)
@  Adding imap_getacl functionality.  Function provided by Holger Burbach
2003-05-20 17:37:53 +00:00
Sterling Hughes 9ac50a13d7 convert array functions to use fast_call_user_function(), gives a nice
performance win.
2003-05-20 16:46:53 +00:00
Sterling Hughes 909eafc2b0 add fast_call_user_function() 2003-05-20 16:44:42 +00:00
Dan Kalowsky 99a616b0b9 NIL, NULL, same thing, but changing for consistency sake 2003-05-20 16:34:04 +00:00
Hartmut Holzgraefe bad4e6c3d7 doing the trick like in extension_parser.php 2003-05-20 14:02:12 +00:00
Brad House 8b3a698ec0 Properly map mcve_text_code to MCVE_TEXT_Code instead of MCVE_TEXT_AVS.
Properly cast MCVE_TTID.
Correct DVAL arguments to MCVE_Gut and MCVE_Gl.
2003-05-20 13:59:04 +00:00
Hartmut Holzgraefe b3562b9bd9 - experimental streams support
- more file types: conf and doc
- requirements/install/configure documentation in configure.xml
- auto-generated PEAR/PECL package.xml files
- auto-generated CREDITS file
- auto-generated EXPERIMENTAL file if release state != stable
- beginning support for test file generation
2003-05-20 13:51:29 +00:00
Hartmut Holzgraefe 6c074dfb7c example for "stream" as parameter and return type 2003-05-20 13:47:31 +00:00
Hartmut Holzgraefe c9744519cd no RCS keyword expansion in template, 2nd try 2003-05-20 13:46:02 +00:00
Hartmut Holzgraefe 76dd9b68a6 protect revision entry in template from CVS keyword expansion 2003-05-20 13:45:02 +00:00
Hartmut Holzgraefe 2f31208beb - new method to generate test cases for functions
- beginning support for "pass by reference" parameters
2003-05-20 13:43:43 +00:00
Hartmut Holzgraefe 450d46ce4f just a method name change 2003-05-20 13:42:04 +00:00
Hartmut Holzgraefe 5e3b5bce0a additional tags for experimental streams support 2003-05-20 13:40:21 +00:00
Hartmut Holzgraefe 488363b657 create CREDITS, package.xml and maybe EXPERIMENTAL files
create tests
2003-05-20 13:39:35 +00:00
Hartmut Holzgraefe 123ac00a0f updated TODOs 2003-05-20 13:38:08 +00:00
Hartmut Holzgraefe 2bffad8fce zend_is_callable() already checks this ... 2003-05-20 13:36:38 +00:00
Hartmut Holzgraefe 4b7c5cea4b proto and typo fixes 2003-05-20 13:35:13 +00:00
Hartmut Holzgraefe 78b874f85e C++ extensions build fix 2003-05-20 13:32:21 +00:00
Hartmut Holzgraefe cb71ac03cb C++ compile fixes 2003-05-20 13:21:26 +00:00
Hartmut Holzgraefe b5bef8f7b3 always return timestamps as 'atime', 'mtime' and 'ctime'
no matter what names the underlying platform uses for them
2003-05-20 13:09:11 +00:00
Derick Rethans 92d5589a94 - Commit broken support for sxe_properties_get 2003-05-20 13:08:05 +00:00
Uwe Schindler 1e4730fb70 Set exspected threads to tsrm_startup() to number of threads NSAPI returns for server 2003-05-20 11:19:01 +00:00
Derick Rethans 37a9e03654 - Implement two dummy handlers so that var_dump() doesn't crash on it. 2003-05-20 11:17:04 +00:00
Derick Rethans 7dea37a077 - Add Revision to MINFO (I was chasing ghosts ;) 2003-05-20 08:48:18 +00:00
Derick Rethans 813ea0b663 - Make it build with the unbundled libxml again 2003-05-20 08:46:55 +00:00
Derick Rethans 60d3dab29f - Update cvsignore 2003-05-20 08:46:30 +00:00
Sterling Hughes 7e161dafeb data corruption is for sissy boys 2003-05-20 02:12:03 +00:00
Ilia Alshanetsky 31f0d1c949 Added missing safe_mode & open_basedir checks. 2003-05-20 00:37:00 +00:00
foobar dab706ee2a - Go back to using --disable-xml and --enable-xml
. Require use of --with-libxml-dir and --with-libexpat-dir for ext/xml.
    Allows other extensions to use --with-expat-dir for now.
# still defaults to libxml if --with-libxml-dir and --with-libexpat-dir
# are not used.
2003-05-20 00:20:29 +00:00
Marcus Boerger daded6e633 Reorganized tests 2003-05-20 00:14:46 +00:00
Marcus Boerger 4a11372805 Fix Test (2nd time) 2003-05-20 00:09:47 +00:00
foobar 5e0a3ed73b Make this build with libxml too. 2003-05-19 23:45:20 +00:00
foobar f8354b5c5d Align the configure --help texts 2003-05-19 23:43:41 +00:00
Wez Furlong 192f632e2e MFB fix for persistent streams recycling. 2003-05-19 22:58:34 +00:00
foobar 5c71f42b49 last remains.. 2003-05-19 22:54:27 +00:00
Marcus Boerger 1778caad0c Fix protos 2003-05-19 22:52:27 +00:00
Marcus Boerger 0c77fef23a Fix Test 2003-05-19 22:16:58 +00:00
Sterling Hughes 4cf3e8f3ee use libxml2 memory management throughout the file, which in turn uses the
PHP memory management.
2003-05-19 21:53:33 +00:00
Sterling Hughes 29eb399773 send some more data to the default handler
libxml2 is braindead when it comes to handling entities
2003-05-19 21:51:57 +00:00
foobar 4334f66065 Allow build with expat too. 2003-05-19 21:50:23 +00:00
Marcus Boerger dc379b9d79 Fix test 2003-05-19 21:48:04 +00:00
foobar efa8e404d8 Remove unnecessary test. 2003-05-19 21:45:49 +00:00
Uwe Schindler 6672f23a97 NSAPI SAPI sends now 404 if script not found and 500 if execution failed. Includes forgotten php4_close() function registration. Complete rewrite of php4_execute() 2003-05-19 21:29:41 +00:00
foobar 1a32b09995 Left-overs from testing. 2003-05-19 21:11:44 +00:00
Marcus Boerger 37a88305e6 Fix exception memleak 2003-05-19 20:40:56 +00:00
Marcus Boerger 2838dcb713 Add missing ini setting (use default and change expected result accordingly) 2003-05-19 19:14:34 +00:00
Marcus Boerger f10a7b90b2 Fix warning 2003-05-19 18:48:15 +00:00
Marcus Boerger 1b0fdbf63a Fix memleaks 2003-05-19 18:46:59 +00:00
Sara Golemon 8e9c159f75 The bucket rewrite was done some time ago... 2003-05-19 18:40:11 +00:00
Derick Rethans 827742dcd2 - Add .cvsignore file 2003-05-19 18:36:08 +00:00
Derick Rethans afabd0575c - Move examples to their own directory 2003-05-19 18:25:20 +00:00
Sebastian Bergmann 80824a3d3a Leftovers. 2003-05-19 17:33:33 +00:00
Stanislav Malyshev 462eff3497 fix __clone 2003-05-19 17:12:56 +00:00
Sebastian Bergmann 88cb80020a First try at getting the Windows build working again after libxml2 got unbundled. 2003-05-19 16:28:08 +00:00
Sterling Hughes f726a84b1d use the appropriate accessor 2003-05-19 16:27:46 +00:00
Derick Rethans 92f0da58e6 - Rename stream_register_filter() to stream_filter_register(),
stream_register_wrapper() to stream_wrapper_register() and added an alias for
  the latter change.
2003-05-19 15:35:06 +00:00
foobar 73415c9e01 - Unbundle libxml and expat. Now this compiles too.. 2003-05-19 15:33:19 +00:00
Sterling Hughes a432df541f fix attribute handling on the root node
simplify node access by defining/using GET_NODE() macro properly
2003-05-19 14:52:15 +00:00
Sterling Hughes b3772c4f35 add the ability to serialize the contents back to a file 2003-05-19 13:33:01 +00:00
Moriyoshi Koizumi 08bf402440 Fixed bug #23683 2003-05-19 13:26:28 +00:00
Sterling Hughes 44f6100ff0 basic support for modifying XML documents 2003-05-19 13:16:01 +00:00
Sterling Hughes f408e9eefc add some macros that simplify the loops
remove a unnecessary copy
2003-05-19 12:44:24 +00:00
foobar 7575a5e1df cleanup 2003-05-19 11:54:00 +00:00
Wez Furlong 0eb791969b MFB buildconf sanity check 2003-05-19 11:47:13 +00:00
Shane Caraveo 92dfadb1e0 continuation on bugfix #13757
make argv/argc *and* query_string work correctly when running cgi in shell
2003-05-19 06:46:19 +00:00
Ilia Alshanetsky 8e3772a827 Added skip condition. 2003-05-19 04:57:01 +00:00
Shane Caraveo 57f01b14e9 bugfix #13757 - passing query string on command line when run from shell 2003-05-19 03:40:33 +00:00
Sterling Hughes 6bfb5026d6 add sample file 2003-05-19 01:56:14 +00:00
Sascha Schumann 444d769bd3 MFB move awk detection 2003-05-19 01:44:40 +00:00
Sascha Schumann 0b6d0fefc4 MFB $AWK->awk 2003-05-19 01:33:58 +00:00
Wez Furlong f00fa47cc4 MFH 4.3; tell the users that the tmpnam stuff is ok. 2003-05-18 23:52:09 +00:00
Marcus Boerger 4229a483cf Really fix this 2003-05-18 23:20:10 +00:00
Wez Furlong 0ab6c816d9 Fix build 2003-05-18 23:05:38 +00:00
Sterling Hughes 26353e4e13 attribute support 2003-05-18 22:39:16 +00:00
Sterling Hughes aec55ef95a properly detect blank nodes 2003-05-18 21:13:29 +00:00
Sterling Hughes e3f351ddb0 make arrays of subnodes work (hacky)
drop property support for the moment, this will be re-added soonish
2003-05-18 20:53:21 +00:00
Adam Dickmeiss 5a848c6f25 Display current version as well as compiled version 2003-05-18 20:40:05 +00:00
Sterling Hughes 94925b1c33 add very basic code for the simplexml extension. The following works ::
person.xml
--
<person>
 <name>
  <first>Sterling</first>
  <last>Hughes</last>
 </name>
</person>

person.php
--
<?php
$p = simplexml_load_file('person.xml');
echo $p->name->last . ', ' . $p->name->first;
?>

Still needs lots of work.
2003-05-18 20:33:26 +00:00
Martin Jansen 185a4baedd * Update PHPDoc 2003-05-18 19:40:04 +00:00
Uwe Schindler 2a90ecf4a3 Implement feature request #8879: Added possibility to alter ini entries by php4_execute service line. php4_init now supports path to an alternate php.ini (for example in the webservers config directory) 2003-05-18 15:36:33 +00:00
foobar 422309353d CS 2003-05-18 14:55:18 +00:00
Marcus Boerger 80aa82e24b Enable bundled submodules when enabling module 2003-05-18 12:36:24 +00:00
Marcus Boerger 66a3e8deb7 Fix test (for now - need EXPECTF/EXPECTREGEX) 2003-05-18 12:10:03 +00:00
Marcus Boerger dbf0d7572e Fix unserialize (commit later) 2003-05-18 12:09:08 +00:00
Marcus Boerger 2307193255 Fix unserialize 2003-05-18 12:08:51 +00:00
Stanislav Malyshev 605eb159e0 Bump API version - HEAD is no longer binary compatible
to 4.3 branch due to changes in globals, etc.
2003-05-18 10:22:50 +00:00
Marcus Boerger 57046f4e3e MFB: info in mail too 2003-05-17 23:58:03 +00:00
Moriyoshi Koizumi 586a43cfda Adjusted the expected output to reflect the change in var_dump() 2003-05-17 23:50:16 +00:00
Frank M. Kromann 941d4c3e99 Fix compilation under Win32 2003-05-17 22:15:39 +00:00
Sterling Hughes 00e48b7f70 send comments to the default handler like done with expat, add a
setcommenthandler function, which exists in expat, but isn't used by the
extension.
2003-05-17 22:09:58 +00:00
Moriyoshi Koizumi 80c75c4d62 MFB(r-1.1.2.7): fix test 2003-05-17 20:06:00 +00:00
Moriyoshi Koizumi bb1720a9d7 Fixed bug #23669 2003-05-17 18:47:17 +00:00
Sterling Hughes 2d64d3aff5 pecl 2003-05-17 14:37:28 +00:00
Sterling Hughes 3a5f401a04 move to pecl 2003-05-17 14:32:03 +00:00
Sterling Hughes a42ae5f191 add a package.xml file 2003-05-17 14:29:31 +00:00
Sterling Hughes 7153eb7378 add bzip2 extension to pecl from php5 cvs 2003-05-17 14:27:07 +00:00
Sterling Hughes 38c96364c6 move this extension to pecl 2003-05-17 14:17:57 +00:00
Sterling Hughes dd8accf890 apply fix from bug #23539 2003-05-17 14:12:36 +00:00
Marcus Boerger be7b80dcba TSRM fix 2003-05-17 11:44:57 +00:00
Wez Furlong 84fc3f384a Fix segfault 2003-05-17 09:34:37 +00:00
Sebastian Bergmann 85a13e3e9a Fix warnings. 2003-05-17 06:21:34 +00:00
Sara Golemon c9651182c6 MFB(r-1.74.2.8) Bug #14369. ftp extension allows circumvention of safe_mode restrictions. HEAD version of this patch uses the simpler open_wrapper approach to applying safe mode restrictions. Also allows writting to/from wrappers this way. 2003-05-17 04:21:57 +00:00
Sara Golemon 8924395720 MFB(r-1.333.2.27) Bugfix 23654. If subject is an array and it contains other arrays, we want to pass those subarrays through unchanged rather than attempt to convert them to string. 2003-05-16 23:30:08 +00:00
Moriyoshi Koizumi b67f2dc98d Allow libxml to detect the document encoding if encoding parameter passed to
XML_ParserCreate_MM is null.
2003-05-16 23:21:48 +00:00
Moriyoshi Koizumi f3b050fba1 Fixed a syntax highlighter problem that happens when output buffering is turned
on
2003-05-16 23:08:23 +00:00
Sascha Schumann 528c495d68 If there is a content body, enable lingering and disable keep alive. 2003-05-16 22:32:22 +00:00
Derick Rethans 0596442eef - MFB: Fixed bug #23661: mysql_fetch_array gives no warning on an invalid
result_type
2003-05-16 19:09:19 +00:00
Wez Furlong e9b62698c7 Stronger validation of ob_start() parameters. 2003-05-16 19:08:13 +00:00
Ilia Alshanetsky 7e2a99d091 Fixed bug #23657 (Missing initialization in browscap module init) 2003-05-16 15:13:47 +00:00
Moriyoshi Koizumi 27b8c453b9 copy'n'paste failure 2003-05-16 06:24:57 +00:00
Moriyoshi Koizumi 3d2b9af9eb Added test case for bug #23650 2003-05-16 06:20:23 +00:00
Moriyoshi Koizumi 8cbb6b6341 Fixed bug #23650 (strip_tags() removes hyphens) 2003-05-16 06:19:51 +00:00
Ilia Alshanetsky e2444c223b MFB 2003-05-16 01:09:58 +00:00
Martin Jansen 29cbe5e3b6 * More PHPDoc fixes 2003-05-15 19:44:32 +00:00
Moriyoshi Koizumi f78ec11339 Fixed test so it won't fail in case the output handler is enabled 2003-05-15 19:20:31 +00:00
Martin Jansen ee57fde226 * Adding PHPDoc 2003-05-15 18:55:41 +00:00
Sascha Schumann edd6a6449a Properly timeout post requests 2003-05-15 16:54:37 +00:00
Sascha Schumann e473374ff3 Don't emit Content-Length in a 304 reply
Don't falsely claim HEAD method
Add PHP to HTTP server string
2003-05-15 16:42:43 +00:00
Sascha Schumann 289ad3960e Fix the way we create references to (sometimes non-)existing
variables.

Credits go to Rob Richards <rrichards@digarc.com> and Zeev
2003-05-15 13:33:18 +00:00
Ilia Alshanetsky b9215a1538 Fixed bug #23527 (PostScript Type 1 font do not render properly) 2003-05-15 02:25:50 +00:00
Sara Golemon 8e46a7236b TODO: Stated protocol connection pool 2003-05-14 22:46:27 +00:00
Adam Dickmeiss 58040bfd33 Fix yaz_wait. Async mode incorrectly determine resource 2003-05-14 22:18:12 +00:00
Sara Golemon eeb3bd80eb Added unlink() method to wrapper operations, routed userland unlink through wrappers, and implemented plainfiles and ftp unlink methods. 2003-05-14 19:03:46 +00:00
Sara Golemon 44743cf9ec Implement userspace wrapper support for unlink method 2003-05-14 18:30:49 +00:00
foobar 6c4909aad0 Add friendly notice when build is really completed. 2003-05-14 18:23:33 +00:00
Andrei Zmievski 8781970a78 MFB.
@- Updated wddx_deserialize() to take an open stream as an argument. (Andrei)
2003-05-14 18:15:17 +00:00
Moriyoshi Koizumi af32730476 Revert the last patch.
# sorry for the annoyance
2003-05-14 18:15:01 +00:00
Sara Golemon 022a1625a3 Implement unlink() method in ftp wrapper ops and do some general cleanup of other code 2003-05-14 18:02:10 +00:00
foobar 6fb825bed4 - Removed remains of ext/fribidi (it's in PECL) 2003-05-14 15:26:38 +00:00
Sara Golemon 65d359d71a Fold 'options' parameter into wops->unlink method 2003-05-14 15:12:07 +00:00
foobar 412f54edab MFB 2003-05-14 15:02:30 +00:00
foobar ecf78a23cd missing .cvsignore 2003-05-14 14:39:29 +00:00
Wez Furlong 1a521e5ab6 Prep for next release 2003-05-14 13:05:22 +00:00
Sascha Schumann 31dc62a905 MFB segfault fix 2003-05-14 08:27:48 +00:00
Daniela Mariaschi 82d513ee72 better fix bug #20641.
Overflow numeric/decimal datatype on NT
2003-05-14 08:22:54 +00:00
Marcus Boerger 7ddb7f15d4 Enable db<n> builds configured with --with-uniquename 2003-05-14 06:22:35 +00:00
Sara Golemon 5126fbe556 Setup unlink() method in wrapper_ops structure, implement unlink in plainfiles wrapper, explicitly set method NULL in other wrappers (for now), and rewrite unlink userland function to call into wrapper_ops 2003-05-14 06:10:04 +00:00
Moriyoshi Koizumi f1679e4027 Fixed test so it won't fail in correct situations 2003-05-14 00:36:00 +00:00
foobar 5d4bca6dbf Added test case for bug #23584 2003-05-14 00:06:55 +00:00
Ilia Alshanetsky f1c20d3b55 Added sqlite_fetch_string(), for speedy fetching of data from database
cursor containing only a single column.
2003-05-13 23:51:25 +00:00
foobar 0360a2c012 MFB: removing the crashbug on windows 2003-05-13 22:09:18 +00:00
Ilia Alshanetsky b76261dcbb Fixed bug #23454 (_REQUEST did not handle arrays with same names from
different sources correctly).
2003-05-13 22:08:48 +00:00
Marcus Boerger 8dffa02661 Fix this test 2003-05-13 20:37:54 +00:00
Moriyoshi Koizumi 0d39841728 Oops 2003-05-13 19:35:49 +00:00
Moriyoshi Koizumi e54919d230 Fixed bug #23610 2003-05-13 19:33:36 +00:00
Sascha Schumann 2c7c0457b6 Ensure that open(".", 0); works, otherwise bail out 2003-05-13 18:48:01 +00:00
Christian Stocker d3ceb197a2 fixes possible segfault in domxml_xslt_result_dump_mem 2003-05-13 14:52:36 +00:00
Adam Dickmeiss 46dbbff7f0 Fix problem with yaz_record in array mode, when record is unavailable. 2003-05-13 10:31:46 +00:00
Wez Furlong e4ee44f8ab WS fix 2003-05-13 09:06:14 +00:00
Wez Furlong abf1e2b4ec Update TODO a little 2003-05-13 08:52:25 +00:00
Sascha Schumann af402a9e13 MFB don't close random fds 2003-05-13 02:26:42 +00:00
Ilia Alshanetsky 56ba9b4ae5 emalloc -> safe_emalloc 2003-05-13 01:57:54 +00:00
Marcus Boerger fe47a383e3 One function call is enough 2003-05-12 18:54:05 +00:00
Moriyoshi Koizumi 0fc5d74364 oops 2003-05-12 13:28:06 +00:00
Moriyoshi Koizumi e500e957ba Applied the right fix for bug #23016 2003-05-12 13:26:16 +00:00
Sascha Schumann 3eab2fb3bd improve keep alive handling 2003-05-12 01:29:21 +00:00
Sascha Schumann 40dd3617eb add premium thttpd support 2003-05-12 01:02:08 +00:00
Martin Jansen 8c5eac260f * Fixing note 2003-05-11 09:33:04 +00:00
Moriyoshi Koizumi bc741c67d4 Those pieces were not intended. Partly reverted.
# sorry for messing
2003-05-11 09:10:48 +00:00
Moriyoshi Koizumi fa8a31691d new feature news. 2003-05-11 09:09:01 +00:00
Moriyoshi Koizumi ebd92654c1 Added an encoding detection option for expat XML parser. 2003-05-11 09:04:05 +00:00
Moriyoshi Koizumi 4e9e9c6e21 Fixed bug #22463 and bug #23581 2003-05-11 06:36:37 +00:00
Moriyoshi Koizumi 065a192411 Added a test case for bug #23581 2003-05-11 06:33:35 +00:00
Moriyoshi Koizumi b666d8c679 Added test case for bug #22463 2003-05-11 02:37:17 +00:00
Moriyoshi Koizumi 82d769eefd Fixed compiler errors that occur when bundled libxml is not used. 2003-05-11 01:45:52 +00:00
Rob Richards 47c26016bb Bundle support 2003-05-11 01:01:16 +00:00
Moriyoshi Koizumi 27863eb499 MFB(r-1.40.2.4): fixed bug #23016 2003-05-11 00:49:15 +00:00
Rasmus Lerdorf e4ff6a5e8b Grr.. Who changed this file from tabs to spaces? 2003-05-10 17:14:47 +00:00
Rasmus Lerdorf d9eab20c00 MFB 2003-05-10 17:13:58 +00:00
Sascha Schumann ed68ca44ec Fix types of bug_compat entries
PR: #21312
Submitted by: Rob Richards <rrichards@ctindustries.net>
2003-05-10 16:49:21 +00:00
Sergey Kartashoff 2726d79b9f @- A new functions Udm_Alloc_Agent_Array and Udm_Hash32 have been added to
@  mnogosearch extesion for use with mnogosearch-3.2.11 or later.
- A new functions Udm_Alloc_Agent_Array and Udm_Hash32 have been added to
  mnogosearch extesion for use with mnogosearch-3.2.11 or later.
2003-05-10 11:31:52 +00:00
Hartmut Holzgraefe 5c782a6f50 'stream' parameter support in proto parser and code generation 2003-05-09 12:11:01 +00:00
Derick Rethans 7a1e959f29 - Add inheritance information to package inspection on 'pear package'. 2003-05-09 12:03:09 +00:00
Hartmut Holzgraefe 78eeccb798 new proto data type: stream 2003-05-09 12:01:21 +00:00
Edin Kadribasic 4aa1414623 Reverting last patch (merge from sapi/apache). 2003-05-09 09:13:01 +00:00
Edin Kadribasic d758f2ea0b Reverting my last patch because user reports it does not help
solve the problem. (bug #23504)
2003-05-09 09:11:14 +00:00
Hartmut Holzgraefe 16ade3dd46 no more VC++ compile warnings 2003-05-09 07:55:32 +00:00
Ilia Alshanetsky 09fbc97d55 Add missing initialization. 2003-05-09 01:10:18 +00:00
Moriyoshi Koizumi 598dba147d Fixed test case so it reflects the recent change on var_dump() 2003-05-08 23:23:02 +00:00
Pierre Joye b5c2adf41e Silent a notice 2003-05-08 17:11:02 +00:00
Moriyoshi Koizumi ea39409c60 Added missing break 2003-05-08 16:45:59 +00:00
Moriyoshi Koizumi 83ad8e3ae3 Added initialisation for thread safety 2003-05-08 16:01:50 +00:00
Moriyoshi Koizumi e911b39158 Added "&euro;" support for htmlentities() and html_entity_decode() 2003-05-08 15:43:34 +00:00
Moriyoshi Koizumi ee86979e21 I should have tested more carefully.. 2003-05-08 15:39:24 +00:00
Moriyoshi Koizumi 1ba4e590ef WS fix 2003-05-08 15:12:04 +00:00
Moriyoshi Koizumi 2b5cebba16 Fixed memleak when the libxml compat layer is used. 2003-05-08 15:07:26 +00:00
Marcus Boerger d3693d9214 Inheritance fix
# here we  go again, sorry for the mess and thanks to edin for reverting it
2003-05-08 15:04:43 +00:00
Edin Kadribasic 97f3a35d73 Fixed MFB side effect 2003-05-08 14:42:31 +00:00
Hartmut Holzgraefe a874c33eb1 more todo items 2003-05-08 11:16:42 +00:00
Moriyoshi Koizumi 72253ffd9f NFN 2003-05-08 11:05:15 +00:00
Moriyoshi Koizumi 6ed4fd1666 Improved html_entity_decode() so it can handle multibyte charsets and
numeric entities.
2003-05-08 10:42:20 +00:00
Edin Kadribasic 692b508957 Merge from sapi/apache (fix for #23504) 2003-05-08 09:31:08 +00:00
Edin Kadribasic 6f0e0a61b6 MFB 2003-05-08 09:27:18 +00:00
Ilia Alshanetsky b20df54af7 Make serialize precision a configurable option. 2003-05-08 01:23:21 +00:00
Edin Kadribasic 7a0efe828a Reverting Marcus' incomplete patch which broke the build. 2003-05-07 22:19:43 +00:00
Moriyoshi Koizumi 02c9b14ca2 Filled error_mappings[] with placeholders for actual error messages 2003-05-07 20:53:23 +00:00
Sara Golemon 13191aa841 Revert, this caused more trouble than it fixed. 2003-05-07 20:33:53 +00:00
Moriyoshi Koizumi 891bd02e10 Added missing object initialisation
Added missing sanity checks
2003-05-07 20:06:42 +00:00
Moriyoshi Koizumi cced1b26ec Fixed typos 2003-05-07 19:52:30 +00:00
Moriyoshi Koizumi ca0bbb7d4e Fixed typo: this should have been withval 2003-05-07 19:13:54 +00:00
Moriyoshi Koizumi 29f346d7d7 Removed redundant TSRMLS_FETCH's 2003-05-07 17:40:46 +00:00
Moriyoshi Koizumi 8c539518fb This should be needed. 2003-05-07 15:28:58 +00:00
Moriyoshi Koizumi 21661d3bde Added even better allocator codes for both expat & libxml 2003-05-07 15:21:31 +00:00
Moriyoshi Koizumi edac258751 Possible fix for bug #23455 (patch by rrichards@digarc.com) 2003-05-07 14:11:58 +00:00
Moriyoshi Koizumi e40e473e65 Fixed build with iconv disabled 2003-05-07 12:26:58 +00:00
Marcus Boerger 3fc4a32743 Infrastructure to catch warnings and throw tehm as errors autmatically 2003-05-07 01:02:23 +00:00
Marcus Boerger 764eaa5b8b Inheritance fixes 2003-05-07 00:54:38 +00:00
Sara Golemon 451cd602f6 HINFO RDATA is <label><label> not <nshort><nshort> 2003-05-06 19:51:46 +00:00
Sterling Hughes a0351b093f Bundle libxml and add compatibility layer 2003-05-06 19:38:49 +00:00
Sascha Schumann 33a10b342e Improved protection against hostname attacks 2003-05-06 19:17:50 +00:00
Hartmut Holzgraefe 8c6a712a65 unfinished work towards towards refactoring of extension_parser.php 2003-05-06 16:55:20 +00:00
Hartmut Holzgraefe 30ff14a2fc add 'extern "C"' where needed for C++
(TODO: shouldn't this be done in the appropriate php headers
and Zend macros themselves?)
2003-05-06 16:53:18 +00:00
Hartmut Holzgraefe f4e89c56ab stupido :( 2003-05-06 16:51:09 +00:00
Hartmut Holzgraefe 249d85b2b0 - make sure we are running on PHP 5
- prevent warnings if no known license given
2003-05-06 16:50:39 +00:00
Hartmut Holzgraefe 93894a4e21 new TODO iten: specify "pass by reference" in protos 2003-05-06 16:48:10 +00:00
Marcus Boerger b0741a17eb Change of roles 2003-05-06 15:08:06 +00:00
Sascha Schumann bd6ff4ca43 fix typo 2003-05-06 10:15:33 +00:00
Sascha Schumann 4f8aeebf64 improve portability 2003-05-06 10:14:20 +00:00
Marcus Boerger 34a36c466e #i shouldn't do test-fiddling after 3o-clock 2003-05-06 09:33:40 +00:00
Sebastian Bergmann 4c8e30eccc MFB: Fix for bug #23489. 2003-05-06 04:22:01 +00:00
Marcus Boerger 6360bda763 Find a better solution for the tests 2003-05-06 01:23:35 +00:00
Daniela Mariaschi 46b1372de7 - removed error message in dtor
(causing segfault when user doesn't free statement)
- removed erroneous controls as for bug #23436
2003-05-05 22:25:29 +00:00
Ilia Alshanetsky 7f404846ad s/g/G/ 2003-05-05 22:21:29 +00:00
Ilia Alshanetsky a7591863fd Fixed tests to reflect full float values. 2003-05-05 19:57:32 +00:00
Ilia Alshanetsky 4f4cc4f7a3 Sanity check that ensures proper handling of 'E' doubles/floats as well as
prevents an unlikely buffer overflow.
2003-05-05 19:54:28 +00:00
Moriyoshi Koizumi b874a54846 Added links to HTML entity resources 2003-05-05 19:50:15 +00:00
Hartmut Holzgraefe e6490c4a41 basename() now binary safe, testcases added 2003-05-05 13:46:14 +00:00
Christian Stocker d9406876e2 MFB (set the doc property to NULL if no parent is available (by Rob Richards)) 2003-05-05 12:56:33 +00:00
Hartmut Holzgraefe e364d1f589 proto fix 2003-05-05 12:36:35 +00:00
Thies C. Arntzen 747822c616 fixed FMR 2003-05-05 12:17:02 +00:00
Moriyoshi Koizumi 39742252b0 Fixed printzn part.
# please be more careful, sterling..
2003-05-05 11:43:50 +00:00
Moriyoshi Koizumi b2ea7923c6 Fixed printzv macro 2003-05-05 11:39:40 +00:00
Sebastian Bergmann 938d90f1d8 Add test case for bug #23489. 2003-05-05 10:16:04 +00:00
Alexander Merz d276e85167 introduce download-all command for the PEAR Installer 2003-05-05 07:07:51 +00:00
Marcus Boerger bd74e75b41 Fix namespace issue: Only CG is needed here 2003-05-04 23:01:39 +00:00
Marcus Boerger 29a3586f7b Allow functions in internal namespaces (for example factories) 2003-05-04 22:49:31 +00:00
Marcus Boerger a6d0c66a16 Change tests to reflect error message changes 2003-05-04 19:50:28 +00:00
Marcus Boerger fcf92e7e17 Modify the abstract error message so that it shows up to three methods not implemented.
# The solution is generic so that we could change the number of methods shown. But the
#problem is that error message here have a maximum length of 1024 chars.
2003-05-04 19:24:24 +00:00
Marcus Boerger 38da5d0124 Fix warnings 2003-05-04 19:11:48 +00:00
Ilia Alshanetsky 88bafcb7a5 Safer implementation.
Thanks Marcus.
2003-05-04 19:09:54 +00:00
Marcus Boerger 9d251cde97 Don't inherit twice what is needed only once 2003-05-04 18:56:35 +00:00
Ilia Alshanetsky 75c01dd66b Fixed bug #23298 (serialize cuts off floats & doubles) 2003-05-04 18:41:02 +00:00
Marcus Boerger e6d0c8c237 Fix bug #23162 user_error() crashs if > 1024 bytes (Marcus, Moriyoshi) 2003-05-04 18:21:32 +00:00
Moriyoshi Koizumi e9111e0f9b Fixed an issue that zend-multibyte's behaviour doesn't reflect the change
to mbstring.internal_encoding ini setting.
2003-05-04 13:11:30 +00:00
Moriyoshi Koizumi b44ae54bc6 Real fix and a test case for bug #22008 2003-05-04 12:44:36 +00:00
Marcus Boerger 418106cc31 Add me 2003-05-04 12:04:26 +00:00
Moriyoshi Koizumi e9c903ad3f A quick fix for bug #22008
# BTW I'm working on an enhanced strip_tags implementation with re2c, which
# will feature more CSS awareness and more stateful scanning.
2003-05-04 11:45:58 +00:00
Moriyoshi Koizumi 1dfc59f6d8 Added missing sanity check
# likely a fix for bug #23457
2003-05-04 11:19:57 +00:00
Zak Greant eac7884bdb Added a few extra proto descriptions and made some minor corrections and comments 2003-05-04 03:15:02 +00:00
Sterling Hughes 797dba03b8 semicolon 2003-05-04 00:01:44 +00:00
Sterling Hughes c8e36ca66f proto 2003-05-03 23:55:39 +00:00
Sterling Hughes 6f32f79cae add an accessor for the default exception 2003-05-03 23:54:57 +00:00
Marcus Boerger cb1976cb13 MFB: Fix test 2003-05-03 17:30:46 +00:00
Marcus Boerger 815ad75c49 - Indendation fix
- Proto fix
- Add efficient single column access function: sqlite_column()
2003-05-03 12:51:13 +00:00
Sebastian Bergmann ab393a9b0c Adjust path to bundled expat sources for Win32 build. 2003-05-03 08:44:53 +00:00
Marcus Boerger 0c11675902 Fix MFN error (now really) 2003-05-02 22:22:16 +00:00
Marcus Boerger b8c5cd2a9d Fix MFN error 2003-05-02 22:17:01 +00:00
Marcus Boerger 7a17b23190 Add iterator interface and test 2003-05-02 22:09:54 +00:00
Marcus Boerger 4701aaaa87 Interfaces only implement interfaces 2003-05-02 15:39:12 +00:00
Marcus Boerger d6d17e510d Remove this debug line too 2003-05-02 11:10:55 +00:00
Moriyoshi Koizumi 7638a25fef Fixed bug #23449 2003-05-02 11:00:42 +00:00
Andrey Hristov a894bf5c87 Extending substr_replace().
Every parameter can be mixed (string/array) also the return type.
#see the test file if you need more info.
2003-05-02 10:02:40 +00:00
Thies C. Arntzen 83a0e508df @ - Fixed bug #23376 OCINewDescriptor 2003-05-02 08:43:28 +00:00
Sterling Hughes c5a2f99703 remove this, its now in bundle 2003-05-02 04:05:23 +00:00
Sterling Hughes 80e9dc0b58 new file that deals with the bundle 2003-05-02 04:02:27 +00:00
Sterling Hughes ed7412d4c3 missing file 2003-05-02 04:02:04 +00:00
Sterling Hughes 9345ab6238 detect expat-dir 2003-05-02 04:01:42 +00:00
Sterling Hughes 6320f4d9f1 add expat into the bundle, the litmus test for the new system 2003-05-02 03:15:17 +00:00
Sterling Hughes eab8227e7c beginnings of php5/bundle support 2003-05-02 03:14:00 +00:00
Sterling Hughes 7177ada146 some improvements to the debugging macros 2003-05-02 03:12:05 +00:00
Marcus Boerger ff82ad268f Add some info 2003-05-02 03:09:58 +00:00
Sara Golemon 07c679064a Bug Fix (22433). When the bottom of a range() is chr(0) or the top is chr(255), the for loop carries over and never exits. 2003-05-02 00:58:02 +00:00
foobar 20d88e4c34 - Fixed bug #22580 (ext/odbc compile failure with dbmaker) 2003-05-02 00:40:20 +00:00
foobar f60a086291 - Fixed bug #23427 (compile failure with GD 1.8.3) 2003-05-01 23:50:08 +00:00
Marcus Boerger b5a70a72d1 Add spl extension 2003-05-01 23:28:28 +00:00
Edin Kadribasic 0d46a490f7 Allign. 2003-05-01 22:12:06 +00:00
Ilia Alshanetsky 894e2aaf68 emalloc -> safe_emalloc 2003-05-01 21:08:31 +00:00
Sascha Schumann 833d734af1 cleanup 2003-05-01 20:49:42 +00:00
Marcus Boerger a8c650d1b8 tests depend on ini option 2003-05-01 13:29:11 +00:00
Marcus Boerger 2c2774c204 Don't return table names 2003-05-01 13:20:22 +00:00
Marcus Boerger 2cef4c3470 Check returned associative indexes 2003-05-01 13:18:56 +00:00
Sterling Hughes 1d32bcf0bc no need to comment out, it doesn't belong there '.' 2003-05-01 03:47:54 +00:00
Wez Furlong 9db67f05e1 UnixODBC also supports the fetch_array() and fetch_object() functions... 2003-04-30 23:32:36 +00:00
Ilia Alshanetsky 8a09151f5e emalloc -> safe_emalloc 2003-04-30 21:53:53 +00:00
Frank M. Kromann c843ec8c6c Fixing bit support. Bug #23324 2003-04-30 21:52:37 +00:00
Moriyoshi Koizumi 193fe6863a Really fix the test.
# sorry for the mess..
2003-04-30 16:30:44 +00:00
Rasmus Lerdorf 63c966a33d MFB 2003-04-30 16:26:22 +00:00
Marcus Boerger bafbc8bdb2 Allow both parameter orderings 2003-04-30 15:22:57 +00:00
Marcus Boerger 4ad3ecc758 Allow to set result_type default for each query 2003-04-30 15:18:59 +00:00
Wez Furlong 6fc4f3a2ef Fix memory leak in odbc_fetch_(array|object).
Enable those functions for IBM DB2.
2003-04-30 10:45:45 +00:00
foobar f41d09f7b5 missing entries 2003-04-30 10:43:15 +00:00
foobar d7fde48f1d tempnam() creates an empty file..prevent them from going to / 2003-04-30 10:42:24 +00:00
foobar 58491116fc - Fixed bug #23371 (configure falsely detects c-client using SSL) 2003-04-30 10:34:47 +00:00
foobar 511d5268a5 Add some missing quotes. Noticed by Michael Mauch <michael.mauch@gmx.de> 2003-04-30 10:22:56 +00:00
foobar 17892a4386 CS fix 2003-04-30 10:19:21 +00:00
foobar 5fbbd31ca4 Fix compile problems with < 9.2 oracle libs 2003-04-30 10:17:25 +00:00
Ilia Alshanetsky 11d9dd93b9 Fixed bug #23417 (compile failure in apache2filter sapi). 2003-04-30 00:47:08 +00:00
Ilia Alshanetsky 35f8be6bcc Fixed compiler warning (found by Larry Rosenman <ler@lerctr.org>) 2003-04-30 00:37:31 +00:00
Sara Golemon 5d3a8e4ce7 Add support for SRV and NAPTR records to dns_get_record() and dns_check_record()
Feature Request #23407
2003-04-29 22:02:01 +00:00
Sascha Schumann e6b558edb2 Fix the *= operator
Slightly modified patch by Wez Furlong
2003-04-29 15:06:19 +00:00
Wez Furlong 89503b163e Fix dirname() under win32.
The calculated length would be off-by-two under windows, which resulted in bogus dirnames.
2003-04-29 13:35:48 +00:00
Moriyoshi Koizumi 180806f9e6 Fixed typo 2003-04-29 13:05:58 +00:00
Moriyoshi Koizumi cc9b7895a0 Fixed bogus skip condition 2003-04-29 13:04:19 +00:00
Ilia Alshanetsky c511cd2242 emalloc -> safe_emalloc 2003-04-28 22:42:22 +00:00
Sascha Schumann 9f4f0cec39 Fix Content-Encoding header lacking CRLF 2003-04-28 22:07:18 +00:00
Jay Smith ab1124b014 A few fixes Uwe suggested, plus plugged a memleak and a possible
overrun.
2003-04-28 21:49:47 +00:00
foobar 1948b45b3f Make use of --with-exec-dir for real.. 2003-04-28 21:00:32 +00:00
foobar ac45c221ff ws fix 2003-04-28 20:47:27 +00:00
Adam Dickmeiss 1329eac05a For yaz_wait, when event=>TRUE is specified for array options,
yaz_wait returns when one event occurs. This allows us to perform
async operations on many databases. Use OnUpdateInt for PHP4.
2003-04-28 19:51:45 +00:00
Sascha Schumann ca47774ede MFB usage fix 2003-04-28 19:43:09 +00:00
Derick Rethans 9ab3ad2963 - Commit the .c file too... 2003-04-28 18:52:59 +00:00
Sara Golemon 6d23b48797 Reword entry per sniper 2003-04-28 18:50:22 +00:00
Derick Rethans cd13464709 - Make them available on Windows too from other files. 2003-04-28 18:41:32 +00:00
Sascha Schumann e422f56dff improve php_url_encode 2003-04-28 16:24:14 +00:00
Moriyoshi Koizumi f4c9feb774 Added missing sanity check in fgetcsv() 2003-04-28 15:04:56 +00:00
Wez Furlong 169b3f72ed Fix for #23340; fopen on multiple urls from the same server crashes. 2003-04-28 14:41:36 +00:00
Derick Rethans 810ac117f0 - Fix non-ZTS build after Sterling's changes to TSRM 2003-04-28 10:40:28 +00:00
Edin Kadribasic 43e54bf2c1 More clean way of ignoring headers in CLI since we do not need to
disable them selectively. This fixes problems for people who want
to use session module in CLI.
2003-04-28 10:04:50 +00:00
foobar 4db8cd5f7b Remove unnecessary entry 2003-04-28 07:30:51 +00:00
Sterling Hughes 7ed6fd22bc use the new TSRMLS_FETCH_FROM_CTX() macro 2003-04-27 22:15:19 +00:00
Sterling Hughes a294f9b2d1 add TSRMLS_FETCH_CTX which allows you to map a variable to a ts context.
This is useful when you are mapping callbacks, you can simply associate
a struct member to a thread context:

void mycallback(my_struct *user) {
	TSRMLS_FETCH_CTX(user->thread_ctx);
}
2003-04-27 21:57:07 +00:00
Marcus Boerger 8820a9cdcc More tests 2003-04-27 20:02:35 +00:00
Marcus Boerger 1c1aa38ee5 Reset option parsing
# i swear i had them in before last commit
2003-04-27 19:41:36 +00:00
Marcus Boerger 129d0898ca split parameter parsing once more: do informal queries before others
#still a memleak in case of a parameter conflict
2003-04-27 19:19:29 +00:00
Stanislav Malyshev cddface7f1 fix TSRM 2003-04-27 16:18:43 +00:00
Stanislav Malyshev cad71d8c92 MFB 4_3:
Fix very nasty bug - session cookie kills one of the cookies
set before it on certain non-Apache SAPIs.
# for example, this code:
# <?
# setcookie("abc", 1);
# setcookie("def", 2);
# session_start();
# ?>
# would output only 'def' cookie on CGI and ISAPI
2003-04-27 16:04:53 +00:00
Wez Furlong 3bf392c160 Seems like a better fix.. 2003-04-27 14:01:09 +00:00
Marcus Boerger 783d1d7b24 More safe_emalloc() 2003-04-27 13:46:07 +00:00
Wez Furlong 23c4c206a4 WS, plus default: would prevent case SQLITE_DONE: in php_sqlite_fetch(). 2003-04-27 13:32:43 +00:00
Marcus Boerger fe94e0394e Enable some more functions with unbuffered queries 2003-04-27 13:25:10 +00:00
Marcus Boerger 88ef12964b Add more tests 2003-04-27 11:29:39 +00:00
Sara Golemon ffe4ae85bb ftp wrapper enhancements 2003-04-27 05:38:13 +00:00
Hartmut Holzgraefe 91ab37755f - more code moved to the appropriate php_*.php helper classes
- support for different licenses using the new license classes
- support for platform dependant library dependencies
- coding style/whitespace changes
2003-04-26 16:20:59 +00:00
Hartmut Holzgraefe 2bf4b3f293 constructor proto change 2003-04-26 16:08:48 +00:00
Hartmut Holzgraefe 67df62c0b1 cmdline parameter parsing improved
uses license classes to write LICENSE file
config.m4 and *.dsp file are only written if their platform is supported
2003-04-26 15:54:50 +00:00
Hartmut Holzgraefe 545022872d constructor prototype changed
code and documentation header and footer for constants block
now generated by static class methods
2003-04-26 15:42:59 +00:00
Hartmut Holzgraefe ac22872006 better 'name' regex 2003-04-26 15:34:10 +00:00
Hartmut Holzgraefe 5b665eb367 php 5 constructor style and whitespace 2003-04-26 15:27:28 +00:00
Hartmut Holzgraefe f8f4e04909 support arrays of error messages in addition to single strings
use PHP 5 style __constructor
2003-04-26 15:20:18 +00:00
Hartmut Holzgraefe 5e5ddac9f1 use PHP 5 style constructor
plus whitespace/coding style changes
2003-04-26 15:15:28 +00:00
Hartmut Holzgraefe 76d82c53bb module global variables and ini parameters now have
their own generator classes
2003-04-26 15:05:01 +00:00
Hartmut Holzgraefe ddefccd04a license comment headers and license files are now created
by seperate classes for each license
2003-04-26 15:01:31 +00:00
Hartmut Holzgraefe 8314828451 platform specification now possible for libraries and extension 2003-04-26 14:58:37 +00:00
Sara Golemon bb48c7d861 Take STREAMS_CC/STREAMS_DC declarations out of do_connect/do_pasv where they don't need to be. Add minimalist url_stat method to ftp:// wrapper which can at least determine filesize. Other properties set to 0 since the FTP protocol simply doesn't support exploring them. url_stat won't actually work however until ext/standard/filestat.c is patched to allow stat wrappers. 2003-04-26 01:55:31 +00:00
Ilia Alshanetsky ab0e80d42f emalloc -> safe_emalloc
Fixed possible buffer overflow in pg_lo_read()
2003-04-25 21:59:58 +00:00
foobar b83fc1a802 - Fixed some AIX/HPUX compile issues.
# Just a modified diff of the same file found in mysql 4.0.12 :)
2003-04-25 21:31:23 +00:00
foobar f140ae993f fix compiler warning (unused variable) 2003-04-25 18:11:32 +00:00
Moriyoshi Koizumi 0e5df53be5 Moved copyright notice to the better place. 2003-04-25 17:39:46 +00:00
Moriyoshi Koizumi 4c2d694aa3 Added a bogus copyright notice. 2003-04-25 17:35:06 +00:00
Wez Furlong d7d7b83adc not interested in .libs 2003-04-25 16:12:40 +00:00
foobar a64269f0da Make these tests actually work. 2003-04-25 15:43:28 +00:00
foobar 2219a62606 - Made 'register_long_arrays' to be "On" by default. 2003-04-25 10:57:23 +00:00
foobar dbe01aca1f not a real test 2003-04-25 10:53:10 +00:00
foobar c0cde196d7 Fixed bug #21820 ("$arr[foo]" generates bogus E_NOTICE, should be E_PARSE) 2003-04-25 10:13:51 +00:00
foobar 6bfa5b405f Fixed bug #23099 (ext/interbase: "libgds.so: undefined reference to crypt") 2003-04-25 08:57:49 +00:00
foobar fcf3384af9 Allow PHP_CHECK_LIBRARY to use same function name in checks if a check fails. 2003-04-25 08:54:02 +00:00
foobar fc8d7c2a8e Added test case for bug #21820 2003-04-25 08:33:25 +00:00
foobar 93b154fea4 Some AIX version failed to compile if this was redefined. 2003-04-25 08:10:11 +00:00
Sara Golemon 2d558127af No idea how that character dissapeared. 2003-04-24 22:25:33 +00:00
Sara Golemon 2fc1d2c330 Fix error handling bug I just introduced (php_ftp_fopen_connect == NULL) and add append support to wrapper 2003-04-24 21:21:41 +00:00
Marcus Boerger 8a5ba51ac8 MFB: safe_emalloc() 2003-04-24 20:54:43 +00:00
Sara Golemon 228f65f889 Abtract some ftp connection/negotiation steps out and add support for stream_opendir. This allows things like opendir('ftp://ftp.foo.com/path') 2003-04-24 20:32:14 +00:00
Hartmut Holzgraefe e5d762f9ff whitespace changes in generated code 2003-04-24 18:04:17 +00:00
Hartmut Holzgraefe 28f39fba95 <![CDATA[ generates additional linefeeds?
-> trim these ...
2003-04-24 18:03:12 +00:00
Hartmut Holzgraefe 580115b589 use PEAR::System instead of system() to remove directories
... plus some whitespace/indent changes :/
2003-04-24 18:01:57 +00:00
David Hill cec89b2446 Fix compiler error on null statement in switch 2003-04-24 18:01:26 +00:00
Hartmut Holzgraefe 084c6c0d15 todo list update 2003-04-24 18:00:49 +00:00
Wez Furlong 4a679ca77f MFB fix for registration 2003-04-24 13:53:04 +00:00
Sascha Schumann 04d2905fb5 add safe_emalloc 2003-04-24 03:35:06 +00:00
Marcus Boerger d2833dc9c2 Revert some ini settings to be hardcoded due to popular demand 2003-04-23 22:52:44 +00:00
Hartmut Holzgraefe c9b4c8f85b config.m4 generation revisited 2003-04-23 16:40:52 +00:00
Hartmut Holzgraefe 7c220887fa parse <deps> content 2003-04-23 16:39:50 +00:00
Hartmut Holzgraefe da57d29526 reorganized code generation
- source file includes generated header only,
  generated header includes anything else
	and is able to prepend include statements
	to files that need to be included *before*
	any php delivered header files
- 'private' functions are now moved up in the
  generated source file so we do not add extra
	C protos for them before use
2003-04-23 16:38:22 +00:00
Hartmut Holzgraefe 9736a76171 make sure .dsp files have DOS line endings when generated on Unix 2003-04-23 16:34:30 +00:00
Hartmut Holzgraefe 7fd32f3632 don't forget to add the function list delimiter entry ... :/ 2003-04-23 16:32:11 +00:00
Hartmut Holzgraefe 587e7dd693 documentation generation improvements 2003-04-23 16:29:32 +00:00
Hartmut Holzgraefe 12241236bb version number and copyright year update 2003-04-23 16:27:36 +00:00
Hartmut Holzgraefe d3b94f4bd1 required ext. header files may be specified in <deps> 2003-04-23 16:24:24 +00:00
Hartmut Holzgraefe 18829205ca enable resource lookup by name 2003-04-23 16:20:48 +00:00
Hartmut Holzgraefe c1fb09e34e Resource handling fixed and improved:
- resources may have an additional type specifier in prototypes
- the 'alloc' attribute specifies whether to emalloc/efree
  the resource payload in generated code or not

Example code generation for function return types

Small docbook generation fixes in function documentation
2003-04-23 16:19:08 +00:00
Hartmut Holzgraefe e52ba40084 start to parse the <deps> tag -> support both C and C++ extensions 2003-04-23 16:09:23 +00:00
Hartmut Holzgraefe 31d5ab51b0 Project programming language may be specified in <deps> tag
for now only 'c' and 'cpp' for c++ are supported
2003-04-23 15:55:00 +00:00
foobar 92096ac753 Fix obvious flaw in this test 2003-04-23 08:54:49 +00:00
Wez Furlong 604a41e244 win32 fixes 2003-04-22 23:24:44 +00:00
Wez Furlong 9d43def392 Fix the extension...
# guess which extension I copied this from??
2003-04-22 21:41:46 +00:00
Rasmus Lerdorf 0d248d81a6 MFB: &039; which is a single-quote may also come in as &39;
I see no reason not to support both in html_entity_decode()
2003-04-22 20:47:09 +00:00
Wez Furlong 11a96965c9 Add windows .dsp and some kludgy pre-generated headers. 2003-04-22 19:06:31 +00:00
Sara Golemon cb89565ba4 Feature Request #7121.
Allow overwritting of files via ftp:// wrapper.
Requires context option:  $context['ftp']['overwrite'] != 0
2003-04-22 04:13:09 +00:00
Sascha Schumann c523fc4766 Add vr class
Noticed by: Jon Parise
2003-04-22 03:21:29 +00:00
Wez Furlong 71722f28ba I will use my brain properly next time 2003-04-22 00:21:02 +00:00
Wez Furlong eb22d78db8 allow sqlite_query() to accept the query string and database resource in
either order.

Forgot to bump the package version number displayed by phpinfo()...
Bump to 0.9a
2003-04-22 00:19:48 +00:00
Edin Kadribasic 43349ea014 Added sqlite.assoc_case ini entry with 0 as the default value.
0 - Make no changes to the keys in the associative array
1 - Change the keys to uppercase
2 - Change the keys to lowercase
2003-04-22 00:08:48 +00:00
Wez Furlong 04c5e2fc06 Prepare for release. 2003-04-21 20:24:03 +00:00
Moriyoshi Koizumi f9e805d52b The feature is less revelant to encoding conversion indeed 2003-04-21 19:07:21 +00:00
Moriyoshi Koizumi c591d4decd Reduced leaks in userland filters 2003-04-21 18:43:36 +00:00
Moriyoshi Koizumi cf620ddfdb Unified all those redundant printf's 2003-04-21 18:00:41 +00:00
foobar dd0228d3d8 Fix bug #23198 2003-04-21 17:53:37 +00:00
Stanislav Malyshev 5a904d6ea8 Update to latest inteface change for get_class_name 2003-04-21 17:03:29 +00:00
Stanislav Malyshev ad01495a48 Change get_class() so that it returns qualified names for namespaced
classes.

*HEADS UP*: get_class_name() handler interface is changed, now it should
allocate the space it returns with emalloc, and the users free it. If
anyone has problems with it or has suggestions how to do it without this -
please tell.

Also: make function_exists() understand namespaces.
2003-04-21 17:01:34 +00:00
Stanislav Malyshev c5b1314e05 make import * fail if such classes or functions already there 2003-04-21 12:14:12 +00:00
Sascha Schumann 17f3aca625 Properly update the global httpd_time_now and remove php_makefile from diff 2003-04-21 01:08:23 +00:00
Wez Furlong 276e721f96 Tidy up package.xml file.
Cleaner approach for setting THREADSAFE and NDEBUG for bundled libsqlite.
Tested with: static, shared and shared with separate build roots under a
non-zts build only.
2003-04-20 16:09:16 +00:00
Wez Furlong 8ccae81db2 Eliminate leaks from registering plain or aggregate functions.
Also, reduce (probably eliminate) the risk of a segfault when registering a
callback on a persistent connection and later triggering the callback from a
different script.
2003-04-20 15:13:04 +00:00
Sterling Hughes b4262dcf17 Add check for final properties 2003-04-20 14:52:40 +00:00
Stanislav Malyshev 52ac291c54 Check name before '::' so that it would be a namespace in zend_lookup_ns_class 2003-04-20 14:40:38 +00:00
Stanislav Malyshev ba02f60ee4 refine the set_error_handler fix 2003-04-20 14:20:20 +00:00
Stanislav Malyshev faafbd6edd Fix for bug #21094 (set_error_handler can not accept methods),
by Timm Friebe
2003-04-20 14:18:15 +00:00
Wez Furlong ac33bc48f0 Revise todo 2003-04-20 13:33:46 +00:00
Wez Furlong d40a615a8e Implement sqlite_create_function(), which allows binding of php functions by
name; this is a higher performance alternative to the generic php() SQL
function. (saves parsing the additional function call in the SQL and a call to
zend_is_callable on each function invocation).

Add test for sqlite_create_function().

Fixup proto for sqlite_create_aggregate().

Tweak package file and speling in header file.
2003-04-20 13:31:36 +00:00
Tal Peer b0d26a11ac Remove rendundant function 2003-04-20 13:21:17 +00:00
Tal Peer 2a54c9a308 typo 2003-04-20 13:17:17 +00:00
Tal Peer a676f6c29d Update 2003-04-20 13:15:45 +00:00
Wez Furlong 7360c5dfdd Add test for aggregates 2003-04-20 13:08:40 +00:00
Wez Furlong 4a46882648 Implement sqlite_create_aggregate() which can be used to create aggregation
functions for use in SQL statements.
2003-04-20 13:08:22 +00:00
Edin Kadribasic 3f18d16957 Kluge, but it seems to work now in both phpize and bundled builds.
Only in there until Wez fixes it for real.
2003-04-20 03:03:28 +00:00
Edin Kadribasic 04d06dac3f Reinstating these two items due to the fact that current config.m4
detection for debug and thread-safe build does not work if sqlite
is built as a standalone extension with phpize.
2003-04-20 01:55:20 +00:00
Edin Kadribasic a10c8a3e1c Erm, this works much better :) 2003-04-20 01:25:59 +00:00
Edin Kadribasic 3f95e99afc Set appropriate flags when compiling bundled lib in thread-safe
and debug modes.
2003-04-20 01:22:08 +00:00
Sara Golemon 7c8c09b3cf Revert change to stream_copy_to_stream() 2003-04-20 01:18:58 +00:00
Marcus Boerger 9e19524c5e Access the struct directly here 2003-04-19 19:06:52 +00:00
Sascha Schumann 652b615438 Fix PUTS/PUTS_H to only evaluate their argument once. 2003-04-19 18:35:31 +00:00
Marcus Boerger dc27fbd90f Add a test for ctor precedence 2003-04-19 18:21:58 +00:00
Ilia Alshanetsky 6bc4ce43d0 Do not hardcode php path. 2003-04-19 18:10:54 +00:00
Ilia Alshanetsky e4c38aec5a Do not make the test rely on the availability of the cat command. 2003-04-19 17:45:46 +00:00
Sascha Schumann e4183ae980 Extend print_table_row so that one can specify the CSS class
directly.  Add "vr" class which aligns the content to the right border.
2003-04-19 17:40:19 +00:00
Marcus Boerger 1939d27aca The env-var TEST_PHP_EXECUTABLE is needed in tests 2003-04-19 17:22:53 +00:00
Holger Zimmermann 93a53656a5 Added PHP4PI3WEB_EXPORTS in order to control exports/imports on Win32 2003-04-19 16:11:36 +00:00
Marcus Boerger de76ceb2d3 Fix more shutdown wierdness 2003-04-19 15:02:44 +00:00
Marcus Boerger b99a491e33 Update to new macros 2003-04-19 15:01:22 +00:00
Wez Furlong 7ca29424c4 Fix folding marker 2003-04-19 14:41:31 +00:00
Marcus Boerger 0bcfdd0262 Do init CG(in_compilation) here until someone finds a better place 2003-04-19 13:54:01 +00:00
Wez Furlong e17b8b4b12 More things todo 2003-04-19 13:04:19 +00:00
Wez Furlong ff0d6adda4 Transparently decode binary encoded data.
Add a test-case for that process.

When encoding binary data, we mark the string with \x01 as its first character.
When returning data via sqlite_fetch_array(), if the first character is \x01,
then we decode the encoding.  This behaviour can be turned off by the optional
last parameter to sqlite_fetch_array(), for compatibility with databases
created with other applications.
2003-04-19 12:54:17 +00:00
Wez Furlong de7874e11f Little fix for people building sqlite as a static extension 2003-04-19 11:47:17 +00:00
Marcus Boerger 5f97e66ba5 Add test for different result representations 2003-04-19 10:36:58 +00:00
Wez Furlong 6640260253 Fix 2 potential segfaults. 2003-04-19 10:28:45 +00:00
Sebastian Bergmann a17d2f37ea Corrected patch by Marcus Börger <helly@php.net>. 2003-04-19 09:04:15 +00:00
Moriyoshi Koizumi 6be2406b63 Made phpinfo() / gd_info() indicate availability of JIS feature 2003-04-19 07:44:16 +00:00
Moriyoshi Koizumi 54096d3f43 Fixed help text alignment 2003-04-19 07:15:38 +00:00
Rui Hirokawa 442798bbe5 fixed compilation problem in php-4.3.2dev. 2003-04-19 07:04:00 +00:00
Moriyoshi Koizumi 1f229c0851 MFBed Rui's patch 2003-04-19 04:33:38 +00:00
Sara Golemon 6dde464ce7 Let stream_copy_to_stream() accept either stream resource or filename/url string. If filename, open the file, do the copy, then close it. 2003-04-19 02:47:16 +00:00
Marcus Boerger 1b3467e72d Shutdown memleaks 2003-04-19 00:02:50 +00:00
Marcus Boerger cde6bdce5c Improve test environment, fix 001.phpt and rename that one, also change from /tmp to dirname(__FILE__) 2003-04-18 20:53:18 +00:00
Marcus Boerger 16e873f864 Add a first simple open/close test 2003-04-18 20:08:01 +00:00
Marcus Boerger d323659e5f ZTS fixes 2003-04-18 19:43:38 +00:00
Wez Furlong ff93259b82 First "real" test.
If anyone is motivated to write more tests, please do so.
2003-04-18 19:22:49 +00:00
Sterling Hughes 48b3303217 Patch by Marcus Börger to fix some memleaks 2003-04-18 18:40:53 +00:00
Derick Rethans bfaf618b08 - Revert my symbol fix patch, and merge in Stas' fixes to Zend Engine 1. 2003-04-18 17:55:45 +00:00
Wez Furlong c568087d6e done: persistent connections 2003-04-18 16:42:28 +00:00
Wez Furlong 8f30d3e545 Implement sqlite_popen(), which opens persistent connections to an sqlite
database file.  (This saves the cost of sqlite reading/parsing the indices).

Persistent db connections have any pending transactions rolled back at request
shutdown time. (non-persistent connections are automatically rolled back when
they are closed).

Enhance sqlite_query() and sqlite_unbuffered_query() to use the C api
sqlite_exec() when the PHP script does not use the return value. This avoids
the extra work and memory allocation for holding result sets when they are not
needed.
2003-04-18 16:30:16 +00:00
Wez Furlong d28e06d3b2 Update todo 2003-04-18 12:23:14 +00:00
Wez Furlong 8ed14ff16f Implement sqlite_unbuffered_query(), which works similarly to the mysql
function with a similar name.

Change sqlite_query() to use the same mechanism as the unbuffered query; this
moves the bulk of the memory allocations into the ZE memory manager, and will
hopefully be more efficient and less at risk of leaks.
2003-04-18 12:22:43 +00:00
Derick Rethans bd77233ee3 - MacOSX also prepends the _ before symbols in bundles 2003-04-18 11:35:22 +00:00
Ilia Alshanetsky 7f94983ee0 Added missing safe_mode checks. 2003-04-18 00:20:22 +00:00
Sara Golemon 19ef914bb4 Catch up to Moriyoshi's streams megapatch 2003-04-17 23:59:28 +00:00
foobar 1e3e1d5880 CS cleanup + NS protection for some functions (used only in sockets.c btw) 2003-04-17 23:18:58 +00:00
Sara Golemon f2654df92c Basic IPv4 and IPv6 loopback tests for ext/sockets 2003-04-17 23:09:17 +00:00
Sara Golemon d06232a871 Add IPv6 support to ext/sockets 2003-04-17 21:04:47 +00:00
Wez Furlong 0098ae7dc6 Constants for error codes 2003-04-17 20:17:54 +00:00
Wez Furlong a016cfb10a Folding markers 2003-04-17 20:09:45 +00:00
Wez Furlong ec09b1b881 Add two new functions:
int sqlite_last_error($db) -- returns error code from last query

string sqlite_error_string(int code) -- returns english description of an error
code.
2003-04-17 20:08:00 +00:00
Sara Golemon 02ee8fffa3 strtok() already made binary safe by sas nearly 2 years ago. Ref: ext/standard/string.c(r-1.212) 2003-04-17 19:36:29 +00:00
Wez Furlong cca9ebddae Add pecl release version to phpinfo output 2003-04-17 19:13:21 +00:00
Wez Furlong c38fc9bc27 and one more 2003-04-17 19:02:10 +00:00
Wez Furlong aeeb56cb2d Add another todo 2003-04-17 19:01:26 +00:00
Wez Furlong 6a7502076d Update TODO. 2003-04-17 18:56:34 +00:00
Wez Furlong 3cf1e2c7ed Add safe_mode and open_basedir checks for the COPY SQL statement. 2003-04-17 18:54:40 +00:00
Wez Furlong c54eff9f12 Update for new release 2003-04-17 17:31:50 +00:00
Wez Furlong c53b5743df WS 2003-04-17 17:15:36 +00:00
Wez Furlong 4d9ca8f135 NULL columns are NULL pointers 2003-04-17 17:09:59 +00:00
Wez Furlong 4eba9b8b46 Implement sqlite_busy_timeout() which sets the retry timeout (in milliseconds)
when multiple processes attempt to lock and update the database.
2003-04-17 16:57:46 +00:00
Jay Smith 3fbb4dbdc0 Fix some segfaults in some of the pg_lo_* functions. 2003-04-17 16:54:43 +00:00
Wez Furlong 28128e4154 Segfault fixing! 2003-04-17 16:36:59 +00:00
Sebastian Bergmann 5be2fe410e Patch by Marcus Börger <helly@php.net>. 2003-04-17 14:33:38 +00:00
Tal Peer 71c1104613 fix newline.. 2003-04-17 13:36:21 +00:00
Wez Furlong 3eb3805d47 Really fix build 2003-04-17 12:49:44 +00:00
Wez Furlong b09dc0e03a Hopefully fix build... 2003-04-17 12:38:42 +00:00
Wez Furlong 5594945c76 Add dependency to generate header 2003-04-17 12:12:28 +00:00
Wez Furlong f56412eace Update build files 2003-04-17 11:57:29 +00:00
Wez Furlong c53017d4c3 Remove whitespace added while touching. 2003-04-17 11:44:06 +00:00
Wez Furlong 64d20f54c4 Touch generated files 2003-04-17 11:43:26 +00:00
Wez Furlong 05d5a35c9b Bundle relevant parts of sqlite 2.8.0.
# sqlite has a completely non-restrictive license
2003-04-17 11:27:30 +00:00
Wez Furlong 826583dc91 Nicer error message when an invalid function name is specified. 2003-04-17 03:38:20 +00:00
Wez Furlong f7dbd9d909 Prep for release. 2003-04-17 03:19:33 +00:00
Wez Furlong 1c3b2a28d1 Update TODO and example.
Hide phpize crap from CVS
2003-04-17 03:15:13 +00:00
Wez Furlong c73e304dc2 Implement a php function so that the following SQL can be used:
SELECT php('md5', sql) from sqlite_master

The php function has takes the name of a php function to call as the first
parameter; each additional parameter is passed on to the function, much like
call_user_func().

You can call both built-in and script-defined functions in this way.
2003-04-17 03:14:14 +00:00
foobar 2cd55ce73b touch 2003-04-17 02:54:23 +00:00
foobar b319982868 add missing header 2003-04-17 02:53:32 +00:00
foobar 85874549d6 touch 2003-04-17 02:45:10 +00:00
Wez Furlong 5e0b9bb451 Implement sqlite_escape_string() function. 2003-04-17 02:20:26 +00:00
Wez Furlong 2d14d8b520 Implement safe_mode and open_basedir checks.
Add package.xml
2003-04-17 01:57:55 +00:00
Wez Furlong cc5903adb4 Add readme and todo 2003-04-17 01:37:42 +00:00
Wez Furlong 25954d1d72 This commit was generated by cvs2svn to compensate for changes in r123706,
which included commits to RCS files with non-trunk default branches.
2003-04-17 01:29:45 +00:00
Sara Golemon 0c366c24e5 Macro: php_stream_get_from_zval(php_stream *stream, zval **zstream, char *mode, int options, char **opened_path, php_stream_context *context) Z_TYPE_PP(zstream) can be either IS_RESOURCE (An already opened stream) or IS_STRING (a path to a stream to be opened) 2003-04-17 00:00:34 +00:00
Ilia Alshanetsky f7d72d178d Fixed bug #23232 (safe_mode does not honor PHP_AUTH_* in apache2) 2003-04-16 23:31:23 +00:00
Moriyoshi Koizumi 0c5548e636 Fixed implicit cast issue with is*() and to*() functions 2003-04-16 21:40:48 +00:00
Moriyoshi Koizumi 0ad2fc2007 Fixed bug #19795
# to*() and is*() expect for their arguments an integer in range of 0 - 255
2003-04-16 21:10:29 +00:00
Moriyoshi Koizumi ccbec3e56c Fixed typo 2003-04-16 20:00:46 +00:00
Moriyoshi Koizumi 8e15c4daff compiler warning fix and possible 64bit fix 2003-04-16 19:18:35 +00:00
Moriyoshi Koizumi ec91e86850 Fixed bug #23080 2003-04-16 17:31:31 +00:00
Marcus Boerger b09aa87120 Don't access what is already freed (noticed by Sascha) 2003-04-16 17:30:03 +00:00
Moriyoshi Koizumi 2a31fa0569 Fixed memleak 2003-04-16 15:10:01 +00:00
Moriyoshi Koizumi 6dd17c380d Added missing sanity check 2003-04-16 14:55:25 +00:00
Moriyoshi Koizumi 49b43ad115 Changed stream filter factory to be capable of accepting a zval as a parameter
instead of a string
2003-04-16 14:30:25 +00:00
Sascha Schumann 8e165ea050 fix two uninitialized reads 2003-04-16 13:43:23 +00:00
Sascha Schumann 4ff425c157 Nuke all sn?printf's and rely on the optimized httpd_ntoa to
convert the IP to a string representation.
2003-04-16 13:37:34 +00:00
Sascha Schumann bb50c3846f Fix uninitialized reads
==32323== Conditional jump or move depends on uninitialised value(s)
==32323==    at 0x80F5A5C: zend_ini_color_displayer_cb (/home/sas/src/php4/Zend/zend_ini.c:374)
==32323==    by 0x80C5B7F: php_ini_displayer_cb (/home/sas/src/php4/main/php_ini.c:60)
==32323==    by 0x80C5D15: php_ini_displayer (/home/sas/src/php4/main/php_ini.c:115)
==32323==    by 0x80F0168: zend_hash_apply_with_argument (/home/sas/src/php4/Zend/zend_hash.c:707)
2003-04-16 12:44:08 +00:00
Jan Lehnardt 09790f8f53 - allow libtool to be a symlink. Discussed with Sascha 2003-04-16 11:59:49 +00:00
Sascha Schumann cd403e3b51 Merging some Premium thttpd improvements, notably
- periodic update of date strings
- caching of Last-Modified values
- use of smart_str'ings for crafting HTTP header (static files)
  and inside make_log_entry
- buffered log writing
- httpd_ntoa is about 8 times faster

Overall improvement: Around 50% faster now
2003-04-16 09:20:55 +00:00
Sascha Schumann 0bda867fe7 Simplify use of this header in external apps 2003-04-16 09:14:32 +00:00
Marcus Boerger 8363658641 Change to use safe_emalloc() and provide macro for now 2003-04-16 06:10:41 +00:00
Sascha Schumann baa54b3b80 add missing check 2003-04-16 05:22:04 +00:00
foobar 2170ea8b4d Added missing CVS Id tags 2003-04-16 02:34:57 +00:00
foobar b02dd10e03 SKIP -> SKIPIF 2003-04-16 02:21:30 +00:00
Ilia Alshanetsky 7f8bd25fcc Fixed bug #23225 (money_format() didn't handle erroneous return of strfmon)
# Initial patch proposed by marcot@tabini.ca
2003-04-16 01:07:03 +00:00
Ilia Alshanetsky 56e44a4fc2 Fixed bug #22939 (crash in imap_header_info()). 2003-04-16 00:58:30 +00:00
Ilia Alshanetsky 7d2b4cab36 Cleaner error handling. 2003-04-15 01:48:02 +00:00
Ilia Alshanetsky f1bd3d539f Fixed bug #23187 (memory leaks in sybase_connect/sybase_pconnect).
Intial patch by: fukusaka@xa2.so-net.ne.jp
2003-04-15 00:59:42 +00:00
Marcus Boerger da540a4d3b Fixed Bug #23188 CDB databases created with 'c' mode do not work. 2003-04-14 21:50:48 +00:00
Ilia Alshanetsky 3d6fccc08c Fixed bug #23152 ($http_response_header empty on invalid URLs) 2003-04-14 13:55:34 +00:00
Jesus M. Castagnetto 9b91242e24 Fixing bug #23060 2003-04-14 11:50:42 +00:00
foobar bfccea6853 style 2003-04-14 01:48:53 +00:00
Sara Golemon 9103aac254 Modify str_replace/str_ireplace to report how many needles were matched. (FR #8218) 2003-04-13 22:59:19 +00:00
Marcus Boerger 75c8f37c03 Make it static 2003-04-13 20:30:57 +00:00
Sascha Schumann d2afc64fed don't remove config.nice directly, so that we don't lose it on
inferior systems like windows.
2003-04-13 20:13:06 +00:00
Marcus Boerger 887d5ec9c1 Speling 2003-04-13 20:12:54 +00:00
Sascha Schumann 887dfeefec cygwin ships with bison 1.875b, so we need to remove that b here 2003-04-13 20:09:32 +00:00
Marcus Boerger 268ffda27d Reenable dba_popen() 2003-04-13 19:50:28 +00:00
Marcus Boerger bff63db577 Fix persistent stream closing (that one took me at least 3 days) 2003-04-13 19:47:55 +00:00
Sergey Kartashoff b296a3bd64 - Udm_Make_Excerpt has been fixed to be compatible with mnogosearch-3.2.10+ 2003-04-13 17:52:25 +00:00
Moriyoshi Koizumi 9b87fe9702 Moved a controversial entry to the proper place
# maybe it's time to replace output buffering facility with the streams?
2003-04-12 22:29:00 +00:00
Moriyoshi Koizumi 4057c0cc7d NFN 2003-04-12 22:02:26 +00:00
Moriyoshi Koizumi 560efa10c0 Forgot about this one :) 2003-04-12 21:56:08 +00:00
Moriyoshi Koizumi fa0ac8a273 Made dirname() binary-safe. 2003-04-12 21:53:46 +00:00
Moriyoshi Koizumi 9e46bdd0b2 strip_tags() is also binary-safe now. 2003-04-12 21:29:49 +00:00
Sara Golemon 87f9ed0a6f Scratch off done TODOs 2003-04-12 20:09:26 +00:00
Sara Golemon 76965beb04 Add tests for strrpos/stripos, and minor fix to maintain BC for condition with empty needles/haystacks 2003-04-12 20:04:06 +00:00
Sara Golemon 0b5c1112c5 Rewrite strrpos and strripos to be binary safe and behave the way their prototype suggests (also like their counterparts strpos and stripos) i.e.: Allow string needles rather than just characters 2003-04-12 07:36:22 +00:00
Sebastian Bergmann dccdb2f549 Fix warnings. 2003-04-11 17:30:42 +00:00
Wez Furlong 2090d23f02 Fix for #23069 (Windows sets readonly mode for temporary files in tempnam) 2003-04-11 11:08:44 +00:00
Derick Rethans a802e0d6b3 - Fixed protos 2003-04-11 09:53:01 +00:00
Hartmut Holzgraefe e06fdaae8b accept possible leaks for now to make SELECTS with both bound parameters
and results again ...
2003-04-11 04:41:52 +00:00
Hartmut Holzgraefe a1ff81d277 proto fix 2003-04-11 04:30:29 +00:00
Hartmut Holzgraefe 2f26d2b693 parameter count for bind stuff is different in OO interface 2003-04-11 04:29:28 +00:00
Sara Golemon 8da5e8e48e Export constants to userland 2003-04-11 02:55:00 +00:00
Ilia Alshanetsky 4fbd27252d Fixed integer overflow inside mhash_keygen_s2k(). 2003-04-11 02:40:21 +00:00
Sterling Hughes c013f78274 satisfy andi's switch fetish ;-) 2003-04-10 20:08:02 +00:00
Sebastian Bergmann 974f406eda Fix ZTS build. Fix warning. 2003-04-10 17:02:31 +00:00
Sebastian Bergmann 668fc20b97 Document 'const' keyword. 2003-04-10 16:54:46 +00:00
Sterling Hughes 0191ba5de1 allow expressions within constants, so the following is possible
class foo {
	const a = 1<<0;
	const b = 1<<1;
	const c = a | b;
}

this makes const a compile-time expression.  all other operators are
unaffected.
2003-04-10 15:43:47 +00:00
Christian Stocker aa09b09e1a - More TSRMLS stuff.
- Fixed memleaks in domxml_doc_add_root, domxml_xslt_stylesheet
  and domxml_xslt_stylesheet_doc
- Completed implementation of domxml_doc_imported_node.
2003-04-10 12:45:38 +00:00
Stanislav Malyshev 6f08d5e759 Make Apache 2 define SG(request_info).path_translated like Apache 1 did. 2003-04-10 11:33:45 +00:00
Stanislav Malyshev 2849872f19 make Apache define SG(request_info).path_translted, like Apache 1 did. 2003-04-10 11:28:54 +00:00
Zeev Suraski 65f06d8027 Revert Harald's commit 2003-04-10 04:43:42 +00:00
Ilia Alshanetsky 8a9ff734a0 Fixed a crash in the query tracer output due to buffer overflow.
Fixed a crash in notice message for unbuffered query.
2003-04-10 04:35:39 +00:00
George Schlossnagle dd090f4a77 One line fix so that it will compile 2003-04-10 03:11:27 +00:00
Harald Radi 07e775bcde removing the *syntactical sugar* again
# commiting that on behalf of the community :)
# don't blame me, i'm just acting as a proxy
2003-04-09 20:23:06 +00:00
Marcus Boerger 1cdd29eeef Fix ZTS build and warnings 2003-04-09 19:14:44 +00:00
Rasmus Lerdorf 861679d6c3 MFB: Forgotten _FORM -> _REQUEST change 2003-04-09 17:46:42 +00:00
Derick Rethans 429ae4e821 - Fixed printing the version string if it includes zend extensions in
text-mode
2003-04-09 15:19:07 +00:00
Edin Kadribasic 45d27aab68 *** empty log message *** 2003-04-09 12:03:58 +00:00
Christian Stocker 6f9d53e02d - Fixed some memleaks when using attributes
- Added attrnode->set_value()
(by Rob Richards)
2003-04-09 07:29:39 +00:00
Ilia Alshanetsky 7029ef01b3 Added missing bit from gd2.0.12 sync. 2003-04-09 01:55:48 +00:00
Marcus Boerger bb0f885d51 Hopefully last fix on error reporting 2003-04-09 00:38:19 +00:00
Sara Golemon 87c5019dd2 Switch file_put_contents 'bool use_include_path' to 'int flags' to allow other options such as appending 2003-04-08 23:24:53 +00:00
Sara Golemon 41d4fcd0da Add context support to file_put_contents() and readfile(), convert readfile() to zend_parse_parameters usage, fix proto for file_put_contents() 2003-04-08 22:10:15 +00:00
Sara Golemon 1e853b74a3 Added context support to file() 2003-04-08 21:00:07 +00:00
Christian Stocker 7467ad8c47 domdocument->free() was MFHd to PHP_4_3 branch. 2003-04-08 19:43:56 +00:00
Christian Stocker 7a14e6358a fixes memleaks in element->get_elements_by_tagname & document->get_elements_by_tagname 2003-04-08 19:30:27 +00:00
Christian Stocker 00a18c470d NEWS entry fixes for domxml (more readable hopefully...) 2003-04-08 18:44:31 +00:00
Andrei Zmievski 591863d4b0 Switch some functions to use new zend_lookup_ns_class() methods. This
means that they will accept both simple and fully qualified class names.
2003-04-08 18:22:32 +00:00
Andrei Zmievski e5f4c783bc Rename zend_register_internal_class_in_ns() to a better, less filling,
but with the same great taste zend_register_internal_ns_class().
2003-04-08 17:40:56 +00:00
Christian Stocker b99146a5c7 make it possible to free DomHtmlDocuments as well 2003-04-08 17:22:19 +00:00
Andrei Zmievski b18542ba68 Remove php_memnstr (it's in ZE now). 2003-04-08 17:15:43 +00:00
Andrei Zmievski 3b47a64269 Add zend_lookup_ns_class() function. 2003-04-08 17:10:01 +00:00
Andrei Zmievski 2154cddd0e Move memnstr into Zend and make an alias for BC in PHP. 2003-04-08 15:04:26 +00:00
Christian Stocker 50f5fcb0fe make it compile .... 2003-04-08 14:29:15 +00:00
foobar a45b4258f0 file_set_contents -> file_put_contents 2003-04-08 14:12:52 +00:00
Christian Stocker 2c3dc13027 - Fixes a bunch of memleaks, especially with attributes (by Rob Richards and me)
- Added domdocument->free() for freeing documents during script-time
#will later merge to PHP_4_3
2003-04-08 13:19:49 +00:00
Tal Peer 487b190a41 FriBidi was moved to PECL long time ago 2003-04-08 11:35:23 +00:00
Sebastian Bergmann 11f53cd111 Fix Win32 build. 2003-04-08 07:36:58 +00:00
bf554c279f ChangeLog update 2003-04-08 00:31:01 +00:00
Ilia Alshanetsky b2e521a178 Fixed bug #23102 (integer overflow in exif_iif_add_value()). 2003-04-08 00:18:57 +00:00
Sara Golemon 8001f2922c Add context support to file_get_contents 2003-04-08 00:02:47 +00:00
foobar 2bbe8da8cd Removed entry that is in the PHP_4_3 branch.. 2003-04-07 23:20:29 +00:00
foobar ae9dc1f306 reorder 2003-04-07 23:19:22 +00:00
foobar 0abeba5895 Fixed bug #23093 (highlight_string() crashed with __FUNCTION__) 2003-04-07 22:51:28 +00:00
Sterling Hughes 5ae7fa422d add markers that make this file easy to parse for external sources 2003-04-07 21:48:17 +00:00
Sara Golemon 70155b6dcf Introduce support for context options 'method', 'header', 'content' 2003-04-07 21:02:04 +00:00
9b86ba870c ChangeLog update 2003-04-07 00:30:52 +00:00
foobar c3e90bd6ed Fixed bug #23071 (when DST in effect, date("T") crashed PHP) 2003-04-06 22:37:45 +00:00
Marcus Boerger cfbf35a5f2 Support for ZTS 2003-04-06 20:19:52 +00:00
Moriyoshi Koizumi 33fb9a6cdb Improved zmemcheck macro so it displays the size of each memory block too. 2003-04-06 18:40:19 +00:00
Moriyoshi Koizumi e184a55bf4 Improved readability of zmemcheck output 2003-04-06 18:12:16 +00:00
Moriyoshi Koizumi 80bfd184eb Added zmemcheck macro, which may help you examine the memory blocks being
handled by the memory manager.
2003-04-06 17:53:17 +00:00
foobar f0f2ab18df reorder 2003-04-06 12:04:21 +00:00
797bd1ed75 NEWS update 2003-04-06 01:30:53 +00:00
4ae5b45e83 ChangeLog update 2003-04-06 01:30:46 +00:00
Marcus Boerger 448d361290 Collate version handling and bump up version (noticed by Peter Neuman) 2003-04-05 20:43:53 +00:00
Christian Stocker 5dc852e734 @- Added domxml_doc_create_document_fragment() and
@    domxml_document_fragment_open_mem(string) method (Christian)
Useful for adding and parsing (well-balanced) document fragments.
- Bumped up API version number
2003-04-05 19:56:41 +00:00
foobar b0f630470b --enable-all is not useful at all, removed from help 2003-04-05 17:47:03 +00:00
foobar 78365069f0 Better ifdef it out here too 2003-04-05 17:33:55 +00:00
Sara Golemon a8711474c0 Debug watches probably don't belong in CVS. 2003-04-05 17:31:34 +00:00
Ilia Alshanetsky 61026e391c Syncronized bunbled GD library with gd 2.0.12
# One very useful feature that I still need to add support for in our
# interface to the lib is the support for png compression for imagepng().
2003-04-05 17:23:55 +00:00
Marcus Boerger f97f219fa7 Include ldd output 2003-04-05 12:16:29 +00:00
Sascha Schumann 5145d17fde dividend -> divisor 2003-04-05 11:38:13 +00:00
Sascha Schumann 4226fe67d1 dividend -> divisor
Submitted by: Jesus M. Castagnetto <jmcastagnetto@yahoo.com>
2003-04-05 11:22:15 +00:00
Brian France 031aef1e0c Added HAVE_CONFIG_H check so the phpize build method works 2003-04-05 08:14:56 +00:00
Sara Golemon d6c24de842 Add IPv6 support to stream_socket_client/server() 2003-04-05 02:42:12 +00:00
Pierre Joye b01169b63d what? maintainer is not a valid role :) 2003-04-05 01:42:55 +00:00
622340a119 ChangeLog update 2003-04-05 01:30:51 +00:00
Wez Furlong c64256e671 Warning fix 2003-04-04 21:09:25 +00:00
Sara Golemon a65564f0fa User shouldn't have to initialize this pass-by-ref parameter 2003-04-04 20:43:36 +00:00
foobar cbb98284da - Fixed bug #22944 (--with-java "make install" fails) 2003-04-04 17:42:46 +00:00
Sterling Hughes a0729141e0 both these entries are bad, and were never agreed upon.
assert() usage is a controversial concept at best.
docref() is something quite a few of us strong disagree with.  suspending
this until further discussion.
2003-04-04 17:01:09 +00:00
Sterling Hughes 335a1c1a6d forgot to commit this. 2003-04-04 16:00:33 +00:00
foobar 9fbb5b5327 Check that t1lib has T1_StrError 2003-04-04 15:56:10 +00:00
foobar 392f3c2d7c - Checks specific to some extension belong in the extension's config.m4 2003-04-04 15:42:54 +00:00
Andrei Zmievski 81482833b5 Introduce ZEND_ME() and ZEND_METHOD() macros. Use these for declaring
class methods to avoid name collisions.
2003-04-04 15:38:20 +00:00
Moriyoshi Koizumi da4cf6f9d8 Fixed memleak in socket_select 2003-04-04 14:16:59 +00:00
Moriyoshi Koizumi b78e3c5155 Added cmsghdr check. Now sockets extension can be built under cygwin. 2003-04-04 13:02:43 +00:00
Stanislav Malyshev 6ed305945d Fix namespace issues 2003-04-04 12:25:47 +00:00
Moriyoshi Koizumi d1b82409c3 Added missing sanity check, which was causing segfault. 2003-04-04 09:06:23 +00:00
Wez Furlong 0148c0cb02 Simplify and enhance readability. 2003-04-04 08:57:40 +00:00
Sascha Schumann 7f5a42da17 Backout Jani's commit to resync branches 2003-04-04 08:40:48 +00:00
Sara Golemon b2d4514580 Added stream_get_transports() 2003-04-04 05:21:03 +00:00
Sara Golemon c985b780a5 Prevent php_stream_get_record from grabbing more than maxlen characters 2003-04-04 01:34:00 +00:00
Ilia Alshanetsky 5ec34bcd82 Might as well disallow 0x0 images.
Thanks Marcus.
2003-04-04 01:33:57 +00:00
8809836586 ChangeLog update 2003-04-04 01:30:57 +00:00
Pierre Joye b0c36aeeaf - Add some releases notes
- Add myself in the maintainer list (stig)
2003-04-04 01:23:40 +00:00
Stig Bakken de5f17eb92 * whip script files where they belong 2003-04-04 00:25:32 +00:00
Ilia Alshanetsky 925bc0fd7d Fix segfault in imagecopyresized(). 2003-04-04 00:16:47 +00:00
Stig Bakken 99824847c6 * look for pearcmd.php in the right directory when run from a cvs checkout 2003-04-04 00:15:53 +00:00
Stig Bakken 3ba4fa6330 * rename pear_unices to pear.sh and make it a pure shell script 2003-04-04 00:11:00 +00:00
foobar 74868f3a45 - Better errors for T1lib.
- Sanity check into imagepsextendfont().
# Patches by John Coggeshall <john@coggeshall.org>
2003-04-04 00:09:23 +00:00
Stig Bakken 3c863894b4 * pear.in is renamed to pearcmd.php 2003-04-03 23:55:11 +00:00
Stig Bakken 19e924695d * paj's last Windows install fixes 2003-04-03 23:48:39 +00:00
Stig Bakken 297caeb372 * use PHP_PEAR_* environment variables (paj) 2003-04-03 23:21:30 +00:00
Stig Bakken 7d4142b896 * disable table borders in output to save width 2003-04-03 23:12:40 +00:00
Stig Bakken 360d1da529 * windows bugfix 2003-04-03 23:11:50 +00:00
Stig Bakken e853217651 * support both error codes and messages in the second parameter to
PEAR::isError()
2003-04-03 23:10:11 +00:00
foobar 2063094acc Use php_error_docref. 2003-04-03 23:10:08 +00:00
Stig Bakken 4d79859291 * remove track_errors ini fiddling, was a PHP bug that should be fixed now 2003-04-03 23:05:25 +00:00
Stig Bakken 165604818c * initialize pkginfo with an empty provides array 2003-04-03 23:04:52 +00:00
Rasmus Lerdorf 7461f1f45a MFB 2003-04-03 22:45:25 +00:00
Marcus Boerger f0290a7815 Check for flex version 2.5.4 2003-04-03 20:59:42 +00:00
Sascha Schumann c2e2423838 Fix segfaults in imagecreate/imagecreatetruecolor 2003-04-03 19:18:57 +00:00
Andrei Zmievski e3f1641527 Patch from Timm Friede for when EG(active_namespace) is NULL initially. 2003-04-03 19:05:25 +00:00
foobar ff22d581d9 WS & CS fix 2003-04-03 18:44:00 +00:00
Sara Golemon 465bb61357 Kludgy fix for floating point drift causing problems like range(1.0,1.5,0.1) == array(1.0,1.1,1.2,1.3,1.4); 2003-04-03 18:33:05 +00:00
Sascha Schumann 7e2fcf986e Add some checks and avoid passing invalid data to call_user_function_ex.
Fixes some heap corruption and allocation of negative amounts of memory.
2003-04-03 18:19:15 +00:00
Sascha Schumann 7e7bbb751e Prevent entering of anything but arrays/strings in register_shutdown_func
Noticed by: Jan Schneider
2003-04-03 18:09:41 +00:00
Andrei Zmievski 91eff553e3 Initialize all relevant zend_class_entry fields to avoid accidental
crashes.
2003-04-03 14:44:41 +00:00
foobar f7041314bb reorder 2003-04-03 11:04:16 +00:00
Christian Stocker f9a42398c3 new domxml_elem_set_attribute_node() should have gone into NEWS, but I forgot.. 2003-04-03 10:24:53 +00:00
Christian Stocker 630a00dda6 - Added domxml_elem_set_attribute_node() method. (Rob Richards) 2003-04-03 10:21:19 +00:00
Georg Richter 05e02eb27b fixed mysqli_prepare_result 2003-04-03 08:03:59 +00:00
Georg Richter 130860e709 fixed output 2003-04-03 08:03:12 +00:00
Derick Rethans 6412e65bf9 - CS 2003-04-03 06:21:59 +00:00
Sebastian Bergmann 76097eda64 Leftover. 2003-04-03 05:06:03 +00:00
Sterling Hughes 4fa866d667 i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
i will not commit before 12:00
2003-04-03 03:07:58 +00:00
929caf1060 NEWS update 2003-04-03 01:30:52 +00:00
61e60f4ffe ChangeLog update 2003-04-03 01:30:48 +00:00
foobar c94eeb9fad Another CS fix.
# Rasmus, at least try keep the style consistent..
2003-04-03 01:16:34 +00:00
foobar 16da825c7c CS fix 2003-04-03 01:12:47 +00:00
Moriyoshi Koizumi cb38be1bd2 Fixed segfault in xml_parser_create()
# due to too many %s in printf spec
2003-04-03 01:00:45 +00:00
Ilia Alshanetsky 6965f229a6 MFH 2003-04-03 00:55:56 +00:00
Moriyoshi Koizumi f7a8499806 Fixed memleak in output buffering facility 2003-04-03 00:50:17 +00:00
Moriyoshi Koizumi 8784a497b8 Fixed segfault in mb_ereg_match() 2003-04-03 00:15:13 +00:00
Moriyoshi Koizumi 8b539ed766 Fixed lots of crashes in mbregex.
# most of them were caused by stupid mistakes
2003-04-03 00:01:44 +00:00
Rasmus Lerdorf 1dba0c1ba7 MFB: Check for negative precision 2003-04-02 23:51:52 +00:00
Rasmus Lerdorf 066a68d7fa MFB: Fix unregister_tick_function crash 2003-04-02 23:11:31 +00:00
Georg Richter 625df86428 fixed expected output 2003-04-02 22:07:27 +00:00
Rasmus Lerdorf 716142c4ea MFB: Get rid of bogus dtors 2003-04-02 22:07:22 +00:00
Rasmus Lerdorf 1612ffad05 MFB: Fix the setlocale() segfault 2003-04-02 21:33:02 +00:00
Marcus Boerger a90ea73ef8 For now only bison 1.28, 1.35 and 1.75 are working properly 2003-04-02 21:17:16 +00:00
Andrei Zmievski 3d62a3491e - Add zend_register_internal_namespace() API function.
- Add zend_register_internal_class_in_ns() API function.
2003-04-02 20:27:44 +00:00
Derick Rethans bac12360ef - Update for new name 2003-04-02 18:39:11 +00:00
Andrei Zmievski 1885d00861 Simplify. 2003-04-02 18:15:08 +00:00
Derick Rethans 7627bf7b36 - Fix whitespace 2003-04-02 17:23:04 +00:00
Sterling Hughes bb7c2ddb23 add the ability for curl_multi_info to introspect the handles.
# Zend commit doesn't break anything, so I'm committing it.  If anyone
# has problems, just speak up. :)
2003-04-02 16:58:52 +00:00
Andrei Zmievski bdd3b6042c Implement a different way to catch documentation comments. 2003-04-02 16:51:49 +00:00
Colin Viebrock 4888473efa fixes for logo guid functions 2003-04-02 16:51:40 +00:00
Colin Viebrock a77cb3c35d oops ... committed the wrong one 2003-04-02 16:28:38 +00:00
Andrei Zmievski e6255b06b1 Revert portions of the doc comment patch. There should be no parser
errors now.
2003-04-02 16:13:12 +00:00
Colin Viebrock 6aa1481f83 fix logo (outline around letters) 2003-04-02 15:36:34 +00:00
Stanislav Malyshev 800de8acb0 allow class_exists() to work with namespaces too.
add CLASS_IS_NAMESPACE macro
2003-04-02 15:28:31 +00:00
Stanislav Malyshev e12415c945 fix typo 2003-04-02 15:03:24 +00:00
Edin Kadribasic f773cd8fea Fixed bug #23008 2003-04-02 12:36:03 +00:00
Stanislav Malyshev 8a03806a80 fix parameterless get_declared_classes call 2003-04-02 10:36:37 +00:00
Christian Stocker 19771e0433 Patch for Bug #22774 by Rob Richards 2003-04-02 10:31:33 +00:00
Sara Golemon f22fb07ecd Avoid having output_buffering cause this test to improperly fail. 2003-04-02 01:51:34 +00:00
1a0b455d71 ChangeLog update 2003-04-02 01:30:47 +00:00
Sara Golemon c249c67178 New test for userfilters rewrite 2003-04-02 00:41:09 +00:00
Ilia Alshanetsky aab9718253 Fixed possible integer overflow in str_repeat(). 2003-04-02 00:25:45 +00:00
Jay Smith dcf0c70950 Fix 'timestamp without timezone', too. 2003-04-01 23:56:16 +00:00
Marcus Boerger ccfcd0d411 Fix 'time with timezone', too 2003-04-01 23:34:11 +00:00
Jay Smith cff236c4a6 Fixed bug #23009 (pg_select with timestamp) 2003-04-01 23:26:10 +00:00
Rasmus Lerdorf 4b343a0562 MFB 2003-04-01 21:47:21 +00:00
Andrei Zmievski 1ad9bd68ff Stas's patch on zend_execute.c (1.448 -> 1.449) resulted in a bug where
the namespaced member accesses didn't work. This should hopefully
correct it.
2003-04-01 21:02:02 +00:00
Moriyoshi Koizumi 6301bd9b95 Fixed bogus test 2003-04-01 19:47:33 +00:00
Andrei Zmievski 62f9eb8006 Split ZEND_NAMESPACE into user and internal namespaces. Hope this is
okay with engine folks.
2003-04-01 19:37:04 +00:00
Sascha Schumann e2333fd1df Fix an uninitialized read, default to FAILURE 2003-04-01 19:14:47 +00:00
Rasmus Lerdorf 20ea550235 MFB 2003-04-01 19:12:32 +00:00
Moriyoshi Koizumi b302824171 Added a test case for bug #22538 2003-04-01 19:10:04 +00:00
Moriyoshi Koizumi 2954ea0a01 oops 2003-04-01 18:56:59 +00:00
Moriyoshi Koizumi 1bb22a8bd0 Reverted the last patch; the problem is elsewhere.. 2003-04-01 18:56:26 +00:00
Rasmus Lerdorf 423147c194 MFB 2003-04-01 18:50:31 +00:00
Moriyoshi Koizumi df22d1016f Fixed crash that occurs due to an abused persistent hashtable.
# thanks Sascha again.
2003-04-01 18:44:00 +00:00
foobar b9d53196c2 crap removal 2003-04-01 16:02:31 +00:00
foobar caac35954b Fixed bug #22987 (missing perror() check in configure) 2003-04-01 15:35:57 +00:00
Moshe Doron 3c982dea22 oops 2003-04-01 12:54:35 +00:00
Moshe Doron d8b5687925 revert due the last string.c revert 2003-04-01 12:53:44 +00:00
Moshe Doron 31bd24860c revert last commit for now 2003-04-01 12:46:01 +00:00
Moriyoshi Koizumi 6eaa47854e Fixed crash in mb_convert_encoding() that occurs when a void array is
passed as the third parameter
2003-04-01 11:49:30 +00:00
Thies C. Arntzen 60214a0338 *** empty log message *** 2003-04-01 11:04:38 +00:00
Sascha Schumann 1879b27fc6 fix VPATH builds 2003-04-01 10:16:12 +00:00
Sascha Schumann cc39646730 Fix segfault in register_shutdown_function 2003-04-01 10:02:29 +00:00
Stanislav Malyshev 438aaf720f improve namespace name hanfling 2003-04-01 09:43:30 +00:00
Stanislav Malyshev 334702d69a fix get_declared_classes() 2003-04-01 09:27:05 +00:00
Stanislav Malyshev 59af205988 Add __NAMESPACE__ auto-constant. 2003-04-01 09:22:41 +00:00
Stanislav Malyshev f9fae74ab6 make get_declared_classes() work with namespaces (based on Tal Peer's patch) 2003-04-01 08:26:14 +00:00
Sascha Schumann 8a9e45a27a Don't need shtool 2003-04-01 08:05:01 +00:00
Sara Golemon 48c947389e Bug #22962 2003-04-01 06:21:54 +00:00
Sebastian Bergmann b8e3e0bfe3 Sorry Sterling, but this broke the ZTS build and I'd rather not 'ZTS fix' an April's Fool joke. 2003-04-01 05:30:32 +00:00
Sterling Hughes 53d90d8b9b Add the landonize() and landonize_url() functions which provide a secure
alternative to the sha1() and sha1_file() functions.
2003-04-01 05:01:50 +00:00
b5e01272fa NEWS update 2003-04-01 01:30:50 +00:00
6a0d4df691 ChangeLog update 2003-04-01 01:30:46 +00:00
Moriyoshi Koizumi 93386a8b09 oops 2003-03-31 23:49:53 +00:00
foobar e00c10fe74 Householding.. 2003-03-31 23:26:12 +00:00
Moriyoshi Koizumi 8d2dd87d89 Fixed bug #22538 (stream filter problem) 2003-03-31 23:22:10 +00:00
foobar d38d39a46c Fixed bug #22989 (sendmail not found by configure) 2003-03-31 23:21:41 +00:00
Moriyoshi Koizumi e8f13586a7 Fixed test; in ZE2, all the properties used in any methods are populated
at compile time.
2003-03-31 22:54:18 +00:00
Ilia Alshanetsky 62909237c4 WS 2003-03-31 22:13:01 +00:00
Andrei Zmievski 5657b83691 Multi-purpose patch:
- The fields of zend_namespace were not completely initialized which
   led to a variety of problems.
 - The occurrence of class/interface/namespace definition is now
   captured.
 - Functions/classes/interfaces/namespaces can be preceded by doc
   comments which are stored for use by extensions.
2003-03-31 20:42:01 +00:00
Moriyoshi Koizumi 383808e9d3 Fixed proto to sync with the documentation 2003-03-31 20:36:46 +00:00
Moriyoshi Koizumi 4932306f94 Rearranged search order for the magic file to avoid further confusions 2003-03-31 19:48:53 +00:00
Marcus Boerger 0235d331b7 use the correct macro - noticed by Andrei 2003-03-31 19:14:18 +00:00
Moshe Doron 64bd1cdbd6 # make derik happy 2003-03-31 19:01:43 +00:00
Moshe Doron dc8daad70d fix for 22904
@ now addslashes() do it also on cybase magic mode(moshe).
2003-03-31 18:56:41 +00:00
Wez Furlong 16dae2eba0 Fix const warning 2003-03-31 17:58:29 +00:00
Moshe Doron 5c3a073c07 # unnecessary condition here. 2003-03-31 12:08:31 +00:00
foobar 1d3542a6bc cleanup 2003-03-31 08:49:19 +00:00
Stanislav Malyshev 26c51b73f1 Use strncpy instead of sprintf 2003-03-31 07:34:05 +00:00
Sascha Schumann 0481896ff7 TS issue, noticed by Sebastian Bergmann 2003-03-31 05:39:25 +00:00
Sascha Schumann cb3c506639 Ensure that the seed function has been called, even if we are used by
another module's request init function.

Noticed by: marcus.boerger@t-online.de
2003-03-31 03:24:18 +00:00
2dc5d2b713 NEWS update 2003-03-31 01:30:48 +00:00
0367454d42 ChangeLog update 2003-03-31 01:30:45 +00:00
Derick Rethans 07dd6f49ff - Typo and some whitespace 2003-03-30 22:29:22 +00:00
Derick Rethans 27496361d5 - Added optional parameter to openssl_sign() to specify the hashing
algorithm to use. (Patch by Scott <scott@planetscott.ca>)
@- Added optional parameter to openssl_sign() to specify the hashing
@  algorithm to use. (scott@planetscott.ca, Derick)
2003-03-30 22:25:23 +00:00
Ilia Alshanetsky feba44546c Fixed bug #22965 (Crash in gd lib's ImageFillToBorder()). 2003-03-30 20:48:05 +00:00
Andrei Zmievski 52372c31cd Since zend_do_begin_class_member_function_call assumes the previous
opcode is FETCH_CONSTANT, swap the calls around.
2003-03-30 18:51:04 +00:00
Sascha Schumann d26e1b751c Merge proper -I parameter for APXS builds 2003-03-30 18:36:04 +00:00
Moriyoshi Koizumi 6e3faef231 Added various gdb macros to examine zval, znode, and HashTable 2003-03-30 17:45:33 +00:00
Georg Richter e3bf2f5c9c changed constant name 2003-03-30 15:28:21 +00:00
Marcus Boerger d94c98c3f2 if TEST_PHP_EXECUTABLE=auto then use ./sapi/cli/php 2003-03-30 14:38:48 +00:00
Marcus Boerger f7150d28ff update 2003-03-30 14:30:46 +00:00
Marcus Boerger 7aa1e2cda4 more ini defaults for error message handling 2003-03-30 14:00:09 +00:00
Marcus Boerger 7a76d5f438 cleanup 2003-03-30 13:59:05 +00:00
Georg Richter 7ff2c00be8 changed macro 2003-03-30 13:51:06 +00:00
Sebastian Bergmann 8c06829b11 ZTS fix. 2003-03-30 13:40:40 +00:00
Stanislav Malyshev f008808c82 Try to report class name of the exception 2003-03-30 13:19:00 +00:00
Marcus Boerger 0ee6377b42 bugfix #22961 by cynic@php.net 2003-03-30 12:47:05 +00:00
Stanislav Malyshev bd4cdab9cf Fix namespace switch 2003-03-30 12:39:49 +00:00
Marcus Boerger 06a0e1c112 simplify and fix 2003-03-30 11:07:36 +00:00
Marcus Boerger ac3113122a done 2003-03-30 10:56:34 +00:00
Sebastian Bergmann 38491e487f --+_ 2003-03-30 09:24:40 +00:00
Shane Caraveo 5b6412dcde uncomment removal of temp file
update changes from run-tests
2003-03-30 05:00:03 +00:00
Shane Caraveo e3c002b0c3 clean up url handling with path_info
handle sending a 404 if the requested file does not exist
2003-03-30 04:17:24 +00:00
46832dbcab ChangeLog update 2003-03-30 01:30:49 +00:00
Shane Caraveo 0f3a0dfa52 _SERVER also should not be quoted by magic_quotes_GPC
also remove an empty if statement
2003-03-30 01:06:54 +00:00
Moriyoshi Koizumi 47e40e1b98 Improved var_dump() and debug_zval_dump() so they also show the
namespace of the given object.
2003-03-29 21:29:22 +00:00
Marcus Boerger b5c97d8dab fix phpinfo() & php -i 2003-03-29 21:25:03 +00:00
Marcus Boerger c21f2b7493 use sizeof() as suggested by Andrei 2003-03-29 21:23:53 +00:00
Derick Rethans fa59090287 - html errors should default to off (0) in CLI 2003-03-29 20:57:31 +00:00
Zeev Suraski 96231c3ab5 Add missing initialization 2003-03-29 19:20:35 +00:00
Moriyoshi Koizumi db2de468e1 Fixed too optimized part 2003-03-29 16:18:04 +00:00
Moriyoshi Koizumi 8e8029f23d CS & WS fixes 2003-03-29 16:13:51 +00:00
Moriyoshi Koizumi f5929a95b2 Improved bison check; now configure accepts 1.28, 1.35, and 1.75 only. 2003-03-29 15:54:19 +00:00
Zeev Suraski 20860feef1 Fix crash 2003-03-29 11:27:17 +00:00
Zeev Suraski 5097be302e Initial support for enforcing prototype of abstract/interface method implementations 2003-03-29 11:19:38 +00:00
Moriyoshi Koizumi 9e6fdcd8f6 Fixed test cases so they wouldn't be failed in case register_globals=on 2003-03-29 07:13:47 +00:00
Sterling Hughes 05dfd313fb remove unused variable 2003-03-29 05:19:27 +00:00
Sterling Hughes 3f700e58ab update php module name to php5, not php4.
apache, apache2* and cli/cgi work.
sapi module maintainers should fix up their sapis, as I don't run
any servers with php outside of apache.
2003-03-29 04:52:46 +00:00
789b0a83f0 ChangeLog update 2003-03-29 01:30:51 +00:00
Derick Rethans 56a172cc04 - Add the exponent to the float modifier 2003-03-28 21:04:45 +00:00
Marcus Boerger 18ff958ad3 fix these tests 2003-03-28 18:58:18 +00:00
Moriyoshi Koizumi 2ad3f446c3 Do the right fix.. 2003-03-28 18:24:02 +00:00
Moriyoshi Koizumi 0b6f629b68 Fixed bug #22773 2003-03-28 17:53:36 +00:00
Moriyoshi Koizumi e1eb238cf2 On 64bit platforms, pointers are 64bit long.. 2003-03-28 17:09:04 +00:00
Ilia Alshanetsky 0e73275429 CS 2003-03-28 14:31:31 +00:00
David Hill 60a7aef6e9 Changing parsedate to be reentrant using pure_parser (Dave) 2003-03-28 13:10:52 +00:00
Moriyoshi Koizumi 8bdef0dda5 Removed redundant aliases & CS fix. 2003-03-28 03:38:13 +00:00
c6e7dead32 ChangeLog update 2003-03-28 01:30:46 +00:00
Moriyoshi Koizumi 961ad8e24a Improved php_import_environment_variables: avoid emalloc()ing in most cases 2003-03-27 21:13:47 +00:00
Harald Radi f629da9384 MFB ext/com
fix #22899
invoke is called twice
2003-03-27 19:56:59 +00:00
Ilia Alshanetsky 3db5278dcc CS 2003-03-27 18:57:53 +00:00
David Hill b7bb820782 Correcting checking of flex version (dave) 2003-03-27 18:02:00 +00:00
Stanislav Malyshev 1972a656e7 fix fetch_class buglet 2003-03-27 17:57:47 +00:00
Shane Caraveo e949850881 handle invalid paths passed to us from iis 2003-03-27 17:52:33 +00:00
David Hill 86569cb154 Backing out part of TZ change 2003-03-27 14:23:48 +00:00
Edin Kadribasic 688c24bcaa MFB 2003-03-27 13:30:40 +00:00
foobar 7e0aea7efe CS fix 2003-03-27 13:16:18 +00:00
Ian Holsman 0cef2e7df8 change to a pool-based bucket instead of a transient one. 2003-03-27 05:31:49 +00:00
Ian Holsman c5fd930eea remove flush from standard unbuffered write.
people requiring a flush can turn implicit flush on.
Thanks ilia for benchmarking this!
2003-03-27 04:35:44 +00:00
953d61e173 ChangeLog update 2003-03-27 01:30:59 +00:00
Sterling Hughes 84f0dd0e44 really fix 2003-03-26 23:03:48 +00:00
Sterling Hughes c0f04cc087 fix segfault 2003-03-26 23:01:39 +00:00
Martin Jansen ad85444a87 * Silence warning 2003-03-26 22:43:42 +00:00
Stanislav Malyshev 43e87093c1 Un-nest namespaces - now namespace X { namespace Y {} } is a parse error
Also refine namespaced includes
2003-03-26 20:42:23 +00:00
Ilia Alshanetsky 018d851129 Fixed bug #22900 (declaration of namespaces with same name results in leaks). 2003-03-26 17:06:08 +00:00
David Croft e409574492 a missing piece of news 2003-03-26 17:05:16 +00:00
David Hill 1fa7504fae Changing TZ to match Unix98 standard to make Tru64 happy 2003-03-26 16:42:03 +00:00
Sebastian Bergmann 3fc852824f Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry(). 2003-03-26 07:44:11 +00:00
Sebastian Bergmann 866332a4b8 Eliminate TSRMLS_FETCH() calls in zend_objects_new() and zend_objects_get_address(). 2003-03-26 06:32:53 +00:00
Sebastian Bergmann 2dd1affcab Leftover. 2003-03-26 06:31:26 +00:00
Sebastian Bergmann a9b479612f Eliminate TSRMLS_FETCH() call in php_find_gd_font(). 2003-03-26 06:30:45 +00:00
7c86ea761d ChangeLog update 2003-03-26 02:25:54 +00:00
Andi Gutmans 85d2c35bfa - Temporarily fix problem with inheriting from an internal class. This might
- need some rework in the future (thanks to Marcus)
2003-03-25 20:36:26 +00:00
Ilia Alshanetsky 2e0651f378 Added missing initialization, which causes AP2 to crash on startup in ZTS. 2003-03-25 15:35:08 +00:00
Martin Jansen 16bf9ed5fc * Changing to DOS line breaks. 2003-03-25 14:34:02 +00:00
foobar 2f67648512 Made "--with-pear" "--disable-all"-aware. Plus some cosmetics fixes. 2003-03-25 13:43:13 +00:00
foobar 67c24604ee MFB 2003-03-25 13:35:21 +00:00
Sebastian Bergmann bb16a92ccd Leftover. 2003-03-25 13:04:27 +00:00
Edin Kadribasic 5d381f8f80 MFB and more. Fixed various win32 compilation issues. Also the sapi
is now built as php4apach2.dll since the filter is being obsoleted.
2003-03-25 11:50:18 +00:00
Edin Kadribasic 14a56343c8 MFB: Disable building of apache2filter (obsoleted by handler). 2003-03-25 10:40:39 +00:00
Edin Kadribasic d52937b8e7 MFB: php_gd.dll is no longer bult and the bundled library is always used. 2003-03-25 10:30:58 +00:00
Edin Kadribasic da22639d94 MFB 2003-03-25 10:23:22 +00:00
Sebastian Bergmann 5ca078779a Eliminate some TSRMLS_FETCH() calls. Tested with Win32 build of SAPI/CGI and SAPI/CLI on Win32. 2003-03-25 08:07:13 +00:00
Shane Caraveo b671380b6b many new enhancements to run-tests that allow for testing cgi and other
sapi modules via http.  see README.TESTING2 for more details
several sapi tests added
2003-03-25 07:45:18 +00:00
Shane Caraveo 56210b8921 use the correct flush on deactivate
add some code to make debugging iis 5 cgi easier
2003-03-25 07:43:30 +00:00
8712da0e39 ChangeLog update 2003-03-25 02:26:04 +00:00
foobar 96c02a1251 - This is not supposed to be 'pretty' name. (ref. bug #22853) 2003-03-25 01:38:14 +00:00
Ilia Alshanetsky 519721851f Fixed bug #22805 (Reading of user input could stop prematurely). 2003-03-25 01:34:32 +00:00
foobar 66842efff7 reorder 2003-03-24 23:26:32 +00:00
Edin Kadribasic 96e9337fc8 MFB 2003-03-24 21:49:46 +00:00
Moriyoshi Koizumi 570e929d49 Fixed bug #22834 (compile failure due to ugly implicit casts) 2003-03-24 21:22:23 +00:00
Moriyoshi Koizumi 03a5129429 oops... 2003-03-24 19:24:35 +00:00
Moriyoshi Koizumi 68b03bde3a Added test cases for new functionality 2003-03-24 19:21:20 +00:00
Moriyoshi Koizumi 93b250f923 Added koi8-r, cp866, and cp1251 support for htmlentities 2003-03-24 19:13:02 +00:00
James Cox 6af5b89b04 test + remove 4 2003-03-24 19:04:44 +00:00
Ilia Alshanetsky 5c159052bf Added missing header that prevents successful compilation. 2003-03-24 15:21:53 +00:00
Ilia Alshanetsky d53b487633 MFHZE2 2003-03-24 14:53:30 +00:00
foobar 34aa1fdd2a fix bug #22841 2003-03-24 12:16:03 +00:00
Stanislav Malyshev 268a14e049 Fix {include|require}_once error message - if open
fails, don't use tream, use original name.
2003-03-24 11:54:42 +00:00
foobar d963292f6f This is AUTH_TYPE in every other SAPI. 2003-03-24 11:21:15 +00:00
Uwe Schindler 0353b50f80 PHP_WIN32 included 2003-03-24 10:33:21 +00:00
foobar 0b4784d951 Fixed bug #18640 properly 2003-03-24 10:18:00 +00:00
Georg Richter e43e219e46 changed method name 2003-03-24 07:43:28 +00:00
91a9f27084 ChangeLog update 2003-03-24 01:34:32 +00:00
Alex Waugh d403ed4bc3 Fix linkage of symbols. 2003-03-23 21:58:03 +00:00
Andi Gutmans eba65486ad - Fix win32 build 2003-03-23 21:27:22 +00:00
Shane Caraveo ac7748cef1 For fastcgi env vars, don't magic quote them 2003-03-23 20:16:41 +00:00
Shane Caraveo 456b6cbeab The environment should *never* be magic quoted. 2003-03-23 19:30:31 +00:00
Wez Furlong badd5fb6fd Fix curl detection when multiple installations exist 2003-03-23 18:14:41 +00:00
Stanislav Malyshev 5f47d77b42 resore namespace on shutdown - since some functions use
EG() and CG() pointers
2003-03-23 18:13:49 +00:00
Sebastian Bergmann 2698a4bd05 ZTS fix. 2003-03-23 17:18:31 +00:00
Zeev Suraski 0aef71ff89 Another fix for implicit public, perhaps it was not such a good idea :I 2003-03-23 08:14:41 +00:00
Sebastian Bergmann 2dc388e73e Add new files to ZendTS.dsp. Sync list of files in Zend.dsp with ZendTS.dsp. ZTS fixes. 2003-03-23 06:57:16 +00:00
Sterling Hughes 91a2475485 DEFAULT_CLASSES_H not DEFAULT_INTERFACES_H 2003-03-23 04:34:00 +00:00
Sterling Hughes e6dfbc9565 add a standard Exception class. 2003-03-23 04:32:24 +00:00
Moriyoshi Koizumi 9c038be621 Added some compiler check 2003-03-23 01:44:58 +00:00
6dd4cddb7f ChangeLog update 2003-03-23 01:33:20 +00:00
Moriyoshi Koizumi 0d2bd85a61 Fixed win32 build, which fails with non-SBCS-compatible locale settings. 2003-03-22 23:31:52 +00:00
Shane Caraveo 170de9b95c export functions needed by cli 2003-03-22 23:26:00 +00:00
Shane Caraveo 0a3ca34e87 fix crash in win32 debug build 2003-03-22 21:22:40 +00:00
Shane Caraveo 26296130ad Fix PHPRC overriding other ini files. This is how PHPRC worked prior to
4.3.x, and is usefull for applications that execute PHP and want to
emulate CGI and define alternate INI files (ie. cannot use -c).
2003-03-22 18:54:35 +00:00
David Croft 0d07e69ba8 #strip rcs tags 2003-03-22 01:37:06 +00:00
870e1ad69d ChangeLog update 2003-03-22 01:31:23 +00:00
Sterling Hughes 0a4282eabf fix segfault in file_set_contents() when the file could not successfully
be opened.
2003-03-21 22:22:15 +00:00
Marcus Boerger f83c88e81d Add missing initialization 2003-03-21 18:08:59 +00:00
James Cox 485ee3914a updating for new list 2003-03-21 17:17:54 +00:00
Stig Bakken 9e21b2eee4 * abort install when an extension fails to build (patch by ja at
morrdusk dot net)
2003-03-21 07:57:27 +00:00
Sterling Hughes ecef1df39c This broke the xml extension, and pres2, commented out for now 2003-03-21 05:26:56 +00:00
00920f5207 ChangeLog update 2003-03-21 01:37:46 +00:00
Hartmut Holzgraefe c75f3e6e88 protect string from CVS keyword expansionCVS: ---------------------------------------------------------------------- 2003-03-20 20:20:37 +00:00
Marcus Boerger 49adbd1ef6 missing TSRMLS_FETCH 2003-03-20 20:03:21 +00:00
Marcus Boerger f14a65c7b9 CS 2003-03-20 19:54:22 +00:00
Stanislav Malyshev 70fff75187 Add stdlib.h too - it is needed fot strto{ld} 2003-03-20 17:41:40 +00:00
Christian Stocker 0cc4b081a3 fix for bug #22786 ("Crash when trying to call DomAttribute's set_namespace method") 2003-03-20 09:48:19 +00:00
87a06aa8ea ChangeLog update 2003-03-20 01:33:31 +00:00
foobar 6638543a72 WS & CS fixes.. 2003-03-20 01:27:40 +00:00
Wez Furlong e451d88399 Fix for persistent stream shutdown under debug builds 2003-03-20 01:23:04 +00:00
foobar c8791084db CS fix 2003-03-20 01:17:05 +00:00
foobar 0af32bc1ac WS & CS fixes 2003-03-20 01:12:57 +00:00
foobar fb2c346be1 WS & CS fixes 2003-03-20 00:37:12 +00:00
foobar eccecff5f9 WS & CS fixes 2003-03-20 00:22:57 +00:00
foobar 6a6e0151c5 Better config.m4.. 2003-03-19 23:52:45 +00:00
foobar 9ff622f268 And this too.. 2003-03-19 23:10:27 +00:00
foobar efe365abdc Andrei forgot this.. 2003-03-19 23:08:58 +00:00
Andrei Zmievski 39d5a63803 - Keep track of starting/ending line numbers for user functions.
- Store last parsed doc comment in a compiler global for future use.
2003-03-19 21:17:47 +00:00
Andrei Zmievski 3a297fac22 Lowercase the function name when used as key in the function name. The
original case is still preserved in zend_function structure.
2003-03-19 21:07:49 +00:00
Marcus Boerger 58df04af27 - reenable $argc/$argv
- add a comment where hardcoded defaults would go
# i believe we have none for now though
2003-03-19 20:36:04 +00:00
David Hill d15a641222 Correcting example to use proper variable - NO_INTERACTION 2003-03-19 18:04:17 +00:00
foobar b26db9cd5c Using of quotes around paths is a very good idea.. 2003-03-19 16:53:02 +00:00
foobar 88fe9c2d3c Fixed bug #22775 (Fatal errors exit with status 0 with CGI/CLI) 2003-03-19 08:22:12 +00:00
801966d951 ChangeLog update 2003-03-19 01:33:04 +00:00
Wez Furlong 7379f47518 Sanity check for when a stream is requested to be persistent but the wrapper
does not respect the flag.
2003-03-19 00:17:15 +00:00
Wez Furlong 0fd995f9fc Add the mode string that was used to open the stream to the meta data,
as requested by Philip Olson.
2003-03-18 23:45:27 +00:00
Wez Furlong 86fb577d59 Implement persistent plain file streams.
Usage:

php_stream *stream = php_stream_fopen("/path/to/file", "r+b", NULL,
	STREAM_OPEN_PERSISTENT | ENFORCE_SAFE_MODE | REPORT_ERRORS);

the filename and mode are combined to form the hash key for the persistent
list; they must be identical for this same stream to be returned again in the
next request.

Calling php_stream_close() on a persistent stream *will* close it, as is
usual with all persistent resources in PHP/ZE.

This is deliberately *not* exposed to user-space PHP at this time.
2003-03-18 23:37:54 +00:00
Wez Furlong 6a87651006 Q} 2003-03-18 22:26:02 +00:00
Marcus Boerger 4529fb344c -turn html_errors on by default again
-disbale clickable error messages by docref_root default to ''
2003-03-18 22:21:54 +00:00
Jay Smith c0d1508ec8 get_browser() needs to use zend_is_auto_global() on _SERVER. 2003-03-18 21:49:01 +00:00
Marcus Boerger 3e621fac94 make phpinfo() depend on executed sapi 2003-03-18 20:52:52 +00:00
Ilia Alshanetsky d29d55e772 Cleanup. 2003-03-18 18:29:10 +00:00
foobar d0ac3d0646 Fixed bug #22765 2003-03-18 17:30:32 +00:00
Wez Furlong ce01fd9526 Avoid using FILE* where possible.
Tidy up handling of potential error situations for the php:// wrapper.
2003-03-18 16:40:29 +00:00
Zeev Suraski 40326f6adf - Fix situation where a derived class declares a public (or implicit public)
with the same name as a private in the parent
- Optimize 'static binding' of private properties a bit
2003-03-18 16:30:23 +00:00
Marcus Boerger b21fdb762a use new callback to overwrite ini settings
# ok now lets split html_errors and phpinfo() formatting
2003-03-18 15:56:12 +00:00
Marcus Boerger 63739c7db8 give sapi modules the possibility to overwrite default ini settings 2003-03-18 15:53:33 +00:00
Wez Furlong 267db80b21 avoid unsigned issues. 2003-03-18 15:15:10 +00:00
Wez Furlong 862586e376 CS fixes 2003-03-18 14:35:15 +00:00
Wez Furlong 7c2ccb5f65 Fix for #22721 (poor file() performance on systems without mmap) 2003-03-18 14:35:01 +00:00
Stig Bakken 0e6fca4f22 * email address change 2003-03-18 12:06:09 +00:00
foobar 980bac69f9 Fixed bug #22751 (Compile error in gdcache when external libgd is used) 2003-03-18 02:13:49 +00:00
14e9434586 ChangeLog update 2003-03-18 01:35:05 +00:00
foobar 6121c846b3 whitespace.. 2003-03-18 01:24:18 +00:00
Ilia Alshanetsky e15cc99415 Win32 build fix. 2003-03-17 22:25:55 +00:00
Ian Holsman 2697be632c PR#22672 - User not logged under Apache2
patch provided by Andrew Bradford.
2003-03-17 21:28:41 +00:00
Ilia Alshanetsky 27a7eaf4e7 Fixed bug #22538 (failed stat on stdio/stdin/stderr streams). 2003-03-17 18:32:15 +00:00
foobar 6443ce1fc5 Fix the bad logic.. 2003-03-17 15:56:17 +00:00
foobar b4b661ae0a WS & CS fixes 2003-03-17 15:06:11 +00:00
foobar d8a62b8e4d WS & CS fixes 2003-03-17 14:45:07 +00:00
Stanislav Malyshev eb5fe6944d MFZE1 2003-03-17 14:41:04 +00:00
Hartmut Holzgraefe 3343327ea1 fixing my proto fix :| 2003-03-17 13:50:27 +00:00
Wez Furlong cfd0466389 Fix for Bug #21310, based on a patch by jflemer@php.net. 2003-03-17 13:40:45 +00:00
Hartmut Holzgraefe dbe4f2238c proto fixes 2003-03-17 13:11:19 +00:00
Hartmut Holzgraefe fa692f6744 proto fix 2003-03-17 13:08:59 +00:00
Hartmut Holzgraefe 212abb4996 proto fix 2003-03-17 13:00:13 +00:00
Hartmut Holzgraefe 6f24340f22 more proto fixes 2003-03-17 12:48:38 +00:00
foobar 9f3a46a12e Be sure we get the correct version.. 2003-03-17 12:43:29 +00:00
foobar 908a942a38 added the version info to be send as-is to buildtest-process 2003-03-17 12:24:09 +00:00
foobar 3a26859829 Added missing zend_mm.c file and renamed zend_object_API.c -> zend_objects_API.c 2003-03-17 11:23:42 +00:00
24b17aa8a0 ChangeLog update 2003-03-17 01:32:05 +00:00
Sascha Schumann d0debaf45c Merge macro changes 2003-03-16 23:02:19 +00:00
Marcus Boerger aba27fc6ca - disable html_errors per default as suggested by php.ini-<xxx>
- new error format that does not point to any documentation (if either
  not html_errors or no docref_root given e.g.: production boxes and default)
- documentation update in php.ini-<xxx>
# hope everyone is happy now
# and why on earth was enabling html_errors default?
2003-03-16 20:47:56 +00:00
foobar fcb43b70ef WS & CS fixes + some TSRM_FETCH() removals + pval -> zval 2003-03-16 05:00:50 +00:00
0f21d60d7e ChangeLog update 2003-03-16 01:32:48 +00:00
foobar d4a72592a4 - Fixed bug #22709 (crash within interbase when database unavailable) 2003-03-16 00:37:01 +00:00
Moriyoshi Koizumi ba8e57b2cb Added test for bug22592 2003-03-15 23:37:17 +00:00
Hartmut Holzgraefe e6633a9611 lots of proto stuff 2003-03-15 22:51:49 +00:00
Hartmut Holzgraefe 4cb4676ac9 docbook fixes 2003-03-15 22:38:01 +00:00
Hartmut Holzgraefe 9b178b52ee thinko fix to kill warnings 2003-03-15 22:37:03 +00:00
Hartmut Holzgraefe bd43d88905 docbook typo fix 2003-03-15 22:35:34 +00:00
Hartmut Holzgraefe e2b1372088 make sure the function name in the proto matches the function 2003-03-15 22:34:32 +00:00
Marcus Boerger f60e8941e7 fix Bug #21751 - the parameter was wrong when this code was introduced 2003-03-15 16:39:35 +00:00
Wez Furlong 16e705a547 64bit fixes 2003-03-15 13:29:56 +00:00
Wez Furlong b66957c56a fix proto 2003-03-15 13:29:35 +00:00
9ca5735494 NEWS update 2003-03-15 01:32:37 +00:00
db20d1e2b0 ChangeLog update 2003-03-15 01:32:07 +00:00
foobar 5d39cf4295 And this never existed in any release either.. 2003-03-15 00:45:22 +00:00
foobar 3b07e2f8b6 "allow_webdav_methods" does not exist / is not needed anymore 2003-03-15 00:21:45 +00:00
Jay Smith 830b14297f @- Fixed bug #22386 (Using browscap causes segfault). This fix
@  also adds an optional bool argument to get_browser() that
@  makes the return value an array instead of an object. (jay)
2003-03-14 17:54:38 +00:00
foobar 4a244a3889 No c++ comments 2003-03-14 17:49:44 +00:00
foobar 5be5cc33c6 no c++ comments 2003-03-14 17:40:42 +00:00
foobar b07507f086 No c++ comments! 2003-03-14 17:37:44 +00:00
Moriyoshi Koizumi 3f04205371 Fixed typo 2003-03-14 17:12:24 +00:00
Ilia Alshanetsky 199ae10f01 Whitespace fixes. 2003-03-14 16:56:38 +00:00
Daniela Mariaschi 1afc5a59fe reverting to version 1.9 2003-03-14 08:27:29 +00:00
Alan Knowles 84aa3953e6 remove makefile and libs.mk from package file 2003-03-14 02:13:42 +00:00
Alan Knowles b45ce67f95 removing files not needed so diff -u works nicely 2003-03-14 02:11:54 +00:00
Alan Knowles 65a71f4331 fix package file - note the package is called ext_soap - I suspect it will conflict with SOAP if downloaded - anyone want to comment on ideas for this... 2003-03-14 02:10:23 +00:00
Alan Knowles 0e2f675c87 fixes to enable module building 2003-03-14 02:08:30 +00:00
Alan Knowles bd69062b14 add support for shared library building - shout stop alan - if any objections.. 2003-03-14 01:58:21 +00:00
026bd025ec ChangeLog update 2003-03-14 01:32:56 +00:00
Daniela Mariaschi ceb608fcb2 Test for libgds needs libcrypt with Firebird to succeed 2003-03-13 23:15:43 +00:00
foobar 81f04b3fc8 this is in the PHP_4_3 branch... 2003-03-13 22:52:25 +00:00
Daniela Mariaschi 08267e4a55 Numeric/decimal datatype overflow on Win32.
Fixed bug #20641
2003-03-13 21:58:29 +00:00
Derick Rethans bce69f1218 - Whitespace 2003-03-13 21:09:27 +00:00
Martin Jansen 1188dbe64f * Fixing bug #21845. 2003-03-13 21:07:40 +00:00
Andrei Zmievski dedfa808bb Fix warning in va_start(). 2003-03-13 20:41:58 +00:00
Sara Golemon a374c4350b BFN 2003-03-13 20:18:15 +00:00
Jay Smith 39ec83bb5f Solaris knows nothing of "Europe/Amsterdam". Use "US/Eastern" instead. 2003-03-13 18:51:39 +00:00
Ilia Alshanetsky cf072c4a75 Fixed bug #22681 (Crash when reading from invalid file pointer). 2003-03-13 18:15:31 +00:00
foobar ce4bf275c9 Prevent using both --with-sybase and --with-sybase-ct in same build 2003-03-13 17:27:28 +00:00
foobar c7f39742a7 hrm 2003-03-13 17:02:45 +00:00
Sara Golemon cbf8c3e346 Bug #21534. Silly typo. 2003-03-13 16:10:21 +00:00
Hartmut Holzgraefe de87d3fda3 advertising ext_skel_ng ;) 2003-03-13 09:02:13 +00:00
Ilia Alshanetsky d6a02110b0 Cleanup. 2003-03-13 02:22:31 +00:00
40c307fe6a NEWS update 2003-03-13 01:33:35 +00:00
984ab6d412 ChangeLog update 2003-03-13 01:33:14 +00:00
Andrei Zmievski 0c571538a8 Initialize the namespace when registering functions.
# Correct me if I'm wrong..
2003-03-12 21:43:42 +00:00
Stefan Esser 10fc5dd573 reverting half the patch (it is not that simple) 2003-03-12 12:00:22 +00:00
Zeev Suraski fa7dc03edb Fix a crash bug in the implicit public declaration 2003-03-12 09:38:19 +00:00
Sterling Hughes 39b8f06f9b @ Add the file_set_contents() function, as a complement to the file_get_contents()
@ function. (Sterling)
2003-03-12 06:47:34 +00:00
Ilia Alshanetsky 68e36864c9 Fixed spprintf() usage.
Fixed compiler warnings.
2003-03-12 04:46:03 +00:00
foobar bf90cdeff9 Added the type constants for imagegd2() 2003-03-12 04:29:51 +00:00
foobar 2fee56b2a2 Fix bug #22646 2003-03-12 04:15:28 +00:00
foobar 5e26cd4293 prevent warning 2003-03-12 02:26:46 +00:00
b838618029 ChangeLog update 2003-03-12 01:33:33 +00:00
foobar ea9a3eb82d This was merged into PHP_4_3 branch.. 2003-03-12 01:09:27 +00:00
Ilia Alshanetsky 88281627bc Style fixes. 2003-03-12 00:51:03 +00:00
Marcus Boerger a1cafdf0c4 Added some interface tests 2003-03-12 00:09:59 +00:00
Zeev Suraski d405373270 Fix handling of ::func() 2003-03-11 23:19:45 +00:00
foobar 6e36f3cbae This went to 4_3 branch 2003-03-11 03:13:05 +00:00
foobar 9e501d4f37 - Fixed bug #20715 (odbc could not be compiled as shared extension) 2003-03-11 03:11:36 +00:00
Sascha Schumann 65b9a40640 fix sizeof(size_t) > sizeof(uint) issue 2003-03-11 02:28:46 +00:00
foobar 98b19bbe7e Fixed bug #22616 (Wrong order of -lssl and -lcrypto with IMAP) 2003-03-11 02:11:57 +00:00
Sascha Schumann dfb0d70b5b reverting jani's non-sense commits 2003-03-11 01:47:06 +00:00
2408c1df5e NEWS update 2003-03-11 01:34:01 +00:00
0f949bbfa1 ChangeLog update 2003-03-11 01:33:44 +00:00
Georg Richter efde6643d4 added new profiler-files 2003-03-11 01:22:20 +00:00
Georg Richter 7cf921a56f profiler:
moved profiler stuff from php_mysql.h to separate include file
added port communication
added xml support for file and port output
2003-03-11 01:19:21 +00:00
foobar febb535db0 touch 2003-03-10 22:59:46 +00:00
foobar 7a1ecedf85 64bit issue fixed 2003-03-10 22:59:34 +00:00
Jay Smith 5f25e6b1dd modified test to reflect change in var_dump(). 2003-03-10 21:27:48 +00:00
Moriyoshi Koizumi a41e0c1382 Modified the test to reflect the recent change on var_dump() 2003-03-10 20:46:39 +00:00
David Hill a7b84ac7cb Correcting int/long mismatched - 64bit issues. 2003-03-10 20:30:33 +00:00
Ilia Alshanetsky 822b53b95a Fixed bug #22613 (imagettfbox() does not add the kerning distance to the
running position).
Fixed few possible memory leaks.
2003-03-10 19:07:22 +00:00
David Hill 4f8ae7b111 fixing missed int to long with zend_parse_parameters 2003-03-10 15:52:10 +00:00
Andrei Zmievski b1546a1775 Print the object handle (it's useful). 2003-03-10 15:13:32 +00:00
David Hill 1edf7f55e5 64 bit corrections to parameters to OnUpdateInt Bug #20994 (Dave) 2003-03-10 14:50:16 +00:00
foobar 70f97c1713 - Always use the shtool mkdir. 2003-03-10 14:32:47 +00:00
foobar efe1b0154d this is in the 4_3 branch 2003-03-10 14:10:30 +00:00
Zeev Suraski 3e7cf8e15e Clean redundant code 2003-03-10 07:20:43 +00:00
foobar f10d00b374 - Changed --with-apxs2 for apache2handler.
# Can we nuke that apache2filter now from php5 ?
2003-03-10 03:14:37 +00:00
foobar f8fc50ed6d Fixed some leaks. Patch by Moriyoshi 2003-03-10 03:04:02 +00:00
foobar a7d8bc6894 cs & ws fixes 2003-03-10 02:14:09 +00:00
ebf4931bcf ChangeLog update 2003-03-10 01:32:59 +00:00
Shane Caraveo 9539dddc49 fix isinf for win32 2003-03-10 01:12:22 +00:00
Sara Golemon c4a491e12c Adjustment to user filters reimplementation. Make a bucket an object containing a resource(the real bucket) and a data element for direct operations. Simplifies
user interface and reduces number of function calls/reallocs needed.
2003-03-09 23:12:31 +00:00
Zeev Suraski 12cbee7b05 Optimize 2003-03-09 22:23:27 +00:00
Zeev Suraski 0eae231254 Fix handling of ::foo 2003-03-09 22:17:15 +00:00
Zeev Suraski 3012bdc332 Cleanup 2003-03-09 22:02:37 +00:00
Andi Gutmans b3ebb11549 - Nuke junk 2003-03-09 21:12:12 +00:00
Zeev Suraski 8bc88d8df4 Fix parsing rules of namespaces/classes 2003-03-09 20:53:57 +00:00
Zeev Suraski a89abf9162 Add ability to use ::interface_name in implements 2003-03-09 17:07:15 +00:00
Zeev Suraski 8e1917bdbe Fix :: handling 2003-03-09 17:06:52 +00:00
Uwe Schindler 96cc9aa4c4 Changes for iPlanet Webserver 6 2003-03-09 12:09:06 +00:00
002b3efe63 ChangeLog update 2003-03-09 01:33:11 +00:00
Derick Rethans 0d603b2d9a - Fix proto 2003-03-09 00:05:48 +00:00
Georg Richter 15f648c8f9 various changes for profiler 2003-03-08 23:33:12 +00:00
Derick Rethans 1b9ee1a8ea - Fixed a bug in GD's truecolor TTF handling 2003-03-08 18:27:12 +00:00
Marcus Boerger d0fbdef419 fix warnings - one left 2003-03-08 16:53:54 +00:00
Marcus Boerger 9a6db15d21 summary for selective tests if more than one
# maybe i'll change to present summary only when at least one dir selected
2003-03-08 16:28:35 +00:00
Stefan Esser 4535ff1756 fix possible XSS in error messages 2003-03-08 15:20:12 +00:00
Stefan Esser 1f54605723 wrong place. 2003-03-08 14:51:16 +00:00
Stefan Esser 76c427fd05 fixing memory leak 2003-03-08 14:37:01 +00:00
8f54b23faf NEWS update 2003-03-08 01:31:50 +00:00
fcd1cbfbf7 ChangeLog update 2003-03-08 01:31:41 +00:00
foobar aa95498acd Fixed bug #22473 (ISAPI Secure Server Variables not available) 2003-03-07 18:56:15 +00:00
foobar 75c9eb4d78 These will be already in 4.3.x 2003-03-07 18:38:04 +00:00
Sebastian Bergmann 81a346e4fe Dedicated to Greg Beaver <greg@chiaraquartet.net>. 2003-03-07 16:45:41 +00:00
Jay Smith 61de56b7f5 Added tests for interfaces and class type hinting. 2003-03-07 15:56:31 +00:00
Ben Mansell 6d8283fa57 Fix bug whereby a webserver closing stdout from the CGI/FastCGI binary
would cause PHP to get caught in an infinite loop of failing write()
syscalls.
2003-03-07 14:48:28 +00:00
Ilia Alshanetsky 20c2c39f3c Fixed bug #22585 (Do not terminate the script on minor errors). 2003-03-07 14:03:53 +00:00
Ilia Alshanetsky 8c3e16bf09 OnUpdateInt -> OnUpdateLong. 2003-03-07 13:52:06 +00:00
Ilia Alshanetsky 97418f59bd CS Fixes.
Fixed a bug with 404 handling.
Added more detailed Apache info for phpinfo().
Added the support for last_modified.
2003-03-07 13:45:33 +00:00
Sebastian Bergmann ba18cd1a45 Document 'final'. 2003-03-07 11:51:19 +00:00
Sebastian Bergmann 55826fbeb5 Fix class type hints example. 2003-03-07 06:29:07 +00:00
foobar 3cfc8a1ecc Create php_version.h in the correct directory 2003-03-07 06:18:17 +00:00
Sebastian Bergmann 63dfff02b1 Update 'abstract' section. 2003-03-07 05:19:19 +00:00
foobar 3c9155e0cb Renamed OnUpdateInt -> OnUpdateLong to prevent further misunderstandings.
# Intentionally left out any 'alias' for it, this way 3rd party extension
# maintainers will really NOTICE the change.
2003-03-07 05:15:28 +00:00
foobar e32eaf29de Fixed typo caught by Dave. 2003-03-07 04:32:36 +00:00
c9181cc9a9 NEWS update 2003-03-07 01:32:47 +00:00
f303054b9e ChangeLog update 2003-03-07 01:32:35 +00:00
foobar 1b38773eef WS & CS fixes 2003-03-07 01:03:04 +00:00
foobar 2da432cc19 WS & CS fixes 2003-03-07 00:52:04 +00:00
foobar 8d6c858aba WS & CS fixes 2003-03-07 00:40:54 +00:00
foobar 66052056c7 Better fix for the memleaks (bug 19943) by Moriyoshi 2003-03-07 00:28:25 +00:00
Marcus Boerger 4a152cad0c abstract classes must now be declared abstract 2003-03-07 00:01:08 +00:00
Zeev Suraski 805f98065d Fix warnings 2003-03-06 23:45:50 +00:00
Zeev Suraski ce4690685d Fix error message 2003-03-06 23:09:57 +00:00
David Hill 5c90216d2c 64-bit correction to variables passed to zend_parse_parameters
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-06 23:07:28 +00:00
Zeev Suraski 0338111950 Require abstract classes to be explicitly declared 'abstract', in order to
avoid making developers traverse the entire class/interface hierarchy
before they can figure out whether a class is instantiable
(ok, so it makes sense :)
2003-03-06 22:53:23 +00:00
Stefan Esser af4aa97d1e Fixing functionicalls with variable number of parameters... 2003-03-06 20:31:20 +00:00
Moriyoshi Koizumi 2d40fe2222 Further testing on this feature should have been done... 2003-03-06 19:37:19 +00:00
Moriyoshi Koizumi c775318c44 Fixed typo 2003-03-06 16:55:00 +00:00
Sebastian Bergmann 44b6894361 -german+english+. 2003-03-06 16:39:45 +00:00
Sebastian Bergmann 8f8a534c7a D some TBDs 2003-03-06 16:30:21 +00:00
foobar 888a084ccb added test for the memleak part from bug #19943 2003-03-06 16:29:05 +00:00
foobar 4a8abb2f3d Fixed bug #19943 (the memleaks) 2003-03-06 16:27:05 +00:00
Moriyoshi Koizumi 1f85425c4d Fixed typo 2003-03-06 16:20:08 +00:00
Ilia Alshanetsky 2b13eb4f53 More cleanup of the zend_strip() function.
No longer strip __LINE__, since while it may become useless it could break
code where __LINE__ is passed as a function parameter.
2003-03-06 15:38:28 +00:00
Ilia Alshanetsky 2cb46d4479 Fixed in zend_strip() that corrupted heredoc.
Optimized the writing routine by moving from putchar() to fwrite().
Changed hardcoded opcode # to it's defined name.
2003-03-06 14:47:13 +00:00
Zeev Suraski 44347cf64b Change opcode name 2003-03-06 14:42:36 +00:00
Zeev Suraski ff76511a08 Add class type hints 2003-03-06 14:31:17 +00:00
3944d7d897 ChangeLog update 2003-03-06 01:33:18 +00:00
Sascha Schumann 90e5afe8a2 Allow shared modules to be built using $(CXX) 2003-03-05 22:00:45 +00:00
Zeev Suraski 812d91d08c Fix auto globals 2003-03-05 21:36:30 +00:00
Moriyoshi Koizumi 9bdc86973b Fixed a small leak in the convert filter code 2003-03-05 17:51:33 +00:00
Ilia Alshanetsky 4e6997ddf9 Fixed bug #22550 (overflow protection for upload_max_filesize ini setting). 2003-03-05 17:00:09 +00:00
Ilia Alshanetsky 4f4f0a9771 Added test case for bug #22544. 2003-03-05 16:19:08 +00:00
foobar 45964cb629 - Fix for some unixware compile problem. (comment by Sascha :) 2003-03-05 16:12:23 +00:00
Ilia Alshanetsky d31fa3da61 Better identification of bundled GD library. 2003-03-05 16:08:01 +00:00
Ilia Alshanetsky fd088722a7 Fixed bug #22544 (missing fix from official gd). 2003-03-05 15:57:28 +00:00
Ben Mansell 64bb5135d9 C++ -> C comments 2003-03-05 15:01:13 +00:00
Wez Furlong b68739f7f9 - Remove legacy non-streams code (as discussed with Brad).
- Make get_http_header_value() work using case-insensitive compares
  for the header names, as per relevant RFC's.
- General performance boost for get_http_headers().
- Fix a crash bug when a malformed URL is passed to the soap client.
- Implement https:// support in the the soap client. (does not verify
  the remote server certificate; it provides an encrypted link only).
- Provide a hook for libxml to parse files using any registered PHP
  wrapper, including https://, ftps:// and any user-space streams.
2003-03-05 14:23:56 +00:00
Zeev Suraski 6ad2420d2d Implement $obj::static_func() 2003-03-05 13:25:33 +00:00
Corne' Cornelius 5ab857c8b9 - Reverted emalloc(),efree() changed for persistant connection resources 2003-03-05 13:17:00 +00:00
Ben Mansell 7af6973d43 Update build instructions for Zeus web server 2003-03-05 11:50:18 +00:00
Zeev Suraski 26dd8492ed Add support for interfaces 2003-03-05 11:14:44 +00:00
Corne' Cornelius e25dabc747 - Changed malloc() and free() to emalloc() and efree() 2003-03-05 09:38:00 +00:00
Moriyoshi Koizumi d2eb897739 Added missing phpinfo entry (Russian support) 2003-03-05 06:16:22 +00:00
41a7bc4271 ChangeLog update 2003-03-05 01:33:51 +00:00
Marcus Boerger f5a7a1c094 Use stream locking support
# needs more testing
2003-03-04 23:45:48 +00:00
Wez Furlong 8e5aaa0e7c Miscellaneous compilation warning, coding standards, build related,
memory leak and segfault related fixes.

The simple soap client/server code examples now run without leaking or
segfaulting.
2003-03-04 23:01:24 +00:00
Ilia Alshanetsky 6efd9ea5c4 Added notes about locking functions. 2003-03-04 21:46:33 +00:00
Marcus Boerger cf7101d354 Support all possible configurations and simplify includes 2003-03-04 20:31:42 +00:00
Marcus Boerger 238abf8c7f fix dba by fixing key_len retrieval 2003-03-04 19:56:35 +00:00
Moriyoshi Koizumi a06b5bde22 Added a test case for bug #22510 2003-03-04 19:52:22 +00:00
Marcus Boerger 3981be30a8 do not use $GLOBAL[] 2003-03-04 19:32:06 +00:00
foobar 5546f1e259 typofix 2003-03-04 18:59:16 +00:00
Marcus Boerger 66c8b5d71c If this doesn't show "3.4" there is another error 2003-03-04 18:35:03 +00:00
Moriyoshi Koizumi aa40a02de8 64bit long fix 2003-03-04 17:18:40 +00:00
Moriyoshi Koizumi 3940c673e3 64bit long fix: patch by Dave Hill 2003-03-04 17:10:29 +00:00
Ilia Alshanetsky c5053e0f62 Fixed bug #22437. 2003-03-04 16:34:52 +00:00
Ilia Alshanetsky 53530765ff Added support for http redirects to ftp.
Fixed bug #22508 (Added protection against circular HTML redirects).
2003-03-04 16:04:05 +00:00
Ilia Alshanetsky b162e18a29 Skip test if running under safe-mode. 2003-03-04 14:37:38 +00:00
foobar 5c6fa351d5 These are in the branch. 2003-03-04 14:17:38 +00:00
foobar 61668d86b2 ws & CS 2003-03-04 14:12:39 +00:00
Zeev Suraski d5ada68654 Remove legacy code 2003-03-04 13:52:03 +00:00
foobar a18bf5c277 remove this from here as it belongs elsewhere 2003-03-04 13:50:24 +00:00
Christian Stocker 6804378398 MFB (make it really W3C compatible (unlink node, when in tree...)) 2003-03-04 13:38:38 +00:00
Zeev Suraski e0c3e2cf93 Remove redundant code 2003-03-04 13:36:16 +00:00
4c0c7837a7 ChangeLog update 2003-03-04 01:33:08 +00:00
Edin Kadribasic d1feae01d9 Credits update. 2003-03-04 00:10:11 +00:00
Georg Richter 338ec7b859 fixed bug in macro-definition 2003-03-03 22:50:56 +00:00
Georg Richter 359d21aa54 disabled output of errormessages 2003-03-03 22:50:34 +00:00
Georg Richter 281960ee78 added profiler support 2003-03-03 22:36:47 +00:00
Edin Kadribasic 6c20fa725e MFB: Enabled mcrypt_generic_deinit() on windows (#22520) 2003-03-03 21:25:25 +00:00
Ilia Alshanetsky fb4dab36f4 Compiler warning fix. 2003-03-03 19:57:18 +00:00
Ilia Alshanetsky 4705fef539 More compiler warnings fixed. 2003-03-03 19:46:16 +00:00
Ilia Alshanetsky 94302c72b3 Compiler warning fix. 2003-03-03 19:41:36 +00:00
Ilia Alshanetsky 66c05f7035 Fixed compiler warnings. 2003-03-03 19:37:09 +00:00
Jay Smith 243dd060d1 Added some tests for ZE2 features and their functionality. 2003-03-03 16:44:38 +00:00
Marcus Boerger cc52373c10 Adding tests for ctor/dtor handling 2003-03-03 11:18:59 +00:00
Marcus Boerger 447da280dd Adding tests for abstract static methods 2003-03-03 11:13:56 +00:00
Marcus Boerger 326b793faf Adding tests for final methods 2003-03-03 11:10:30 +00:00
Harald Radi 3f8c08b5e1 add missing strtolower 2003-03-03 01:56:14 +00:00
e2a27a23a5 ChangeLog update 2003-03-03 01:32:58 +00:00
Harald Radi 87f6d0d86d adding placeholder for the new disable_classes directive 2003-03-03 01:30:27 +00:00
Harald Radi 3e52882d3b adding disable_classes ini directive based on the
newly introduced zend_disable_class function
2003-03-03 01:27:22 +00:00
Harald Radi a700180f5d commiting zend_disable_class patch for George:
disabled classes will be replaced by dummy classes
that print a warning upon instanciation
2003-03-03 01:22:43 +00:00
Marcus Boerger acef51e677 (re)check in non ZendOptimizer version of test 2003-03-03 00:58:15 +00:00
Marcus Boerger 3ac6bb5017 remove entry done already 2003-03-03 00:15:50 +00:00
foobar 826d9ace59 typofix 2003-03-02 18:52:29 +00:00
foobar 6290b1c2cb Special case for MacosX.. 2003-03-02 18:50:45 +00:00
foobar 96f6d1fdbd Fixed bug #22485 (hardcoded shared lib extensions) 2003-03-02 18:47:35 +00:00
Zeev Suraski 1f63fba1b7 Fix old variable names 2003-03-02 15:41:12 +00:00
Zeev Suraski 36eae0b771 Fix destructors some more 2003-03-02 15:24:04 +00:00
Marcus Boerger cbb3e6fd2f fix problem in current HEAD
# strange why on earth does $GLOBALS['cwd'] produce a warning here?
# however we already have a global declarations so we use it for cwd, too.
2003-03-02 15:12:12 +00:00
Wez Furlong 71b1c7bdb0 typo fix 2003-03-02 15:11:42 +00:00
Uwe Schindler 99bec84027 *** empty log message *** 2003-03-02 13:45:23 +00:00
Zeev Suraski 622da33231 - Optimize $_REQUEST
- Fix phpinfo()
2003-03-02 13:35:01 +00:00
Zeev Suraski 98b990e336 Improve infrastructure 2003-03-02 13:33:31 +00:00
Wez Furlong ec86811298 Build-performance tweaks 2003-03-02 13:14:49 +00:00
Wez Furlong 6fed2e95b2 Fix build for activescript sapi 2003-03-02 13:09:48 +00:00
Derick Rethans a8f97a4842 - It was called _VARS, not _GLOBALS :-) 2003-03-02 12:46:37 +00:00
Zeev Suraski 4e55747a2b Add JIT initialization for _SERVER and _ENV
(it's less important for the others, even though it should be fairly
easy now too)
2003-03-02 10:19:15 +00:00
Zeev Suraski f7b7800479 Add infrastructure for JIT initialization of auto globals 2003-03-02 10:04:53 +00:00
Moriyoshi Koizumi da0d5a11ed Fixed my silly mistake in the filter code 2003-03-02 08:39:01 +00:00
abc088a232 NEWS update 2003-03-02 01:32:38 +00:00
4128be7f8d ChangeLog update 2003-03-02 01:32:28 +00:00
Zeev Suraski 805637b06d Fix mem leak 2003-03-01 19:08:41 +00:00
Moriyoshi Koizumi 6716188356 Reverted my previous commit 2003-03-01 18:47:18 +00:00
Wez Furlong c3e6bcd398 Ensure that all fields are initialized to NULL. 2003-03-01 17:27:23 +00:00
Moriyoshi Koizumi 3de8b87cba Fixed build 2003-03-01 15:49:06 +00:00
Wez Furlong c6e40696e1 Fix two crash bugs when optional parameters are not specified.
Fix folding markers.
2003-03-01 15:40:06 +00:00
Wez Furlong 242166d601 Don't shutdown() unix sockets.
It causes the server end to close down/break.
2003-03-01 15:22:21 +00:00
Wez Furlong a3cf1ab8f6 Folding fixes 2003-03-01 15:20:42 +00:00
Andi Gutmans 1a7c0d52dc - Make __construct() have higher priority than class name functions
- for constructors.
- Fix problem with the engine allowing final/abstract for the same method.
- Both patches are by Marcus Börger.
2003-03-01 14:57:49 +00:00
Wez Furlong 57f114969a Add streams headers to those used for shared extensions. 2003-03-01 13:52:11 +00:00
c1d79bd45e ChangeLog update 2003-03-01 01:40:00 +00:00
Wez Furlong 98224f5a05 New! 2003-03-01 01:28:50 +00:00
Pierre Joye 31509f124f update credits (ilia,myself) 2003-03-01 01:28:10 +00:00
Wez Furlong 558db0d87a Expose php_stream_copy_to_stream as stream_copy_to_stream(); a high
performance alternative to looping reads and writes.
2003-03-01 01:27:50 +00:00
Wez Furlong 349ce76f96 Tidy up stupid signed/unsigned issues with win32 by introducing a php_socket_t typedef. 2003-02-28 21:03:36 +00:00
Rasmus Lerdorf 1ad304c2c5 MFB config-file-scan-dir crash fix 2003-02-28 20:48:38 +00:00
Wez Furlong 68c1294462 Add this file... 2003-02-28 20:06:05 +00:00
Wez Furlong 1b53a2d12e New user-space functions:
. stream_socket_client() - similar to fsockopen(), but more powerful.
  . stream_socket_server() - Creates a server socket.
  . stream_socket_accept() - Accept a client connection.
  . stream_socket_get_name() - Get local or remote name of socket.

Tidy up some leaks and debug printfs.
Move more streams functions into streamsfuncs.c and streamsfuncs.h.
2003-02-28 19:53:21 +00:00
Ilia Alshanetsky 14bf872003 Fixed compiler warnings. 2003-02-28 17:26:28 +00:00
Hartmut Holzgraefe 5810393142 callbacks are now supported
(although there's still room for improvements)
2003-02-28 10:30:40 +00:00
Hartmut Holzgraefe 050e86fde4 it is still to early in the morning for coding :( 2003-02-28 07:57:00 +00:00
Hartmut Holzgraefe 80d267e271 make sure that GNU extensions exist for fnmatch() 2003-02-28 07:52:23 +00:00
foobar 535a73a71e - Fixed bug #22312 (crash on failed connection when curl_getinfo() was called).
(Phil Oleson <poleson@verio.net>)
2003-02-28 07:34:45 +00:00
foobar 08b5f6b2b9 - No need to include the ssl headers elsewhere but in ext/openssl
# ext/ftp doesn't use streams yet so it needs to include them.
2003-02-28 07:25:15 +00:00
foobar 282512abea YAZ 2.0 or later is required now. 2003-02-28 07:17:47 +00:00
Hartmut Holzgraefe 40a3530d8e - support for "callback" type
- proto syntax errors are now passed back to the top level parser
2003-02-28 06:37:05 +00:00
Hartmut Holzgraefe e9787cd2fd support for passing description file name on command line 2003-02-28 06:33:07 +00:00
foobar 95d756f467 ws & CS 2003-02-28 06:33:04 +00:00
Hartmut Holzgraefe 86572bd830 "on line #", not "in line #" 2003-02-28 06:30:59 +00:00
Hartmut Holzgraefe 06e43b97a8 added "callback" type (and fixed a stupid typo) 2003-02-28 06:28:53 +00:00
Hartmut Holzgraefe b042f45465 some DTD fixes and <code> as a toplevel element for .c and .h code snippets 2003-02-28 06:28:14 +00:00
Wez Furlong cd98ed7b0a Implement memory mapping for win32.
Could do with some rigorous testing; simple readfile() tests here appear to work.
2003-02-28 01:47:28 +00:00
7be8179520 ChangeLog update 2003-02-28 01:31:36 +00:00
Ilia Alshanetsky e089944308 compiler warning fixed. 2003-02-28 00:08:00 +00:00
Ilia Alshanetsky 912bef379d Fixed compiler warning. 2003-02-27 23:53:55 +00:00
Ilia Alshanetsky 57eabeea29 fixed compiler warnings. 2003-02-27 23:50:55 +00:00
Wez Furlong 0cec0bd8a9 streams.c -> streamsfuncs.c
# argh!
2003-02-27 22:48:13 +00:00
Wez Furlong 493ef36299 Update win32 build.
Since msvc sucks, I had to rename ext/standard/streams.c to ext/standed/streamsfuncs.c
2003-02-27 22:43:51 +00:00
Wez Furlong 5def83df0b Move streams specific stuff from ext/standard/file.c -> ext/standard/streams.c
Move win32 select implementation into win32/.
Will update win32 build in a moment.
2003-02-27 22:23:39 +00:00
Ilia Alshanetsky ea1f34e892 Fixed a bug that would cause filetype() to return "unknown" for
non-existent files on Win32.
2003-02-27 20:38:00 +00:00
Wez Furlong cfd8150b30 Add a generic meta data api for streams. 2003-02-27 19:10:24 +00:00
Rasmus Lerdorf ab1793290e The basic input filtering framework is done and working nicely 2003-02-27 18:45:37 +00:00
Wez Furlong 094da5c7a1 Update todo slightly 2003-02-27 18:23:50 +00:00
Wez Furlong 76ebaa6ee7 - Move https:// and ftps:// wrapper registration into the openssl module.
- Expose the http:// and ftp:// wrappers as PHPAPI
- Remove unused variables
2003-02-27 18:16:35 +00:00
Wez Furlong 203068d055 Fixup build for win32 2003-02-27 18:06:31 +00:00
Wez Furlong fd61f69077 Another big commit (tm).
Main Changes:
- Implement a socket transport layer for use by all code that needs to open
  some kind of "special" socket for network or IPC.
- Extensions can register (and override) transports.
- Implement ftruncate() on streams via the ioctl-alike option interface.
- Implement mmap() on streams via the ioctl-alike option interface.
- Implement generic crypto API via the ioctl-alike option interface.
  (currently only supports OpenSSL, but could support other SSL toolkits,
  and other crypto transport protocols).

Impact:
- tcp sockets can be overloaded by the openssl capable sockets at runtime,
  removing the link-time requirement for ssl:// and https:// sockets and
  streams.
- checking stream types using PHP_STREAM_IS_SOCKET is deprecated, since
  there are now a range of possible socket-type streams.

Working towards:
- socket servers using the new transport layer
- mmap support under win32
- Cleaner code.

# I will be updating the win32 build to add the new files shortly
# after this commit.
2003-02-27 17:43:38 +00:00
Ilia Alshanetsky 560e33968d Fixed bug #21410 (fixed handling of NULL or "" files on Win32) 2003-02-27 16:41:23 +00:00
foobar 4cac01352d ..if only all lakes were kossu.. 2003-02-27 15:52:38 +00:00
Hartmut Holzgraefe 52ca521b40 changed from strncpy to strlcpy on request 2003-02-27 10:21:32 +00:00
Sascha Schumann 60dcebd71a rename macro argument so that it does not partially match the string.
fixes a warning on unixware
2003-02-27 10:07:12 +00:00
Corne' Cornelius 5e09029ba7 - Changed maxmsglen in ifx_errormsg() back to normal 255 instead of 10 2003-02-27 08:59:16 +00:00
Corne' Cornelius 8a7822cf24 - Fixed possible Segfault in ifx_errormsg() using malloc() instead of emalloc() 2003-02-27 08:56:15 +00:00
4fbdee3c26 NEWS update 2003-02-27 01:44:34 +00:00
10fb8dadd8 ChangeLog update 2003-02-27 01:42:36 +00:00
Rasmus Lerdorf 0b5ffc4f1c MFB: We know ini file scanning will never be interactive, so speed it up a
bit.  Need a dynamic check for the language scanner.
2003-02-27 00:11:43 +00:00
Pierre Joye 972c04e50b add imagesavealpha wrapper (Jukka Holappa <jukkaho@mail.student.oulu.fi>,
2 Pierre-Alain Joye)
2003-02-26 23:22:09 +00:00
Pierre Joye fbd867184c add imagesavealpha wrapper (Jukka Holappa <jukkaho@mail.student.oulu.fi>,
Pierre-Alain Joye)
2003-02-26 23:21:44 +00:00
Rasmus Lerdorf ca2a28774a MFB: Get rid of a redundant syscall on non-Windows 2003-02-26 22:19:01 +00:00
Ilia Alshanetsky 695ae92c97 1) Make the output of system() binary safe
2) Solved a memory leak when the return_value variable passed by reference is
   not an integer in system()/exec()/passthru().
3) Solved a bug in exec(), which would make it append to the 2nd parameter
   (passed by reference) if the parameter is an array instead of overwriting it.
4) Changed the code to use the streams code, resulting in a smaller code base.
5) Various cleanups resulting in reduction of overall code base inside the file
   by ~ 1/3.
6) Speed improvements of ~2.5 times compared to previous performance (based on
   attached PHP script).
2003-02-26 22:11:12 +00:00
Marcus Boerger d737741329 allow keys as array(group, name) for handler inifile 2003-02-26 22:07:50 +00:00
Marcus Boerger ce04e8a91a ws 2003-02-26 22:05:32 +00:00
Marcus Boerger cdcb86a4da make it faster 2003-02-26 22:03:55 +00:00
Marcus Boerger 6fd9c32346 if skip param of dba_fetch is -1 stop do not restart search after last element 2003-02-26 22:03:00 +00:00
Derick Rethans 424c41a72e - Added an extra ini setting with which extra commands can be forced to
the sendmail deamon on a per-vhost base. The value in this ini setting
  will override all extra commands passed as the 5th parameter to mail()
  and will work in Safe Mode.
@- Added an extra ini setting (mail_force_extra_paramaters) which forces
@  the addition of the specified parameters to be passed as extra
@  parameters to the sendmail binary. These parameters will always replace
@  the value of the 5th parameter to mail(), even in safe mode. (Derick)
2003-02-26 20:04:16 +00:00
Derick Rethans 17acc55ad0 - Fix proto 2003-02-26 19:34:16 +00:00
Derick Rethans bc11c47ce6 - Whitespace 2003-02-26 19:25:24 +00:00
Hartmut Holzgraefe 499a97a9b2 changed to emalloc just to be safe 2003-02-26 16:06:07 +00:00
Hartmut Holzgraefe f7490c405b forgot to add these two on my last commit :( 2003-02-26 10:06:47 +00:00
Sebastian Bergmann 189d29061e Syntactic sugar is sweet. 2003-02-26 08:27:14 +00:00
Brad LaFountain 2c1b3b74b2 changes in the past shouldn't have compiled. 2003-02-26 03:04:00 +00:00
fd40b6d3f5 ChangeLog update 2003-02-26 02:03:08 +00:00
Ilia Alshanetsky aee0c18bde Made shell_exec() use streams, this simplifies the code and in some cases
makes it a little faster too.
2003-02-25 23:52:34 +00:00
Ilia Alshanetsky bce8bfdae4 MFH (forgot to put this fix into the 5.X tree). 2003-02-25 23:39:57 +00:00
Moriyoshi Koizumi e0ec5871d9 NEWS update 2003-02-25 20:41:07 +00:00
Moriyoshi Koizumi 991da29849 Set fgetss() free from the length parameter 2003-02-25 20:12:18 +00:00
Ilia Alshanetsky 503e49feae Fixed test. 2003-02-25 16:27:51 +00:00
Ilia Alshanetsky f29964e2ba Fixed bug #22414 and added a test case for it. 2003-02-25 16:21:00 +00:00
foobar 400f466040 Cleanup 2003-02-25 11:48:50 +00:00
foobar 7bd710a658 - Fixed bug #21224 (apache configure fails when using --enable-versioning) 2003-02-25 11:23:09 +00:00
Zeev Suraski 5793784c93 Get the bits right - final/private fix 2003-02-25 10:03:26 +00:00
foobar 411478e1f6 Fixed bug #20256 (snprintf() not defined) 2003-02-25 09:44:12 +00:00
Adam Dickmeiss 79a3618b36 Tabify 2003-02-25 08:34:33 +00:00
Adam Dickmeiss 45214b2340 yaz_search supports query type cql 2003-02-25 08:31:53 +00:00
foobar 5132f3cb54 Do not redefine zend_isnan if it is already defined. 2003-02-25 07:46:15 +00:00
foobar 3efd2b1317 typofix 2003-02-25 07:40:51 +00:00
foobar afc69728a8 (hope) fix some win32 build errors 2003-02-25 07:19:44 +00:00
Corne' Cornelius 086b317448 - Added Corne' Cornelius to CREDITS/Authors 2003-02-25 06:59:15 +00:00
foobar 43c4c6913e Another win32 build fix. 2003-02-25 06:54:04 +00:00
foobar c7a40ac1ff (hopefully) fix the build.. 2003-02-25 06:49:59 +00:00
foobar e9b5e34005 - Fixed bug #14245 ('make install' fails on AIX when using --with-apxs). 2003-02-25 06:35:43 +00:00
Corne' Cornelius 9f48874675 - Changed IFX_VERSION to work with Major versions with more then one digit 2003-02-25 05:33:28 +00:00
foobar 14f98fca45 fix bug #22324, libjdbcoci8.so is not necessarily needed.. 2003-02-25 04:36:54 +00:00
Ilia Alshanetsky e8823a205a Fixed bug #22402 (opening of ftp for read/write could fail due to invalid
return code handling).
Solution suggested by jan@jancm.org
2003-02-25 04:20:22 +00:00
Ilia Alshanetsky 348200b54d Fixed a crash in gdImageCopyMergeGray(). 2003-02-25 03:49:26 +00:00
Stig Bakken 04870428ab * fixed <provides> generation, provides elements are now included for
every non-private class, function and method
2003-02-25 02:44:10 +00:00
Stig Bakken d4dff9e92a * add new ZE2 tokens 2003-02-25 02:08:49 +00:00
Ilia Alshanetsky 5e118977cd Fixed various compiler warnings. 2003-02-25 01:44:57 +00:00
Ilia Alshanetsky 9e0fb1a33c Use native flock() whenever possible. 2003-02-25 01:41:58 +00:00
Ilia Alshanetsky 862634ffa5 Added locking to streams.
Allow PHP to automatically release locks on files when terminating the
stream.
Fixed bugs in the handling of the 3rd optional parameter to flock().
2003-02-25 01:39:06 +00:00
96563ce34f ChangeLog update 2003-02-25 01:33:26 +00:00
Moriyoshi Koizumi 4759048194 Removed unnecessary asserts 2003-02-24 23:13:40 +00:00
Moriyoshi Koizumi 14db9ea88d Fixed string.strip_tags filter so it reflects the change on php_strip_tags 2003-02-24 22:41:55 +00:00
Moriyoshi Koizumi b44b0b80e0 Made fgetss() binary safe too 2003-02-24 22:39:47 +00:00
Moriyoshi Koizumi 8f341f6a19 Fixed possible buffer overflow of php_strip_tags 2003-02-24 22:19:36 +00:00
Moriyoshi Koizumi 385a809694 Made strip_tags() binary safe 2003-02-24 22:01:12 +00:00
Sara Golemon 85a5ef3ec9 Initial re-implementation of userfilters after filterchain redesign by wez. More userspace API to come. 2003-02-24 21:56:19 +00:00
Wez Furlong 088e2692c3 MFB: Bunch of streams related fixes. 2003-02-24 21:40:23 +00:00
Ilia Alshanetsky 4474f9225a Fixed bug #22355 (PHP would remove folding from Subject & To fields). 2003-02-24 19:41:18 +00:00
Moriyoshi Koizumi a628a6a2de Added test case for bug #22367 2003-02-24 19:37:27 +00:00
Moriyoshi Koizumi 93b6d05bb8 Forgot to fix this part 2003-02-24 16:54:21 +00:00
Moriyoshi Koizumi a67e4dac8f Fixed the test as the result is just considered to be expected 2003-02-24 16:50:35 +00:00
Moriyoshi Koizumi f73f94f258 Fixed a signed / unsigned issue.
# imagine the case like "\\\xfe" where walk[1] takes a value that is greater
# than 127 in integer...
2003-02-24 16:29:00 +00:00
foobar 73bae37f26 Possible fix for #22259 + part 1/2 for fixing one AIX bug.. 2003-02-24 16:16:11 +00:00
Moriyoshi Koizumi 171fd93840 Style fix 2003-02-24 16:13:13 +00:00
foobar 75d6810d2c BFN 2003-02-24 16:01:38 +00:00
foobar 866fb82484 fix quotes 2003-02-24 15:11:54 +00:00
Zeev Suraski 80d0fa7aad (possibly) fix Win32 builds of the Apache 2 filter 2003-02-24 15:10:36 +00:00
Stanislav Malyshev 3cf20f86db fix exception handling 2003-02-24 13:35:47 +00:00
Hartmut Holzgraefe cfb377ce33 "key" has to be zero-delimited 2003-02-24 13:35:07 +00:00
Zeev Suraski 535aa63293 Add 'final' 2003-02-24 12:05:58 +00:00
Hartmut Holzgraefe edbc369721 - code generation: resources and phpinfo logo
- duplicate code elimination for prototype parsing
- improved phpinfo block (incl. logo)
- some input error checking
- documentation generation for ini-directives, constants
  and resources
2003-02-24 10:57:48 +00:00
Sebastian Bergmann 37d529f100 Remove obsolete not on redeclaring protected members. 2003-02-24 10:38:43 +00:00
Sebastian Bergmann 99c358c7cb Leftover. 2003-02-24 10:37:45 +00:00
Sebastian Bergmann 57ae4a5ac4 Initial documentation of namespace {}. 2003-02-24 10:35:39 +00:00
foobar cf72bfbae1 no c++ comments 2003-02-24 08:27:24 +00:00
Corne' Cornelius 7afe50fc5c (PHP ifx_errormsg) Fixed Informix bug where ifx_errormsg() would Segfault
on an unopened connecection and with an errorcode supplied
2003-02-24 06:34:37 +00:00
foobar a7132f74fd Always use the libtool which is build in the top_builddir. 2003-02-24 04:37:04 +00:00
foobar 6ed8720fa2 fix compile warning 2003-02-24 03:27:00 +00:00
Ilia Alshanetsky a3cb589b71 Fixed bug #22382 (fgetcsv did not handle \" correctly). 2003-02-24 03:13:25 +00:00
424636f0dc ChangeLog update 2003-02-24 01:32:18 +00:00
George Schlossnagle e49bc59a79 ws fix 2003-02-24 01:25:30 +00:00
George Schlossnagle f5fb75f390 hopefully a fix for 19919 2003-02-24 01:19:08 +00:00
foobar c87c4c7bd7 Extra paranoia checks if dn_skipname/dn_expand exist or not 2003-02-24 00:09:18 +00:00
foobar 8c3cd0344d MFB: Fix for open_basedir error message 2003-02-23 22:30:02 +00:00
Zeev Suraski 731a55ad52 Move abstract inheritance logic to the right spot 2003-02-23 13:58:48 +00:00
Zeev Suraski bb956372a5 Fixed abstract handling in inheritence 2003-02-23 12:51:40 +00:00
Stig Bakken 52ce358bde * upgrading XML_Parser to 1.0.1 2003-02-23 11:03:38 +00:00
foobar 58e4503942 Added missing headers and $Id$ tags. 2003-02-23 09:50:43 +00:00
foobar 406340713d MFB: Fixed bug #22356 (Do not add empty -I flags). 2003-02-23 09:37:13 +00:00
foobar de54cd0a08 Fix for bug #22353 2003-02-23 08:14:25 +00:00
foobar 6000c7b46c - Fixed bug #22376 (wrong httpd.conf modified when using INSTALL_ROOT) 2003-02-23 07:32:03 +00:00
Marcus Boerger 5f1975a432 New test which currently fails 2003-02-23 03:03:09 +00:00
Marcus Boerger 8e62295a5f Fix the name
# but yes Jani your sentence has better style
2003-02-23 02:45:10 +00:00
foobar 35f3f3ecc6 These both are experimental still. (there has been a note in config.m4
all the time but these marker files were missing)
2003-02-23 02:39:51 +00:00
foobar b1a1012a72 Style 2003-02-23 02:24:51 +00:00
1162d7b797 NEWS update 2003-02-23 01:32:03 +00:00
339031846e ChangeLog update 2003-02-23 01:31:45 +00:00
Marcus Boerger fbe7e1d977 Dropped optimization
# It is impossible to combine skip=-1 searches with firstkey/nextkey results
2003-02-22 23:47:09 +00:00
Marcus Boerger c0e9bd0830 INI files are case insensitive 2003-02-22 20:49:07 +00:00
Ilia Alshanetsky 8908faa47f Revent previous patch, adding of file_write_content() was premature. 2003-02-22 20:35:22 +00:00
Ilia Alshanetsky d2e2fbcc5b int/long change. 2003-02-22 20:33:11 +00:00
Marcus Boerger fef5b7c3a1 Remove testcode 2003-02-22 17:37:27 +00:00
Marcus Boerger 8ab1924ca3 @Added dba handler inifiles to support ini files. (Marcus) 2003-02-22 17:20:06 +00:00
Andrey Hristov 8c2dbd5f0f additional speedup for array_shift(). No need to rehash if the removed element's
key is not scalar and elements with scalar keys are already well numbered
(sequentially from 0) for some reason. This is the case if the leading
elements have no scalar indexes.
2003-02-22 13:55:11 +00:00
Andrey Hristov 94040a28ce rehash only in case something is changed.
#lowers the execution time in half on my machine on array with 1000 elements
#with nonscalar keys. Maybe it can be optimized further.
2003-02-22 10:54:26 +00:00
Georg Richter 0133377fba removed some comments 2003-02-22 07:47:46 +00:00
Georg Richter b63fbf2763 Fixed bug with stmt_close (libmysql bk version 1.1477 required)
Fixed bug with mysql_execute and float values
2003-02-22 07:31:01 +00:00
Justin Erenkrantz a7df9995cc Add xbithack support to apache2handler SAPI.
(configuration doesn't work, but that's not something new apparently.)
2003-02-22 04:42:34 +00:00
aac74c71d8 ChangeLog update 2003-02-22 01:31:43 +00:00
Wez Furlong c1bdf163ed Add comment about thread-safety of gethostbyname on win32.
Set the correct path to the win32 config.h file in the .dsp file.
2003-02-21 14:06:55 +00:00
foobar 7d256c1ae1 MFB 2003-02-21 10:43:32 +00:00
foobar b420beba61 - Fixed bug: #22339
# No NEWS, this was bug introduced by Marcus a while ago..
# Not present in php4.3.x branch
2003-02-21 08:45:58 +00:00
foobar 12ce594f64 MFB 2003-02-21 06:50:25 +00:00
foobar 161d31c8bc ZTS fixes 2003-02-21 06:46:12 +00:00
7884793dcb ChangeLog update 2003-02-21 01:32:23 +00:00
David Viner 1cf1e31acc this tiny change adds the location of apache includes and libraries that
are installed when you use the Apache Windows Installer
(C:\Program Files\Apache Group\Apache\*).  With this patch,
a windows developer who has used the Apache Windows Installer should be
able to compile the Apache sapi module without any modifications to his/her
installed tree.  It should have no effect whatsoever on anyone else.

--dviner
2003-02-21 00:14:33 +00:00
Rasmus Lerdorf d08a0e99c8 An input filter might not simply strip stuff, it might also turn things
into entities or use some other mechanism which causes the filtered data
to be longer than the original data.  Ergo, pass in the address of the
buffer instead so the filter is free to reallocate it.
2003-02-20 22:21:49 +00:00
Justin Erenkrantz 9d89ef3295 Remove C++-style comment. (Breaks Sun Forte compiler.) 2003-02-20 21:48:58 +00:00
Wez Furlong f8e414ef70 *cough*
Fix another stupid mistake.
2003-02-20 21:48:46 +00:00
Sara Golemon 2002ca0203 Reduce unnecessary filter applications when stream is (read|write) only 2003-02-20 20:05:31 +00:00
Stanislav Malyshev e645f20d07 Allow namespaces to have a number of parts. I.e., now you can do:
namespace foo {
	function abc() {}
}
...
namespace foo {
	functio def() {}
}
2003-02-20 19:01:53 +00:00
Justin Erenkrantz 9729930343 Clean up apache2handler SAPI.
Key improvements:
- Be streamy
- Re-enable virtual() support
- Set content_type correctly
- Remove unnecessary code and reintroduce some missing code
- Change signature from PhP to PHP
2003-02-20 18:20:03 +00:00
Moriyoshi Koizumi 63291af120 Fixed bug #22330 (overloaded strrpos() gives wrong results)
Patch by david at santinoli dot com. Thanks!
2003-02-20 17:52:42 +00:00
Derick Rethans 2bff9cae27 - Fixed testcase... you can never trust on RFCs it seems 2003-02-20 16:15:41 +00:00
Hartmut Holzgraefe 30212544c3 put constants into C output
do not limit int constants to numbers, C #defines are ok as strings
foobar(void) needs special treatment in code generation
2003-02-20 15:19:14 +00:00
foobar fa68f3c276 style 2003-02-20 13:42:29 +00:00
Derick Rethans 91766d4b9a - Fixed copy and paste bug 2003-02-20 10:33:55 +00:00
Derick Rethans b4b33b11ef - Also add the optional raw output parameter to md5_file and sha1_file. 2003-02-20 10:32:35 +00:00
foobar b7885999cb This is added in 4.3.2 2003-02-20 07:13:59 +00:00
foobar 0f593f899f Fixed bug: #22306 (pg_lo_seek($h, 0, PGSQL_SEEK_SET) succeeds but returns false) 2003-02-20 07:10:07 +00:00
Sascha Schumann 57d244c93d update 2003-02-20 06:57:42 +00:00
Derick Rethans ead7521e4d - No need to add the \0 ourselves, the estrndup in STRINGL takes care of
that for us.
2003-02-20 06:56:37 +00:00
Sascha Schumann 7ac81c2fbe update 2003-02-20 06:56:18 +00:00
Sascha Schumann 6f5b46c118 generally urlencode parameters 2003-02-20 06:18:16 +00:00
foobar 8a316d5f69 VCWD_LSTAT is not available on win32/netware 2003-02-20 06:16:37 +00:00
foobar 6043ee22e8 - Fixed bug #22299 (gethostbyname() crash with non-existing domain on MacOSX) 2003-02-20 05:34:58 +00:00
1c0f919af0 NEWS update 2003-02-20 01:33:17 +00:00
43b857b9b2 ChangeLog update 2003-02-20 01:33:00 +00:00
Ilia Alshanetsky 69094da0e8 Revert accidental commit. 2003-02-20 00:34:03 +00:00
Ilia Alshanetsky 3bff5c0419 Fixed bug #22308 (optimized passthru, code is now ~40 times faster). 2003-02-20 00:32:51 +00:00
foobar ea80f71214 consistent with the used style 2003-02-20 00:19:04 +00:00
Jon Parise 370c0cbf91 Add folding markers and editor directive blocks. 2003-02-19 21:36:00 +00:00
Rasmus Lerdorf afb8842cea Fix mbstring input_filter 2003-02-19 20:56:47 +00:00
Rasmus Lerdorf 7429c2dc3f Input Filter support. See README.input_filter for details.
@- Input Filter support added. See  README.input_filter. (Rasmus)
2003-02-19 19:41:09 +00:00
foobar 0458bb5e2b MFB 2003-02-19 18:45:51 +00:00
Harald Radi 53d70b2c14 prevent xdebug from crashing 2003-02-19 16:17:15 +00:00
Hartmut Holzgraefe 843e3449cf code for the special functions MINIT, MSHUTDOWN, RINIT, RSHUTDOWN, MINFO
and for private internal C helper functions may now be embedded into
the XML specification
2003-02-19 16:02:45 +00:00
Wez Furlong 397785bdcd typo.. 2003-02-19 15:07:45 +00:00
Wez Furlong c127eb74aa News about the ZE stream thing 2003-02-19 14:59:26 +00:00
Wez Furlong e88da9728f Fix stupid mistake that only affected interactive mode. 2003-02-19 14:52:56 +00:00
Hartmut Holzgraefe f7d6212b9c test specifications for MINIT and friends 2003-02-19 14:50:43 +00:00
Hartmut Holzgraefe 714a6d727e <code> inside <function> was supported but missing from the DTD,
added "role" attribute to support "internal" functions like
MINIT and stuff, "private" C functions not to be published as
PHP functions and "public" implemenations of PHP functions
2003-02-19 14:48:17 +00:00
Marc Boeren 85f81c6006 Fix for bug #22221: pgsql version for dbx_query suppressed a warning that
was trappable by using a user-defined error-handler. A different use of
pgsql_getrow removed the warning and thus the need for suppressing it.
2003-02-19 13:32:27 +00:00
Sascha Schumann fb6c60c46c some improvements 2003-02-19 10:57:21 +00:00
Hartmut Holzgraefe 889bb70a3f Microsoft Developer Studio project file (.dsp) generation added
for now both config.m4 and .dsp files are generated for the simples
case only (one .c file, one .h file, no external dependencies)
2003-02-19 10:12:28 +00:00
Hartmut Holzgraefe 1dc3726ff2 next generation ext_skel script - initial checkin 2003-02-19 10:07:22 +00:00
Corne' Cornelius 71e6110bc8 - Revert latest commit 2003-02-19 09:52:52 +00:00
foobar 7e3b50896c ws/style fixes 2003-02-19 09:38:11 +00:00
Corne' Cornelius ad56bbe4a4 - Added Input Descriptor Binding to be used by blobs. This fixed a bug
where ESQL/C would cause a Segmentation fault if the first blob in a
  result is NULL or '' as soon as it gets a result with blob != NULL
- Fixed leaks where blobs resources weren't always freed
2003-02-19 09:29:26 +00:00
foobar 2b90480fa9 scandir -> php_scandir, alphasort -> php_alphasort 2003-02-19 09:27:29 +00:00
foobar ec11fe04e9 Fix the possible conflicts with other libs (like libc-client) 2003-02-19 09:25:16 +00:00
foobar 8e3f23e3c0 ws fixes + missing $Id$ tags, headers added 2003-02-19 08:40:19 +00:00
Corne' Cornelius 48e5c1dae7 Updated IFX_VERSION entry to work with new Version output of ESQL/C
@- Updated IFX_VERSION entry to work with new Version output of ESQL/C (Corne')
2003-02-19 07:16:01 +00:00
foobar 4205e66f63 cleanup, documentation belongs elsewhere 2003-02-19 06:33:43 +00:00
6119fef3a3 NEWS update 2003-02-19 01:32:20 +00:00
b66dd24323 ChangeLog update 2003-02-19 01:32:10 +00:00
Ilia Alshanetsky a6ef609a37 Fixed bug #22283 (possible crash when opening relative URLs). 2003-02-19 00:49:31 +00:00
Moriyoshi Koizumi 69113a3099 Added string.strip_tags filter. 2003-02-19 00:12:23 +00:00
Moriyoshi Koizumi 6389a79ea5 Fixed memory leaks on conversion failure. 2003-02-18 23:30:36 +00:00
Moriyoshi Koizumi 8793a78fee Revived convert filter codes 2003-02-18 23:22:49 +00:00
Jon Parise 40dacff24a Remove a stray COM reference. 2003-02-18 23:22:15 +00:00
Rasmus Lerdorf 891835e7aa fileno() needs a FILE * here, and at least on FreeBSD with gcc-2.95.3
it is unable to figure out that this is indeed a FILE * and hence it
won't compile without this cast.
2003-02-18 22:29:27 +00:00
Marcus Boerger b8f518a451 - wrong use of sizeof(char)
- use define for block size
- a bit faster
2003-02-18 22:19:18 +00:00
Marcus Boerger 7b6fb4b7b3 coding style 2003-02-18 20:49:52 +00:00
Marcus Boerger 3db2b2bc7c avoiding problems 2003-02-18 20:48:05 +00:00
Moriyoshi Koizumi 816a9017be BFN 2003-02-18 20:34:35 +00:00
Derick Rethans d95c41eddb - Added new parameter to sha1() and md5() which return the digest as
binary data. (Original patch by Michael Bretterklieber <mbretter@jawa.at>)
- Added test cases for sha1() and md5() based on the testvectors in RFC 1321
  and RFC 3174.
@- Added new parameter to sha1() and md5() which return the digest as
@  binary data. (Michael Bretterklieber <mbretter@jawa.at>, Derick)
2003-02-18 20:31:19 +00:00
Moriyoshi Koizumi dd0462c78f Added description for the hand-made finite state machine. 2003-02-18 20:31:04 +00:00
Derick Rethans 0799d2db84 - Add check for proc_open() being available 2003-02-18 20:07:59 +00:00
Sascha Schumann 4ec77cfbb5 Refactor new-session-id code 2003-02-18 19:29:38 +00:00
Sascha Schumann 2699c26f42 Remember whether to send a cookie, so that we send out the correct
session id.  Also improve check for active session
2003-02-18 19:13:49 +00:00
Wez Furlong 4c4d77d23e Fix incorrect TSRMLS_CC usage.
Fix com_create_guid()
2003-02-18 19:03:44 +00:00
Sascha Schumann 32e0c8161c add session_regenerate_id() 2003-02-18 18:50:44 +00:00
Moriyoshi Koizumi bcd49d63c3 Fixed mb_send_mail() so that Content-Type and Content-Transfer-Encoding
headers are overridable by additional header parameters.
This patch fixes bug #21985 and bug #22064.
2003-02-18 18:49:47 +00:00
Moriyoshi Koizumi 89caaeb87c Fixed bug #21708 (ucfirst() trouble again)
# this bug is related to bug #21689
2003-02-18 18:11:34 +00:00
Zeev Suraski 955636af69 Avoid using a C++ reserved word 2003-02-18 17:18:28 +00:00
Moriyoshi Koizumi d4e9d48b18 Fixed bug #21689 (fgetcsv suppresses some characters before a separator)
The fix is suggested by Masahiro Nakayama <masa@sfc.wide.ad.jp>

# is* functions expect their argument to be an integer in range of 0-255
2003-02-18 15:15:22 +00:00
Zeev Suraski 7240050243 Commit missing stuff 2003-02-18 13:34:52 +00:00
Wez Furlong a5860e6e28 Fixup build for win32 2003-02-18 09:51:21 +00:00
Wez Furlong aad491817c Implement com_create_guid().
Add a special case for RETVAL_VARIANT when a variant is of type VT_DISPATCH but has a NULL dispatch pointer.
This kind of variant is returned by the WindowsInstaller automation interface.
2003-02-18 09:46:19 +00:00
Wez Furlong e52aac940f Implement simple stream support in the ZE scanners. 2003-02-18 09:37:54 +00:00
Georg Richter 500dfcfd62 added new function mysqli_stmt_store_result 2003-02-18 08:49:00 +00:00
Georg Richter 05d10452ba test for mysqli_stmt_store_result 2003-02-18 08:41:16 +00:00
Wez Furlong 2003d8eeb6 Implement com_indexed_prop_set() which allows setting of array-like indexed properties on COM objects.
It is expected that this function will be transient, waiting for engine-level and then rpc-level support to be implemented so that this can be integrated more completely.
I'm committing this now so that others can help develop the msi installer scripts that require this feature.
2003-02-18 07:36:31 +00:00
Sara Golemon 73c78270b6 Introduce //filter target to php: wrapper to allow inline application of filters during fopen() style opperations 2003-02-18 06:10:14 +00:00
foobar ffe0f52be6 style polizei 2003-02-18 03:27:55 +00:00
foobar 25a7332e9b getpriority() and setpriority() are in libc.. 2003-02-18 03:25:33 +00:00
foobar 28f4cb18ec nice() is part of libc, use AC_CHECK_FUNCS instead 2003-02-18 03:22:47 +00:00
Ilia Alshanetsky 5b858c9e94 Fixed compiler warning. 2003-02-18 03:12:38 +00:00
Sara Golemon 6fe4ab41f0 Fix stream_filter_(ap|pre)pend to allow attaching on the read and/or write chains. Automagically decide what to do if noone tells us. 2003-02-18 02:53:24 +00:00
Ilia Alshanetsky 02ea3ab085 New function news. 2003-02-18 01:44:53 +00:00
Ilia Alshanetsky 0503336ede Added pcntl_setpriority & pcntl_getpriority(). These functions can be used
to fetch and alter the priority of a process.
2003-02-18 01:41:06 +00:00
Wez Furlong 952d5f548e TSRMLS! 2003-02-18 01:39:26 +00:00
abcd236386 ChangeLog update 2003-02-18 01:34:00 +00:00
Wez Furlong 1e34a6bffc Add basic test of read filters and read filter chain. 2003-02-18 01:24:41 +00:00
Ilia Alshanetsky 0ad5cac954 By popular demand nice() is renamed to proc_nice().
A better error message for proc_nice() failure.
2003-02-18 01:23:51 +00:00
Wez Furlong 32165a5546 Implement new filter API, stage 1.
This breaks user-space filters (for the time being), and those
weird convert.* filters in ext/standard/filters.c

The filters stack has been separated into one chain for read and one chain
for write.

The user-space stream_filter_append() type functions currently only operate
on the read chain. They need extending to work with the write chain too.
2003-02-18 01:22:21 +00:00
Ilia Alshanetsky 0fd1009fcc Added nice() function, which allows changing of priority for the current
process.
2003-02-18 01:07:57 +00:00
Georg Richter 19a9b4f310 new test (class which extends mysqli. currently this test fails :( ) 2003-02-18 00:42:38 +00:00
Georg Richter 2f604f67e8 removed duplicate code 2003-02-18 00:32:47 +00:00
Georg Richter bc5eb4b3b4 fixed some leaks when mysql_close will be called before all stmts are freed. 2003-02-18 00:00:51 +00:00
Georg Richter bf348326bd additional tests for non freed objects 2003-02-17 23:29:58 +00:00
foobar 5c63fad55c MFB: Sanity check. 2003-02-17 22:45:50 +00:00
foobar b4ae3249fe Update 2003-02-17 18:10:53 +00:00
Georg Richter 3686b61548 test for mysql_fetch_row (oo-style) 2003-02-17 16:19:49 +00:00
Zeev Suraski 827434c2a3 Whitespace & minor renames 2003-02-17 15:07:57 +00:00
Zeev Suraski 76c6d7e721 whitespace 2003-02-17 15:04:29 +00:00
Zeev Suraski d22cc2f329 Improve handling of static member variables 2003-02-17 14:06:39 +00:00
Zeev Suraski 4934744b93 Win32 build improvements 2003-02-17 13:29:59 +00:00
Zeev Suraski fb607799cc More Win32 build improvements 2003-02-17 13:27:15 +00:00
Zeev Suraski 566e41226f Improve Win32 build performance 2003-02-17 13:20:41 +00:00
Wez Furlong cc66d8abaa Fix build under win32 2003-02-17 13:11:22 +00:00
Georg Richter 1f188f6554 added close method/alias for result object (for compatibility with statement and
link objects)
2003-02-17 09:38:32 +00:00
Georg Richter 1076328edb test for OO-Implementation (bind_result) 2003-02-17 08:54:23 +00:00
Shane Caraveo 216d1d00a5 you know it's time to get away from the keyboard when you do this.
fix my last fix
2003-02-17 06:45:37 +00:00
Derick Rethans 738d4f401f - Style polizei 2003-02-17 06:35:13 +00:00
foobar 7e9fb9f21f - Cleaned this mess a bit:
. Centralized the functions sunrise/sunset to php_sunrise_sunset
    to lessen duplicate code.
  . Made wrapper function php_do_date_sunrise_sunset() to lessen
    duplicate code.
  . Coding style fixes.
  . renamed sunfuncs.h -> php_sunfuncs.h
2003-02-17 06:28:07 +00:00
foobar d3e006eafd - These results were obviously got with TZ=GMT
# also prefixed the test results with the tested option
# so it's easier to see which one fails..
2003-02-17 06:23:22 +00:00
foobar 6b7a822cec Assuming the results were created in system with Asia/Jerusalem as TZ 2003-02-17 05:51:03 +00:00
Shane Caraveo eb6b7e80be fix it the right way 2003-02-17 05:47:56 +00:00
foobar 1c89652590 override precision ini setting 2003-02-17 05:02:05 +00:00
Shane Caraveo 8c73b6ab70 prevent possible crash if used in combo with mod_gzip
fix command line
2003-02-17 03:39:58 +00:00
Shane Caraveo 354a7d804b If you pass NULL, you do not get a NULL value, make sure it is. 2003-02-17 03:26:16 +00:00
foobar 4e3d4e4329 - Let's be consistent with these.. 2003-02-17 03:07:33 +00:00
774900c809 NEWS update 2003-02-17 01:31:54 +00:00
f303085465 ChangeLog update 2003-02-17 01:31:42 +00:00
Wez Furlong 6e296c5cbb Move some of the streams header into supplementary files
# Just when you thought you had learned your way around the streams code;
# I like to keep you all on your toes!
2003-02-17 00:20:38 +00:00
Shane Caraveo 9b997896b3 bring up to date with change in run-tests 2003-02-17 00:19:16 +00:00
Wez Furlong f871a58783 Fix compile warning 2003-02-17 00:01:31 +00:00
Wez Furlong f0b8f6dcfb Some additional sanity. 2003-02-16 23:46:45 +00:00
Wez Furlong 83f399fed0 Add the sunfuncs to the .dsp file for Moshe. 2003-02-16 22:39:01 +00:00
Wez Furlong 8305254fe6 Update win32 project for streams juggling. 2003-02-16 22:34:40 +00:00
Wez Furlong 63c95db648 Remove unused vars 2003-02-16 22:33:29 +00:00
Moshe Doron ea8d11cc87 @ new idate() function.
@ new date_sunrise() function.
@ new date_sunset() function.
#since i have no premission updating the win32 project file, i'm sending patch on the list.
2003-02-16 22:28:01 +00:00
Wez Furlong 2cc68ad7ad Move streams files around a bit, to ease maintenance.
I will update the win32 .dsp in a moment.
2003-02-16 22:19:28 +00:00
Georg Richter fe9a33a002 fixed output 2003-02-16 21:19:32 +00:00
Zeev Suraski ac0f7d9ed0 Fix complex cases of self-assignments (bugs #21600, #22231) 2003-02-16 19:18:23 +00:00
Zeev Suraski f079bb65ff Make EG(This) and EG(scope) available to internal methods 2003-02-16 19:10:27 +00:00
Zeev Suraski 004947221e Revert patches - they weren't ready yet! 2003-02-16 18:34:48 +00:00
Zeev Suraski 372e08772d Fix initialization 2003-02-16 18:17:19 +00:00
Georg Richter 60d1b378ed fixed compiler warning 2003-02-16 18:04:29 +00:00
Ilia Alshanetsky 148fdce82d Reverted lld -> lld patch and added explanation as to why it should not be
done.
2003-02-16 17:59:30 +00:00
Georg Richter c08bfd2e3f tested patch from Zeev (fixes oo-bug in ext/mysqli) 2003-02-16 17:47:23 +00:00
Ilia Alshanetsky ad1972fae9 Moved longlong conversion to a macro. 2003-02-16 15:56:57 +00:00
Ilia Alshanetsky 2ac79528c9 better skip condition. 2003-02-16 15:47:22 +00:00
Wez Furlong 32c1eafe85 Remove bogus test.
Append mode always causes written data to go to the end of the file,
regardless of the current seek position.
2003-02-16 15:42:14 +00:00
Wez Furlong 7e92f636ef Integrate Shanes patch that allows specifying the cwd and environment
for the child process created by proc_open().
2003-02-16 15:38:54 +00:00
Georg Richter c40eff35da test for mysqli_prepare_result 2003-02-16 13:48:00 +00:00
Stanislav Malyshev 3e45b23799 add support for ::foo syntax meaning "global one" 2003-02-16 13:27:33 +00:00
Wez Furlong ce432004be Fix bcmath build under win32.
# These problems occur because winsock2.h MUST be included before
#  windows.h.
2003-02-16 12:46:16 +00:00
Stanislav Malyshev c9b2ec7be7 remove debug prints 2003-02-16 12:04:41 +00:00
Georg Richter ffe43821d0 test for mysqli_stmt_affected_rows (delete command) 2003-02-16 12:04:21 +00:00
Georg Richter 6997d50ff0 added new function mysqli_stmt_affected_rows
added bigint support for mysqli_affected_rows
fixed memleak in mysqli_prepare (stmt->is_null)
fixed return type for mysqli_connect
2003-02-16 12:03:37 +00:00
Sebastian Bergmann 6d300baf84 ZTS fixes 2003-02-16 11:34:49 +00:00
Stanislav Malyshev e77eca7568 namespace patch - static variable access 2003-02-16 11:15:30 +00:00
Stanislav Malyshev a4c3b2ce80 Namespace patch. Big changes:
1. Nested classes are gone.
2. New syntax for namespaces:
namespace foo {
	class X { ... }
	function bar { ... }
	var x = 1;
	const ZZ = 2;
}
3. Namespaced symbol access: $x = new foo::X; - etc.
For now, namespaces are case insensitive, just like classes.
Also, there can be no global class and namespace with the same name
(to avoid ambiguities in :: resolution).
2003-02-16 11:12:43 +00:00
Wez Furlong 0a18a9d744 A add much more useful select(2) implementation than is provided by
windows sockets.  The winsock implementation will only work with sockets;
our implementation works with sockets and file descriptors.
By association, stream_select() will now operate correctly with files, pipes and sockets.

This change required linking against the winsock2 library.  In terms of
compatibility, only older versions of windows 95 do not have winsock2
installed by default.  It is available as a redistributable file, and is most likely installed by any OS patches (eg: Internet Explorer) applied by the user.

Also, add a win32 compatible pipe test when opening a stream from a pipe.  This test will only work on NT, win2k and XP platforms.  Without this test, interleaved fread() and select() calls would cause the read buffer to be clobbered.  I will be working on a fix for this issue for win9x.
2003-02-16 03:48:49 +00:00
5edec2a910 ChangeLog update 2003-02-16 01:32:24 +00:00
Anil Madhavapeddy ee3e64267c fix error msg typo 2003-02-16 01:31:46 +00:00
Marcus Boerger d4fd1c07b1 - Allow long option names
- Update CLI's manpage

@Added support for long options in CLI & CGI (e.g. --version). (Marcus)

# In contrast to the preliminary patch this should work now completely.
# If all long option names are accepted we may even think about MFHing.
2003-02-16 01:23:11 +00:00
Ilia Alshanetsky 824baa0384 New feature news. 2003-02-15 22:07:49 +00:00
Ilia Alshanetsky 616578d1d1 Added feature #19645 (ini parser can now handle quoted multi-line values). 2003-02-15 22:06:45 +00:00
foobar 3a94aeae72 - Fix unsetting of open_basedir, safe_mode_exec_dir and user_dir with
"php_admin_value <ini option> none"
- Fixes bug #22220
2003-02-15 20:22:19 +00:00
Ilia Alshanetsky 9f7fbaf5c2 Proper lib detection. 2003-02-15 20:09:49 +00:00
Moriyoshi Koizumi 22517ce0de Fixed bug #22234 2003-02-15 19:56:12 +00:00
Wez Furlong e035fe14e0 If a test does not have any data after 60 seconds of waiting, assume that
it died a horrible death and kill it.
This is useful on windows when a message box is popped-up during an automated
test-run.
2003-02-15 18:09:52 +00:00
Wez Furlong 27e3d6477f Add optional signal parameter to proc_terminate. 2003-02-15 17:33:11 +00:00
Wez Furlong c3c24054e8 Add proc_terminate() function to forcibly kill off a process created
with proc_open().
2003-02-15 17:18:57 +00:00
Ilia Alshanetsky 8a07cc45cf Fixed skip condition. 2003-02-15 17:06:35 +00:00
Georg Richter e671a8c3e4 added skipif section (innodb-support) 2003-02-15 16:21:35 +00:00
Moriyoshi Koizumi b069f35022 Fixed bug #22227
Added test case for bug #22227
2003-02-15 15:57:31 +00:00
Marcus Boerger ecaeb3004a fix parameter string (-R & -H) 2003-02-15 15:20:17 +00:00
Moriyoshi Koizumi 1b79da954c Added test case for bug #22231 2003-02-15 15:15:14 +00:00
Sebastian Bergmann 3b547e6fc4 Add .cvsignore for tests. 2003-02-15 07:12:09 +00:00
8764c02ce8 ChangeLog update 2003-02-15 01:35:51 +00:00
Ilia Alshanetsky f8e0290cd6 Allow mysqli to be built when imap (c-client) is used. 2003-02-14 21:27:13 +00:00
Ilia Alshanetsky c59240d599 CS fixes. 2003-02-14 20:15:11 +00:00
Ilia Alshanetsky 43eda85d5a Fixed compile warnings. 2003-02-14 20:14:44 +00:00
Georg Richter e8fd6662ae test for bind_result with show 2003-02-14 19:49:35 +00:00
Marcus Boerger c34fde086b a little bit slower but somewhat tricky and more flexible and it does not
allocate static buffers anymore
2003-02-14 19:43:06 +00:00
Moriyoshi Koizumi 9b49146dc1 Fixed a str_replace() bug similar to bug #22224 2003-02-14 18:59:50 +00:00
Moriyoshi Koizumi b3a8349191 Fixed bug #22224 (implode changes object references in array)
Added test case for the bug
2003-02-14 18:42:36 +00:00
Ilia Alshanetsky f6e4904759 CS fixes. 2003-02-14 18:35:30 +00:00
Ilia Alshanetsky 410dd6abaf Fixed a typo. 2003-02-14 18:27:20 +00:00
Georg Richter 2841d94f02 fixed compiler warning 2003-02-14 18:18:12 +00:00
Georg Richter c544a77836 fixed a bug in mysqli_fetch
removed c++ comment (thx to Jani :)
fixed compiler warning
2003-02-14 18:17:25 +00:00
Ilia Alshanetsky 031dd997fb Missing portion of the previous patch. 2003-02-14 16:49:09 +00:00
Ilia Alshanetsky 4f1b6364f9 Buncha Fixes.
* Fixed a number of memory leaks.
 * Fixed some php_error_docref() calls that tried to print non-existent
   arguments.
 * Fixed some signed/unsigned problems.
 * Fixed the MYSQLI_FETCH_RESOURCE macro so that compilers do not complain
   about un-initialized variables.
 * CS fixes.
2003-02-14 16:45:31 +00:00
Georg Richter 14bc73defe bind_result fix 2003-02-14 16:31:51 +00:00
Georg Richter 1a7a41cf9f fixed a bug in prepare/bind 2003-02-14 16:31:22 +00:00
foobar 92279e5e06 MFB 2003-02-14 14:38:20 +00:00
Thies C. Arntzen e62f37c804 init current_execute_data befor we start executing 2003-02-14 12:25:09 +00:00
Thies C. Arntzen 52fb0d7bce ups 2003-02-14 12:05:16 +00:00
Thies C. Arntzen c1706b50bf add really nice dump_bt function for debugging in gdb 2003-02-14 12:04:03 +00:00
801210d60c ChangeLog update 2003-02-14 01:33:16 +00:00
foobar f9f4644a84 - Don't add libcrypt if the crypt() function is provided already.
(by libc, like in HP-UX)
2003-02-14 01:27:15 +00:00
Zeev Suraski 884419044b Fix error handling in illegal property access 2003-02-13 22:47:25 +00:00
Sara Golemon a9e1b5f641 MFB(r-1.68.2.5) Bug 22052 2003-02-13 22:20:21 +00:00
Marcus Boerger 0b2216e03d pass tsrmls instead of fetching it always 2003-02-13 21:41:00 +00:00
Wez Furlong f98f27ffa9 MFB: Fix for bug #22199 2003-02-13 21:08:04 +00:00
Sara Golemon d1d0d0b71a Bug #22059. ftp_chdir() causes segfault. efree(ftp->pwd) was being called without knowing for certain that ftp->pwd
actually pointed anywhere.
2003-02-13 19:48:49 +00:00
Marcus Boerger aa8dfa0b74 fix non FCGI build 2003-02-13 19:46:40 +00:00
Ilia Alshanetsky 2443adb8b5 Added test case for bug #22187. 2003-02-13 19:07:20 +00:00
Ilia Alshanetsky f9669f6c49 Modified fix for bug #22187 so that it does not affect handling of numbers
represented in scientific notation.
2003-02-13 19:02:34 +00:00
foobar e6841d6c35 Added test for those different crypt() methods. Hopefully I got the results right. 2003-02-13 18:49:57 +00:00
Georg Richter bad0ab1576 include file for test 2003-02-13 18:21:37 +00:00
Shane Caraveo a13ef6ec42 There is *absolutely no* definitive way to know if argv0 is the
actual php script, or if it is the beginning of a query string.
Additionaly, passing parameters on the command line is
not part of CGI spec, and is not required by either
Apache or IIS.  So I have removed that code altogether,
and done some further cleanup.  Also fix pre4.3 behaviour if fix_pathinfo=0.
I've tested with IIS and Apache 1.3.27 on w2k and RH 7.3.
2003-02-13 18:21:12 +00:00
Ilia Alshanetsky 55840914cb Fixed warnings. 2003-02-13 17:39:18 +00:00
Wez Furlong cddcaf737f Another IS_SLASH fix. 2003-02-13 17:36:35 +00:00
Ilia Alshanetsky 7fffe4338a Fixed bug #22207 (e notation in *printf would be missing a 0 when there is
no exponent).
Added a test case for the bug.
2003-02-13 17:25:31 +00:00
Wez Furlong cd7d762b79 A probable cure for many getcwd/relative include related problems for win32. 2003-02-13 17:20:20 +00:00
Ilia Alshanetsky 586672fd16 PAD() macro didn't increase the buffer size resulting in loss of the
padding.
2003-02-13 17:17:03 +00:00
Edin Kadribasic f0e7b24e60 Use my_ulonglong instead of unsigned long long to make msvc++ happy. 2003-02-13 17:15:22 +00:00
foobar 19dc5e03a0 change history 2003-02-13 17:01:28 +00:00
Harald Radi 3341568c09 MFB PHP_4_3 2003-02-13 16:46:53 +00:00
Edin Kadribasic fc6543e905 Adding missing .cvsignore 2003-02-13 16:38:28 +00:00
Ilia Alshanetsky 343b92e66e Fixed a typo. 2003-02-13 16:22:03 +00:00
Ilia Alshanetsky c28753de76 Simplified the mode validation code & added support for read+write mode to
'x' mode.
2003-02-13 15:09:39 +00:00
Ilia Alshanetsky f9457bf842 Added missing header needed for rpc_error(). 2003-02-13 14:54:43 +00:00
Wez Furlong 2953892df3 Clarify error message. 2003-02-13 14:52:54 +00:00
Edin Kadribasic ab4bbd51ff Initial windows project file 2003-02-13 14:46:11 +00:00
Ilia Alshanetsky f8eba6ded2 Added 'x' mode for fopen() used on local files. This mode will create a new
file only if a file does not already exist (O_CREAT|O_EXCL).
2003-02-13 14:40:17 +00:00
Wez Furlong 77b98f8615 Potential fixes for #21809 and #22099. 2003-02-13 14:35:47 +00:00
Wez Furlong 95e7c2e9ed Use FILE*-less implementation for php://(stdin|stdout|stderr) 2003-02-13 13:43:37 +00:00
Wez Furlong 35878992d8 Moving away from ANSI stdio for plain files. 2003-02-13 13:40:34 +00:00
Wez Furlong 1c3de808b9 Avoid problems with chunk_size and auto_detect_line_endings. 2003-02-13 13:38:20 +00:00
Wez Furlong b81ea669a0 cli should be allowed to have the chroot() function. 2003-02-13 13:35:55 +00:00
Wez Furlong 068c90bd1d Whitespace-fix these goto labels. 2003-02-13 11:12:56 +00:00
Wez Furlong b6c008305f Update installer so that no extensions are enabled by default. 2003-02-13 10:25:30 +00:00
Georg Richter 124f76c557 removed warnings (unused vars) 2003-02-13 08:54:46 +00:00
Uwe Steinmann 1b46eeb1cf - added more missing strcmp() 2003-02-13 07:59:24 +00:00
foobar 2f2f6739b4 Added HAVE_APACHE define. 2003-02-13 07:47:21 +00:00
foobar 7c989710a8 Merged these to 4.3.x branch 2003-02-13 07:16:19 +00:00
foobar a91a14ab16 ws fix 2003-02-13 07:02:53 +00:00
Sascha Schumann 778378dcc6 include limits.h for portability 2003-02-13 02:30:10 +00:00
Sascha Schumann 6ab6ad12a0 portability work 2003-02-13 02:24:38 +00:00
b0dd1b0eb0 ChangeLog update 2003-02-13 01:33:15 +00:00
Georg Richter 6bddc36966 new tests 2003-02-13 01:23:28 +00:00
Wez Furlong b2b3596257 Fix for Bug #21815 (fpassthru ignored buffered data but then complained anyway) 2003-02-13 01:17:45 +00:00
Georg Richter 44559a18f9 added new function int mysql_get_server_version
this function is available since libmysql change set 1.1450 (2002-02-13)
2003-02-13 00:11:17 +00:00
Georg Richter ef086ad82d changed function entries for statements 2003-02-12 21:07:28 +00:00
Ilia Alshanetsky 24a86f2064 Fixed bug #22191 (frontbase build was broken for people using older
versions).
2003-02-12 20:44:00 +00:00
Ilia Alshanetsky f924aaf647 Fixed bug #22187 (spprintf function did not handle floats correctly). 2003-02-12 20:41:53 +00:00
Sascha Schumann 0cb1ff3bda - trims +100 lines of code from spprintf.c
- introduces an overflow detection in STR_TO_DEC
    - eliminates dead code (e.g. assert(foo); if (foo) {..})
    - removes unused macros from the original code
    - simplifies code (e.g. cc was completely dropped)
    - improves run-time performance

      The max_len feature is never used in our code base.
      Nevertheless, cpu cycles were spent on each string
      operation to check the current length against max_len which
      is quite inefficient.  Thus, I've moved the check to
      vspprintf where it is applied only once per call.
2003-02-12 19:38:10 +00:00
Mark L. Woodward 8fee867865 Fix for GCC 3 2003-02-12 18:34:21 +00:00
foobar e337c5d1c6 Fixed the "member fd in BUFF" test for --with-apxs builds 2003-02-12 17:09:31 +00:00
Ilia Alshanetsky a2bd043e7b Removed zend_get_module(), this function is not used by anything and more
importantly. it does not work. It tries to find data based on numeric keys
in hash table using string keys.
2003-02-12 16:50:51 +00:00
Zeev Suraski 3c2a1255cd Fix declaration of class members that don't have an explicit access modifier 2003-02-12 16:28:34 +00:00
Derick Rethans b8ad8c9f83 - Let's add the config.m4 file too :-) 2003-02-12 16:24:41 +00:00
foobar d85cf5f1b5 added missing entry 2003-02-12 16:18:59 +00:00
Ilia Alshanetsky e1802d7228 Fixed bug #22048 (incorrect insertion of session id when tabs are used to
separate tag elements).
2003-02-12 14:56:13 +00:00
Uwe Steinmann 8c5ece1637 - Fixed compile errors and some oddities like missing strcmp 2003-02-12 11:18:43 +00:00
Georg Richter 91eeae5e1d added new tests 2003-02-12 10:40:19 +00:00
Georg Richter 2706394076 removed function mysql_num_warnings (libmysql change). 2003-02-12 10:39:06 +00:00
foobar 7788cefdd3 "Generate" the man page so that it gets correct version always. 2003-02-12 04:38:30 +00:00
foobar cd7260537a Man page is added in 4.3.1, moved this entry to branch 2003-02-12 04:08:29 +00:00
foobar 5896410c81 - Added the man page installation 2003-02-12 04:04:36 +00:00
foobar de3b1acfc3 Fix obvious errors.. 2003-02-12 03:05:28 +00:00
foobar 96a6cc11a3 news news news.. 2003-02-12 02:58:13 +00:00
405e10f6ce ChangeLog update 2003-02-12 01:31:55 +00:00
Georg Richter ff8f0eb7da adding a few tests 2003-02-12 00:46:29 +00:00
Georg Richter 7d7c07a77c initial upload 2003-02-12 00:45:53 +00:00
Sascha Schumann 1fc7f0d937 supply mandir to makefile 2003-02-11 23:46:39 +00:00
Ilia Alshanetsky 246a075624 Fixed bug #22048 (crash in imap_headers when the e-mail contains an
abnormally large number of special characters).
2003-02-11 22:57:22 +00:00
Ilia Alshanetsky 8c14bf2429 New function news. 2003-02-11 22:49:22 +00:00
Ilia Alshanetsky 53f96c8b02 Added strpbrk(), which is essentially a wrapper around C's strpbrk function
that allows searching through a string for a character list.
2003-02-11 22:47:26 +00:00
Stefan Esser a0873a8f7d size matters not. 2003-02-11 21:44:02 +00:00
Stefan Esser d2c550e991 8 + 20 + 1 + 1 = 30
There was no Bufferoverflow on 64bit systems.

And the "fix" broke the header code on systems with old style snprintf.
2003-02-11 21:41:32 +00:00
foobar fdba676769 - Fixed some weird crashes causd by the new default behaviour
of libtool 1.4.3
- Require libtool 1.4.3 or newer from now on.
2003-02-11 21:11:42 +00:00
Marcus Boerger c681320471 Make that clear 2003-02-11 20:34:24 +00:00
Marcus Boerger 7fec2a3856 Document -H added by Ilia 2003-02-11 20:31:34 +00:00
Marcus Boerger e92f8f64e3 speed up 2003-02-11 20:30:37 +00:00
Melvyn Sopacua e4a08fb43d Update time 2003-02-11 20:26:27 +00:00
Ian Holsman ec68ed4aee initial checkin of the apache2 SAPI using a handler instead of filters.
TBD: src highlighting
     better post handling
2003-02-11 17:40:11 +00:00
Ilia Alshanetsky f3ac7fc9c6 Added -H option to CLI binary. This option can be used to hide any arguments
including the script name passed to the CLI binary.
2003-02-11 16:18:42 +00:00
Zeev Suraski beaf84ea17 Fix require() handling - that's an old bug! 2003-02-11 15:41:46 +00:00
Zeev Suraski f983e13e4e Fix random crashes 2003-02-11 13:46:30 +00:00
Zeev Suraski 2814504143 Improve parser handling of 'abstract' 2003-02-11 09:48:37 +00:00
Moriyoshi Koizumi 1068156252 Fixed ZTS build 2003-02-11 03:55:08 +00:00
foobar fccbb1431b - There's no point in allowing using both --with-readline and --with-libedit
the same time. Prefer --with-readline.
- Use PHP_ADD_LIBRARY when there is no path available.
2003-02-11 03:24:30 +00:00
foobar 50fd2d5745 moved entry to branch NEWS 2003-02-11 03:07:39 +00:00
foobar 08f3bb094a - Fixed bug: #21549 (problem with Ingres II persistent connections) 2003-02-11 02:42:59 +00:00
Sascha Schumann fa6d2d48c5 move check to proper place 2003-02-11 02:34:52 +00:00
Sascha Schumann 67f18fcf6c Detect whether BUFFs contain a fd element. IBM is hiding the actual
descriptor behind a void *, so we just disable this for IBM servers
2003-02-11 02:23:29 +00:00
90ade25ad0 ChangeLog update 2003-02-11 01:31:35 +00:00
Frank M. Kromann 08b788dd44 Bug #20426. Convert SMALLDATETIME correct 2003-02-11 01:24:07 +00:00
Stig Bakken 710b20a528 * clean up so Jani is not so confused 2003-02-11 01:17:20 +00:00
Sascha Schumann e3831c2ef5 Add "log to stdout" feature 2003-02-11 00:58:54 +00:00
Harald Radi c7de5d15b7 clean up source and improve hashing for implicitly
created objects (aka return values)
2003-02-11 00:55:27 +00:00
Harald Radi be950d9c51 improved reverse lookup of ProgID based on an IDispatch pointer 2003-02-11 00:54:27 +00:00
Sascha Schumann 2393b5bfc5 update regarding session.save_path 2003-02-11 00:50:00 +00:00
Sascha Schumann a10f0830e6 support setting the filemode using session.save_path 2003-02-11 00:42:54 +00:00
Sascha Schumann 5e601732a3 use appropiate prefixes in the ps_module structure so we don't clash
with syscalls
2003-02-11 00:42:14 +00:00
foobar 5336e06016 fix news entry per for file() parameter.. 2003-02-11 00:34:35 +00:00
foobar 21390a83f0 Blah 2003-02-11 00:09:03 +00:00
foobar c68961cc7b krhm.. 2003-02-11 00:08:51 +00:00
Wez Furlong 0c70df4907 fix rpc_error call 2003-02-10 23:22:49 +00:00
Ilia Alshanetsky 53b7b0eb8c Merged the flags for the file() function into a single flag. 2003-02-10 22:26:53 +00:00
Harald Radi 5066caef31 a bunch of fixes 2003-02-10 20:59:11 +00:00
Harald Radi ef9bc6eaad s/com/skeleton/ is not always a good idea 2003-02-10 20:58:30 +00:00
Wez Furlong 0ff83111c7 byref really means that we want the zval... 2003-02-10 20:30:24 +00:00
Moriyoshi Koizumi 6d95ea199d Fixed possible snprintf problem
# besides snprintf returns int value, not uint / size_t...
2003-02-10 20:18:08 +00:00
Moriyoshi Koizumi 9450b1e4b0 Fixed possible buffer overflow in 64bit systems 2003-02-10 20:11:10 +00:00
Moriyoshi Koizumi 4fc819b9e8 dot dot dot.. 2003-02-10 19:55:18 +00:00
Moriyoshi Koizumi 57fa382b4e MFB: Fixed typo 2003-02-10 19:53:13 +00:00
Moriyoshi Koizumi 9d5811c1f0 Jani happification 2003-02-10 19:45:34 +00:00
Moriyoshi Koizumi a143bed5d8 New function
# "deprecate me!"
2003-02-10 19:39:43 +00:00
Moriyoshi Koizumi 59be236a8e Removed unnecessary code 2003-02-10 19:12:02 +00:00
Moriyoshi Koizumi 21f766b7a4 Fixed zlib.output_compression so it can work even if zlib extension is built as shared 2003-02-10 19:04:44 +00:00
Melvyn Sopacua 63aa8acf02 MFB: disable output buffering 2003-02-10 18:58:49 +00:00
Wez Furlong 447976d8ee Implement com_describe 2003-02-10 18:37:28 +00:00
foobar 011229ef15 - Updated libtool to 1.4.3 which has test for the sed problem.. 2003-02-10 17:09:48 +00:00
Zeev Suraski f196e11f42 Fix zend_initialize_class_data() 2003-02-10 16:46:05 +00:00
Zeev Suraski c17c7a2bfa Centralize class initialization 2003-02-10 16:11:24 +00:00
Jon Parise 1b8755994e Correct the spelling of 'supported'. 2003-02-10 15:46:47 +00:00
Stig Bakken 983dd29a7e * update PEAR::isError phpdoc 2003-02-10 14:27:21 +00:00
Stig Bakken 4ef53806f4 * PEAR::isError accepts second parameter that will be matched against
the error code.  PEAR::isError($obj, FOO) will return true if $obj
  is an error object, and $obj->getCode() returns FOO.
2003-02-10 14:26:19 +00:00
Stig Bakken cab18bc2de * the "a" in "pear" is "application" now 2003-02-10 14:17:32 +00:00
Wez Furlong 35639435c9 Error reporting clean up 2003-02-10 13:13:28 +00:00
Zeev Suraski 6317e26576 - Treat $this->foo inside class X as an implicit 'public $foo' if X::$foo
is not explicitly declared
- Forbid multiple declaration of the same variable
2003-02-10 12:46:58 +00:00
Wez Furlong 81795c7f11 Newly created objects should use a separate function_table from the global class entry table.
For objects instantiated via new, make sure that intern->function_table uses the newly created table when the class is registered.
For generic per-object hashing, copy the ce->function_table into intern->function_table.
2003-02-10 12:36:07 +00:00
Wez Furlong b0894e7eba Error reporting leaks and cleanup 2003-02-10 12:33:15 +00:00
Zeev Suraski 778ce2495d whitespace 2003-02-10 11:49:21 +00:00
Zeev Suraski 5e12de9510 Add missing destructors 2003-02-10 11:03:22 +00:00
Zeev Suraski 8713fdd102 Fix the test 2003-02-10 10:58:56 +00:00
Stanislav Malyshev 10b6a84b74 update static constants too 2003-02-10 10:57:14 +00:00
Zeev Suraski 3661930f14 Fix get_parent_class() 2003-02-10 10:04:08 +00:00
Zeev Suraski 029abf8c51 Restore missing check 2003-02-10 10:03:19 +00:00
Wez Furlong 79c046d8a8 Add additional optional parameter to openssl_pkcs7_encrypt to specify the
cipher.  The cipher can be one of the constants listed below.

Based on a patch from:
stefan at cuba dot ionum dot ch

 	OPENSSL_CIPHER_RC2_40,   (the default)
 	OPENSSL_CIPHER_RC2_128,
 	OPENSSL_CIPHER_RC2_64,
 	OPENSSL_CIPHER_DES,
 	OPENSSL_CIPHER_3DES,

proto bool openssl_pkcs7_encrypt(string infile, string outfile,
   mixed recipcerts, array headers [, long flags [, long cipher]])
2003-02-10 09:49:31 +00:00
Zeev Suraski dbb73d8f1e Add ability to reference self:: and parent:: in constant initializers
(bug #21849)
2003-02-10 09:45:27 +00:00
Zeev Suraski edc8e67e3b Remove redundant code 2003-02-10 08:32:44 +00:00
324ff14366 ChangeLog update 2003-02-10 01:32:53 +00:00
Hartmut Holzgraefe 769cb03c35 proto fixes 2003-02-10 00:47:45 +00:00
foobar 885a1a4d08 some win32 fixes by Kai 2003-02-10 00:21:51 +00:00
Wez Furlong 1e9eeafe21 Fix php.ini customization.
Apparently, it seems that running the php script with output captured to
the log prevented it from working correctly.

Also, deletes the php.ini when uninstalled.

TODO: The defaults install and activate all extensions.  This is a problem
for those extension that require non-bundled .dlls (such as OCI).
2003-02-10 00:20:53 +00:00
foobar b69d4c004d style, ws 2003-02-09 23:48:22 +00:00
foobar 8c596d1394 Some compilers puke on these.. 2003-02-09 23:29:56 +00:00
Harald Radi b0fb007f0f fix a memleak 2003-02-09 23:17:42 +00:00
Wez Furlong eefe0f1bb0 ZTS fix 2003-02-09 23:11:23 +00:00
foobar b30256e28b We move, fix, change or add stuff 2003-02-09 23:09:23 +00:00
Kai Schroeder eb8bccee56 fix for #17928 2003-02-09 21:44:51 +00:00
Wez Furlong 03e22793ff Fix various little leaks and segfaults.
Fix scripts like this:
$obj = new COM('Foo');
$obj2 = $obj->get_object();
$obj2->method();  // <-- would segfault here
2003-02-09 21:40:13 +00:00
Wez Furlong 9ef5cc7ef9 Add get_class_name handler so that the current var_dump implementation does not segfault.
Add a generic rpc_object_from_data() function for generating rpc objects from C code (as discussed with Harald).
2003-02-09 21:37:41 +00:00
Wez Furlong 47922a6996 Fix some warnings 2003-02-09 21:35:31 +00:00
Sascha Schumann ba32a619ae use SUCCESS/FAILURE instead of 0/-1 2003-02-09 21:15:55 +00:00
Ilia Alshanetsky 2549b1b638 New features. 2003-02-09 20:47:32 +00:00
Ilia Alshanetsky f98ea4c46d Added feature request #9173 (added stream_get_line(), this function will
read either the specified number of bytes or until the ending string is
found).
2003-02-09 20:43:05 +00:00
Ilia Alshanetsky 8b5bc3ecd3 Added feature request #17983 (optional parameter to mkdir() that makes
directory creation recursive).
Fixed prototype for file() function.
2003-02-09 20:35:54 +00:00
foobar 6a539ee3f2 order, style.. 2003-02-09 20:07:22 +00:00
Ilia Alshanetsky 4eae41915f Added feature request #14097 (option allowing file() command not to include
line endings in it's output. As well as another option, which allows blank
lines to be excluded from the output).
2003-02-09 20:05:13 +00:00
foobar 83403958ed break: First one not needed, second missing. 2003-02-09 19:57:50 +00:00
Shane Caraveo a2a014fc46 news entry for previous commit 2003-02-09 19:52:43 +00:00
foobar a09e1397c7 Fixed compile failures when ZLIB / PCRE are compiled as shared
extensions in same build.
2003-02-09 19:09:52 +00:00
foobar 7d46becbb2 Let this compile even if PCRE is compiled as shared in same build. 2003-02-09 18:47:21 +00:00
Zeev Suraski 55a66b1cb2 Fix the array() problem (and probably some other problems too) 2003-02-09 17:30:50 +00:00
foobar 8678f51835 Fixed bug #22131, enable use of shared lib with pcre. 2003-02-09 14:59:07 +00:00
Marcus Boerger 8d183b7ccc Kill some warnings
# the remainig is not easy to solve: float_var = float_cast(extpression)
# This cannot be fixed by simply casting again to float because some
# compilers may ignore the double casting.
2003-02-09 14:17:05 +00:00
Marcus Boerger 547509d546 XBM for win 2003-02-09 14:05:23 +00:00
Kai Schroeder e42339a6b4 shane added is_executable() for windows last night 2003-02-09 13:54:01 +00:00
Kai Schroeder d1338ff914 reverting to version 1.5; shane added is_executable() for windows last night 2003-02-09 13:52:46 +00:00
Kai Schroeder 390799592d newlines changed 2003-02-09 13:25:23 +00:00
Kai Schroeder f93b09b2db getopt() is currently not available on Windows 2003-02-09 13:23:50 +00:00
Kai Schroeder 11e81f89fd there are no symlinks on Windows 2003-02-09 13:20:17 +00:00
Kai Schroeder ea9101135f is_executable() does not exist on Windows 2003-02-09 13:19:23 +00:00
Kai Schroeder 6fa2536252 die() to skip second message 2003-02-09 12:34:55 +00:00
Kai Schroeder 1e24498461 MSVC's mktime() does not examine the existence of a daylight-saving-time zone 2003-02-09 12:28:01 +00:00
Kai Schroeder 745bec1c48 Windows doesn't know timezone CET 2003-02-09 12:22:18 +00:00
Kai Schroeder 93d4e6e5ed skip for Windows (does not support dates prior to midnight, January 1, 1970) 2003-02-09 12:21:47 +00:00
Kai Schroeder d6567abbf4 Windows does not support dates prior to midnight, January 1, 1970 2003-02-09 12:20:54 +00:00
Kai Schroeder 8e14c4a89f test for mktime() 2003-02-09 12:19:02 +00:00
Derick Rethans f35f5f56c4 - Whitespace fixes 2003-02-09 12:15:05 +00:00
Frank M. Kromann da56457eec cleanup variable initializations 2003-02-09 09:39:53 +00:00
Frank M. Kromann 9c161984a8 Fixing coredump when no php.ini file is used 2003-02-09 08:33:40 +00:00
Frank M. Kromann eca4eb4522 MFB 2003-02-09 07:50:56 +00:00
Yasuo Ohgaki 7f81a4a62f Fixed one more improper row offset handling. 2003-02-09 07:50:16 +00:00
Yasuo Ohgaki ac16adae0a Fixed improper result offset handling.
Prevent error when connection is broken. (optional)
2003-02-09 07:24:18 +00:00
Frank M. Kromann 62d42c2425 Bug #21707 problem with real 2003-02-09 07:18:02 +00:00
Frank M. Kromann c62983b1ec Syncronize with branch 2003-02-09 06:27:38 +00:00
Shane Caraveo 5048f8c60e is_executable() now available on win32
stats can now get information provided by access()
2003-02-09 03:49:43 +00:00
086cb15f43 ChangeLog update 2003-02-09 01:31:33 +00:00
Shane Caraveo 13c4361b97 whitespace changes 2003-02-09 00:30:49 +00:00
Georg Richter 325f9edb07 fixed zend_parse_method_param 2003-02-08 20:54:02 +00:00
Andrey Hristov f8656a71bb adding a note. 2003-02-08 19:13:04 +00:00
Andrey Hristov 550def56d5 making it compilable under ZE2 (PHP5).
NOTE : Even it is compilable there is an compilation warning because of that
handle_function_call is deprecated in ZE2 (#if 0). Look like there will is
a problem with __call().
2003-02-08 19:11:04 +00:00
Sascha Schumann a0d1331137 Fix segfault in bindtextdomain when first parameter was empty.
The Linux man page states: domainname must be a non-empty string.

Noticed by: Nils Meyer
2003-02-08 18:58:34 +00:00
Marcus Boerger 0bce257947 Style corrections
See also: Stig's intro
Version info
2003-02-08 15:29:35 +00:00
foobar b7a9ef8d80 style & ws fixes 2003-02-08 15:26:17 +00:00
Pierre Joye a5f35ef94a Add gdImageEllipse
Replace gdImageFilledEllipse by a new function (backported from
the new phpgd)
the new gdImageFilledEllipse fix bug bug #22103 (ellipse part)
2003-02-08 08:41:43 +00:00
Sebastian Bergmann e7b5c21ded zend_config.h (and its Win32 version) is already included by zend.h 2003-02-08 08:11:21 +00:00
a9181bde0c ChangeLog update 2003-02-08 01:33:01 +00:00
Ilia Alshanetsky df3662f436 The string.h is already avaliable through zend.h, so the manual inclusion
is not necessary.
2003-02-08 01:32:09 +00:00
Sara Golemon 3631b28f44 chunk_size should always be reduced to 1 while scanning response headers to avoid buffering the actual stream prior to any read calls. 2003-02-07 23:44:58 +00:00
Ilia Alshanetsky a592f3cc56 Added missing definitions. 2003-02-07 22:49:21 +00:00
Marcus Boerger 9e780033c2 Adding some text and some backslashes which are needed sometimes
somewhere...
2003-02-07 22:12:02 +00:00
Marcus Boerger 383aa3c2d1 Define STDIN/OUT/ERR for -B -R -F -E (works as expected).
Enable exit in same switches.
2003-02-07 21:55:51 +00:00
Ilia Alshanetsky d66bba099b New function news. 2003-02-07 21:45:02 +00:00
Ilia Alshanetsky 67b19b08e3 Added str_split() function. This function can be used to break down a
string into an array.
2003-02-07 21:36:18 +00:00
Ilia Alshanetsky b1a6778fe5 Added get_browser() function. This function can be used to fetch the headers
sent by the server when a request is made for a given URL.
2003-02-07 21:33:35 +00:00
Marcus Boerger 598e82751d No more maximum line size for -R and -F 2003-02-07 20:53:05 +00:00
Ilia Alshanetsky 957aeb83e3 Added a check to ensure that string.h is avaliable before trying to use it.
Thanks Andi.
2003-02-07 19:26:49 +00:00
Uwe Schindler 738b662b72 (NSAPI SAPI) Fixed _SERVER[] variables (all headers included) to be now similar to apache SAPI; with this new file the memory leaks (webserver eats up memory during a few days running) are also disappeared (all by NSAPI allocated strings are freed). 2003-02-07 18:57:40 +00:00
Ilia Alshanetsky 419108f805 Added missing header. 2003-02-07 15:39:02 +00:00
Zeev Suraski fce275eb41 Improve PPP handling of properties 2003-02-07 10:05:36 +00:00
Zeev Suraski 021d1b684b Fixlet 2003-02-07 09:39:39 +00:00
Zeev Suraski 6257d01a91 Better fix 2003-02-07 09:39:29 +00:00
Zeev Suraski ecbde70159 Fix Windows build 2003-02-07 09:32:19 +00:00
Ilia Alshanetsky ae6cc1a238 Fixed bug #15734 (Added an optional parameter to get_defined_constants(),
which if passed, will include information regarding who created the constant).
2003-02-07 03:04:26 +00:00
Dan Kalowsky cba812ef5c MFB 2003-02-07 02:59:16 +00:00
3f70695a41 ChangeLog update 2003-02-07 01:31:42 +00:00
James Cox 3d042cd923 adding news about moved ext 2003-02-06 22:38:09 +00:00
Tal Peer 724aeb8bac Moving fribidi to PECL 2003-02-06 22:23:21 +00:00
Sara Golemon 874661a66e bc_raise() can return a scale lower than that passed into it. While most other bcmath calls won't, it's safest to do a quick check that we're only
reducing n_scale, not increasing it.
2003-02-06 22:18:41 +00:00
Ilia Alshanetsky dc052fe0e5 Fixed bug #19506 (get_extension_funcs() can now retrieve a list of built-in
Zend Engine functions, if "zend" is specified as the module name).
Made get_extension_funcs() on failure.
2003-02-06 20:21:02 +00:00
Marcus Boerger fb44f1e0fb Rewrite/add some stuff 2003-02-06 20:10:52 +00:00
foobar 20f9b6d02c - Fixed bug #22088 (array_shift() leaves next index to be +1 too much) 2003-02-06 15:27:53 +00:00
foobar 073a80fbcc fix the test 2003-02-06 15:22:41 +00:00
foobar 102f8cf4c1 Added testcase for bug #22088 2003-02-06 15:04:53 +00:00
e0f41c9fda NEWS update 2003-02-06 01:33:12 +00:00
b43dd52dae ChangeLog update 2003-02-06 01:32:53 +00:00
Zeev Suraski b39b33c4c5 Fix the 2nd buglet in the error message :) 2003-02-06 00:39:58 +00:00
Zeev Suraski fc591167ad Fix check 2003-02-06 00:15:02 +00:00
Zeev Suraski 45c12359a9 Fix prototype (may have caused stack corruption) 2003-02-06 00:14:49 +00:00
Marcus Boerger 984cde3123 Add PPP method tests 2003-02-05 23:07:24 +00:00
Ilia Alshanetsky edde957038 New function news. 2003-02-05 17:57:31 +00:00
Ilia Alshanetsky f12a6b7663 Added array_walk_recursive() function that can apply array_walk recursively
to an array.
2003-02-05 17:56:08 +00:00
Zeev Suraski f660d28143 - read_property cleanup
- Implement unset/isset/empty for PPP
2003-02-05 14:27:30 +00:00
Zeev Suraski 17439aa9c4 Rework static class properties - now supports access restrictions 2003-02-05 13:35:52 +00:00
Zeev Suraski 376d63170b Add quick_exists() 2003-02-05 13:19:59 +00:00
Zeev Suraski da12870c68 Add PPP support for arrays 2003-02-05 09:41:31 +00:00
Wez Furlong 20d886da50 Credits for iconv 2003-02-05 08:15:07 +00:00
Wez Furlong f70cf60a16 Mark activescript sapi as experimental, so that the installer can
categorize it appropriately.
2003-02-05 08:12:58 +00:00
Zeev Suraski ef77e582f5 Fix buglet in error message 2003-02-05 07:46:13 +00:00
Wez Furlong 3449f4f104 Check in the prototype PHP installer for win32.
# Besides looking nice and pretty, the installer is actually smaller
# than the .zip distro:
#   PHP 4.3.0 .zip distro:  5,950,222 bytes
#   PHP 4.3.0 installer:    5,426,242 bytes
2003-02-05 07:32:22 +00:00
1b63f56e0d ChangeLog update 2003-02-05 01:33:13 +00:00
Ilia Alshanetsky acc9c13c36 Build Fix. 2003-02-05 00:41:40 +00:00
Marcus Boerger ad7facdf2b # RTFM .. and then it goes better :-) 2003-02-05 00:35:20 +00:00
Marcus Boerger c1f0159d63 First step - abrief version.
@Added man page for CLI version of PHP. (marcus)
# I was also thinking about an author section with
# The PHP Group, Edin Kadribasic, Marcus Boerger, Rasmus Lerdorf,
# Stig Bakken and Zeev Suraski beeing mentioned. Group of corse and
# the rest is listed in php_cli.c.
2003-02-05 00:12:46 +00:00
Stig Bakken fdd9735359 * replace @bin_dir@ in pear.bat 2003-02-04 22:46:40 +00:00
Andi Gutmans 8603feb6fa - Please follow coding standards (this isn't java :) 2003-02-04 21:07:40 +00:00
Marcus Boerger 1af77be5fd fix ZTS build 2003-02-04 21:01:54 +00:00
Ilia Alshanetsky 13f8b211c4 Fixed compilation of Apache & Apache Hooks SAPIs. 2003-02-04 20:54:17 +00:00
Marcus Boerger afc673b61d remove it then....this forces to put work in man page ... 2003-02-04 20:52:13 +00:00
Sara Golemon 3eab32163c Bug#13551 bcmath functions should not apply scale to arguments, only to result 2003-02-04 19:03:30 +00:00
Ilia Alshanetsky a89a651a46 Made the row parameter in pg_result_seek() non-optional, the current
implementation would result in random behavior if the 2nd argument is not
passed.
Fixed bug #22042 (pg_result_seek() would never seek to the 1st row in the
result due to always seeking to row next to the one requested).
Removed dead code from pg_result_seek().
2003-02-04 18:34:00 +00:00
Zeev Suraski e1179a4d40 Missing update 2003-02-04 14:12:59 +00:00
Zeev Suraski 3a1a209baf Updates reflecting infrastructure changes 2003-02-04 13:12:48 +00:00
Zeev Suraski 471947b188 Reimplement PPP properties 2003-02-04 12:12:34 +00:00
Uwe Steinmann be3908cc8e - fixed some prototypes and folding 2003-02-04 10:57:35 +00:00
Uwe Steinmann e27c4c622e - fixed prototype of pdf_get_buffer() 2003-02-04 10:23:12 +00:00
foobar b070348672 NEWS ordering.. 2003-02-04 10:08:41 +00:00
a54609dc05 NEWS update 2003-02-04 01:32:24 +00:00
ccb1235482 ChangeLog update 2003-02-04 01:32:15 +00:00
Hartmut Holzgraefe 2546f09b08 proto-fix 2003-02-03 23:36:19 +00:00
Ilia Alshanetsky 0d2368554a Fixed bug #22017 (non descriptive error to appear when timestamp passed to
date() has value < 0. Win32 does not support timestamps prior to midnight
(00:00:00), January 1, 1970).
2003-02-03 22:48:26 +00:00
Ilia Alshanetsky d89c38961b Make putenv() return a proper error rather then NULL when invalid argument
is passed.
2003-02-03 21:48:36 +00:00
Ilia Alshanetsky 065e4d6550 Fixed bug #22022 (Crash in imap_mail_compose() if the body is an empty array). 2003-02-03 21:24:32 +00:00
Ilia Alshanetsky b0924da0cf Fixed bug #22031 (Made curl_write() & curl_write_header() binary safe). 2003-02-03 20:56:23 +00:00
Moriyoshi Koizumi 47f6ed8dbb Trivial test adjustment 2003-02-03 20:29:07 +00:00
Moriyoshi Koizumi 0ae9394c39 zend_get_parameters_* => zend_parse_parameters 2003-02-03 20:25:25 +00:00
foobar 591c485045 Fix bug: #22035 (EXTRA_LDFLAGS for AIX not correct) 2003-02-03 17:35:10 +00:00
foobar 07a9729071 - Fixed bug: #21998 (array_pop() did not reset the current array position)
# This behaves now same as in PHP 4.2.3
2003-02-03 16:57:02 +00:00
foobar 7147949a4e Correct description of the problem 2003-02-03 16:52:04 +00:00
Moriyoshi Koizumi a4fe845aba Really fixed proto.
# sorry for messing
2003-02-03 16:46:45 +00:00
Moriyoshi Koizumi 2a92efdaf9 Oops! wrong commit. Reverting... 2003-02-03 16:45:56 +00:00
Moriyoshi Koizumi e58e11743a Fixed proto 2003-02-03 16:44:28 +00:00
Moriyoshi Koizumi e2c4dffae0 Modified the test so it will be skipped under ZE1.
Thanks Kai
2003-02-03 16:38:22 +00:00
Moriyoshi Koizumi 0eb1c407b2 Added missing "?>" 2003-02-03 16:33:13 +00:00
Moriyoshi Koizumi e5a4b5b2dc Fixed test case for mb_strpos().
# the third parameter should specify an offset but an encoding name
2003-02-03 16:16:37 +00:00
foobar 8040659c00 Make these configure messages differ from the regular apache configure 2003-02-03 15:42:11 +00:00
Moriyoshi Koizumi aded4d818a Added test case for bug #21961 2003-02-03 14:02:21 +00:00
foobar be83a02b8c This cause some warning/error in AIX 2003-02-03 13:08:08 +00:00
foobar 173b9493e2 Fixed bug: #22011 (-n must ignore all ini files) 2003-02-03 12:25:28 +00:00
Derick Rethans db0897161c - Make VIM highlighting happy 2003-02-03 12:14:13 +00:00
foobar 8e673a3fa0 Test that libgds actually exists. 2003-02-03 11:45:44 +00:00
foobar 1887456484 ws 2003-02-03 09:55:09 +00:00
Sebastian Bergmann 0026239c6a Build fix. 2003-02-03 09:42:53 +00:00
Sebastian Bergmann b4cfff0403 Fix ZTS build. 2003-02-03 07:41:05 +00:00
foobar bb97dfaccb Added test for bug #21998 2003-02-03 06:43:08 +00:00
Stig Bakken 427fafaac0 * 1.1 release notes update
* added some <provides> elements
2003-02-03 02:55:47 +00:00
Stig Bakken e756a253d9 * start using the source tokenizer 2003-02-03 02:54:39 +00:00
95613086e1 NEWS update 2003-02-03 02:21:52 +00:00
c1ca3a801f ChangeLog update 2003-02-03 02:19:31 +00:00
Stig Bakken 1e14f2de8b * substitute @php_dir@ in pear.in 2003-02-03 01:00:10 +00:00
Marcus Boerger 63d4f31604 - Added -B, -F, -R, -E for line by line std in processing.
- Added some error messages.
- Added more -h info.
@Added command line parameters -B, -F, -R and -E which allow to process
@stdin line by line (See php -h for more). (marcus)
#This allows to simply complex command line constructs...
2003-02-03 00:22:28 +00:00
Harald Radi c4528f82a0 extend the parameter parsing API by two functions
for parsing method parameters with automatic
detection if the function was called as such or as
a class method (with a valid this ptr).
if called as a function the first parameter has to be
the object it is operating on, if called as a method
this is used.

#not yet testet, only commiting so that georg can
#continue working on ext/mysqli
2003-02-02 23:30:14 +00:00
Ilia Alshanetsky ccf8365baa Fixed bug #22021. 2003-02-02 23:09:24 +00:00
Ilia Alshanetsky 923ae6ca3e Gave the user the ability to specify encoding of the request.
Patch by jens@mermaidconsulting.dk.
2003-02-02 20:56:51 +00:00
Ilia Alshanetsky 87a113f5c1 Fixed build on Solaris (patch by Melvyn Sopacua). 2003-02-02 20:26:46 +00:00
Sebastian Bergmann 7ed0972683 Fix warning. 2003-02-02 18:50:42 +00:00
Zeev Suraski 31196cf679 whitespace 2003-02-02 16:29:42 +00:00
Zeev Suraski 61bd944b32 Core rearrangements - move Zend Objects specific code to their
specific implementation file
2003-02-02 16:17:25 +00:00
Zeev Suraski 53060ef869 Fix phpinfo() display of Zend extensions 2003-02-02 15:53:04 +00:00
Andi Gutmans 87f4472afb - Fix warning 2003-02-02 05:20:31 +00:00
Marcus Boerger 1d9477f386 - new xbm support
@Added XBM support for bundled gd library. (marcus)

# It was enabled by the last commit and fixed by this one.
2003-02-02 01:34:54 +00:00
28f76a2a4d NEWS update 2003-02-02 01:34:05 +00:00
af2bfa03bf ChangeLog update 2003-02-02 01:33:42 +00:00
Marcus Boerger 3e675c1cf4 avoid warnings 2003-02-01 23:38:29 +00:00
Marcus Boerger 07246c2f99 Bundled version has XBM support as well as external.
# Now fix the shit behind it...
2003-02-01 23:25:14 +00:00
Marcus Boerger 129bd74b45 Show if XPM support is available & Set availability bit only when available. 2003-02-01 23:23:59 +00:00
Marcus Boerger 27ccc66518 @Added XBM support for GetImageSize(). (helly) 2003-02-01 23:14:13 +00:00
Marcus Boerger 895c27d3fc Change DBM detection order 2003-02-01 22:19:04 +00:00
Marcus Boerger 0319e63775 - unify configure mechanisms (include file handling)
- fix dbm
- allow dbm to be based on gdbm
2003-02-01 18:59:59 +00:00
Melvyn Sopacua c4eecf9199 Make it easier to diff results of several runs in one day. 2003-02-01 13:28:32 +00:00
foobar 9cff741d04 Correct required mcrypt version 2003-02-01 12:49:35 +00:00
Melvyn Sopacua 6f20f44712 Fix Bug #21892 (links to apache2 install instructions missing)
# and stop nicos from bitching
2003-02-01 11:18:53 +00:00
Martin Jansen 447bd814a2 * displayLine() is deprecated, so better use displayError() here. 2003-02-01 09:36:17 +00:00
Sebastian Bergmann 729e470ced Fix build. 2003-02-01 07:32:09 +00:00
Wez Furlong 84f83e8559 Don't assume that objects have class entries (in the ZE1 sense) when
determining the class name.
Additionally, don't assume that objects have a properties hash either.
2003-02-01 03:52:31 +00:00
foobar 333406bdc2 - Added some missing CVS $Id$ tags, headers and footers. 2003-02-01 01:49:15 +00:00
bdb1c0cf86 ChangeLog update 2003-02-01 01:32:52 +00:00
Melvyn Sopacua f20d394e2d Require 2.5.6+
MFB: Be -ltdl aware
2003-01-31 23:01:36 +00:00
Ilia Alshanetsky 31a3135014 Fixed bug #21986 (openssl test failure). 2003-01-31 22:15:56 +00:00
Marcus Boerger 0629bdb061 Shared dba requires at least db-3.3 2003-01-31 20:06:44 +00:00
Marcus Boerger 037986db20 Fix proto 2003-01-31 19:12:23 +00:00
Frank M. Kromann b079cc2af5 Rename script.
Add check for CLI version
2003-01-31 18:51:28 +00:00
Sascha Schumann bea6ff5183 Unbreak $Id tag 2003-01-31 16:24:12 +00:00
foobar 190db955ba Moved these entries to PHP_4_3 branch NEWS (for 4.3.1) 2003-01-31 14:23:18 +00:00
foobar e9a132f223 No c++ comments.. 2003-01-31 14:18:50 +00:00
Moriyoshi Koizumi b00cc4f2bb Fixed a mb_send_mail() bug that has been reported in php-i18n@lists.php.net
See http://lists.php.net/article.php?group=php.i18n&article=427
2003-01-31 14:15:49 +00:00
Sascha Schumann 9233627887 Remove obsolete warning 2003-01-31 07:44:17 +00:00
Sara Golemon 81797baed4 Add ftp_raw() to send raw command strings to an FTP server. 2003-01-31 04:54:57 +00:00
Frank M. Kromann ff605d071f Use platform specific extension. 2003-01-31 03:45:13 +00:00
Frank M. Kromann 04abd3af69 Dtandard visual studio project for ext_skel 2003-01-31 03:44:55 +00:00
Frank M. Kromann 941dc7260d Wrapper script to use ext_skel on Win32 2003-01-31 03:44:20 +00:00
9e95db3769 ChangeLog update 2003-01-31 01:33:19 +00:00
Ilia Alshanetsky 7a3c54fc36 Fixed compiler warning regarding signed/unsigned int comparisons. 2003-01-30 23:36:08 +00:00
Ilia Alshanetsky 242a9a47c7 Fix compiler warning. 2003-01-30 22:37:50 +00:00
Marcus Boerger 302f97abbc Revert this part, the new one adds more problems than it solves. 2003-01-30 21:36:05 +00:00
Sascha Schumann 4cf174cbd4 Fix sticky EOF problem
Sometimes streams signal a temporary EOF, because all current data
has been consumed. But that does not preclude the possibility that
more data will become available later.

Thus we must not treat eof in the read path as final.

Now, "tail -f" like scripts work again.
2003-01-30 21:06:34 +00:00
Sara Golemon 65146ceb26 Unify str_replace and str_ireplace using INTERNAL_FUNCTION_PARAM_PASSTHRU -- reduce codebase/maintenance complexity 2003-01-30 20:09:19 +00:00
foobar 21803056b5 fix bug: #21945 (zts build failed) 2003-01-30 19:30:13 +00:00
Marcus Boerger f2ff4678cd Allow to link against chosen modules correctly 2003-01-30 18:28:42 +00:00
Sara Golemon 37ff98978b Feature Request # 5919 - Addition of str_ireplace()
Also removed deprecated BM str replace menthod
Also rewrote php_str_to_str to use more processor/memory efficient method (ilia)
2003-01-30 05:00:41 +00:00
Harald Radi 54c73d1ccb fix non-zts build for wez 2003-01-30 03:15:52 +00:00
Ilia Alshanetsky 453368afdf Removed pointless checks. 2003-01-30 02:33:16 +00:00
e3672e49fc ChangeLog update 2003-01-30 01:32:27 +00:00
Ilia Alshanetsky 62db0b4854 Fix ZTS build. 2003-01-30 00:44:56 +00:00
Stig Bakken 9c5ff64992 * Windows fix (thanks to paj) 2003-01-29 21:42:54 +00:00
Ilia Alshanetsky ebf13bc940 Added sanity checks. 2003-01-29 19:33:38 +00:00
Maxim Maletsky 808cb3ad74 Added myself to the maintainers list. 2003-01-29 18:31:48 +00:00
Stanislav Malyshev 03f88ac2b2 Add additional stage to post-session cleanup.
We need separate cleanup stage because of the following problem:
Suppose we destroy class X, which destroys function table,
and in function table we have function foo() that has static $bar. Now if
object of class X was assigned to $bar, its destructor will be called and will
fail since X's function table is in mid-destruction.
So we want first of all to clean up all data and then move to tables
destruction.
Note that only run-time accessed data need to be cleaned up, pre-defined
data can not contain objects and thus are not probelmatic.
# Looks like we are having a lots of pain in the various parts of the body
# because of the destructors...
2003-01-29 17:54:48 +00:00
Edin Kadribasic 6b203c70a3 Be more consistent with the sapi internal name. 2003-01-29 15:41:42 +00:00
Edin Kadribasic ca0b63e420 Enable embedded code using sapi/embed to use dl(). 2003-01-29 15:39:10 +00:00
Zeev Suraski 4b97a8dffd Code rearrangements 2003-01-29 15:02:57 +00:00
Stanislav Malyshev f73def91ed Fix object destructors:
zend_objects_store_call_destructors is not used anymore, we rely on
symbol tables cleaners to destroy all objects.
2003-01-29 14:33:18 +00:00
Stanislav Malyshev 683cf733bd extra safety 2003-01-29 14:27:40 +00:00
Stanislav Malyshev 123d8f782f fix memory leak 2003-01-29 14:25:53 +00:00
Zeev Suraski 8f52bf6835 Fix assignments to $this.
Fixes the 'make install' problem reported on php-dev
2003-01-29 08:55:12 +00:00
foobar 5c81fcfe70 NEWS police is back. 2003-01-29 07:50:09 +00:00
b98d46baf2 ChangeLog update 2003-01-29 01:31:55 +00:00
Harald Radi f8e014b228 MFPHP_4_3 2003-01-29 00:49:09 +00:00
Ilia Alshanetsky e6170c0b30 Added part of strpos commit that never made it in for some reason.
# Thanks Pollita.
2003-01-29 00:07:01 +00:00
Ilia Alshanetsky 835e6481e4 Fixed bug #17868 (more then the <!--include--> directive used to include
a PHP file would result in a crash).
2003-01-28 16:34:21 +00:00
Derick Rethans 1ca8d7d4c3 - Fix includes 2003-01-28 16:05:34 +00:00
Ilia Alshanetsky 4fe6fc8b0b Fixed compiler warning. 2003-01-28 16:04:10 +00:00
Edin Kadribasic 5b387760de Call correct module startup function (not a hard coded one) allowing
startup override.
2003-01-28 13:54:42 +00:00
Zeev Suraski 49fd225238 Fix a ticks related crash 2003-01-28 11:34:24 +00:00
Zeev Suraski 9f1516f556 Get rid of php4ts.dsw - replaced by php5ts.dsw 2003-01-28 11:22:44 +00:00
foobar 20c43285f7 - Fixed bug: #13561 (--without-pear prevents install of phpize, php-config) 2003-01-28 10:59:12 +00:00
foobar 41d6e9af8d Fix configure. (typo?) 2003-01-28 10:55:36 +00:00
Edin Kadribasic c8eb148368 Expose php_embed_module struct (and make Wez happy). 2003-01-28 10:49:56 +00:00
Melvyn Sopacua ac3dc9d95e Fix parse error and edink's fear of bison errors 2003-01-28 10:04:17 +00:00
Zeev Suraski 6155a1fa24 Allow methods in parent classes to call protected methods in derived
classes
2003-01-28 09:44:18 +00:00
foobar 68ffe71a12 fix some typos 2003-01-28 06:56:32 +00:00
foobar c96fe825b8 fix typo 2003-01-28 06:52:09 +00:00
Marcus Boerger 1ab64d2b96 - fix this: els is optional but may not be empty 2003-01-28 06:27:01 +00:00
Frank M. Kromann 0e38fedcd7 Fix the setting of computer name and processor type for php_uname() on Win32 2003-01-28 05:02:12 +00:00
foobar 9a0f98869c - Removed unnecessary makedist.ZendEngine2
- Modified makedist to use php5 CVS module (alias)
2003-01-28 02:49:35 +00:00
Ilia Alshanetsky 2d0f432490 Added scandir() function, which allows quick retrieval of all files &
directories within the specified path and sort the output in alphabetical
or reverse alphabetical order.
2003-01-28 01:48:57 +00:00
38a3f33625 NEWS update 2003-01-28 01:34:15 +00:00
90f9f62665 ChangeLog update 2003-01-28 01:33:49 +00:00
Ilia Alshanetsky d92a1f4dc1 Fixed win32 build (bug #21506).
Fixed a bug that would cause garbage data to appear at the end of the
loaded apache modules list in phpinfo().
2003-01-28 01:25:34 +00:00
foobar 946032f40b - Cleaned up and made less error-prone
- Changed --enable-mime-magic -> --with-mime-magic[=FILE] to allow
  specifying of the file during configure.
2003-01-28 01:00:15 +00:00
Ilia Alshanetsky b9a7918c43 2nd part of Sebastian's patch. 2003-01-28 00:42:54 +00:00
Edin Kadribasic 7c283f80be Adding new files to the project.
# First half of Sebastian's patch, Ilia will commit the second part shortly
2003-01-28 00:32:15 +00:00
Marcus Boerger 2b5a5ca669 - fix "--without-flatfile"
- simplify Berkley DB verison check
2003-01-28 00:10:05 +00:00
Ilia Alshanetsky d59d500af7 Moved the scandir code into it's own files so that it can be used by other
OSes where libc does not have a native scandir() implementation.
2003-01-27 20:39:31 +00:00
Maxim Maletsky e4ec7372e9 This fixes "warning C4101: 'charsetid' : unreferenced local variable" on VC6 2003-01-27 20:05:48 +00:00
Maxim Maletsky 897a708c87 @- Fixed bug #17448 (Print the message when OCI_SUCCESS_WITH_INFO is returned).
(Maxim)
2003-01-27 19:52:11 +00:00
Sara Golemon d0cb097c52 Fix potential buffer overflow. 2003-01-27 19:51:50 +00:00
Ilia Alshanetsky 9bb3dc6903 Removed pointless checks. 2003-01-27 17:22:22 +00:00
Edin Kadribasic c7441b2379 Fixed bug #21597 (made glob() understand windows paths) 2003-01-27 16:29:47 +00:00
Stanislav Malyshev 3a4ace13b4 Replace MAKE_VAR opcode with special 'data' opcode
This opcode is not executeable but only holds data for opcodes
that need more than two arguments (presently only ASSIGN_OBJ and the ilk but
in the future also ASSIGN_DIM)
2003-01-27 15:13:01 +00:00
Uwe Steinmann c375b0b05c - fixed several bugs in hw_document_xx() functions. The macro to access
the document was the same as for a link to the sever.
2003-01-27 09:11:17 +00:00
Sara Golemon 761fa96412 Feature Request #21748. Added function ftp_chmod(). 2003-01-27 02:54:12 +00:00
e9833ff497 ChangeLog update 2003-01-27 01:31:58 +00:00
Moriyoshi Koizumi 6174d2b446 Updated test so it describes the problem more clearly. 2003-01-27 01:15:14 +00:00
Stig Bakken d250e7ba9d * whoops, heritage shows through :) 2003-01-26 23:54:19 +00:00
Sascha Schumann 0ceb4a93b2 Replace snprintf() call using zend_error's capabilities 2003-01-26 23:15:30 +00:00
Marcus Boerger 494bec466b Simplify 2003-01-26 17:17:44 +00:00
Sander Roobol e9d0a58cb0 Fix build 2003-01-26 09:13:31 +00:00
Shane Caraveo 33ad63ef8c normalize CGI variables to the CGI spec
PATH_INFO and PATH_TRANSLATED are correct now
SCRIPT_FILENAME now contains the full path to the script
2003-01-26 03:39:50 +00:00
Shane Caraveo 82f6cef483 Fix broken build by adding scandir and alphasort for win32 2003-01-26 01:39:18 +00:00
436ad07b98 ChangeLog update 2003-01-26 01:32:24 +00:00
Sara Golemon 3ad9839f2f Feature Request #21784 Added: imagecolorallocatealpha (pollita@php.net,jasper@pointless.net) 2003-01-26 01:15:02 +00:00
Shane Caraveo 1a4c82e014 fix bug 21261
putenv on some platforms requires we provide the memory
    cleanup env parsing logic
fix bug 21367
    missed optargs in a previous patch
2003-01-25 22:01:53 +00:00
Ilia Alshanetsky 8d352d2dd6 Fixed bug #21625 (When scanning a directory for ini files, do so in
alphabetical order. This gives a user a way to control the order in which
the ini files are loaded).
Fixed a bug that would make the code try to read files without an extension
as ini files.
2003-01-25 21:13:00 +00:00
Marcus Boerger 564788b6f5 The builtin version was always used even if configured otherwise. 2003-01-25 19:46:58 +00:00
Marcus Boerger a7d10f8aa4 Bug #21751: Part one never let this happen again... 2003-01-25 19:45:11 +00:00
Ilia Alshanetsky ef021e8964 Removed unneeded code. 2003-01-25 18:55:07 +00:00
Hartmut Holzgraefe 974ff24e80 - mime file parser messages only with mime_magic.debug=On (default: off)
- fix docref URL in startup error messages
- show status in php info, either "enabled" or "..., disabled"
2003-01-25 16:25:37 +00:00
Hartmut Holzgraefe 6a4a858294 preparations for making magic file parser silent 2003-01-25 13:33:29 +00:00
Hartmut Holzgraefe f95759b36a suggesting a plain magic file insteat of a mime one is a bad idea 2003-01-25 10:51:04 +00:00
32d7d07c0e ChangeLog update 2003-01-25 01:31:13 +00:00
Stig Bakken dd22d65e2f * not a real test, just a script for displaying OS_Guess output 2003-01-25 00:45:13 +00:00
Stig Bakken d19bd6f12c * add glibc version detection for Linux 2003-01-25 00:44:41 +00:00
Stig Bakken a46aac36ec * typo 2003-01-25 00:38:00 +00:00
Ilia Alshanetsky efae1b9ace Fixed a typo. 2003-01-25 00:25:32 +00:00
Ilia Alshanetsky 758ea308a9 Fixed compiler warning. 2003-01-25 00:23:03 +00:00
Sascha Schumann 330740f7cd Remove ugly netware hacks from the code 2003-01-24 23:57:32 +00:00
Ilia Alshanetsky e10f20924e Removed unnecessary checks. 2003-01-24 22:58:46 +00:00
Dan Kalowsky b48d709746 Patch for bug #21844 2003-01-24 22:40:38 +00:00
Ilia Alshanetsky 383171b11b Fixed bug #21533 (a rare condition where error can remain undefined and
result in undefined behavior when it is used without being initialized).
2003-01-24 19:23:53 +00:00
Ilia Alshanetsky 417ba55c1f Fixed bug #21865. 2003-01-24 19:15:54 +00:00
foobar 142da0ed58 Fix bug #21795, Undeclared statement in oci8.c (OCI_ATTR_STATEMENT) 2003-01-24 17:51:19 +00:00
Ilia Alshanetsky 6efe008598 Fixed compile warning. 2003-01-24 16:45:34 +00:00
Ilia Alshanetsky d2162b32b1 Fixed compile warning. 2003-01-24 16:39:49 +00:00
Ilia Alshanetsky f163a4d16b Fixed a memory leak.
zend_error -> php_error_docref.
2003-01-24 16:34:20 +00:00
Ilia Alshanetsky 38ad0e9104 zend_error -> php_error_docref. 2003-01-24 16:29:40 +00:00
Ilia Alshanetsky 95bfbfe1c1 Fixed compile warning. 2003-01-24 16:23:11 +00:00
Andrey Hristov 600fce5890 Resolving problem on OSF1 and probably other
64 bit platforms. Thanks for the feedback of Magnus (novell kiruna se).
2003-01-24 13:18:08 +00:00
Andrey Hristov 1d0214bee4 Adding cast. 2003-01-24 12:19:59 +00:00
foobar 4dfc7cc87c - Fixed stupid typo..
# I will test before commit, I will test before commit...
2003-01-24 10:12:55 +00:00
foobar e771bdb23d Fixed bug: #20857, snmpset() fails 2003-01-24 09:52:46 +00:00
foobar 45f1f1711d ws fixes 2003-01-24 09:40:53 +00:00
foobar 84e5fcb5de MFB, removed unused GET/POST entries 2003-01-24 05:56:55 +00:00
Ilia Alshanetsky 4fde1b8de1 zend_error() -> php_error_docref(). 2003-01-24 05:21:08 +00:00
d3319d1b07 ChangeLog update 2003-01-24 01:32:58 +00:00
Moriyoshi Koizumi ad86154d90 Added test case for bug21849.phpt 2003-01-23 23:22:23 +00:00
Sebastian Bergmann 459fb4f319 TODO for PHP 5. 2003-01-23 23:22:01 +00:00
Moriyoshi Koizumi cfbd0bb58a Really fixed the mb issue of mb_ereg_replace()
# my previous patch is somewhat wrong
2003-01-23 20:38:44 +00:00
Moriyoshi Koizumi 3e7b832895 Fixed a mb_ereg_replace() bug; the function was not completely multibyte-safe. 2003-01-23 20:07:39 +00:00
Moriyoshi Koizumi d4f59af5be Fixed typo 2003-01-23 19:31:02 +00:00
Moriyoshi Koizumi 4199484313 Changed the test's file name as per the convention 2003-01-23 19:28:39 +00:00
Moriyoshi Koizumi 8dfb2df649 Renamed the test name as per the convension 2003-01-23 19:21:51 +00:00
Moriyoshi Koizumi 6fc22aa5d9 Test name formatting 2003-01-23 19:07:25 +00:00
Moriyoshi Koizumi 7abc6e4338 Made the test's name more descriptive 2003-01-23 19:00:06 +00:00
Moriyoshi Koizumi 0344311bde Removed pointless checks 2003-01-23 18:48:43 +00:00
Moriyoshi Koizumi 24ae309037 Added test case for bug #21732 2003-01-23 18:22:55 +00:00
Zeev Suraski 76c93412d3 Let the scope propagate to internal functions 2003-01-23 16:40:30 +00:00
foobar e1c985d9a7 Fix bug: #21817 (only enable this if --with-kerberos is used) 2003-01-23 16:29:49 +00:00
Zeev Suraski cee6216c4f Fix .dsp 2003-01-23 09:35:02 +00:00
foobar 9b2525f96e remove this stupid highlight which causes trouble. 2003-01-23 06:42:43 +00:00
foobar 04eca7536c MFB 2003-01-23 06:23:08 +00:00
foobar 895a3a109f Correct default path 2003-01-23 05:33:11 +00:00
foobar 7a93625e4c Fixed bug: #14542, register_shutdown_function() timeout problem 2003-01-23 05:15:42 +00:00
foobar 80923f933d Added test for bug: #21513 2003-01-23 03:28:41 +00:00
ae55ffe7bf ChangeLog update 2003-01-23 01:33:39 +00:00
Ilia Alshanetsky 6bf2ce3429 Removed non-needed code. 2003-01-22 22:07:22 +00:00
Anil Madhavapeddy dea44dfc9a typo 2003-01-22 20:41:28 +00:00
Frank M. Kromann 66ee5dfac2 adding missing zlib.lib and path to bindlib 2003-01-22 20:13:11 +00:00
Ilia Alshanetsky d24148f3d0 Fixed a crash when invalid color is passed to imagepstext(). 2003-01-22 19:53:29 +00:00
Stanislav Malyshev d433a62ef4 some small refinements for get_class_* 2003-01-22 14:55:01 +00:00
Ilia Alshanetsky 72cd67b3ca Fixed bug #21814 (Allow booleans to be used as array keys). 2003-01-22 14:48:30 +00:00
d4d46ac352 ChangeLog update 2003-01-22 01:33:11 +00:00
Moriyoshi Koizumi 812a419019 Oops! wrong patch. Reverted. 2003-01-21 22:09:09 +00:00
Moriyoshi Koizumi ce5df6d949 Fixed mb_ereg_replace() bug (the function has ignored the default option) 2003-01-21 22:03:29 +00:00
Moriyoshi Koizumi da45161bd2 Added test case for bug #21800 2003-01-21 19:38:08 +00:00
Moriyoshi Koizumi 9a723fcb4e Fixed mb_ereg_search() segfault that occurs when the function is called
before a string to be searched is passed by mb_ereg_search_init()
2003-01-21 19:31:07 +00:00
Andrey Hristov bd55130077 increasing readability. 2003-01-21 17:37:59 +00:00
Ilia Alshanetsky dc150fd2ea getParameters -> zend_get_parameters_ex. 2003-01-21 15:27:39 +00:00
Ilia Alshanetsky 8a9e09a44a ARG_COUNT(ht) -> ZEND_NUM_ARGS(). 2003-01-21 14:56:40 +00:00
Stig Bakken 832545d97f * PEAR_Error now supports exceptions when using Zend Engine 2. Set the
error mode to PEAR_ERROR_EXCEPTION to make PEAR_Error throw itself
  as an exception (invoke PEAR errors with raiseError() or throwError()
  just like before).
2003-01-21 13:32:34 +00:00
Sascha Schumann 294e776d95 add sapi_get_target_uid/_gid for obtaining information about the
non-privileged user the web server is running as.  this is useful
for creating shared memory segments which need to be accessed by
the child processes/threads.
2003-01-21 11:03:58 +00:00
foobar 961c9856ef Fixed bug: #21698, httpd.conf not modified with "make install" 2003-01-21 06:02:19 +00:00
Edin Kadribasic ceb597ea1a Added missing warning about experimental nature of sapi/embed. 2003-01-21 02:46:07 +00:00
Pierre Joye 9ad850637e Remove the (c), in the future, can we add PHP Licence terms for the new
functions ?
2003-01-21 02:10:19 +00:00
Pierre Joye 81c68ab8d5 Add credits to my functions (thx for the advice Wez&Ilia :) 2003-01-21 01:49:34 +00:00
88e5482def ChangeLog update 2003-01-21 01:33:07 +00:00
Sterling Hughes d3f04d8ecc fix by phanto to the cloning 2003-01-21 00:00:38 +00:00
Ilia Alshanetsky 053023a71e quota function fixes. Thanks Wez. 2003-01-20 21:28:09 +00:00
Ilia Alshanetsky 20925f97b9 Changed php_error to php_error_docref.
Removed pointless memory allocation checks.
Memory leak fix inside quota functions.
2003-01-20 19:41:58 +00:00
Moriyoshi Koizumi e3e364f77b Fixed bug #21758 2003-01-20 16:45:21 +00:00
Ilia Alshanetsky aa8b1d6db3 Restore php_error -> php_error_docref patch. 2003-01-20 16:15:18 +00:00
Sascha Schumann aca939a0ab test commit 2003-01-20 15:07:20 +00:00
Derick Rethans f1ba2137c0 - Add credits for Magnus 2003-01-20 12:34:07 +00:00
foobar f6cee90129 Add test for png.h 2003-01-20 10:39:29 +00:00
Mark L. Woodward 7eeea7e55d Updated for Msession 1.2.
Includes new APIs
2003-01-20 03:16:24 +00:00
11aebf74bb ChangeLog update 2003-01-20 01:32:16 +00:00
Ilia Alshanetsky 2292a652a6 ZTS fix. 2003-01-19 23:32:22 +00:00
Zeev Suraski 4c8473d619 relabel 2003-01-19 21:37:40 +00:00
Stanislav Malyshev dce8267f35 Restore for now old statics behaviour (so that indirect $$var references would work again). Comprehensive fix will follow later. 2003-01-19 17:25:39 +00:00
Moriyoshi Koizumi dfbfa1a36f Improved the patched part to prevent further potential bugs 2003-01-19 17:23:48 +00:00
Ilia Alshanetsky 2efab7a22a fixed typos 2003-01-19 15:01:34 +00:00
Derick Rethans 5eb912554d - Moved to http://qa.php.net/write-test.php 2003-01-19 14:22:19 +00:00
Harald Radi b51b6f0fbf ini patch to allow 'entry[] = value' entries 2003-01-19 12:18:46 +00:00
Harald Radi 697398e18e ini patch to allow 'entry[] = value' entries 2003-01-19 12:01:38 +00:00
Moriyoshi Koizumi a1e6457561 Fixed bug #21744(21741)
Added test case for the bug
2003-01-19 11:32:54 +00:00
Ilia Alshanetsky 1fe4990bc0 ZTS fixes. 2003-01-19 08:32:26 +00:00
Ilia Alshanetsky 2500199ae3 ZTS fixes. 2003-01-19 04:09:32 +00:00
309697edb2 ChangeLog update 2003-01-19 01:50:24 +00:00
Ilia Alshanetsky fec2af82b8 Changed php_error to php_error_docref.
Make mcal compile with ZE2.
2003-01-19 00:47:03 +00:00
Ilia Alshanetsky 3d8e54f3a2 Changed php_error to php_error_docref. 2003-01-19 00:45:53 +00:00
Derick Rethans add3ec4e0b s/4.4/5.0 2003-01-18 22:33:56 +00:00
Ilia Alshanetsky aebb39b014 Changed php_error to php_error_docref.
Thanks to Marcus Börger for writing a script that significantly simplifies
this process.
2003-01-18 21:31:11 +00:00
Ilia Alshanetsky b2ecf47755 Fixed bug #21732 (Added a sanity check, that prevents parameter mismatch). 2003-01-18 20:48:52 +00:00
Ilia Alshanetsky c794f2c710 Removed pointless memory allocation checks. 2003-01-18 20:27:05 +00:00
Ilia Alshanetsky 984c0918ab Removed pointless memory allocation checks. 2003-01-18 20:10:23 +00:00
Ilia Alshanetsky 71e9f8cdd5 Removed pointless memory allocation checks. 2003-01-18 20:01:46 +00:00
Ilia Alshanetsky 60af5507a5 Changed php_error to php_error_docref. 2003-01-18 19:57:25 +00:00
Ilia Alshanetsky 1ae3c0e66e Removed pointless memory allocation checks.
Changed php_error to php_error_docref.
2003-01-18 19:53:35 +00:00
Ilia Alshanetsky 7cc28802af Changed php_error to php_error_docref. 2003-01-18 19:51:21 +00:00
Ilia Alshanetsky a7b91019e9 Removed pointless memory allocation checks. 2003-01-18 19:49:28 +00:00
Moriyoshi Koizumi a395304c72 Added test case for bug #21094 2003-01-18 19:44:12 +00:00
Ilia Alshanetsky e2868b5788 Removed pointless memory allocation checks. 2003-01-18 19:41:56 +00:00
Ilia Alshanetsky 72b356c1bc Removed pointless memory allocation checks. 2003-01-18 19:28:10 +00:00
Moriyoshi Koizumi 94c25df592 WS 2003-01-18 19:26:01 +00:00
Ilia Alshanetsky b566ad5d1b Changed php_error to php_error_docref. 2003-01-18 19:20:02 +00:00
Marcus Boerger 9d02c2bd56 correct my fault here and documnet the sense of the test 2003-01-18 19:06:29 +00:00
Moriyoshi Koizumi 310397f2ee Fixed typo 2003-01-18 19:02:21 +00:00
Moriyoshi Koizumi 2aa7bf8d8b Added test case for bug #21730 2003-01-18 18:59:27 +00:00
Ilia Alshanetsky a3daf3bbe8 Additional memory allocation fixes by Marcus Börger. 2003-01-18 18:51:12 +00:00
Moriyoshi Koizumi e23fead99f Tons of WS fixes 2003-01-18 18:49:47 +00:00
Ilia Alshanetsky e0654de590 Removed the no longer needed memory allocation checks. 2003-01-18 18:32:19 +00:00
Moriyoshi Koizumi 21b4499953 Fixed bug #21726 and #21730 2003-01-18 18:31:13 +00:00
Andrey Hristov 309ef518fc Renamed get_memory_usage() to memory_get_usage() (per Andi's advice)
This doesn't break any BC.
2003-01-18 15:03:01 +00:00
Wez Furlong 7002a39f97 Fix potential problem for 64-bit architectures. 2003-01-18 14:10:22 +00:00
Derick Rethans 39aa3a5d98 - Fixed memleak in fscanf(). 2003-01-18 13:55:58 +00:00
Derick Rethans a50e9acd8e - Skip test if the function to test is not available
#- Perhaps we need some infrastructure for this...
2003-01-18 13:53:25 +00:00
foobar 83e9f23182 Fix bug: #21687, imap extension does not include gss authentication mechanism 2003-01-18 07:00:47 +00:00
aba4c07be1 ChangeLog update 2003-01-18 01:33:47 +00:00
Harald Radi 46306a3212 export zend_objects_destroy_object()
static inline was meaningless anyways as the function
was only used as a callback handler and was never
called directly
2003-01-17 23:59:15 +00:00
Ilia Alshanetsky 054826b192 Added missing test result. 2003-01-17 23:57:43 +00:00
Moriyoshi Koizumi 0f714bc700 Bump year. 2003-01-17 22:54:47 +00:00
Moriyoshi Koizumi dc4cdaaf1b WS fix 2003-01-17 22:45:23 +00:00
Ilia Alshanetsky 833473d1de Removed pointless checks of array_init() return value. 2003-01-17 21:37:56 +00:00
Harald Radi 5795ed62f4 make std_object_handlers struct available for shared modules 2003-01-17 21:16:12 +00:00
Moriyoshi Koizumi f71ef5e091 Fixed a quoted printable decoder so that it would conform to RFC2045. 2003-01-17 20:00:31 +00:00
Andrey Hristov 6c843d1431 Moved to C style comments.
Last time forgot to convert the header files.
2003-01-17 19:35:13 +00:00
Sascha Schumann ebedf060a5 Fix POST handling once and for all. The daemon now never blocks and handles
uploads of up to 2GB on 32 bit platforms.

Uploads >16KB are put into a file-backed mmap area.

SG(request_info).content_type got corrupted somewhere. As a workaround,
we provide SAPI with a duplicate of the original string.
2003-01-17 18:53:22 +00:00
Marcus Boerger 973c5fa1ec fix jp2 detection and add testfile 2003-01-17 18:51:30 +00:00
Ilia Alshanetsky 169eb85e0a Syncronize bundled GD library with latest GD (2.0.11). 2003-01-17 18:34:07 +00:00
Derick Rethans cce2ffed8a - Fixed a bug that made that no newline was displayed when there was no value
for a row.
2003-01-17 18:07:10 +00:00
Andrey Hristov 7dd7b03aa8 Removed pointless checks around array_init(). 2003-01-17 16:33:01 +00:00
Ilia Alshanetsky fb6517e8ab Fixed memory leaks in imap_get_quota & imap_get_quotaroot.
Removed pointless checks around array_init().
2003-01-17 16:07:39 +00:00
Moriyoshi Koizumi f94cbfe52b Significant speed enhancements. I was underestimating the power of recent
CPUs :)
2003-01-17 09:04:02 +00:00
Sebastian Bergmann 0e178230b2 Move ZEND_ENGINE_2 check to where it is defined. 2003-01-17 06:15:24 +00:00
fc8d5c784d NEWS update 2003-01-17 01:37:02 +00:00
08c11f2931 ChangeLog update 2003-01-17 01:36:11 +00:00
Harald Radi 914cf3c0f8 move the ZE2 check into internal_functions_win32.c 2003-01-16 22:09:58 +00:00
Harald Radi 77f7ae3814 revert previous commit 2003-01-16 22:08:00 +00:00
Harald Radi 76adb58b7a unbreak the build 2003-01-16 21:52:06 +00:00
Ilia Alshanetsky 41092dbd8a Fixed bug #21651 (crash in pdf_open_memory_image() when inserting a
non truecolor image).
2003-01-16 21:18:49 +00:00
Moriyoshi Koizumi 93481ce9b8 Finally fixed a qp encoder bug that line break characters that appear exactly
at the end of the chunk lost in the output.
# I bet no more problems will occur in quoted-printable encoder.
# But I recognised the counterpart is still buggy due to RFC2045-incompliance.
2003-01-16 20:59:07 +00:00
Marcus Boerger 1dabcd4dad - JPEG 2000 support 2003-01-16 19:46:12 +00:00
Marcus Boerger 8958762de6 - corrected error in file detection for very small files
- JPEG 2000 support, mostly Adam Wright <adam@elysium.ltd.uk>
@Enhanced jpeg 2000 support for GetImageSize(). (marcus, Adam Wright)
2003-01-16 19:45:26 +00:00
Harald Radi b1613e16f2 change library name 2003-01-16 18:53:45 +00:00
Harald Radi f390fbb92a update skeleton 2003-01-16 18:46:59 +00:00
Harald Radi 4024425e8e fix path to config.w32.h 2003-01-16 18:25:59 +00:00
Harald Radi dd67c075bc add COM 2003-01-16 18:17:48 +00:00
Harald Radi 7c0e7b4fe8 prevent HEAD + ZE1 builds and add COM 2003-01-16 18:16:50 +00:00
Harald Radi 5aae306f96 for those who prefer to have com as a shared lib 2003-01-16 18:15:44 +00:00
Harald Radi 7f127a22df make layers loadable as self-sustaining php extension
which registeres itself in the rpc framework.
2003-01-16 17:49:22 +00:00
Dan Kalowsky dacf98c86f typo corrected 2003-01-16 16:42:25 +00:00
Dan Kalowsky ae8f64e325 Adding in test ability for WIndows to fetch_objects 2003-01-16 16:27:31 +00:00
Edin Kadribasic d4e143b8be Fixed bug #21648 2003-01-16 13:19:50 +00:00
Sascha Schumann db8b4c6762 Add INI setting session.hash_bits_per_character which enables developers
to choose how session ids are represented, regardless of the hash algorithm.
2003-01-16 07:21:49 +00:00
Ilia Alshanetsky 4e53357e9b Fixed bug #20079 (made ora_logoff return TRUE on success). 2003-01-16 02:53:44 +00:00
7f3b79adc5 ChangeLog update 2003-01-16 01:33:30 +00:00
Ilia Alshanetsky 12d2b01a25 Fixed bug #20933 (isset/empty didn't work when used on string offsets). 2003-01-16 00:44:17 +00:00
Edin Kadribasic 46303d75be Added some missing modules. Removed some that are built in or moved to
ext/rpc.
2003-01-15 22:19:46 +00:00
Sascha Schumann 6f4333c7ae scrap STANDARD_SAPI_MODULE_PROPERTIES; it is causing more harm than good 2003-01-15 21:13:01 +00:00
Andi Gutmans e5afca38b6 - Revert int -> unsigned int change for str.len 2003-01-15 20:35:06 +00:00
Ilia Alshanetsky 1351f42efc More build fixes. 2003-01-15 19:36:13 +00:00
Sascha Schumann 7431b52291 Revert commit which turned the lengths of strings into zend_uint. 2003-01-15 19:10:14 +00:00
Wez Furlong a3a2dcd8a9 Relieve scripts of the burden of ensuring that all pipes are closed prior
to calling proc_close().
Implement proc_get_status(resource $process) which returns an array of
information about a process created with proc_open().
The information includes:
array(
	"command" => string "name of the command",
	"pid" => long process identifier,
	"running" => bool true if the process is still running
	"exitcode" => long exitcode if the process exited
	"signaled" => bool true if the process was signaled
	"termsig" => long signal number if signaled
	"stopped" => bool true if the process is stopped
	"stopsig" => long signal number if stopped
);
2003-01-15 18:54:03 +00:00
Ilia Alshanetsky d4f73f8da6 Fixed a typo. 2003-01-15 17:22:03 +00:00
Sebastian Bergmann be3427e4f0 Define PHP_CAN_SUPPORT_PROC_OPEN. 2003-01-15 16:53:49 +00:00
Sebastian Bergmann 003ea0717e Add proc_open.c to project. 2003-01-15 16:48:46 +00:00
Wez Furlong 1a314027d3 - Move proc_open code to a source file of it's own.
- Tidy up that netware mess by performing a configure check which will
  define the symbol PHP_CAN_SUPPORT_PROC_OPEN if PHP can support proc_open.
- Protected the proc_open specific code with #ifdef PHP_CAN_SUPPORT_PROC_OPEN
  so that user-space scripts can use function_exists and react accordingly.

** Heads Up Win32: You need to add ext/standard/proc_open.c to the DSP and
** #define PHP_CAN_SUPPORT_PROC_OPEN in the w32 config header.
2003-01-15 16:29:00 +00:00
Ilia Alshanetsky ea0f37fc76 Build fixes. 2003-01-15 15:36:28 +00:00
Moriyoshi Koizumi fdf0768d4e Fixed a qp encoder bug that the constructor sometimes fails if
line-breaking mode is off.
2003-01-15 15:05:17 +00:00
Ilia Alshanetsky 475125ac25 Typo fixes. 2003-01-15 14:05:41 +00:00
Ilia Alshanetsky f704ac13a8 Fixed typo. 2003-01-15 14:02:11 +00:00
Ilia Alshanetsky 2b121d0b37 Various corrections. 2003-01-15 13:55:34 +00:00
Ilia Alshanetsky dbe5972a0d Fixed typos. 2003-01-15 13:50:54 +00:00
Ilia Alshanetsky e0e77d7d02 Typo corrections. 2003-01-15 13:48:07 +00:00
Sascha Schumann 0855c0b603 whitespace 2003-01-15 11:30:39 +00:00
Sascha Schumann 4668b7130b whitespace 2003-01-15 11:22:04 +00:00
Yasuo Ohgaki 345ada81c8 Fixed proto 2003-01-15 10:21:15 +00:00
Adam Dickmeiss f8b55fabc5 Fix functions comments (connection resource rather than connection id).
New functions yaz_set_option and yaz_get_option.
Cleanup in yaz_connect.
2003-01-15 08:00:44 +00:00
Adam Dickmeiss 701ab27de7 Fix lib config for the case where YAZ depends on multiple libraries 2003-01-15 07:57:52 +00:00
Ilia Alshanetsky fc9282c183 Kill compile warning. 2003-01-15 03:37:11 +00:00
Ilia Alshanetsky 299614ae16 Newer parameter parsing API. 2003-01-15 03:01:17 +00:00
Ilia Alshanetsky a354531144 Getting rid of the old API parsing code. 2003-01-15 02:54:54 +00:00
Ilia Alshanetsky c2d66fa8bf Changed php_error to php_error_docref.
Made use of the more recent parameter parsing API, zend_get_parameters*.
2003-01-15 02:49:38 +00:00
Ilia Alshanetsky ad42fba9fa Removed pointless checks around array_init() & ZE memory allocation macros.
Changed php_error to php_error_docref.
Dropped getParam* parameter parsing API in favor of zend_get_parameters*.
2003-01-15 02:31:16 +00:00
a34d4dc30e ChangeLog update 2003-01-15 01:34:55 +00:00
Ilia Alshanetsky a63b47cae0 This patch allows cpdf to be compiled in conjunction with ncurses, which was
not possible before due to conflicting defines.
2003-01-15 00:52:06 +00:00
Andi Gutmans c073b76aac - Change "is" to "instanceof" as it explains better what the operator means.
- "is_a" was also appropriate but ugly.
2003-01-14 21:29:23 +00:00
Ilia Alshanetsky e37aee1a34 Porting of patch applied to ext/xmlrpc. 2003-01-14 21:04:47 +00:00
Ilia Alshanetsky a0b3f822f7 Made the code use php_error_docref().
Removed pointless checks around array_init() and emalloc().
Switched to zend_get_parameters_ex() argument parsing API.
2003-01-14 21:02:14 +00:00
Andrey Hristov 05ff5da32b Migrated to C style comments. 2003-01-14 20:24:40 +00:00
Ilia Alshanetsky 74e34d1657 Changed getParameters() to zend_get_parameters_ex(). 2003-01-14 20:07:52 +00:00
Ilia Alshanetsky 1dbf11e1ba Fixed compile warnings. 2003-01-14 20:05:38 +00:00
Ilia Alshanetsky f12a4164a5 One more typo. 2003-01-14 20:02:42 +00:00
Ilia Alshanetsky 44c8927daf Fixed typos. 2003-01-14 19:59:48 +00:00
Moriyoshi Koizumi 3ae7d13bc9 Appended my name to the list of authors 2003-01-14 19:26:00 +00:00
Moriyoshi Koizumi ac66d4481e Test update for new feature 2003-01-14 19:25:10 +00:00
Ilia Alshanetsky cd267a3df4 Switched from old getParse* argument parsing API to a more recent
zend_get_parameters*.
2003-01-14 18:54:44 +00:00
Andrey Hristov 7866f02260 added function get_memory_usage(). available only when PHP is compiled
with --enable-memory-limit
2003-01-14 18:26:47 +00:00
Ilia Alshanetsky 62f7e27141 Fixed compile warning & removed useless variable. 2003-01-14 17:45:31 +00:00
Ilia Alshanetsky 7d14dae0bb Changed php_error to php_error_docref.
Got rid off the ancient getParameters* parameter parsing API.
2003-01-14 17:44:56 +00:00
Moriyoshi Koizumi e5c5412777 Added a new option "force-encode-first" to the quoted-printable encoder
as per Wez's request. If enabled, the encoder forcefully does qp
tranformation on every first character of lines in incoming stream.
2003-01-14 16:42:18 +00:00
Ilia Alshanetsky 4bc247553a Changed php_error() to php_error_docref().
Made pdfdoc retrieval a macro.
2003-01-14 15:15:53 +00:00
Moriyoshi Koizumi bde6801add Made php_quot_print_decode() RFC2045-compliant
# this function is only used in iconv extension and the corresponding
# userland function doesn't use it, so I don't see any BC issue here.
2003-01-14 15:14:11 +00:00
Stanislav Malyshev 5340b204ca fix memory leaks and key size 2003-01-14 15:12:35 +00:00
Edin Kadribasic 45e9f594bb MFB: bind_textdomain_codeset() availability on windows 2003-01-14 14:46:33 +00:00
Ilia Alshanetsky dff55752aa MFZE2 2003-01-14 14:21:45 +00:00
Derick Rethans 4ff9267143 s/gd/gd2 2003-01-14 13:55:00 +00:00
Stanislav Malyshev 67c50ee22a fix warning 2003-01-14 12:27:07 +00:00
Stanislav Malyshev eccc536883 Make add_property_ functions work via write_property handler 2003-01-14 12:15:09 +00:00
Stanislav Malyshev f30f3590a1 ws 2003-01-14 12:13:51 +00:00
Ilia Alshanetsky ad3b2ccec9 Reverting previous patch. 2003-01-14 02:41:47 +00:00
Ilia Alshanetsky 6fb507b53e Changed php_error to php_error_docref().
Removed pointless checks around array_init().
2003-01-14 02:39:10 +00:00
062942c4e9 ChangeLog update 2003-01-14 01:35:54 +00:00
Moriyoshi Koizumi a0be48c109 Fixed small memory leak that occurs when the invalid line length is passed
to the qprint ctor.
2003-01-14 01:27:57 +00:00
Moriyoshi Koizumi 121e625977 Fixed quoted-printable encoder so that it produces RFC2045 complicant
output. As per this specification requirement, the constructor now accepts
three options: binary (boolean), line-len (uint), line-break-chars (string).
2003-01-14 01:23:35 +00:00
foobar cabee3635f Fixed bug: #21543, Informix version detection fails 2003-01-13 23:31:13 +00:00
Frank M. Kromann d07dc0fc4c false should be VT_FALSE 2003-01-13 19:33:10 +00:00
Moriyoshi Koizumi e89bace72c Fixed typoFixed typoFixed typoFixed typoFixed typoFixed typoFixed typoFixed typo 2003-01-13 19:18:18 +00:00
Andrey Hristov 1cdc956637 added array_combine().
Creates an array by using the elements of the first parameter as keys and
the elements of the second as correspoding keys. Error is thrown in case
the arrays has different number of elements. Number of elements 0 is not
valid for both parameters.
2003-01-13 18:12:23 +00:00
Andrey Hristov ffeb57afb5 Modifying TS build.
Migrating to _ex API for hash traversal.
2003-01-13 16:39:16 +00:00
Ilia Alshanetsky 8e7df3fbf1 MFZE2 2003-01-13 16:34:19 +00:00
Edin Kadribasic 60cac99a71 Adjust paths for the new location of ext/rpc/java 2003-01-13 16:07:45 +00:00
Edin Kadribasic f09be34dd3 Adjust paths to the new location java.dsp 2003-01-13 15:15:24 +00:00
Edin Kadribasic 8dbbddfb54 Fix ZTS build here too.
#
# What is the correct location of XMLRPC extension?
# Can the reduntand one be removed then and the build system fixed
# to acommodate that.
2003-01-13 13:39:29 +00:00
Edin Kadribasic 8ef5a3d48e Fixed ZTS build. 2003-01-13 13:36:23 +00:00
Moriyoshi Koizumi 78f527e2b7 Fixed a silly segfault bug caused by lack of strict type checking 2003-01-13 11:00:22 +00:00
Sascha Schumann 726eb90bd5 which is not portable. use our bundled shtool instead. 2003-01-13 10:27:50 +00:00
Moriyoshi Koizumi ab71e2cbaa . Implemented a common filter parameter parsing function.
# For example "base64-encode.line-break-chars=--,base64-decode.blah=foobar"
# will be parsed and splitted into a zval array as
# array(2) {
#   ["base64-encode"]=>
#   array(1) {
#     ["line-break-chars"]=>
#     string(2) "--"
#   }
#   ["base64-decode"]=>
#   array(1) {
#     ["blah"] =>
#     string(6) "foobar"
#   }
# }
. Added automatic line-breaking feature for base64 encode filter. This
  can be turned on by putting a option entry "base64-encode.line-length"
  to the filter parameters.
2003-01-13 10:21:40 +00:00
Derick Rethans 2cbcb743d8 - Fix ZTS build 2003-01-13 08:19:50 +00:00
Andi Gutmans 94e6eb06dd - Don't check if the handle is bogus. We should crash. 2003-01-13 04:55:34 +00:00
aec08c6052 ChangeLog update 2003-01-13 01:34:00 +00:00
Moriyoshi Koizumi 22a6b8f1a4 Added test case for bug #21600 2003-01-12 23:56:04 +00:00
Harald Radi 58d3451c75 fix wrong dereferenciation 2003-01-12 21:59:57 +00:00
Moriyoshi Koizumi 1fec8e3d13 Fixed a bug of the base64 decoder that a sequence of intervening
characters that are supposed to be ignored by the decoder cause output
corruption.
2003-01-12 21:05:22 +00:00
Stanislav Malyshev 33b67ab868 fix inheritance 2003-01-12 18:57:18 +00:00
Stanislav Malyshev 98175957a7 ZE2 compatibility 2003-01-12 18:42:16 +00:00
Stanislav Malyshev 2ae8d124ce Remove handle_property from here too 2003-01-12 17:22:35 +00:00
Stanislav Malyshev d48ffd97d6 RIP handle_* functions. ZE2 will use __ handlers instead.
# Yes, I know this will break some things. I will fix those I can find shortly.
2003-01-12 17:16:07 +00:00
Sebastian Bergmann f37cb1c617 ZTS fixes. 2003-01-12 14:47:18 +00:00
Stanislav Malyshev a7e14749e7 Disable ZE2-incompatible parts
# This should be rewritten for ZE2 anyway...
2003-01-12 14:43:04 +00:00
Stanislav Malyshev 1b355e119e Move Z_OBJ_P here. 2003-01-12 14:39:45 +00:00
Stanislav Malyshev d27b3d3ad9 Remove Z_OBJ - it's internal to Zend objects, no generic function except
those in zend_object_handlers.c should use it.
Add Z_OBJ_HANDLER macro for easy access to handlers
2003-01-12 14:38:54 +00:00
Sebastian Bergmann 24db7f182a ZTS fixes. 2003-01-12 14:25:58 +00:00
Stanislav Malyshev 6cc7ee265c add get_class_name handler 2003-01-12 13:56:51 +00:00
Stanislav Malyshev bcc1e5a74e remove unneeded var 2003-01-12 13:50:17 +00:00
Moriyoshi Koizumi a88173bf86 Fixed infinite loop bug when an invalid quoted-printable escape sequence
appears in the streem.
2003-01-12 13:46:11 +00:00
Stanislav Malyshev 9bba373a17 Use generic handlers instead of Z_OBJ 2003-01-12 13:45:50 +00:00
Moriyoshi Koizumi b1e8631986 Fixed error msg format so it correctly reports the actual filter name 2003-01-12 13:41:35 +00:00
Sascha Schumann c79e780f5c recommending SHA-1 as hash function 2003-01-12 13:26:47 +00:00
Harald Radi 2f7f1dd1b8 #@!$$grml*$% 2003-01-12 13:18:05 +00:00
Harald Radi 13c2254e21 partially revert previous commit and
change zend_modules.h to include
a forward declaration to zend_ini_entry
2003-01-12 13:14:23 +00:00
Sascha Schumann 5a468ce877 sync entries 2003-01-12 13:09:54 +00:00
Sascha Schumann f2f1f94e36 add INI setting session.hash_function
add support for creating session ids using SHA-1
source more entropy for session ids
2003-01-12 13:07:14 +00:00
Sascha Schumann 0b8401bf27 handle ERANGE from strtol properly 2003-01-12 13:05:32 +00:00
Harald Radi 814045bba6 added zend_ini_entry to zend_modules_entry as
discussed with zeev
2003-01-12 13:00:28 +00:00
Harald Radi c37ee2a12a fix 'use of uninitialized variable' warning 2003-01-12 12:57:20 +00:00
Stanislav Malyshev 0ccbd37df7 validate handle 2003-01-12 12:56:04 +00:00
Moriyoshi Koizumi aa41ab285a . Updated quoted-printable filter by a neater implementation.
. Changed emalloc family functions to pemalloc ones for persistent filters.
. Changed base64 and quoted-printable filter names to "convert.base64-encode",
  "convert.base64-decode", "convert.quoted-printable-encode", and
  "convert.quoted-printable-decode" respectively for the consistency that
  may be requested later.
2003-01-12 12:48:13 +00:00
Derick Rethans 46a5371ecd - Update NEWS to show 5.0.0 2003-01-12 12:45:19 +00:00
Zeev Suraski 424e98f4e2 Implemented compatibility mode
To enable - zend2.implicit_clone = on in php.ini or using ini_set()
2003-01-12 12:39:06 +00:00
Jan Lehnardt c98f4e9f32 - fix typo 2003-01-12 11:42:29 +00:00
Sebastian Bergmann 17c1518792 Patch by Giuseppe Tanzilli <g.tanzilli@gruppocsf.com>. 2003-01-12 08:03:18 +00:00
Sebastian Bergmann a142ce729f Patch by Giuseppe Tanzilli <g.tanzilli@gruppocsf.com>. 2003-01-12 08:01:42 +00:00
Frank M. Kromann 874cddd4ae Release skiped results. This will free memory on the server.
Make mssql_execute work for stored procedures with and without returning result sets
2003-01-12 06:28:41 +00:00
091609d661 ChangeLog update 2003-01-12 01:31:51 +00:00
Ilia Alshanetsky c4088ce25b Do not 'convert' double columns to integers after the 1st row in the result
set.
2003-01-11 23:50:37 +00:00
Ilia Alshanetsky 48f2ad4703 Fixed handling of NUMERIC type, when it contains numbers that could
potentially exceed the interger limit.
2003-01-11 23:06:35 +00:00
Moriyoshi Koizumi 7fa0970567 Reverted because correct decision has not been made yet. 2003-01-11 23:05:19 +00:00
Moriyoshi Koizumi dd9b7f25cf This patch is likely to fix win32 build 2003-01-11 22:36:38 +00:00
Moriyoshi Koizumi b66b92e996 Reduced warnings in ZE2 build 2003-01-11 22:32:19 +00:00
Moriyoshi Koizumi dd2ad168e1 Reduced compiler warnings in ZE2 build 2003-01-11 22:17:37 +00:00
Andrey Hristov cd2ce96e03 reverting 2003-01-11 19:37:23 +00:00
Ilia Alshanetsky 8facc65202 Added stripos() & strripos() functions.
Added 3rd parameter (offset) to strrpos().
2003-01-11 17:52:38 +00:00
Andi Gutmans 76c663b321 - Fix typo and whitespace 2003-01-11 17:04:16 +00:00
Derick Rethans 2c44fab3a0 - Ported the zend_execute_internal hook to ZendEngine2. 2003-01-11 16:12:44 +00:00
Derick Rethans 6b7eaaa2c4 - Moving java and dotnet extensions to ext/rpc 2003-01-11 12:23:45 +00:00
Harald Radi c8d19858ac freed reader twice instead of writer and reader 2003-01-11 11:34:43 +00:00
Sebastian Bergmann 213b5abd06 Add missing ,. 2003-01-11 09:51:53 +00:00
Harald Radi 656ccddfce fix build 2003-01-11 08:59:37 +00:00
Sebastian Bergmann 02c1b1d8d2 Leftover. 2003-01-11 06:08:55 +00:00
a0055ba2e5 NEWS update 2003-01-11 01:34:56 +00:00
c5153b24c8 ChangeLog update 2003-01-11 01:34:28 +00:00
Ilia Alshanetsky 973937e7aa Fix the line numbering when the 1st line in the script is #!. 2003-01-11 00:20:50 +00:00
Harald Radi 5fc6842817 this is now implemented by the engine itself 2003-01-10 23:40:12 +00:00
Harald Radi fff34aa3be ext/com is not compatible with ZE2, the ZE2 version is located in
ext/rpc/com
2003-01-10 23:39:09 +00:00
Harald Radi c3867a7c8e HEAD defaults to build with ZE2 now 2003-01-10 23:36:18 +00:00
Frank M. Kromann 16cda12728 Fixing copy and paste errors 2003-01-10 19:33:31 +00:00
Frank M. Kromann c2e7158712 Avoid warnings when running stored procedures returning multiple results
before setting output and return values.
Additional results can be skipped by the optional parameter to mssql_execute
2003-01-10 19:23:36 +00:00
Ilia Alshanetsky 8c3b8d4fe6 MFZE2 2003-01-10 19:18:20 +00:00
Christian Stocker 9234916fc8 Throw error if object is not a XML_DOCUMENT_NODE in domxml_dump_node() 2003-01-10 18:07:36 +00:00
Andrey Hristov 53656f196b skipping unneeded copy 2003-01-10 17:39:10 +00:00
Andrei Zmievski efaa31e940 Automatically register constructor, destructor, and clone function when
class methods are registered.
2003-01-10 14:41:53 +00:00
Wez Furlong cf9f784ecd Fix the number format fix when the number of decimal places is 0.
# Thanks to Edin for his telepathy!
2003-01-10 13:32:24 +00:00
Derick Rethans 0988bc2ee6 - Fixed bug #20155: xmlrpc compile problem with zendengine2 (Path by Jan
Schneider)
@- Fixed bug #20155: xmlrpc compile problem with zendengine2 (Derick, Jan
@  Schneider)
2003-01-10 08:24:55 +00:00
Moriyoshi Koizumi 380928e6bf Reduced compiler warnings 2003-01-10 04:44:21 +00:00
Moriyoshi Koizumi 7ecd3ff91a Reduced compiler warnings 2003-01-10 04:37:26 +00:00
Moriyoshi Koizumi 6a1d69d4ba Added missing cast operators 2003-01-10 04:32:25 +00:00
Ilia Alshanetsky dee2d7fed7 Fixed ImageRotate when rotation angle is 90 degrees, patch by
leon@leonatkinson.com.
2003-01-10 02:00:39 +00:00
dd277cf2c7 ChangeLog update 2003-01-10 01:33:11 +00:00
Stig Bakken 3f09044ba6 * prepare 1.0.1 release 2003-01-10 01:24:56 +00:00
Stig Bakken 4a723721b9 * obey PHP_PEAR_INSTALL_DIR and PHP_PEAR_PHP_BIN environment variables 2003-01-10 01:16:23 +00:00
Stig Bakken 4cf28eb0fc * verbosity fix for cvstag and cvsdiff commands 2003-01-10 01:15:40 +00:00
Stig Bakken 26a472f767 * TODO item 2003-01-10 01:12:23 +00:00
Stig Bakken eaf21d230e * add "cvsdiff" command 2003-01-10 01:11:30 +00:00
Stig Bakken 95255fe5e1 * use getenv() instead of $_ENV[] 2003-01-10 01:11:00 +00:00
Ilia Alshanetsky 5413a66cbb CS fixes 2003-01-09 23:23:32 +00:00
Ilia Alshanetsky 3e5bbba351 Fixed a memory corruption that occurs when an unterminated " is encountered
this bug maybe be related to #21556.
2003-01-09 22:49:18 +00:00
Frank M. Kromann 8e0535bcd5 Adding extended checks for where FreeTDS is installed 2003-01-09 22:35:16 +00:00
Ilia Alshanetsky 9b560970f8 Fixed compiler warnings. 2003-01-09 22:33:43 +00:00
Sara Golemon 4d789b593f Bug #21531 file_exists() and other filestat functions throw errors when in safe mode and file/directory does not exist.
Extended php_checkuid function to add "flags" field via rename to php_checkuid_ex with alias for BC in functions that do want safe mode errors thrown.
2003-01-09 21:57:45 +00:00
Moriyoshi Koizumi 82c6d54517 Fixed typo 2003-01-09 20:23:36 +00:00
Wez Furlong 59e4fdcc10 Implement fprintf() and vfprintf().
Add a couple of tests.
2003-01-09 17:29:31 +00:00
foobar 32eb31719a Fix bug: #21511, config.status warning 2003-01-09 16:37:45 +00:00
Zeev Suraski 66d30a4966 Found some more occurences of that elusive bug... 2003-01-09 16:16:57 +00:00
Zeev Suraski ef6a44d15c Fix one lousy, annoying lurking bug (memory corruption)
Sebastian - try coWiki again please...
2003-01-09 16:10:33 +00:00
Wez Furlong d8fbd1acef Fix Bug #21523 - number_format could cause a memory allocation for a
negative memory size in situations where the sprintf implementation of the
host system generated less decimal places than were requested.

Resolved this issue by making number_format examine the string returned
by spprintf and have it pad to the correct number of decimal places.

Added a test-case based on the bug report; the length of decimal places
required to trigger this bug is sprintf implementation dependent; as the
implementation is now using spprintf (provided by PHP), that number is
78 digits (NDIG - 2).

# I played with the idea of enhancing sprintf to do the equivalent, but
# it was too much effort considering that the precision of floats/doubles
# is not good enough to warrant it.

# This fix could do with some QA from someone else to make sure there are
# no memory bounds problems and then MFH it to PHP_4_3
2003-01-09 15:44:49 +00:00
Zeev Suraski ace55f3251 Unify and make it easy to add code into the broken-string error handler 2003-01-09 15:32:22 +00:00
Stig Bakken f39c0ad2b6 * added debug_backtrace() support to PEAR errors 2003-01-09 15:14:23 +00:00
Stig Bakken 796083b936 * System::which() now checks .exe .bat .cmd and .com on Windows 2003-01-09 15:11:27 +00:00
Stig Bakken 239d203e4a * cleanups 2003-01-09 15:06:14 +00:00
Zeev Suraski 4bab4a7b55 Fix writability checks 2003-01-09 14:46:46 +00:00
Zeev Suraski d35ddb740e Time for an update 2003-01-09 10:03:26 +00:00
Zeev Suraski b817dab206 Fix leak 2003-01-09 09:22:44 +00:00
Frank M. Kromann b33fe2b2c6 Use the correct link when checking for more results on stored procedures 2003-01-09 08:19:41 +00:00
Frank M. Kromann 6660f8ae4e Restire BC for mssql_execute(). This will not break the new feature for handling
multiple results from a single stired procedure.
Adding mssql_free_statement()
2003-01-09 08:00:07 +00:00
Ilia Alshanetsky ef9ba94c8b Fixed bug #21529 (memory corruption by fsockopen()). 2003-01-09 03:33:15 +00:00
Frank M. Kromann 392e5013b4 changed from LVAL to RESVAL macro 2003-01-09 02:44:44 +00:00
7faaf86d3a ChangeLog update 2003-01-09 01:33:21 +00:00
Yasuo Ohgaki ae8db8c608 Adjust config.m4 for new build system and improve lib detection a little 2003-01-09 01:19:26 +00:00
foobar 66fd5008ab Fix the ZTS build. 2003-01-09 00:15:33 +00:00
Moriyoshi Koizumi 59393ef3ad Reimplemented base64 filter to use iconv()-like facility for flexibility.
# I'm leaving the code dirty & ugly prior to the discussion.
2003-01-08 23:44:38 +00:00
Frank M. Kromann 7cd7cad1b5 Changed global data type to avoid problems with initialization 2003-01-08 23:19:54 +00:00
Ilia Alshanetsky 072be90d6f Added support for WBMP images. 2003-01-08 20:36:03 +00:00
Ilia Alshanetsky 17e51c5946 Fixed bug #21518.
Fixed memory in leak ImageCreateFromString().
Fixed a bug that prevented proper identification of WBMP images and thus
prevented ImageCreateFromString() from working on those images.
2003-01-08 18:11:40 +00:00
James Cox 24d034251d cvs is dev not alpha. 2003-01-08 17:30:49 +00:00
Ilia Alshanetsky efcd8a7094 MFZE2 2003-01-08 16:41:47 +00:00
Zeev Suraski ada5c4009e Fix UMR 2003-01-08 13:28:16 +00:00
Georg Richter 5312594a27 fixed bug #21498 2003-01-08 11:00:06 +00:00
Ilia Alshanetsky 2d4a4a99d3 Removed unused variable. 2003-01-08 03:33:00 +00:00
Ilia Alshanetsky a7ac507ade Fixed bug #21499 (more descriptive message in the event of require/include
failure).
2003-01-08 02:44:09 +00:00
72479b90b3 NEWS update 2003-01-08 01:38:00 +00:00
87660b06f4 ChangeLog update 2003-01-08 01:34:57 +00:00
Ilia Alshanetsky 5de9962d50 Fixed bug #21297. The fix also fixes miscalculation of lines numbers by 1
due the previously mentioned bug.
2003-01-08 00:41:53 +00:00
Ilia Alshanetsky ac3e8601ae Version is char ;). 2003-01-08 00:38:36 +00:00
Christian Dickmann 26e393c69f fix default umask(); (thx to Mirco MEEBEY Bauer for bringing this behavior to my attention and testing the patch) 2003-01-07 23:12:06 +00:00
Dan Kalowsky 19b25ca5d2 Version tag for future move to PECL 2003-01-07 23:00:11 +00:00
Dan Kalowsky b89d9db706 Reverting last change as it really doesn't fix longreadlen problems in all
cases.
2003-01-07 22:56:58 +00:00
Moriyoshi Koizumi b064810550 Instances should not be freed in dtor()... 2003-01-07 22:53:42 +00:00
Moriyoshi Koizumi b86a4edeed Made error msg format more consistent 2003-01-07 22:52:24 +00:00
Pierre Joye a9999190c6 Fix line drawed twice (L. Atkinson) 2003-01-07 22:34:00 +00:00
Sara Golemon f4f313ff40 Backout changes between 1.6 and 1.7 2003-01-07 16:43:26 +00:00
Zeev Suraski 6591b9c826 Add missing call 2003-01-07 16:33:28 +00:00
Levi Dixon beb7476ba9 Added support for Shared Data Mode for OCI8_VERSION >= 8.1, which will provide memory savings by sharing common statement data 2003-01-07 15:55:59 +00:00
Edin Kadribasic 0c80cc9d20 #17098 was MFH'ed 2003-01-07 15:27:27 +00:00
Ilia Alshanetsky b1fab873c2 Added a check for availability of PCRE extension needed by test-suite. 2003-01-07 15:21:34 +00:00
Vincent Blavet 7121150e5f * Synchronize with /pear/Archive_Tar/Tar.php 1.5 :
- Add support for long filenames (greater than 99 characters)
  - Add private methods _readLongHeader() and _writeLongHeader()
2003-01-07 15:04:42 +00:00
Ilia Alshanetsky f7513855b3 Fixed ZTS build with ZE2. 2003-01-07 14:34:41 +00:00
Ilia Alshanetsky 928c260c57 ZTS cleanup. 2003-01-07 13:02:43 +00:00
Zeev Suraski e8de102cd6 Fix leaks 2003-01-07 12:11:40 +00:00
Zeev Suraski 651cea08f0 whitespace 2003-01-07 11:37:09 +00:00
Edin Kadribasic 6d55e3456f MFB:
Fixed bug #21442 (Crash of mail() on Windows when the first parameter
is empty).
2003-01-07 11:24:17 +00:00
Zeev Suraski efb9fdf0e6 call dtors on shutdown 2003-01-07 10:33:22 +00:00
Sascha Schumann e180f20e63 tell user which header files could not be found 2003-01-07 09:49:08 +00:00
Moriyoshi Koizumi 346fa499ca Fixed small leak 2003-01-07 08:57:27 +00:00
Frank M. Kromann 1638ddd4c2 Making the mssql extension work when build as a shared object 2003-01-07 05:19:48 +00:00
Ilia Alshanetsky f0de896ed2 Fixed ZTS build. 2003-01-07 03:44:12 +00:00
Ilia Alshanetsky 34e868d451 MFB + CS 2003-01-07 02:47:24 +00:00
Moriyoshi Koizumi b7740a0351 Trivial grammer fix 2003-01-07 01:46:38 +00:00
Moriyoshi Koizumi eed5a6bed0 Implemented quoted-printable stream filter 2003-01-07 01:41:18 +00:00
f8075804a5 NEWS update 2003-01-07 01:36:37 +00:00
0f6db9ef82 ChangeLog update 2003-01-07 01:34:32 +00:00
Sara Golemon 35b1635c81 Add option to stream_get_filters() user-defined fiters vs. all filters, default to user only 2003-01-07 01:02:29 +00:00
Moriyoshi Koizumi 00a36a09e1 Implemented string.base64 stream filter
@- Implemented string.base64 stream filter. (Moriyoshi)
2003-01-07 00:03:25 +00:00
Stefan Esser 58d65abbcb Adding support for anonymous fileuploads (#21450) 2003-01-06 23:51:28 +00:00
Wez Furlong 39848ce35c Fix for Bug #20827: where stat is a macro on Tru64.
Patch from <julien.soula@free.fr>
2003-01-06 23:27:03 +00:00
Ilia Alshanetsky 97dd1e8abf Fixed bug #21453 (improper handling of non-terminated <). 2003-01-06 22:13:03 +00:00
Ilia Alshanetsky 15f7c2c332 Fixed Bug #21443 and related bug #21468. 2003-01-06 21:43:28 +00:00
Dan Kalowsky 86b99ffcf6 Patch for bug #19349 2003-01-06 18:23:55 +00:00
Dan Kalowsky b588e10553 Correction for bug #21279 2003-01-06 18:10:06 +00:00
Moriyoshi Koizumi 4c2d6cfea8 Moved php_quot_print_decode() to quot_print.c so that it can be used
outside the iconv module
2003-01-06 15:47:25 +00:00
Moriyoshi Koizumi d0570815af Added more RFC2047-compliancy check in iconv_mime_decode() 2003-01-06 15:40:22 +00:00
Moriyoshi Koizumi 6f44489b68 Fixed iconv_mime_decode() so that it comforms to RFC2231 2003-01-06 15:35:42 +00:00
Georg Richter 8aeb7f35bc fixed missing & (Thx to Sebastian Bergmann) 2003-01-06 14:13:47 +00:00
Wez Furlong d23d4b366d Make it slightly more obvious that the return value is relative to the length
of the input data.
2003-01-06 14:04:23 +00:00
Wez Furlong 52a3c29e22 Fix for bug #21406; infinite loop during filter flushing. 2003-01-06 14:00:57 +00:00
Edin Kadribasic 3d9c3c6662 MFB:
Fixed bug #20503 (imagesetbrush() availability on windows).
2003-01-06 10:49:52 +00:00
Anantha Kesari H Y b3d80fe441 Removed #ifdef NetWare and made the necessary changes in the directory structure of NetWare. 2003-01-06 10:28:34 +00:00
Anantha Kesari H Y dc8b2e6ddd Header file for PostgreSQL. Moved from netware directory to netware/libpq directory. 2003-01-06 10:27:33 +00:00
Anantha Kesari H Y 4196f7d0c3 This file moved to netware/libpq directory. 2003-01-06 10:24:36 +00:00
Christian Stocker 413053aa75 - get_path forgotten in .h file
- fix crash in domxml_node_insert_before() (by Lukas Schröder)
2003-01-06 09:59:53 +00:00
Anantha Kesari H Y 159f0bcdd8 Added symbols to build PostgreSQL extension for NetWare. 2003-01-06 09:08:55 +00:00
Anantha Kesari H Y 303f888a09 Changes for NetWare makefile. 2003-01-06 09:05:59 +00:00
Anantha Kesari H Y f58016b348 Makefile added newly and modified the header file for NetWare. 2003-01-06 09:05:03 +00:00
Christian Stocker cafc0b2e59 @- Added domxml_node_get_path() (Lukas Schröder)
- Fixed segfault, when trying to add a node to itself.
2003-01-06 08:47:35 +00:00
Anantha Kesari H Y 509b4d39b5 Added #ifdef HAVE_SYSLOG_H around syslog function in the whole file to avoid link failure. 2003-01-06 05:59:17 +00:00
Anantha Kesari H Y e6003eba60 Modified for Netware. 2003-01-06 05:55:46 +00:00
Sara Golemon 999d989aa9 Added string.toupper and string.tolower filters and generalized non-op filter methods 2003-01-06 05:22:06 +00:00
Frank M. Kromann 6b0b7e3f42 Nuke warning, on Win32 build 2003-01-06 04:29:33 +00:00
Frank M. Kromann 01f5c5d6fe enable imageftbbox() and imagefttext() on WIn32 2003-01-06 04:28:49 +00:00
Sara Golemon 42e912da79 Expose stream_filters_hash so that it can be searched by stream_get_filters() 2003-01-06 04:06:40 +00:00
Edin Kadribasic e0ed7e9057 Complete gif readonly support addition by adding missing gd_gif_in.c
file to the project.
2003-01-06 01:39:08 +00:00
b38f1e162c ChangeLog update 2003-01-06 01:34:25 +00:00
Edin Kadribasic 6113d95433 Comment out non ANSI C standard comliant code. Fixes win32 build. 2003-01-06 01:26:14 +00:00
Edin Kadribasic 59b37a5ce4 Fixed win32 build. 2003-01-06 01:08:59 +00:00
Ilia Alshanetsky b52eb8f14a Fixed bug #21445. 2003-01-06 00:47:40 +00:00
Sara Golemon 7dae400063 Fixes to stream_get_wrappers() and stream_get_filters() handle hash table layouts better, plus some picune whitespace fixes 2003-01-05 22:24:49 +00:00
Georg Richter 2fbb9a5247 fixed bug #21435 2003-01-05 20:53:06 +00:00
Sebastian Bergmann c9d9e053f3 Define HAVE_GD_GIF_READ. 2003-01-05 16:32:01 +00:00
Zeev Suraski 968f3f9a12 Remove unnnecessary initialization 2003-01-05 16:11:10 +00:00
Zeev Suraski 19d47d9f6e Initialize lineno using the new infrastructure 2003-01-05 16:10:35 +00:00
Zeev Suraski cf05f34c66 MFZE1 - lineno fix 2003-01-05 16:09:59 +00:00
Sebastian Bergmann b5d97e5ddb Revert config.w32.h.in -> config.w32.h build step per discussion with Zeev. 2003-01-05 15:58:29 +00:00
Zeev Suraski a2b58500b4 Make the .dsp use the php4build build directories 2003-01-05 15:09:11 +00:00
Edin Kadribasic fc03762871 MFB:
Made xslt_set_encoding() available on windows (bug #20640).
2003-01-05 13:54:30 +00:00
Ilia Alshanetsky d5a8bb2d0b Fixed a memory leak in setlocale() & localeconv(). 2003-01-05 04:29:14 +00:00
Sara Golemon 43630e2ac0 Added stream_get_filters(); to list registered filters 2003-01-05 03:24:38 +00:00
baabdbd1ee ChangeLog update 2003-01-05 01:33:04 +00:00
Derick Rethans b816089fbf - Fix some of the netware crap 2003-01-05 00:56:17 +00:00
Derick Rethans e58c221204 - Change Warnings to Notices 2003-01-04 23:55:57 +00:00
Ilia Alshanetsky 5f36ce398e CS fixes. 2003-01-04 23:31:55 +00:00
Marcus Boerger fff1c67b56 Fix ZTS-ZE2 build 2003-01-04 20:06:32 +00:00
Marcus Boerger 6a75a52ad8 better to check for existance first 2003-01-04 19:19:59 +00:00
Marcus Boerger 2705070dd8 Fix ZTS-ZE2 build 2003-01-04 19:18:43 +00:00
Moriyoshi Koizumi 69bb505750 Forgot to include these functions in the list 2003-01-04 18:49:48 +00:00
Derick Rethans 1b5caf3b67 - Fix typo 2003-01-04 18:35:37 +00:00
Moriyoshi Koizumi 0d0127fbfb Fixed cut'n'paste failure 2003-01-04 13:52:54 +00:00
Moriyoshi Koizumi 94ad85107c NEWS update for new iconv functions 2003-01-04 13:45:03 +00:00
Moriyoshi Koizumi b13a6276e1 Added test case for iconv_mime_encode() 2003-01-04 13:39:59 +00:00
Derick Rethans 6439ad7640 - Fixed bug #21232 (Unresolved references to PQsetnonblocking). (Patch by
Floyd <floyd@studiodust.com>)
2003-01-04 12:33:46 +00:00
Martin Jansen 4343df9de2 * Update copyright year to 2003. 2003-01-04 11:56:35 +00:00
a9c558c6d3 NEWS update 2003-01-04 01:34:30 +00:00
c8b2431522 ChangeLog update 2003-01-04 01:32:59 +00:00
Alex Waugh ef8d954a0d Provide alternative for glibc brokenness test when cross compiling 2003-01-03 22:05:12 +00:00
Derick Rethans c175f3545c - Fix docrefs 2003-01-03 21:33:31 +00:00
Derick Rethans 0127c07e45 - Fix typo (patch by Joseph Tate) 2003-01-03 21:30:49 +00:00
Moriyoshi Koizumi cd2b0fe706 Added test case for iconv_mime_decode() 2003-01-03 20:33:53 +00:00
Moriyoshi Koizumi 07dcab60f0 Added test cases for iconv_strpos() and iconv_strrpos() 2003-01-03 20:02:23 +00:00
Moriyoshi Koizumi 006b455c6a Fixed an iconv_strrpos() bug that the function doesn't return accurate
position of last occurrence
2003-01-03 20:01:13 +00:00
Derick Rethans 4d3c4ab45d - Update todo 2003-01-03 19:50:41 +00:00
Derick Rethans 419af9f12a - Removed support for libmcrypt 2.2.x to allow cleaner code. Another reason
to upgrade libmcrypt to a 2.5.x series as the older ones have too much bugs
  to be safely used with PHP.
- Updated macro's, php_errors and parameter parsing.
@- Removed support for libmcrypt 2.2.x to allow cleaner code. Another reason
@  to upgrade libmcrypt to a 2.5.x series as the older ones have too much bugs
@  to be safely used with PHP. (Derick)
2003-01-03 19:49:44 +00:00
Ilia Alshanetsky f99fa7170e Fixed a bug that would cause flock() to never set the 3rd argument.
CS fixes & switched to new parameter parsing API.
2003-01-03 18:33:28 +00:00
Ilia Alshanetsky 71ab7dfccc Fixed a memory leak that occurs if the location specified by redirect header
cannot be opened.
2003-01-03 17:12:35 +00:00
Ilia Alshanetsky c52cdad25a Further fixes related to bug #21267. 2003-01-03 17:05:16 +00:00
Anantha Kesari H Y 2e52c112df Modified for NetWare. 2003-01-03 16:06:02 +00:00
Anantha Kesari H Y c1498d7a15 Modifications for NetWare. 2003-01-03 15:59:02 +00:00
Anantha Kesari H Y 38a319e3c6 New file added for NetWare. 2003-01-03 15:39:43 +00:00
Anantha Kesari H Y 2a8abc7de5 Some existing files modified and a couple of files removed for NetWare. 2003-01-03 15:21:33 +00:00
Anantha Kesari H Y a53ff6ff54 NetWare related changes/modifications. 2003-01-03 15:17:43 +00:00
Anantha Kesari H Y 830298beb8 Modified for NetWare. 2003-01-03 14:37:42 +00:00
Anantha Kesari H Y 32ef849171 Modified for NetWare. 2003-01-03 14:31:31 +00:00
Moriyoshi Koizumi 3149fc7c40 Added offset validity check for iconv_strpos() 2003-01-03 14:29:49 +00:00
Anantha Kesari H Y 9c3f39a074 New file added for NetWare. 2003-01-03 14:24:34 +00:00
Anantha Kesari H Y 90ba724072 Modified for NetWare. 2003-01-03 14:24:07 +00:00
Anantha Kesari H Y 3e2f1526bc A new file added and some old files modified for NetWare. 2003-01-03 12:48:14 +00:00
Edin Kadribasic a1402eebf1 Checking in files for Ananth Kesari <hyanantha@novell.com> 2003-01-03 12:15:36 +00:00
Anantha Kesari H Y ee5884ef39 File modified for NetWare. 2003-01-03 11:53:09 +00:00
Anantha Kesari H Y ad7aa57e27 A few New files added and some old files modified for NetWare. 2003-01-03 11:46:20 +00:00
Anantha Kesari H Y 452389df71 New files added for NetWare. 2003-01-03 11:40:52 +00:00
Anantha Kesari H Y 72a35f8a4b New file added for NetWare. 2003-01-03 11:36:57 +00:00
Anantha Kesari H Y afaf7cc24e File modified for NetWare. 2003-01-03 11:36:24 +00:00
Anantha Kesari H Y f4543e57f4 New file added for NetWare. 2003-01-03 11:12:40 +00:00
Derick Rethans 8f82834a79 - Update this one as well 2003-01-03 10:52:23 +00:00
Derick Rethans 32254e0938 - Remove double "Win32 COM" functions line 2003-01-03 10:48:38 +00:00
Derick Rethans 530e7120b2 - Whitespace 2003-01-03 10:39:22 +00:00
Anantha Kesari H Y 12192da2c4 Modified for NetWare. 2003-01-03 08:34:34 +00:00
Sara Golemon 7b37272381 Added stream_get_wrappers() 2003-01-03 08:02:36 +00:00
Moriyoshi Koizumi f76df0ba1b Added test cases for iconv_strlen() and iconv_substr() 2003-01-03 05:48:51 +00:00
Moriyoshi Koizumi a3330b5ab3 Fixed iconv_mime_decode() so it would give more awareness to stateful codesets 2003-01-03 05:38:50 +00:00
Moriyoshi Koizumi e1dd919204 Fixed infinite loop of iconv_mime_encode() in case the specified line length is too short to contain a proper mime-encoded string 2003-01-03 05:34:05 +00:00
Moriyoshi Koizumi c703ad78d0 Give mo' shift-sequence awareness to iconv_mime_encode 2003-01-03 05:32:13 +00:00
Moriyoshi Koizumi 354a42fd5f More shift-sequence awareness for iconv_substr() 2003-01-03 05:28:25 +00:00
Moriyoshi Koizumi 1f8cee7666 Added missing casting operators 2003-01-03 05:26:44 +00:00
Moriyoshi Koizumi bf48e7bc9f MFB 2003-01-03 05:16:12 +00:00
Moriyoshi Koizumi 6144a7288e MFB: fixed shift-out sequence unawareness issue 2003-01-03 05:14:34 +00:00
Moriyoshi Koizumi f962ba6abb Fixed small leaks in array_map() in case the first parameter is NULL like
array_map(NULL, array(...));
2003-01-03 05:05:12 +00:00
449029d2df ChangeLog update 2003-01-03 01:37:02 +00:00
Harald Radi f1f96c86d1 fixing typo 2003-01-03 00:17:41 +00:00
foobar c74f56611b - Removed entries that are going to 4.3.1
- Grouped the entries a bit.
2003-01-03 00:06:23 +00:00
Stig Bakken 7f41f5d586 * allways fall back to PHP_SYSCONFDIR 2003-01-02 23:48:32 +00:00
Ilia Alshanetsky f65e8488d7 Fixed a small memory leak when a NULL variable is passed to
openssl_csr_sign() as the first argument.
2003-01-02 21:18:59 +00:00
d4f9701392 ChangeLog update 2003-01-02 20:00:47 +00:00
Ilia Alshanetsky 0ff59a1353 Fixed bug #21338 (crash inside html_entity_decode() when "" is passed).
Added test case for the bug.
2003-01-02 19:49:30 +00:00
Ilia Alshanetsky b46352043c Raise required OpenSSL version to 0.9.6. 2003-01-02 19:20:57 +00:00
174f6b6f88 rotate changelog 2003-01-02 18:48:06 +00:00
Derick Rethans b9e54cb693 - Fixed bug #21169: Compile Failure, and lots of warnings on UnixWare 2003-01-02 18:01:10 +00:00
Anantha Kesari H Y 455257974b NetWare related changes/modifications. 2003-01-02 14:29:00 +00:00
Zeev Suraski 895b5fc2b6 Fix .dsp 2003-01-02 14:19:29 +00:00
Zeev Suraski 77208ec4d6 Fix incorrect linkage of access-levels, when using private methods 2003-01-02 13:58:08 +00:00
Derick Rethans da9eb594c6 - Fix warnings on UnixWare 2003-01-02 13:31:10 +00:00
Derick Rethans 19ae16a693 - Fix "make test" when CC was set to something with a parameter 2003-01-02 13:01:33 +00:00
Frank M. Kromann 4da2e804e0 Allow base64 functions to be called from an extension buils as .so/.dll (iconv) 2003-01-01 18:11:18 +00:00
Zeev Suraski 70446a6416 build fixes 2003-01-01 13:26:17 +00:00
Derick Rethans 6197460836 - Fix tests if Zend Optimizer is loaded 2003-01-01 12:43:59 +00:00
Zeev Suraski 9b09ba614d Win32 build fix 2003-01-01 12:38:55 +00:00
Sebastian Bergmann a5f58cd6e5 Add filter.c, user_filters.c. Group stream related sources. 2003-01-01 12:36:43 +00:00
Sebastian Bergmann 0ab3a13612 Fix warnings. 2003-01-01 12:36:06 +00:00
Wez Furlong 97a0102b81 Tidy up 2003-01-01 11:21:40 +00:00
Wez Furlong f58628ca4d Move rot13 filter into a new filters.c source file.
Tidy up some other filter related code.

# win32 -> someone please add user_filters.c and filters.c to the .dsp
2003-01-01 11:04:44 +00:00
Stanislav Malyshev 30dafe2f42 use handler for Z_OBJPROP 2003-01-01 10:57:35 +00:00
Wez Furlong a28eaf64d0 Workaround for glibc 2.2.9x and later "a+" bug that does not seek to EOF for
files fopen()ed with that mode.
2003-01-01 09:58:17 +00:00
Zeev Suraski 57b9b0112d Fix Wez's problem 2003-01-01 09:34:39 +00:00
Moriyoshi Koizumi c4e8b2baab Added various functions that relies on the iconv facility:
iconv_strlen(), iconv_substr(), iconv_strpos(), iconv_strrpos(),
iconv_mime_encode(), iconv_mime_decode()

# hope this be a new year gift for you. Happy new year!
2002-12-31 19:13:16 +00:00
Wez Furlong 350b0bbeac Implement user-space filters.
See ext/standard/tests/file/userfilters.phpt for an example of their use.
2002-12-31 18:39:36 +00:00
Sebastian Bergmann 61ce6bc8f1 Bump year. 2002-12-31 16:18:29 +00:00
Sebastian Bergmann b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Sebastian Bergmann 2c5d4b8c23 Bump year. 2002-12-31 15:59:15 +00:00
Rasmus Lerdorf f88e29bc0d Fix for bug #21311 2002-12-31 15:18:52 +00:00
Wez Furlong abc4b4bb99 Fix for #21304 (gzopen did not report errors on open; "a" mode broken) 2002-12-31 11:42:15 +00:00
Stanislav Malyshev 8814f36692 fix level of indirection 2002-12-31 09:42:28 +00:00
a6abc8f812 NEWS update 2002-12-31 01:33:05 +00:00
Ilia Alshanetsky 87e598e835 Changed ifdef to if. 2002-12-31 00:10:57 +00:00
Ilia Alshanetsky 87a8b04051 Fix ZTS build. 2002-12-31 00:04:52 +00:00
Ilia Alshanetsky 6f6bc82de7 Fixed bug #21045 (Apache 2 SAPI now supports the mod_php_memory_usage
log variable that allows users to log the memory usage of their PHP scripts).
2002-12-30 23:45:18 +00:00
Ilia Alshanetsky bfea989d21 Bug fixing news. 2002-12-30 19:48:24 +00:00
Ilia Alshanetsky 0acb52fc3b Fixed bug #21228 (broken check for ob_gzhandler).
Fixed a bug that made ob_start return incorrect return value.
2002-12-30 19:39:31 +00:00
Marcus Boerger 67f0a6f6c0 testing default handler should be a separate test 2002-12-30 19:20:11 +00:00
Marcus Boerger 9c2871a673 missing dba entry 2002-12-30 19:18:52 +00:00
Andrei Zmievski 4f8c44b091 Adjust the error message. 2002-12-30 18:30:50 +00:00
Marcus Boerger 33f364b5fc update dba NEWS 2002-12-30 17:58:15 +00:00
Marcus Boerger aa8e5cdde7 -disallow using db-<n> with libraries of different major versions
-disallow using db-4.1 with patch level < 25
-fix db-4.1
-added undocumented DB_FCNTL_LOCKING flag for version 3 and 4
# wow the sleepycat guys answered *very* fast
2002-12-30 17:42:55 +00:00
Stanislav Malyshev 0af3b5a692 Oops, fix it indeed 2002-12-30 17:19:32 +00:00
Stanislav Malyshev 37571334d9 Better check 2002-12-30 17:17:41 +00:00
a5ad437af8 Update. 2002-12-30 16:47:04 +00:00
Ilia Alshanetsky bd19dabefe Fixed bug #21226 (parse_url handling of urls without a path). 2002-12-30 16:42:49 +00:00
Derick Rethans d454becda8 - Whitespace 2002-12-30 15:03:50 +00:00
Derick Rethans eb8b1ac923 - euch 2002-12-30 14:08:25 +00:00
Marcus Boerger 32dda8b0cb ws 2002-12-30 13:09:03 +00:00
Marcus Boerger 4d2f7207c0 Add info function to handlers and return handler info when dba_handlers is
called with optional parameter full_info set true.
2002-12-30 13:07:30 +00:00
Marcus Boerger 426cf8eb57 fix state-machine in cases T_AAAA is not available 2002-12-30 11:59:22 +00:00
Marcus Boerger a213c71735 2nd part of the patch 2002-12-30 11:43:18 +00:00
Marcus Boerger 4b9e8fc899 -better parameter names for DBA_HND macros
-remove unnecessary notice
2002-12-30 11:32:37 +00:00
Derick Rethans e76d0043da - Align mssql comment and clarify DBA handler selection 2002-12-30 08:55:21 +00:00
Ilia Alshanetsky 1f50681813 Fixed bug #21149 (fixed handling of unterminated '['). 2002-12-29 21:02:17 +00:00
Ilia Alshanetsky 88d26985b8 Fixed bug #21267 (opening URLs that result in redirection to a relative
path was failing).
2002-12-29 20:01:33 +00:00
Ilia Alshanetsky c731daeda7 Fixed bug #21268 (session_decode() returned FALSE on success). 2002-12-29 18:50:55 +00:00
Zeev Suraski ac1133d364 Remove bogus ignores 2002-12-29 15:42:55 +00:00
Zeev Suraski 758caa9ba2 Update .dsp's 2002-12-29 15:41:44 +00:00
Marcus Boerger c69d034a87 Added support for db3/db4 error handling/information 2002-12-29 15:32:38 +00:00
Marcus Boerger 9b22813c4d Add a default handler that makes handler parameter to open functions
optional.
@Improved dba extension (Marcus)
@-Made handler parameter of dba_(p)open() optional.
@-Added php.ini option 'dba.default_handler' to specify a default handler.
2002-12-29 15:31:00 +00:00
Sara Golemon 45ff90cb18 Typo. 2002-12-28 19:40:03 +00:00
Sara Golemon 072d5c2575 When scanning for cc: headers, make sure the header is JUST cc: and not bcc: or original-cc: or <anything-printable>cc:
See Bugs # 21036 and # 20707
2002-12-28 19:32:45 +00:00
Sascha Schumann 955b27cd64 Fix order of library additions, so that the imap extension now builds
successfully with static imap/ssl libs.  configure was already failing
before.
2002-12-28 15:33:25 +00:00
Ilia Alshanetsky 8315a525ca Fixed bug #21229 (missing 3rd argument to php_module_startup). 2002-12-28 06:59:24 +00:00
Ilia Alshanetsky 097055a862 Make the version code get the version from the current Apache, rather then
the Apache PHP was compiled against.
2002-12-27 23:05:15 +00:00
Ilia Alshanetsky 648dd88b42 Added apache_get_version() & apache_get_modules() to Apache 1.X & Apache
Hooks sapis.
Made the module listing in Apache 2 not show the '.c' portion, to be
consistent with Apache 1.X.
2002-12-27 22:47:06 +00:00
Ilia Alshanetsky 572394db74 Added MINFO() to Apache 2, which displays the Apache version & all of the
loaded Apache modules.
Added apache_get_version() & apache_get_modules() functions.
2002-12-27 22:02:17 +00:00
Ilia Alshanetsky c955910ea0 Bug fixing news. 2002-12-27 20:23:29 +00:00
Ilia Alshanetsky 967d64ade5 Fixed bug #17098 (make Apache aware that PHP scripts represent dynamic data
and should not be cached). Fix suggested by daniel.eckl@gmx.de.
2002-12-27 19:59:09 +00:00
Stig Bakken ff8adda7c6 * 1.0 release notes 2002-12-27 19:31:56 +00:00
Stig Bakken 25684764cc * added "clear-cache" command 2002-12-27 19:31:37 +00:00
Stig Bakken 1d42e34c1b * 1.0 release 2002-12-27 19:01:19 +00:00
Stig Bakken d63ef03d7b * 1.0 version 2002-12-27 17:19:31 +00:00
Ilia Alshanetsky 22a2636d9d Made DBA tests not dependant on error reporting settings. 2002-12-27 04:46:40 +00:00
c9b374f8e0 Update. 2002-12-27 04:03:10 +00:00
Edin Kadribasic 586f68d820 Mention the fact that zlib extension is now built-in in win32 distro. 2002-12-27 03:16:01 +00:00
Edin Kadribasic a3c2f80d72 Resolved apperent cvs commit confict. 2002-12-27 02:55:37 +00:00
ebe402a9c3 NEWS update 2002-12-27 01:32:47 +00:00
c52bcebc09 ChangeLog update 2002-12-27 01:32:29 +00:00
Ilia Alshanetsky 3283752055 Bug fixing news. 2002-12-27 00:09:13 +00:00
Derick Rethans f3d3dd5bc8 - MFB 2002-12-26 23:45:05 +00:00
Georg Richter 4abcff7631 added Wez, Ilia & myself 2002-12-26 23:38:18 +00:00
Wez Furlong bb640840c3 Remove cruft that opened a stream that was never closed in get_meta_tags().
(probably my fault).
Noticed by Philip Olson
2002-12-26 22:35:00 +00:00
Sterling Hughes 457f22c198 if needle is empty free allocated memory 2002-12-26 20:52:42 +00:00
Sterling Hughes ca67d27fb2 remove memleak 2002-12-26 19:56:44 +00:00
Marcus Boerger 4041d4faed Add missing test for db4 handler 2002-12-26 19:55:06 +00:00
Andrei Zmievski 4121057117 do_inherit_method_check() is supposed to return 0 or 1, not SUCCESS or
FAILURE.
2002-12-26 16:27:59 +00:00
Edin Kadribasic 46219c714d MFB:
Made ZLIB extension built in on Windows. Fixes #21139.
2002-12-26 13:40:32 +00:00
03132bff12 ChangeLog update 2002-12-26 01:33:49 +00:00
George Schlossnagle 190867c800 fixed ws 2002-12-25 21:18:37 +00:00
George Schlossnagle abbf745211 fix for 21177 2002-12-25 20:38:37 +00:00
Derick Rethans b996b32031 - Add test for bug #21182 2002-12-25 20:08:36 +00:00
Ilia Alshanetsky fbcee73c8c Make range operate on the copies of the parameters rather then modify the
actual parameters.
2002-12-25 20:02:03 +00:00
33bdabbee2 ChangeLog update 2002-12-25 01:34:22 +00:00
Stefan Esser 66ebbb5ae1 fix compile warning 2002-12-24 23:46:17 +00:00
Stefan Esser e900f8c97b do correct casting 2002-12-24 23:28:05 +00:00
Ilia Alshanetsky 2e6e0f87dc Removed pointless assignment. 2002-12-24 23:19:54 +00:00
Ilia Alshanetsky 0a2d473df0 The -1 is no longer needed, since it is done automatically by strlcpy(). 2002-12-24 17:33:33 +00:00
Ilia Alshanetsky a747d1f864 Changed strncpy() to strlcpy(). 2002-12-24 17:30:48 +00:00
Ilia Alshanetsky 59b6ffee1e A variety of CS style fixes, which include:
* Changed all argument parsing to use the new zend_parse_parameters()
 * If a function is unavailable due to lack of support for a certain feature,
   do not make the function avaliable, rather then making it print an error
   saying that the functionality offered by the function is not avaliable.
 * Lots of WS fixes all over the file.
 * Change strcpy() to strncpy() to prevent possible buffer overflows.
Fixed a bug in ncurses_pair_content(), 1st parameter was wrong.
Fixed several function prototypes that failed to indicate that functions
accepted arguments by reference.
2002-12-24 17:20:33 +00:00
eb668bcd9b ChangeLog update 2002-12-24 01:31:43 +00:00
Melvyn Sopacua 0764c3101b Verify if gl_pathv is not NULL, which it is, when GLOB_NOMATCH isn't
supported and there are no matches.

# BSDi/Mac OSX are affected.
2002-12-23 18:33:46 +00:00
Stefan Esser 0bb1ff71d6 fix compile error on IRIX 2002-12-23 08:50:05 +00:00
Edin Kadribasic f13ecb9832 MFB:
Ignore the new name of the binary built. Allows cvsclean to work again
in sapi/cgi.
2002-12-23 03:35:38 +00:00
Wez Furlong 05ea039144 MFB: fpos_t -> off_t 2002-12-23 02:56:46 +00:00
d5b8ef54e9 ChangeLog update 2002-12-23 01:33:10 +00:00
Ilia Alshanetsky af55703d52 Fixed various memory leaks.
# Should this be MFHed?
2002-12-22 20:16:37 +00:00
Moriyoshi Koizumi 45f67837e6 Removed "%s" from format strings 2002-12-22 19:51:49 +00:00
Ilia Alshanetsky 0ae3050aa5 Fixed bug #21146. 2002-12-22 19:44:01 +00:00
Moriyoshi Koizumi d70f96550c php_error => php_error_docref 2002-12-22 19:16:09 +00:00
Moriyoshi Koizumi 9b3f810564 WS fix 2002-12-22 19:05:06 +00:00
Moriyoshi Koizumi dcc030f5ef Fixed bug #21144 2002-12-22 19:01:44 +00:00
Wez Furlong c5091eedf1 Forgot to include this in my previous commit for #21131 fix. 2002-12-22 18:06:27 +00:00
Wez Furlong efea12fec5 Fix for Bug #21131: fopen($file, 'a+') would incorrectly assume that
the stream position was at offset 0.
This corrects that assumption by querying the stream for it's position
when it detects the 'a' "flag" in the mode parameter to fopen.
Also added a test for plain files and amended the userstreams test to
take this into account.
2002-12-22 18:05:36 +00:00
Sascha Schumann 20e8bc31f0 (char *) vptr += expr; is refused by the IRIX compiler, so we use
vptr = (char *) vptr + expr; instead.
2002-12-22 16:34:13 +00:00
Sascha Schumann 280f4a4373 'index' is a function name in the C library, do not use it as variable name.
also, cast the 'void *' correctly to a 'char *' for manipulation
instead of an 'int'.
2002-12-22 16:03:28 +00:00
Wez Furlong 90c478664a A Simple fix for Bug #12360 (fsockopen timeout doesn't work).
Analysis:
On systems with HAVE_GETADDRINFO and IPV6 support, php_hostconnect would
attempt to connect to each possible address that matched the requested IP.

If the remote host:port combination are dropping packets this would cause the
first connection to timeout (after waiting for the full timeout duration).

PHP would then attempt the second address and wait the full duration again.

Solution:
If the first connection attempt times out, abort the connection loop.
2002-12-22 13:55:45 +00:00
Melvyn Sopacua e03bccb1ad Delete some security related env variables 2002-12-22 12:48:49 +00:00
f023f6f8fc ChangeLog update 2002-12-22 01:33:28 +00:00
Stig Bakken aded559898 * Windows fix from Edin 2002-12-22 01:32:01 +00:00
Stig Bakken c4ddda3e23 * set default xml-rpc cache ttl to 1 hour 2002-12-22 01:31:13 +00:00
Frank M. Kromann ca4a0cdb8a Create php.exe in cli directory to avoid conflict with the cgi version 2002-12-21 22:43:47 +00:00
Edin Kadribasic 17687a4fff MFB:
Updated list of bundled windows extensions compiled by
Christoph Grottolo <cg@gordimer.net>
2002-12-21 22:19:51 +00:00
Edin Kadribasic 473366d6e7 MFB: Reflect recent changes to the build process. 2002-12-21 22:05:55 +00:00
Moriyoshi Koizumi 9dc6f0c5f2 Made auth information inaccessible under safe mode as discussed in the list 2002-12-21 21:50:28 +00:00
Melvyn Sopacua 2169eb2ccc MFB: There won't be a warning/fix on this, so remove the test 2002-12-21 21:01:52 +00:00
Ilia Alshanetsky 29d507d224 Moved the bug fix news entry to 4.3.0 section, to indicate that it has been
MFHed.
2002-12-21 20:37:17 +00:00
Andrei Zmievski 2feb1cf6d7 MFB. 2002-12-21 20:12:08 +00:00
Ilia Alshanetsky da498edd5e Bug fixing news & range() changes. 2002-12-21 18:06:04 +00:00
Ilia Alshanetsky 98e85ae80b Fixed bug #20987 (no handling for client certificates). 2002-12-21 18:03:46 +00:00
Derick Rethans 16e5459f94 MFB: Fix typo 2002-12-21 17:48:37 +00:00
Melvyn Sopacua 9dc1412e46 MFB: Skip the test, until a proper descision is made 2002-12-21 16:58:23 +00:00
Moriyoshi Koizumi 4456b3274f WS 2002-12-21 06:34:31 +00:00
Moriyoshi Koizumi f4883b916c Added some notes about the brigade bug detection 2002-12-21 06:33:19 +00:00
550aedb63d ChangeLog update 2002-12-21 01:34:00 +00:00
Andrei Zmievski 64ab75c206 *** empty log message *** 2002-12-21 01:11:44 +00:00
Andrei Zmievski ddea2a190f Alias dba_popen() to dba_open() until persistent STDIO streams are
implemented.
2002-12-21 01:09:27 +00:00
Sascha Schumann 76a158a336 test commit 2002-12-20 20:53:10 +00:00
Stefan Esser e4e299614e need more space 2002-12-20 19:37:07 +00:00
Georg Richter d5f02c553b fixed some warning when using external 4.x libs 2002-12-20 18:52:27 +00:00
Frank M. Kromann ad69583ba1 Fixing Win32 build by adding missing libraries 2002-12-20 18:40:31 +00:00
Sara Golemon 13308b5a94 Minor clarification in meaning of bitmask constants
/* PHP_DNS_xx = 1<<(T_xx-1) */
T_CNAME = 5 ergo PHP_DNS_CNAME should be 0x00000010.
T_SOA = 6 ergo PHP_DNS_CNAME should be 0x00000020.
2002-12-20 18:34:56 +00:00
Marcus Boerger efd314e767 -Fix memory handling of persistent dba connections.
-Update tests.
# cdb and flatfile still FAIL for dba_popen since the known streams problem
2002-12-20 17:47:58 +00:00
Frank M. Kromann 710e49a30b Make sure the debug version is created in the right directory 2002-12-20 17:34:34 +00:00
Ilia Alshanetsky 3a4bf3f904 When low & high are the same return an array containing the low value.
Added support for float values and handling of numeric values being passed
as strings.
Added a test case for range().
2002-12-20 17:16:31 +00:00
Marcus Boerger d795243db3 @Make uniqid() parameters optional and allow any prefix length. (Marcus) 2002-12-20 17:06:25 +00:00
Marcus Boerger 8652e8ac27 MFB 2002-12-20 17:04:33 +00:00
Andrei Zmievski c45f76112f At least this problem exposed some leaks.. 2002-12-20 16:45:34 +00:00
Marcus Boerger 26038795f8 -disable uniqid() when required lib functions not available
-emit an error when uniqid() will fail
-make more_entropy parameter default to true for CYGWIN
2002-12-20 16:34:42 +00:00
Moriyoshi Koizumi 740ee5df1c Recommited the patch 2002-12-20 15:51:35 +00:00
Sterling Hughes 3cb16973ef silly error, will MFH 2002-12-20 15:44:51 +00:00
Edin Kadribasic 3c94150191 MFB: Make sure cli install dir is created before trying to install in it. 2002-12-20 10:12:15 +00:00
Andi Gutmans a58e6cc8ad - Add comment in macro and remove some now unneeded code 2002-12-20 08:42:50 +00:00
James Cox 6f6631ad14 testing cvs commit.. 2002-12-20 07:08:47 +00:00
84b107924d ChangeLog update 2002-12-20 01:34:57 +00:00
Ilia Alshanetsky 709681e085 Make IS_ABSOLUTE_PATH use the IS_UNC_PATH macro rather then duplicate the
code in the IS_UNC_PATH macro.
2002-12-20 00:41:41 +00:00
Melvyn Sopacua a4d56067e2 MFB: libtool detection 2002-12-20 00:28:08 +00:00
Wez Furlong 602734c7d9 Correct mistake introduced by my last commit on these files;
*_from_pipe() is for process-pipes created by fopen, not generic pipes
created from proc_open().
Correctly implemented the fifo/pipe check for *_from_file() and it seems
to be working correctly now.
2002-12-19 20:23:50 +00:00
Edin Kadribasic 183ebe3e14 MFB:
Making windows build system changes according to proposal:
http://news.php.net/article.php?group=php.dev&article=92682
2002-12-19 18:30:14 +00:00
Ilia Alshanetsky 594c3808d4 Fixed bug #21098. 2002-12-19 17:06:36 +00:00
Edin Kadribasic d29309eb68 MFB:
Making build system changes according to proposal:
http://news.php.net/article.php?group=php.dev&article=92682
2002-12-19 17:02:40 +00:00
Moriyoshi Koizumi 58037935f6 Appended "\n" as suggested by Derick. 2002-12-19 15:29:09 +00:00
Anantha Kesari H Y c93d64375d NetWare related files added and changes/modifications done for the existing ones. 2002-12-19 11:24:45 +00:00
Anantha Kesari H Y 854721d723 NetWare related changes/modifications. 2002-12-19 11:23:58 +00:00
Anantha Kesari H Y e46b0bfa79 Netware related changes/modifications. 2002-12-19 11:12:04 +00:00
Edin Kadribasic 2fc8358e3a MFB: Remove dependancy on libtool library which is no longer needed. 2002-12-19 10:49:05 +00:00
1a30bfd76c ChangeLog update 2002-12-19 01:33:16 +00:00
Edin Kadribasic ff54f76f71 MFB: Reverted previous patches as suggested by Andi. 2002-12-19 00:13:43 +00:00
Moriyoshi Koizumi d2fa4670dc Prevented test failure caused by LF code variety 2002-12-18 23:06:27 +00:00
Moriyoshi Koizumi fdded38816 Added a test case for bug #20539 2002-12-18 22:54:34 +00:00
Pierre Joye baea3414a3 Fix a crash while using an invalid color with imagesetstyle, see the sample
script in the manual to reproduce it :)
2002-12-18 21:13:21 +00:00
Moriyoshi Koizumi 978340cfa5 An intuitive attempt to hunt the bug. 2002-12-18 19:32:44 +00:00
Moriyoshi Koizumi 1bfa8be474 Added entry for the new feature of array_search() 2002-12-18 16:38:36 +00:00
9e4d2d4594 Update 2002-12-17 19:52:24 +00:00
532ed0edf3 Finally put the changelog back online. 2002-12-17 19:48:17 +00:00
Derick Rethans 8507eb00f6 - Also send reports when there are no failed tests 2002-12-17 19:07:15 +00:00
Frank M. Kromann e93a1a92ec Fixing WIn32 build after adding support for FreeTDS 2002-12-16 22:44:08 +00:00
Frank M. Kromann 5664a358fa Allow the native MSSQL extension to be compiled with FreeTDS on *nix platforms.
This will make the whole MSSAL API available on these platforms.
@Allow compilation of mssql extension on *nix.
2002-12-16 22:26:49 +00:00
Stig Bakken 24975495a7 * fix one missing DIRECTORY_SEPARATOR and a typo 2002-12-16 20:44:50 +00:00
Sergey Kartashoff afa0e1e03e - mnogosearch extension updated to compile with mnogosearch-3.2.8 2002-12-16 19:17:10 +00:00
Marcus Boerger 59656cc706 fix compiler definition tests 2002-12-16 17:52:43 +00:00
Marcus Boerger 50af908f01 fix compiler definition tests 2002-12-16 15:53:46 +00:00
Ilia Alshanetsky 5bad812dad A better, strtok() free implementaion of php_disable_functions(). 2002-12-16 15:43:52 +00:00
Marcus Boerger 2d3b3fd97f fix test 2002-12-16 15:19:57 +00:00
Marcus Boerger 9042a9ddbd Add version check since this will be available since php 4.4. 2002-12-16 15:04:12 +00:00
Marcus Boerger da1a617f6b forgot to remove that dot 2002-12-16 14:54:35 +00:00
Marcus Boerger 5dc4d38204 -Add constant that shows whether or not exif uses mbstring.
-Fix tests
2002-12-16 14:48:00 +00:00
Sascha Schumann e5b86174af CFLAGS_CLEAN was not properly defined 2002-12-16 13:39:27 +00:00
Marcus Boerger 6e055f9a77 change mbstring detection 2002-12-16 09:58:49 +00:00
Derick Rethans d8f86e725a - MFB 2002-12-16 09:11:00 +00:00
Ilia Alshanetsky f620fdbed3 A better memory leak patch. 2002-12-16 07:46:36 +00:00
Marcus Boerger c1be81a84e ws 2002-12-15 18:49:07 +00:00
Marcus Boerger 05436b1378 MFB: gd uses float instead of double 2002-12-15 18:16:11 +00:00
Ilia Alshanetsky cc4748139c Close log file on shutdown. 2002-12-15 07:03:32 +00:00
Ilia Alshanetsky 078dfe8d57 Fixed a memory leak. 2002-12-15 06:44:30 +00:00
Ilia Alshanetsky 11dbaa39d6 MFZE2 2002-12-14 23:56:44 +00:00
Marcus Boerger 16694d3500 Fix build when mbstring is a shared module or dll under windows 2002-12-14 19:53:20 +00:00
Pierre Joye 137beb12ca Do not allow AA if not trueColor (imageantialias does nothing) 2002-12-14 19:23:29 +00:00
Marcus Boerger 9455657a7a Bugfix: #21010 (Here it's maker (manufacturer) instead of marker) 2002-12-14 17:49:19 +00:00
Stefan Esser 75d8056e11 cleanup 2002-12-14 10:45:25 +00:00
foobar c07f7c8df8 MFB: Fix bug #20995 2002-12-14 09:33:37 +00:00
Melvyn Sopacua 43202b5b95 Add testcase for bug #20993 2002-12-13 18:40:39 +00:00
Marcus Boerger ac96f76730 Add missing entry 2002-12-13 12:04:30 +00:00
Marcus Boerger c633abdc7f Fix cli build for cygwin 2002-12-13 10:32:03 +00:00
Marcus Boerger 95c701d328 MFB: ZTS fix by Ilia 2002-12-13 09:17:04 +00:00
Vlad Krupin e969d788bf Fix for bug 19727. dBase5 (at least for windows) seems to allow 1024 fields 2002-12-13 03:09:52 +00:00
Stig Bakken 854b9b9ac1 * update release notes, remove warning 2002-12-13 02:20:33 +00:00
Stig Bakken 3396ace7cb * fix version/date 2002-12-13 02:11:23 +00:00
Stig Bakken 976aef1ccf * introduce php_bin config parameter
* use PHP_PEAR_<PARAM_NAME> environment variables for defaults
  (for example PHP_PEAR_PHP_DIR)
* Windows cleanups
2002-12-13 02:10:23 +00:00
Stig Bakken e5dd8161e6 * _parseArgs bugfix 2002-12-13 02:07:22 +00:00
Moriyoshi Koizumi 92d5faca60 MFB 2002-12-12 21:44:53 +00:00
Moriyoshi Koizumi d679e5d2aa Added a test case for bug #20934 2002-12-12 21:42:17 +00:00
Stefan Esser 7924bf8705 remove extra char in case of binary/money fields 2002-12-12 21:30:39 +00:00
Ilia Alshanetsky 7a282ddcfd Fixed bug #20974 (added missing sanity check). 2002-12-12 21:17:36 +00:00
Melvyn Sopacua 44b7c16b03 Fix for BSD's (possibly others):
Accept system default, for the index. Don't initialize it.
2002-12-12 18:50:26 +00:00
Wez Furlong c5d4e4b321 MFB: popen/pclose and proc_open/proc_close fixes. 2002-12-12 17:51:25 +00:00
Ilia Alshanetsky 2d8945247b Fix a possible E_NOTICE warning message. 2002-12-12 16:14:32 +00:00
Wez Furlong 81c02040f0 Attempt to add more entropy for key generation. 2002-12-12 15:50:11 +00:00
Wez Furlong 3591c3b8e9 MFB streams news 2002-12-12 15:24:00 +00:00
Ilia Alshanetsky 53b333d153 Fixed misspelling of the Greek letter lambda,
noticed by jmartin-php@notamusica.com.
2002-12-12 14:50:58 +00:00
Marcus Boerger c2078cdabf php_error -> php_error_docref conversion fix (noticed by derick) 2002-12-12 14:12:42 +00:00
Ilia Alshanetsky e27f3fc7e1 Bug fixing news. 2002-12-12 13:52:26 +00:00
Moriyoshi Koizumi d0c781cc84 Jani happification 2002-12-12 13:44:18 +00:00
Wez Furlong 1ef74a4f79 Patch for #20936 (openssl: public key handling was broken).
Thanks to <jeroen@derks.it> for the patch.
2002-12-12 13:42:23 +00:00
Ilia Alshanetsky 75c180f242 Fixed bug #20927 and updated the test case for the bug. 2002-12-12 13:38:19 +00:00
Moriyoshi Koizumi 131c47b75d Bug fixing news 2002-12-12 13:31:19 +00:00
Moriyoshi Koizumi 3bbcb0d0dd Fixed bug #20934 (htmlspecialchars returns latin1 from UTF-8) 2002-12-12 13:25:51 +00:00
Marcus Boerger a40ccefd32 php_error -> php_error_docref 2002-12-12 13:08:59 +00:00
Marcus Boerger 53309aace0 SIGIOT may not be defined in cygwin 2002-12-12 12:23:32 +00:00
Marcus Boerger 835c4dedbb typeconversion is needed here for cygwin 2002-12-12 12:18:44 +00:00
Marcus Boerger 26b101dd1b O_ASYNC is not defined in cygwin 2002-12-12 12:15:10 +00:00
Edin Kadribasic 8eb1791790 MFB: DOM/XSLT support in win32 build (bug #20485). 2002-12-12 10:56:33 +00:00
Ilia Alshanetsky 8227141218 GD library news. 2002-12-11 23:11:31 +00:00
Ilia Alshanetsky 20bc6a09e0 Added check for availability of jpeg support. 2002-12-11 22:37:05 +00:00
Ilia Alshanetsky 67aca57c3b Fixed build with non-bundled GD. Hidden the anti-alias functions when
non-bundled GD is used and made imagecreatefromxpm() unavailable because
of a bug in the external GD library.
2002-12-11 22:25:23 +00:00
Pierre Joye 5acfdf3ca1 Fix brightness filter (argument ingnored) 2002-12-11 22:23:51 +00:00
Ilia Alshanetsky a88a99fb9d White space fixes. 2002-12-11 21:55:45 +00:00
Ilia Alshanetsky f4b5f0904b Syncronize bundled gd sources with that of gd 2.0.9, affected functions
are: gdImageBrushApply() & gdImageCopyResized().
2002-12-11 21:52:29 +00:00
Pierre Joye 983d8e5efd Add antialias flag to image structure
Add AA support
2002-12-11 20:47:26 +00:00
Pierre Joye 7ec74f64f9 Add gdImageAAline (antialiased line)
Add AA support for gdImagePolygon
2002-12-11 20:46:52 +00:00
Pierre Joye 221413e5ef Remove double definition of imagesettile
Add imageantiallias
2002-12-11 20:45:47 +00:00
Pierre Joye 4d522e3686 Add imageantialias(im, flag)
Add AA support for bundled imageline
2002-12-11 20:44:44 +00:00
Melvyn Sopacua 4b3b409b48 Add testcase for reported wordwrap bug 2002-12-11 20:22:42 +00:00
Derick Rethans c4342de561 - MFB 2002-12-11 20:13:43 +00:00
Ilia Alshanetsky 2ab549c5f2 Added missing &. 2002-12-11 20:04:23 +00:00
Ilia Alshanetsky c194d9333d Added getopt() test. 2002-12-11 17:38:28 +00:00
Ilia Alshanetsky 30f83207fe Ask the user for their e-mail address so that we can contact them if need be. 2002-12-11 16:49:00 +00:00
Sara Golemon 04d6f6ab50 Renamed bc_powmod to bcpowmod to keep it inline with existing module
functions.  Fixed whitespace problem.
2002-12-11 16:28:16 +00:00
Ilia Alshanetsky 5f9681ff80 Added missing variable to parameter retrieval. 2002-12-11 15:32:35 +00:00
foobar 3fc83fd8e3 - ws fixes
- // -> /* */ (No C++ comments in c code!)
- #if / #else / etc. have to start from first column.
2002-12-11 15:25:39 +00:00
foobar 210effe877 - Some more missing .cvsignore files. 2002-12-11 15:16:05 +00:00
foobar f059f21e96 missing entry 2002-12-11 14:45:42 +00:00
foobar cbb2c5a073 missing file 2002-12-11 14:43:33 +00:00
Rui Hirokawa 3d324676a5 fixed lack of variable initialization bug. 2002-12-11 14:39:37 +00:00
Abdul-Kareem Abo-Namous 089f1b5771 fixed string comparison which brought up a gcc warning. 2002-12-11 14:18:40 +00:00
Marcus Boerger e0c983a013 Warnings and Notices when lock modifiers for dba_(p)open are used wrong.
This finally closes bug #20828 (and i hope it must not be reopened)
2002-12-11 10:37:38 +00:00
Edin Kadribasic f84aff8f5c Fix for #20539 (patch by Moriyoshi Koizumi). 2002-12-11 10:24:02 +00:00
foobar d1d73b1b06 snow..not again.. 2002-12-11 08:54:04 +00:00
foobar 8635af07d5 Fixed bug #20298: LDFLAGS were not passed to the static apache module build 2002-12-11 08:41:45 +00:00
Georg Richter 19a13f29b0 fixed security bug in libmysql 2002-12-11 08:31:56 +00:00
Georg Richter 230f4ebb06 Security fix (merged from 3.23.54) 2002-12-11 08:28:41 +00:00
Ilia Alshanetsky 52d0f1c143 decode variable is only used when mbstring is avaliable. 2002-12-11 07:37:30 +00:00
Ilia Alshanetsky 08e020a870 ZTS fix. 2002-12-11 07:29:51 +00:00
Ilia Alshanetsky dc391673d0 Fixed compiler warning. 2002-12-11 02:51:06 +00:00
Ilia Alshanetsky 533d3273bd Fix ZTS build 2002-12-11 02:30:00 +00:00
Ilia Alshanetsky 9a24983487 On Win32 make PHP treat UNC paths as absolute paths, this should solve bugs
such as #20831. Thanks to Wez Furlong for isolating the problem.
2002-12-11 00:32:33 +00:00
Marcus Boerger a6e9674bfd add missing comment 2002-12-10 22:51:09 +00:00
Marcus Boerger b94e0d9eac LOCK_EX is not allowed in read mode -> try using existing .lck file in read
only mode only when in read mode.
2002-12-10 22:49:33 +00:00
Wez Furlong ac8469bd55 No longer experimental 2002-12-10 22:21:34 +00:00
Wez Furlong 9746be4779 use php_error_docref and tidy up some WS/coding standards. 2002-12-10 22:18:58 +00:00
Marcus Boerger 17117063ce -remove second attempt to close lock file
-default to lock on db file instead on .lck file.
-try to use existing .lck file and only create it on failure (allows ro access)
2002-12-10 22:02:52 +00:00
Marcus Boerger dbf4bcc08b stick to "check <what> <result>" scheme, do not repeat messages and
align messages correctly.
2002-12-10 21:53:02 +00:00
Stefan Esser e5dbcb0890 fixing cut&paste bug 2002-12-10 20:18:25 +00:00
Ilia Alshanetsky 60a5aeef43 Fixed a few compile warnings and one compile error. 2002-12-10 20:16:30 +00:00
Marcus Boerger d1c70a6417 directory values are optional 2002-12-10 20:11:41 +00:00
Marcus Boerger 644bd60d29 remove not wanted skeleton comment and align configure message 2002-12-10 20:09:35 +00:00
Ilia Alshanetsky 2b063828e0 Fixed build with GD 1.8.4 2002-12-10 19:45:58 +00:00
Frank M. Kromann 62fb872a4d Fixing ZTS Build 2002-12-10 19:28:04 +00:00
Sara Golemon 51c9f2c64b Added support for libbcmath's bc_raisemod function as bc_powmod() 2002-12-10 19:04:27 +00:00
Ilia Alshanetsky 91a6272972 Fixed win32 build. 2002-12-10 18:00:47 +00:00
Ilia Alshanetsky 99f2b9674f Fixed build with GD 1.8.4 2002-12-10 17:57:41 +00:00
Edin Kadribasic 28c32e1fc8 MFB: Fix ZTS build. 2002-12-10 17:07:40 +00:00
Ilia Alshanetsky e982d5c7f0 MFB 2002-12-10 16:39:59 +00:00
foobar 8416a0433a This extension requires cyrus-imap >= 2.0.8 2002-12-10 16:34:20 +00:00
Ilia Alshanetsky 3c9a6a8890 Removed one more unneeded check. 2002-12-10 15:58:31 +00:00
Ilia Alshanetsky ecc9c539d2 Removed a pointless check. Thanks Stefan. 2002-12-10 15:36:26 +00:00
Stefan Esser f481a209b7 fixing crashbug
patch by freddy77@angelfire.com
2002-12-10 15:18:01 +00:00
Marcus Boerger 26c5c323ab -make those debug messages 2002-12-10 14:35:13 +00:00
Marcus Boerger 922ce573cf -when required haeder was not found --with-cdpf was simply ignored. I
changed this to be an error.
-cpdf did not check for --with-jpeg-dir and --with-tiff-dir
2002-12-10 14:31:00 +00:00
Marcus Boerger cbab922570 "of cause" should have been "of course" but is not needed anyway
#noticed by Zeev
2002-12-10 11:21:30 +00:00
Zeev Suraski 66aba3c568 Fix check to allow for static+access level modifiers 2002-12-10 09:04:12 +00:00
Ilia Alshanetsky aa4c85dda1 Fixed bug #20907, patch by m-arai@sco.bekkoame.ne.jp. 2002-12-10 00:10:27 +00:00
Ilia Alshanetsky 04a16f914c Replaced deprecated APR_BRIGADE_FOREACH macro. 2002-12-09 18:45:32 +00:00
foobar 8a8041befe fix typos 2002-12-09 18:30:50 +00:00
foobar 31415ad2b5 Make this actually work too. 2002-12-09 18:29:22 +00:00
Wez Furlong 58210f9232 Centralize fopencookie test 2002-12-09 18:29:07 +00:00
foobar 44aec93861 Fix the build with new cyrus and sasl2 libs 2002-12-09 18:05:37 +00:00
Marcus Boerger 85f1caeb14 Recheckin as unix
# *** sorry ** a new diff tool converted it to dos before last comit *** sorry ***
2002-12-09 18:03:00 +00:00
Marcus Boerger ba534ac7c8 Added open modifier '-' to skip/ignore locking. See bug #20828, #20858 2002-12-09 17:54:13 +00:00
Melvyn Sopacua 2421e79b60 Fix make install target on Cygwin, bug #20807 2002-12-09 17:02:38 +00:00
Wez Furlong ca6b002e4c MFB: zlib stream tests 2002-12-09 16:43:15 +00:00
Wez Furlong 5029c73096 Emulate fopencookie on *BSD systems.
Patch mostly from Melvyn Sopacua <msopacua@idg.nl>
2002-12-09 16:14:28 +00:00
Moriyoshi Koizumi 4974f268a6 @- Let array_search() accept objects as a needle under ZendEngine2. (Moriyoshi) 2002-12-09 15:54:38 +00:00
Sascha Schumann 7b2fd2c6c9 Use $(INSTALL) rather than cp to install modules.
$(INSTALL) will usually unlink the target file first, so that in-memory
instances of the old file don't get simply overwritten (and crash and burn).
2002-12-09 15:32:17 +00:00
Edin Kadribasic 3994fbbc86 MFB: Fix for #20894. 2002-12-09 13:35:57 +00:00
Zeev Suraski 32b100e6cb - Allow variables to have both 'static' modifier and an access level.
NOTE:  This only works at the syntax level right now (parser).  It
         doesn't actually work as of yet - all statics are considered
         public for now
- Prevent users from putting more restrictions on methods in derived classes
  (i.e., you cannot make a public method private in a derived class, etc.)
2002-12-09 12:10:17 +00:00
foobar 085f362ae3 T_AAAA is not always available. 2002-12-09 11:50:15 +00:00
Sebastian Bergmann ba5764ab39 Fix build. 2002-12-09 11:45:46 +00:00
Wez Furlong f4ca743d66 MFB zlib related fixes
(sorry I didn't get around to doing this sooner)
2002-12-09 10:54:20 +00:00
Wez Furlong 164130ed22 MFB: #20831 fix 2002-12-09 10:38:35 +00:00
Andi Gutmans 9283ff3ab6 - Fix a bug which I just introduced. 2002-12-09 08:36:36 +00:00
Andi Gutmans 60a4fa66cf - Fix typo 2002-12-09 08:31:44 +00:00
Andi Gutmans 757cd19aff - Improvements 2002-12-09 08:27:23 +00:00
Christian Stocker bda98029b4 PHP_FALIAS for doc_get_elements_by_tagname got lost 2002-12-09 08:14:15 +00:00
Andi Gutmans 671c6bb4c3 - First attempt to improve memory manager during realloc()'s 2002-12-09 08:14:00 +00:00
Ilia Alshanetsky 8f6d5dc775 Fixed a color mixup in gdImageCopyResampled() when dealing with true-color
images & brought the code up to PHP coding standards.
2002-12-08 21:07:13 +00:00
Harald Radi 0c4dc0afdf update todo 2002-12-08 19:05:43 +00:00
Harald Radi 3be2fdd14a initial checkin 2002-12-08 19:05:02 +00:00
Zeev Suraski 8f491470a1 Remove comment 2002-12-08 14:10:58 +00:00
Zeev Suraski dc5c790a49 Treat the absence of an access type just as if 'public' was supplied 2002-12-08 14:09:43 +00:00
Moriyoshi Koizumi 93ee146d0e Fixed stream leaks 2002-12-08 10:23:50 +00:00
Moriyoshi Koizumi 8d1b2bf8a5 Prevented return_value from being freed() twice 2002-12-08 09:54:30 +00:00
Sara Golemon a4d6863ee5 Bug #17174 Added IPv6 (AAAA record) support to dns_check_record() also added support to dns_get_record 2002-12-08 08:14:43 +00:00
Marcus Boerger 90d9299e51 Updated error message 2002-12-07 23:33:41 +00:00
Marcus Boerger f01fa3e02e Updated error message 2002-12-07 23:21:50 +00:00
Zeev Suraski 68aa19445b Simplify/fix inheritance checks 2002-12-07 21:46:12 +00:00
Zeev Suraski ce69b6f6ee Support private/protected constructors 2002-12-07 21:37:09 +00:00
Timm Friebe b9fa1813b2 - Fixed three memory leaks
- Fixed segfault with sybase_unbuffered_query() and unfetched resultsets
2002-12-07 19:49:31 +00:00
Sebastian Bergmann 81b1ed9ff3 Update. 2002-12-07 16:47:44 +00:00
Ilia Alshanetsky 66e40c013d Bug fixing news. 2002-12-07 16:15:46 +00:00
Ilia Alshanetsky 683251eba3 Fixed bug #20796. $_GET/$_POST/$_COOKIE data can get overwritten when
register_globals are on and input contains arrays.
2002-12-07 16:05:27 +00:00
Zeev Suraski c087d9e9e4 Fix error messages 2002-12-07 15:53:37 +00:00
Zeev Suraski e156edb1d0 Remove unintentional code 2002-12-07 15:52:08 +00:00
Andi Gutmans 1d1a796b58 - Dissallow using parent, self and main as class names 2002-12-07 15:51:25 +00:00
Marcus Boerger 8e268d2816 Adding a test for abstract class instanciation 2002-12-07 14:27:29 +00:00
foobar 495f544d4b sync 2002-12-07 12:14:42 +00:00
Sander Roobol 63519faca0 sync with branch 2002-12-07 11:27:59 +00:00
Sander Roobol 29529daebd Forgot to add this entry... 2002-12-07 11:21:44 +00:00
Frank M. Kromann 7f3783ec15 fixing code style 2002-12-07 06:05:06 +00:00
Ilia Alshanetsky 8425dbd0bc Fixed bugs #20725 & #20860. Post form variables get lost if the uploaded
files cannot be written to disk.
2002-12-07 00:48:13 +00:00
Frank M. Kromann ac2f1624d7 Removing unused code and making sure headers are send when called from imap_mail() 2002-12-06 22:56:57 +00:00
Frank M. Kromann 0d812352be Fixing a possible strcat on a NULL pointer 2002-12-06 22:52:31 +00:00
Moriyoshi Koizumi 3500c239a0 Fixed build with autoconf-2.54 2002-12-06 18:25:39 +00:00
Ilia Alshanetsky 3bc8512cf0 Added test case for bug #20865. 2002-12-06 17:46:26 +00:00
Ilia Alshanetsky ed7c3bfe0e Fixed bug #20865, array_key_exists() could not locate NULL keys. 2002-12-06 17:35:52 +00:00
Zeev Suraski e062dffe6c - Implement public/protected/private methods.
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.
2002-12-06 17:09:44 +00:00
Marcus Boerger e0a972c061 cpdf + bundled gd
#maybe someone finds a better solution (perhaps in config) and comitts it
2002-12-06 16:33:57 +00:00
Abdul-Kareem Abo-Namous 646c4747b4 added support for multiple character sets.
OCILogon now has a forth optional parameter, which is the character set requested by the string (i.e. we8iso8859p1). when left blank, NLS_LANG or default is used.

config.m4 was changed to identify Oracle 9+ which is needed for this feature. all other oracle versions (lesser) fall back to the old behaviour.
2002-12-06 13:44:35 +00:00
Sebastian Bergmann b3d0cca0e6 A bit of an update for the sapi/servlet installation guide. 2002-12-06 06:44:29 +00:00
Sebastian Bergmann 27ff466cbc Deprecate sapi/fastcgi. 2002-12-06 06:08:17 +00:00
Ilia Alshanetsky 33de9befa1 Fixed bug #20812, ftp_get returned NULL on success instead of TRUE. 2002-12-06 06:07:40 +00:00
Pierre Joye dda7acaad5 Add imageistruecolor 2002-12-06 02:16:06 +00:00
Stig Bakken 1ef49991ff * fix upgrade-all output 2002-12-06 00:10:10 +00:00
Marcus Boerger ae35c4731f php_error -> php_error_docref 2002-12-05 23:18:28 +00:00
James Cox 2cca05a32a more rain 2002-12-05 23:17:59 +00:00
James Cox 0704182de1 rainy and cold here. 2002-12-05 23:06:40 +00:00
James Cox 1d5ee6f74d touch again. 2002-12-05 22:55:25 +00:00
Ilia Alshanetsky d6c29c781e Fixed a memory leak inside heb_number_to_chars(). 2002-12-05 22:46:54 +00:00
James Cox a43d2960ec touch2. 2002-12-05 22:35:11 +00:00
James Cox e93f60e651 touch 2002-12-05 22:31:18 +00:00
Ilia Alshanetsky c668055159 Remove pointless checks for array_init() return values. 2002-12-05 22:28:02 +00:00
Marcus Boerger 4ce4a1c32c php_error -> php_error_docref 2002-12-05 21:53:25 +00:00
Marcus Boerger 8ed84254cd -php_error -> php_error_docref 2002-12-05 21:46:08 +00:00
Sara Golemon ad65d01cbe Bug #20746. Renamed aggregation_info() to aggregate_info() per naming conventions and created alias for BC. 2002-12-05 21:20:47 +00:00
Marcus Boerger 49a99a98f4 -php_error -> php_error_docref
-removed some cases where emalloc result was tested
2002-12-05 20:59:49 +00:00
Marcus Boerger 3cf581b1b3 correct code that is guarded by "#if 0" 2002-12-05 20:41:55 +00:00
Marcus Boerger 9a04528061 fix ZTS build 2002-12-05 20:39:43 +00:00
Marcus Boerger dcfe988820 php_error -> php_error_docref 2002-12-05 20:13:35 +00:00
Marcus Boerger 47b0e79b1a -fix a warning that was an error
-php_error -> php_error_docref
2002-12-05 20:01:31 +00:00
Ilia Alshanetsky 7364e3b771 Fixed bug #12556, updated the test for this bug. 2002-12-05 20:01:19 +00:00
Marcus Boerger cf5d2e79b9 fix debug only 2002-12-05 19:49:12 +00:00
Derick Rethans 83741be445 - Renamed snmpv3_* to snmp3_*
- Conversion to php_error_docref
- Whitespace fixes
2002-12-05 19:33:03 +00:00
Melvyn Sopacua bd06d48e56 Test data 2002-12-05 19:30:28 +00:00
Melvyn Sopacua 76436b8820 Add a testcase for this bug 2002-12-05 19:29:45 +00:00
Marcus Boerger 19d5e535c0 Remove unnecessary code here 2002-12-05 15:52:20 +00:00
foobar f8c050395c ws fix (bug: #20808) 2002-12-05 15:44:27 +00:00
Marcus Boerger 373361d9c4 Return FALSE on error as mentioned by John Coggeshall.
See Bug #20822
2002-12-05 12:39:00 +00:00
Rasmus Lerdorf 4c749f08c0 Fix build 2002-12-04 23:21:30 +00:00
Ilia Alshanetsky 8d4b717518 Added GD image conversion tests. 2002-12-04 21:04:07 +00:00
Ilia Alshanetsky 5779f9bb0f Made imagecreatefromxpm() work once again. 2002-12-04 20:58:04 +00:00
Ilia Alshanetsky f3a253a4a0 Fixed a typo. 2002-12-04 17:31:35 +00:00
Ilia Alshanetsky 30724f6291 Bug fixing news. 2002-12-04 17:29:48 +00:00
Ilia Alshanetsky 1e8ec47a99 Fixed a memory leak inside gdImageTrueColorToPalette(). 2002-12-04 17:16:19 +00:00
Moriyoshi Koizumi cf0a0f0967 Added a test for bug #12776 2002-12-04 17:01:07 +00:00
Moriyoshi Koizumi 7b56bfae46 Bug fix news 2002-12-04 16:49:59 +00:00
Moriyoshi Koizumi 7bf4090efb Fixed segfaults of array_walk() when keys are passed to cb by reference.
Fixed bug #12776.
2002-12-04 16:41:28 +00:00
Ilia Alshanetsky 143e46ae28 WS fixes. 2002-12-04 16:29:48 +00:00
Sebastian Bergmann 196b3f581f Fix bugs #20270, #15702, #18600 (segfaults in ext/java). (Tony J. White) 2002-12-04 08:31:43 +00:00
Sebastian Bergmann 49f05c470a Fix bugs #20270, #15702, #18600. Patch by Tony J. White <tjw@tjw.org>. 2002-12-04 08:18:02 +00:00
Pierre Joye 00881ea504 Fix imagegd stdoutput
Typo 256 colors
2002-12-04 02:48:23 +00:00
Pierre Joye e8e2420042 Fix imagegd crashes when used with truecolor image (from jpeg,png, or imagecreatetruecolor)
may we add parameters to imagegd to let user specify the palette size and dither (set to 256 and true) ?
2002-12-04 02:37:21 +00:00
Christian Dickmann 910a03a835 silence some possible warnings 2002-12-03 20:51:36 +00:00
Frank M. Kromann 956d63899c Changed php_error() to php_error_docref() 2002-12-03 19:39:25 +00:00
Ilia Alshanetsky e1b9a77725 Fixed a bug that caused a crash in pdf_open_memory_image(), when a truecolor
image was loaded, it now checks if the image is truecolor and performs the
appropriate calculations (fixed bug #20785).
Changed E_WARNING back to E_ERROR.
2002-12-03 19:25:17 +00:00
Frank M. Kromann 686010e050 Changed php_error() to php_error_docref() 2002-12-03 19:19:15 +00:00
Frank M. Kromann 13b6390df7 Bug #19370
Allow stored procedures to return multiple results.
2002-12-03 18:57:04 +00:00
Frank M. Kromann 5eaf2d10e7 Bug #17593
Make sure any pending data is released from the server when freeing the result
2002-12-03 18:04:35 +00:00
Harald Radi 8529f3ba95 damn milter api:
"Furthermore, since there is not a one-to-one correspondence between
 threads and connections (N connections mapped onto M threads,
 M <= N), connection-specific data must be accessed through the handles
 provided by the Milter library."

which in other words means php_request_startup() and the corresponding
php_request_shutdown() will never be called for the same thread
2002-12-03 16:26:57 +00:00
Ilia Alshanetsky b08f247f32 Fixed a crash that occurs during the last step of png/jpeg -> gd2 -> png/jpeg
conversion. The same crash still occures with png/jpeg -> gd -> png/jpeg, because
apparently gd format cannot handle truecolor images.
Turned off debug messages inside gd_gd2.c.
2002-12-03 15:43:17 +00:00
Moriyoshi Koizumi 242ddba326 Fixed leaks in array_walk() 2002-12-03 15:02:06 +00:00
Harald Radi bf16a54f5a fix typos and make example more useful 2002-12-03 14:43:43 +00:00
foobar 7d744c54b4 - Need these libraries for static build 2002-12-03 11:34:12 +00:00
foobar 68eaf6391a - Fixed the build with iPlanet LDAP SDK 5.x 2002-12-03 09:35:42 +00:00
Frank M. Kromann 679d645738 Allocating enough memory to hold values.
Fix crash when certan stored procedures was called. This caused the free_result function to free memory not yet allocated.
2002-12-03 05:56:39 +00:00
Moriyoshi Koizumi e7f1bbf0f2 Iconv extension is no longer experimental 2002-12-02 21:29:06 +00:00
Moriyoshi Koizumi de79a4e9d8 Reverted the changes because the problem was elsewhere. 2002-12-02 21:10:37 +00:00
Moriyoshi Koizumi c7a0b0d262 Reverted wrong part of the commit made in 1.24 2002-12-02 20:11:59 +00:00
Frank M. Kromann b2a648f5b5 Fixing the Win32 compilation of mbstring with mbregex enabled. 2002-12-02 19:18:23 +00:00
Frank M. Kromann a7f3ad42a4 Fixing build on WIn32
MBREGEX is disabled for now. 5 mbre_* functions are undefined on WIn32
2002-12-02 18:19:17 +00:00
Sterling Hughes 7fd0c8b593 apparently this isn't finished 2002-12-02 16:38:22 +00:00
Ilia Alshanetsky 467a5f44ec Fixed flex version check. Some lex scanners like Sun's SGU do not appear
to support -V flag, so by passing them data on stdin we prevent them from
sitting idle waiting for stdin data. I've also added some common version
retrieval flags, that may be supported by various lex scanners.
2002-12-02 07:03:00 +00:00
Ilia Alshanetsky 057e87e6e5 Repositioned CoInitialize and CoUninitialize that apparetly makes it more
correct according to MS docs. Patch (+5) by Michael Sisolak
<msisolak@yahoo.com>.
2002-12-02 06:43:54 +00:00
Ilia Alshanetsky a6e02dc45d Fixed a crash bug that can occur due to PDF_delete() being called more then
once and E_ERROR occurring during the shutdown sequence.
2002-12-02 06:35:29 +00:00
Jason Greene 5e1741fd48 Revert patch that should have been reverted a long time ago.
There was a memory leak in the error handling system on win32, that this patch
circumvented (by preventing the errors (EAGAIN mesages) from being generated).
# I must have forgotten to remove this when I fixed the leak
2002-12-02 05:45:13 +00:00
Shane Caraveo 76e09401ab aparently did not add these on head
removed ssize_t which was causing problems, and not in libfcgi anyway
2002-12-02 05:24:54 +00:00
Shane Caraveo 75cbbfacb1 fix use of Alias under apache by defaulting script_name to redirect_url
dont lstat, stat.
2002-12-02 02:16:38 +00:00
Jon Parise 6be496f44e Correct the punctuation of these error messages. 2002-12-02 00:21:15 +00:00
Sterling Hughes 065104b8fe TODO: Cleanup elements that have happened, or most likely won't happen. There
is probably more that should be gone, but its still a move in the right
direction.

Other stuff is ws/formatting changes
2002-12-01 22:15:39 +00:00
Shane Caraveo 9bc3f72d8e build support for cgi fixes previously commited 2002-12-01 21:50:35 +00:00
Shane Caraveo a3bd39429c Fix CGI to match cgi spec.
This patch properly fixes support for CGI in PHP.  For backwards compatible
broken behaviour, cgi.fix_pathinfo can be set to zero in php.ini.
CGI failed to work under apache at all, either using the cgi-script directive
or as a ScriptAlias setup. Typicaly it would try to parse itself.  This will
still happen if you dissable fix_pathinfo, and set DISCARD_PATH.
This also fixes PATH_INFO, and finally we can run pres2 under cgi or fastcgi.
This patch has been tested under Apache 1.3, 2.0, IIS, as both cgi and fastcgi,
on Windows and OSX.  A followup patch with build stuff for linux will follow.
2002-12-01 21:37:14 +00:00
Shane Caraveo 529762a21a php_error_docref aborts cgi. This broke using php as cgi under
apache/mod_cgi with the cgi-script directive and bang lines in php scripts.
removing it allows this to work again.
2002-12-01 21:28:27 +00:00
Harald Radi 3fb36b0c56 example 2002-12-01 20:29:14 +00:00
Harald Radi e25b194525 rename callbacks to fit the original name 2002-12-01 20:28:54 +00:00
Andi Gutmans 9f361fc0f8 - Allow enabling of memory cache with zend_mm 2002-12-01 20:15:09 +00:00
Harald Radi b460dfc042 initial checkin 2002-12-01 19:55:48 +00:00
Harald Radi 9d5e55f790 if the api functions are called, check if they're valid in that context
reopen file per request, so milter doesn't hang. PHPA or APC can be used to speed the milter up
added a milter_init callback to init the milter before it is registered
added protos to make sniper happy
2002-12-01 19:50:07 +00:00
Andi Gutmans 27de54b0df - MFZE1 2002-12-01 19:47:02 +00:00
Andi Gutmans f222884e2d - Revert as the patch doesn't compile 2002-12-01 19:22:30 +00:00
Andi Gutmans b6ecd6704c - MFZE1 2002-12-01 19:07:07 +00:00
Stefan Roehrich e50dc16b21 Comment about maximal length now matches code. 2002-12-01 18:48:51 +00:00
foobar cef45338c9 fix build.. 2002-12-01 17:24:00 +00:00
Harald Radi 8c19b754f9 first working version 2002-12-01 16:37:59 +00:00
Harald Radi db93856c07 check for libmilter path 2002-12-01 13:44:22 +00:00
Derick Rethans 7fbcf76973 -fix typo 2002-12-01 13:43:17 +00:00
Harald Radi e4bc32fbe2 no message 2002-12-01 13:36:53 +00:00
Stanislav Malyshev 2c7d6f9a74 improve username/password detection for IIS 2002-12-01 12:48:08 +00:00
Harald Radi 1356e60fa3 no message 2002-12-01 12:23:47 +00:00
Marcus Boerger fa38a6af6f No more (f)printf for errors and warnings instead use php_error_docref. 2002-12-01 11:43:54 +00:00
foobar e178bdc1ee Fix build 2002-12-01 05:14:56 +00:00
Harald Radi 0244ca1d97 it finally compiles now
tests will follow tomorrow
2002-12-01 03:37:49 +00:00
Sascha Schumann 2b95b3c83b add a "force HTTP/1.0 response" facility to the SAPI layer
this is necessary, when you want to take over control of a connection
and the web server is doing stupid things by default (like enabling
chunked transfer encoding for no reason).
2002-12-01 03:28:21 +00:00
Sterling Hughes b9447c2f49 remove dos line endings 2002-12-01 03:13:03 +00:00
Harald Radi b7b5ca519f fix build 2002-12-01 02:45:30 +00:00
Moriyoshi Koizumi aeb6a6c458 Fixed possible buffer overflow in php_base64_decode();
# This bug doesn't appear to be harmful for now,
# so I won't merge it into branches...
2002-12-01 02:44:50 +00:00
Harald Radi 39e03b580b todo or not todo 2002-12-01 01:36:26 +00:00
Harald Radi 3a0a2411c7 added remaining functions, still untested, still having problems with config.m4 2002-12-01 01:18:48 +00:00
Marcus Boerger 38f5812191 Skip overload for ZE2
Bug #20156
2002-12-01 00:38:30 +00:00
Harald Radi ad6333654e Sendmail Milter SAPI
initial version
2002-12-01 00:21:10 +00:00
Frank M. Kromann 32d7284c52 Dont scan headers for cc abd bcc if extra parameters are used for these 2002-11-30 21:50:17 +00:00
Frank M. Kromann 7afd92792b Fix the use of "personal" information in To and Cc headers 2002-11-30 21:49:20 +00:00
Ilia Alshanetsky cc13af6a07 Fixed bug #20716. 2002-11-30 19:12:48 +00:00
Marcus Boerger 0d7957bc15 Bug #20433 2002-11-30 18:36:17 +00:00
Andi Gutmans 671fff2fde h WHitespace 2002-11-30 11:20:25 +00:00
Christian Stocker 3429e3313b fixed big bad memory leak in xpath objects. 2002-11-30 10:38:17 +00:00
Jason Greene 5d554c20d2 Sockets is no longer experimental 2002-11-29 23:44:06 +00:00
Moriyoshi Koizumi b9687bea65 Prevented the result from being affected by function overloading 2002-11-29 18:32:50 +00:00
Sander Roobol 348b429b5b Remove all traces of _bc_Free_list - it's not used anymore 2002-11-29 17:59:30 +00:00
Yasuo Ohgaki e4be6b3ac2 Fixed problem with PostgreSQL 7.3 2002-11-29 17:18:01 +00:00
Andi Gutmans 2de45bec65 - Initialize constants_updated (by Marcus) 2002-11-29 16:35:46 +00:00
Christian Stocker 71235e4140 removed unused variable 2002-11-29 16:31:41 +00:00
foobar 7f48a6f13b MFB 2002-11-29 14:48:17 +00:00
foobar 6fb3b26796 - MFB 2002-11-29 14:46:06 +00:00
Christian Stocker 55ee8af808 fix for bug #20389 (no trailing slash in configure option) 2002-11-29 13:30:29 +00:00
Sascha Schumann 95fead0b9f add missing line 2002-11-29 11:34:08 +00:00
Christian Stocker a2ccb29a97 @- Added xpath_register_ns_auto([contextnode]) for automatically registering
@  namespace definitions (chregu)

changed my mind. Automatic namesapce registration is not done within
xpath_eval() anymore, but in a seperate function.
2002-11-29 11:22:06 +00:00
Christian Stocker eed5b11b5f do some kind of automatic namespace registration in xpath_eval(). This
works only for namespaces defined in the context node (eg docroot if
no second argument is given. If one wants to use namespaces defined
elsewhere or with different prefixes, you still have to use
xpath_ns_register()
2002-11-29 10:24:44 +00:00
Christian Stocker b1dab29214 relative xpath queries are already possible
(use $ctx->xpath_eval($xpath,$contextnode) )
2002-11-29 08:28:53 +00:00
Christian Stocker cac5d670b3 get_element_by_id does not need LIBXML_XPATH support 2002-11-29 07:50:37 +00:00
Marcus Boerger 65eb0d8125 Conversion fixes 2002-11-29 01:44:19 +00:00
Marcus Boerger 0a7487e32d Conversion fixes 2002-11-28 22:48:20 +00:00
Marcus Boerger e7f5b801be Do not instanciate an abstract class 2002-11-28 17:07:50 +00:00
Ilia Alshanetsky 398ff4fe82 Fixed mhash tests, apparently the TIGER algorithm was updated (fixed?) in
later mhash releases and consequently returns a different hash. I've updated
the hash to the one generated by latter releases.
Removed useless \r from ext/mhash/tests/003.phpt.
2002-11-28 14:13:44 +00:00
Martin Kraemer 966f75d4fb Portability: avoid <malloc.h> warnings on FreeBSD 2002-11-28 09:19:16 +00:00
Martin Kraemer f3845c3ae0 Portability: The header contains the declaration; while the source ext/bcmath/libbcmath/src/init.c has the definition
(otherwise some compilers complain about 'duplicate symbols')
2002-11-28 08:26:14 +00:00
Martin Kraemer c5a7a522a1 Portability: Use 0 if the platform does not define EX_OK 2002-11-28 08:23:36 +00:00
Andi Gutmans c6502fa225 - Nuke use of deprecated macro 2002-11-27 20:09:36 +00:00
Sterling Hughes 52a451ccd2 no more need for this either 2002-11-27 20:06:01 +00:00
Sterling Hughes 5c96f91123 don't use stupid constants, be smart, just read the line 2002-11-27 20:05:20 +00:00
Frank M. Kromann 7abdf90a0e free alocated mem.
minor changes in the layout
2002-11-27 18:52:31 +00:00
Tal Peer 1d768548cd jdtojewish() test 2002-11-27 15:54:32 +00:00
Tal Peer 8aac1ce2ee Added an additional (optional) argument to jdtojewish() to keep BC
with 4.3 (and let users getdates in Hebrew without further formatting)
2002-11-27 15:52:25 +00:00
Ilia Alshanetsky e195b10ede Fixed bug #20664. 2002-11-27 06:20:19 +00:00
Marcus Boerger 28c10e29d0 -Code completley rewritten 2002-11-27 02:42:41 +00:00
Marcus Boerger 569c69ba36 -Add test for exif_read_data and magic_quotes_runtime 2002-11-27 02:31:26 +00:00
Marcus Boerger 57f41b1a90 -Forgot to correct length 2002-11-27 02:28:29 +00:00
Marcus Boerger 3ff08b91a6 -Add magic_quotes_runtime support
-Fix Canon Markernote
2002-11-27 01:46:36 +00:00
Frank M. Kromann f9b3452c6a Convert 0D 0D 0A line breaks to 0D 0A 2002-11-27 00:49:24 +00:00
Stig Bakken 441a3e3612 * fix typo 2002-11-26 23:17:22 +00:00
Frank M. Kromann 9f927c1a2e time is a function. Use the name of the variable 'timestamp' 2002-11-26 23:03:07 +00:00
Frank M. Kromann 863962d5cf Adding missing header file on Win32 2002-11-26 23:02:09 +00:00
Frank M. Kromann 0cddc5b4eb removing unused variables 2002-11-26 23:01:17 +00:00
Stig Bakken b066da4e65 * lose obsolete tags: libfile, libname, sources, includes, libadd 2002-11-26 22:52:34 +00:00
Frank M. Kromann 2ac7c4f2de Adding missing ; 2002-11-26 22:44:16 +00:00
Moriyoshi Koizumi 98dace883e Improved the error reporting portion of array_walk() as suggested by Markus 2002-11-26 22:12:40 +00:00
Moriyoshi Koizumi 3fd513f32a Prevent too many error reports from being displayed 2002-11-26 21:51:37 +00:00
Stig Bakken 7e21663cb5 * ws/folding 2002-11-26 21:49:55 +00:00
Moriyoshi Koizumi 61b3d5ccb5 Fixed incorrect error messages of array_walk() in case the callback is
specified in an array form
2002-11-26 21:21:32 +00:00
Stig Bakken 397b35f891 * changed "info" shortcut to "in" 2002-11-26 18:23:58 +00:00
Christian Stocker 20688a30ab Fix for Bug #20639 DomElement->get_elements_by_tagname() doesn't work 2002-11-26 15:37:54 +00:00
Wez Furlong b1a5434537 Update to use new parameter parsing API.
Updates to Jewish/Hebrew calendar code.
Patch from Moshe Doron, amended by Tal Peer,
reviewed by me.
# Maybe Tal and/or Moshe could comment on whether this should
# also be commited to the 4_3 branch (it completes some earlier work
# started prior to the branch).
2002-11-26 14:52:00 +00:00
Marcus Boerger 579e3ca96b Add Berkeley db4 support 2002-11-26 12:05:59 +00:00
Marcus Boerger 197fd585bd -Disallow combining db2 with db3 which are conflicting.
-Stop searching for headers and libraries when found.
-Check version for Berkeley DB library headers.
2002-11-26 12:00:25 +00:00
Marcus Boerger f88aa8045a Highlight "Thank you" 2002-11-26 11:30:08 +00:00
Frank M. Kromann a2bf03ccea Avoid , at the end of each string (to, cc and bcc) 2002-11-26 07:04:31 +00:00
Shane Caraveo 17cce37a72 fix windows build of cgi/fastcgi 2002-11-26 06:51:44 +00:00
foobar dd53efc196 - Made the STANDARD_SAPI_MODULE_PROPERTIES be what it says it is. 2002-11-26 05:57:06 +00:00
Shane Caraveo 95b4045f48 configure now supports building the cgi-fcgi module
configure --enable-fastcgi
2002-11-26 05:51:16 +00:00
Sascha Schumann 09f463ddae Add sapi_get_fd() and implement it for the Apache/thttpd SAPIs. 2002-11-26 05:15:55 +00:00
Yasuo Ohgaki f0b6f5450c Remove a warning 2002-11-26 02:13:35 +00:00
Stig Bakken 693204265e * a little more "windows robust" when looking for package.xml 2002-11-26 01:38:48 +00:00
Stig Bakken ad2618b8eb * forgot to set release date 2002-11-26 01:34:14 +00:00
Stig Bakken df158fa5cf * added --ignore-errors option, --force no longer ignores errors 2002-11-26 01:32:47 +00:00
Stig Bakken 58c57d43ab * added sig_keyid config param 2002-11-26 00:05:21 +00:00
Ilia Alshanetsky 9497ba9d49 MFH (test failure if session.serialize_handler is not set to php). 2002-11-25 23:20:05 +00:00
Stig Bakken e617da5aae * more accurate description of "makerpm" command 2002-11-25 23:16:16 +00:00
Stig Bakken 6f1c21aea2 * silence some notices 2002-11-25 23:15:31 +00:00
Stefan Esser ababfedb66 tmp_line was possible uninitialised, resulting in crap error messages. 2002-11-25 22:53:57 +00:00
Ilia Alshanetsky 693fd4a36b Added a check to determine if the file can be retrieved or sent.
This check also prevents incorrect error reporting in the event the retrieval
or the sending of the file cannot be accomplished.
2002-11-25 22:00:52 +00:00
Maxim Maletsky d9cf3c2a0e Bug# 16798. Tests appreciated by someone with Oracle 8.0 2002-11-25 18:14:45 +00:00
Moriyoshi Koizumi 53fba5f8a6 @- Enabled mbregex by default when mbstring is also enabled (Moriyoshi) 2002-11-25 17:44:14 +00:00
Moriyoshi Koizumi 12d4a19fce Forgot to adjust this one 2002-11-25 17:21:50 +00:00
Moriyoshi Koizumi 76b218cb6e Renamed several internal functions for consistency 2002-11-25 17:20:20 +00:00
Rui Hirokawa b3cfda6389 simplified korean encoding conversion table. 2002-11-25 15:21:04 +00:00
Ilia Alshanetsky c330fdc1a1 Removed un-needed zlib check. 2002-11-25 14:25:52 +00:00
Hartmut Holzgraefe 8bd550825f email address change 2002-11-25 12:30:28 +00:00
Ilia Alshanetsky 9251486567 Synchronized bundled gd library with the latest stable GD, 2.0.6
Fixed a configuration problem with xpm.
Fixed 2 possible memory leaks in fontFetch().
2002-11-25 01:51:53 +00:00
Yasuo Ohgaki 5c851cba19 Cleanup state=4 and avoid using sscanf() 2002-11-25 01:38:29 +00:00
Andi Gutmans 6aa90a75bd - FN_IS_STATIC -> FN_STATIC 2002-11-24 20:32:49 +00:00
Andi Gutmans 5cb8fabb7d - Fix crash 2002-11-24 20:15:56 +00:00
Moriyoshi Koizumi 436bc265e6 MFB 2002-11-24 19:48:58 +00:00
Sergey Kartashoff dab1bb005a - Header file update for new mnogosearch functions 2002-11-24 19:39:47 +00:00
Sergey Kartashoff 319f286562 @- A new functions have been added: udm_set_agent_param_ex and
udm_get_res_field_ex
- A new functions have been added: udm_set_agent_param_ex and
  udm_get_res_field_ex
2002-11-24 19:36:46 +00:00
Sascha Schumann 3f6b470770 Use proper form of NUL
Drop superfluous checks for NULL results
2002-11-24 16:23:37 +00:00
Marcus Boerger 2ddbee008f Better naming 2002-11-24 16:07:34 +00:00
Marcus Boerger c4272645ce Add test against redeclaring an overloaded method abstract 2002-11-24 15:51:57 +00:00
Marcus Boerger 622b45e2a9 Add test against mixing static/non static methods 2002-11-24 15:50:28 +00:00
Sterling Hughes 490903da5a null after the erealloc() 2002-11-24 15:11:43 +00:00
Christian Dickmann 51f5b6debb remove the check, cause i don't really know, if content has to be an array everytime 2002-11-24 10:15:25 +00:00
Christian Dickmann 0228cfcf4a add some checks to increase cache integrity 2002-11-24 10:13:57 +00:00
Christian Dickmann 7dd3e5e683 add errormessage, but that does not fix the problem 2002-11-24 10:06:54 +00:00
Yasuo Ohgaki 5c2fda30b2 Added missing '\0' 2002-11-24 07:45:26 +00:00
foobar bad0d653a1 MFB: ; instead of : 2002-11-24 05:15:10 +00:00
Moriyoshi Koizumi c7c7132a66 Renamed the file because this is actually a test for gdImageStringFt(). 2002-11-24 01:32:15 +00:00
Ilia Alshanetsky ef1d4e1dcf Fix compile warning, MIN/MAX macros may already be defined by param.h 2002-11-24 01:30:51 +00:00
Ilia Alshanetsky 67e25fcbd8 Added gdPEstrdup macro. 2002-11-24 01:20:13 +00:00
Ilia Alshanetsky ef26e2d1f8 Fixed 3 memory leaks.
Formatted the code to meet PHP's coding standards, which makes it MUCH easier
to understand.
2002-11-24 01:15:34 +00:00
Moriyoshi Koizumi 9db2512418 Fixed the macro so this can be compiled with ft1 2002-11-24 00:59:41 +00:00
Moriyoshi Koizumi fe23fcab12 Sorry, wrong commit. 2002-11-23 23:35:57 +00:00
Moriyoshi Koizumi 0f8916e37c Dismissed the second part of the test 2002-11-23 23:34:38 +00:00
Frank M. Kromann ecd975550b Adding mb_gpc files to project 2002-11-23 22:59:24 +00:00
Moriyoshi Koizumi 4124672edf Fixed leaks. Other leaks are originated in libgd. 2002-11-23 22:11:59 +00:00
Derick Rethans 1019b2ea94 - Adjust tests for removed old_function() in Zend Engine 2 2002-11-23 22:08:05 +00:00
Moriyoshi Koizumi 57e4b81d13 Fixed segfaults 2002-11-23 21:33:31 +00:00
Marcus Boerger 1827a58de0 Allow db4.0 & db4.1 here. Patch by Ralf Engelschall (rse@engelschall.com) 2002-11-23 21:11:12 +00:00
Andi Gutmans 01e853c2ce - My personal cleanups 2002-11-23 20:46:39 +00:00
Andi Gutmans e8214a3384 - Commit Marcus' cleanup of abstract and static inheritance and improve
- error messages
2002-11-23 20:44:12 +00:00
Moriyoshi Koizumi f920e5d068 Forgot this one. Updated license information 2002-11-23 20:17:46 +00:00
Moriyoshi Koizumi 7f1f056f16 Updated license information headers 2002-11-23 20:14:33 +00:00
Moriyoshi Koizumi 22a9d7ad25 Separated GPC related part from mbstring.c 2002-11-23 20:08:44 +00:00
foobar 5e429447b1 ws fix 2002-11-23 19:20:44 +00:00
Derick Rethans 36e82c84ae - Make it compile on IRIX again
#- Tested with Linux/FreeBSD and IRIX
2002-11-23 19:03:21 +00:00
Marcus Boerger c7dc6c0e00 Move up general tests
# if MFH is needed should be decided by QA team: because the output # sequence changes
2002-11-23 16:57:25 +00:00
Moriyoshi Koizumi 44c98c7e3f Fixed some odd behaviours of range() 2002-11-23 11:27:56 +00:00
Moriyoshi Koizumi 715ad2730c Fixed tab positions. 2002-11-23 11:20:51 +00:00
Moriyoshi Koizumi 40d605a385 Test for mb_send_mail() under language=Korean 2002-11-23 05:26:18 +00:00
Marcus Boerger 517af84b0a MFB: Fix memleak in debug mode 2002-11-23 01:24:08 +00:00
Sara Golemon e9047df607 New function dns_get_record(): close resolver socket after use.
fix to internal func php_parserr(): correct bug in return state.
2002-11-23 01:09:07 +00:00
Marcus Boerger 318e561905 Testing default behaviour 2002-11-23 00:54:04 +00:00
Rui Hirokawa c38db57f3c fixed some bugs in korean encoding conversion. 2002-11-22 23:34:55 +00:00
Rasmus Lerdorf 761bcbd751 Applied imagedeallocate() fix 2002-11-22 23:25:14 +00:00
Ilia Alshanetsky 962e4864a1 Fixed bug #20560. 2002-11-22 21:51:38 +00:00
Stefan Esser 9dae1475ef little fix 2002-11-22 19:34:17 +00:00
Marcus Boerger e7d20a0422 Make magic_quotes_runtime work bidirectional for dba 2002-11-22 15:47:48 +00:00
Edin Kadribasic 81711ba621 Avoid possible buffer overflow. 2002-11-22 15:47:39 +00:00
Marcus Boerger d33ff48608 Show which algorythm fails and do not fail when we have new algos.
#for me TIGER fails anybody else?
2002-11-22 14:07:29 +00:00
Edin Kadribasic fd47c5bb32 MFB: Don't send default http status (200). 2002-11-22 13:55:27 +00:00
Jan Kneschke b4ced28d7c - protect the function against a non-xml document
- initializing variables reduces the number of seg-faults
2002-11-22 13:41:51 +00:00
Jan Kneschke 3598fbcef9 - fixed a buffer under run
- initializing variables is a good thing
  - in case of a invalid response we don't seg-fault here anymore
2002-11-22 13:39:06 +00:00
Andrey Hristov 850586cfe7 typo fix. 2002-11-22 11:11:31 +00:00
Derick Rethans 2a9f250ec7 - Initialize all functions to non-static (patch by Marcus Börger
<marcus.boerger@t-online.de>.
2002-11-22 10:49:46 +00:00
Marcus Boerger 4e78286eaf Update error message and say 'method' instead of 'function' 2002-11-22 10:44:36 +00:00
Edin Kadribasic 714a5be6cc Fixed bug #19207 by adding cgi.rfc2616_headers configuration directive. 2002-11-22 10:15:47 +00:00
Sander Roobol f200f739d8 Made bcmath extension thread safe.
@Made bcmath extension thread safe. (Sander)
2002-11-22 09:25:29 +00:00
Stig Bakken 64a75d6d77 * fix config-show output 2002-11-22 07:03:46 +00:00
Sebastian Bergmann ba1f645030 Show class name as well. Patch by Marcus Börger. 2002-11-22 06:19:04 +00:00
Ilia Alshanetsky 489b0f2115 Added missing header (fixed bug #20555). 2002-11-22 02:38:03 +00:00
Ilia Alshanetsky 2ca45412ed Added a test case for bug #20528. 2002-11-22 00:08:57 +00:00
Ilia Alshanetsky c7dd366c1a Fixed bug #20528. 2002-11-21 23:51:52 +00:00
Melvyn Sopacua 7732ce7fe3 Fix bug #20518 2002-11-21 23:28:26 +00:00
Melvyn Sopacua 8d42dd7a8b test for bug #20518 2002-11-21 23:27:38 +00:00
Maxim Maletsky e20121e6c7 Added E_WARNING to OCIPasswordChage() when Safe Mode is in effect 2002-11-21 21:26:18 +00:00
Maxim Maletsky b5ae4adde1 @- Added OCIPasswordChange() which allows the password of an Oracle account to be changed. (Maxim) 2002-11-21 20:49:33 +00:00
Maxim Maletsky 1f73196bf9 comment typo 2002-11-21 20:32:56 +00:00
Maxim Maletsky 8338d8bfce Disabled OCIPasswordChange() in safe mode. Possible security risks. 2002-11-21 20:28:11 +00:00
Moriyoshi Koizumi 1748935997 Added missing mb_internal_encoding() 2002-11-21 18:12:53 +00:00
Moriyoshi Koizumi adfcb09190 Removed unnecessary "\n" 2002-11-21 17:36:16 +00:00
Moriyoshi Koizumi 9762403c26 Added a test case for imagettftext() 2002-11-21 17:26:18 +00:00
Marcus Boerger d3e095004c Revert that unwanted debug thing - thanks to Sander Robol 2002-11-21 16:48:39 +00:00
Sander Roobol b8cf1a369f Hardcode the bcmath.scale ini-entry 2002-11-21 16:16:38 +00:00
Rui Hirokawa 13a51b8f20 mbstring is supporting CJK + some other encodings. 2002-11-21 16:12:49 +00:00
Rui Hirokawa 8a2b5991d6 fixed incorrect encoding conversion in korean. 2002-11-21 16:05:38 +00:00
Sander Roobol f4ffead6fa Adding tests for the bcmath extension 2002-11-21 15:24:45 +00:00
Marcus Boerger 64e45b1287 Force showing the question 2002-11-21 15:09:45 +00:00
Marcus Boerger b66a39eb6e Test: An abstract function can be overwritten but not called 2002-11-21 15:06:54 +00:00
Marcus Boerger b7cd48efdd Make it possible to test language features like newly introduced 'abstract'
independantly from debug mode.
2002-11-21 14:56:06 +00:00
Sebastian Bergmann da0e29e92f Show the name of the abstract method in the error. 2002-11-21 14:20:25 +00:00
Sebastian Bergmann 9726e74da5 Fix prototype. 2002-11-21 14:16:57 +00:00
Hartmut Holzgraefe fb5ac5d286 the apache 1.x sapi read_posts tests for SG(read_post_bytes) being
counted up, so lets make it happy although this value is not really
needed in these cases ...
2002-11-21 10:29:11 +00:00
James Cox 5d0f205df8 grr.. 2002-11-20 21:21:35 +00:00
James Cox 418f53c647 remove number.c from the win32 build..
# did this on unix... shouldn't cause a problem, but vc can get picky.
2002-11-20 21:20:10 +00:00
Andi Gutmans 32fcc74395 - CVS nuked number.* so we'll nuke it from the build:) 2002-11-20 21:16:39 +00:00
Frank M. Kromann 392ea5529f Adding generated files to ignore list 2002-11-20 20:29:21 +00:00
Andi Gutmans b0528dbe5e - Revert previous patch 2002-11-20 20:03:01 +00:00
Andi Gutmans e6b7ab9db8 - Intermediate commit which works on making bcmath thread-safe. 2002-11-20 19:48:12 +00:00
Derick Rethans 33d0e4e1fb - MFZE1: Disable leak() and crash() when not using debug mode 2002-11-20 19:44:37 +00:00
Andi Gutmans 7ce4bc76bf - Add abstract methods 2002-11-20 19:15:36 +00:00
Frank M. Kromann c77d276997 Adding path to resolv.lib 2002-11-20 18:53:14 +00:00
Frank M. Kromann a4bcf9bb60 Changing line endings to CRLF. This allows the extension to build again. 2002-11-20 18:39:39 +00:00
Andi Gutmans 227f7838d6 - Fix build (thanks Marcus)
- Implement abstract methods, syntax:
-    abstract function foo($vars);
- I don't see any reason why modifiers such as static/public need to be
- used with abstract. PHP is weakly typed and there would be no meaning to
- this anyway. People who want a strictly typed compiled language are
- looking in the wrong place.
2002-11-20 18:00:23 +00:00
Sascha Schumann a257d758a5 Add an error message to the ini handlers 2002-11-20 17:15:00 +00:00
Sascha Schumann e9ed065afc add protective checks to ini updates
Noticed by: Derick Rethans <d.rethans@jdimedia.nl>
PR: #20284
2002-11-20 16:06:29 +00:00
Ilia Alshanetsky 7908cffab4 Switched to a new parameter parsing API, which simplifies the code.
Made error reporting use php_error_docref().
Fixed a memory leak in shmop_open() when an invalid flag is specified.
Added tests for shmop() extension.
2002-11-20 15:56:56 +00:00
Sander Roobol e532b24d82 One Apache 1.3 line is enough 2002-11-20 12:53:40 +00:00
Stig Bakken 713d0e8966 * convert to english 2002-11-20 06:51:23 +00:00
Stig Bakken 0cc15ba4b9 * fix doc for config-{set,get} 2002-11-20 06:50:33 +00:00
Ilia Alshanetsky 96b562ae29 Added .cvsignore file. 2002-11-20 06:48:58 +00:00
Ilia Alshanetsky d7d2b6ef50 Switched to a new parameter parsing API, which simplifies the code a great deal.
Made error reporting use php_error_docref()
Fixed a bug in mhash_keygen_s2k() that caused non \0 terminated data to be returned.
Added tests of all mhash functions.
2002-11-20 06:48:39 +00:00
Stefan Esser 63a50e500d Adding SHA1 tests. 2002-11-19 23:25:57 +00:00
Ilia Alshanetsky 7751c4f549 Do not register IMAGETYPE_SWC if zlib, which is needed for parsing of swc
files is not available.
2002-11-19 21:24:47 +00:00
Ilia Alshanetsky 11e7f6278d Addressed the issue of persistant allocation.
Fixed bug #20470.
Fixed a memory leak in gdttf.c that would happen when an error during
processing occures.
2002-11-19 19:55:54 +00:00
George Schlossnagle 010fd97aa5 brief v1 documentation 2002-11-19 19:03:20 +00:00
George Schlossnagle 3bdfbd6d1e Props to Lukas as well 2002-11-19 18:57:38 +00:00
foobar dad428b49e Add George to the credits and add note about it being different than the real Apache SAPI 2002-11-19 18:02:36 +00:00
foobar 5df80a262b Fix the configure.. 2002-11-19 17:58:10 +00:00
Zeev Suraski 4be862b02c MFZE1 - error_reporting fix 2002-11-19 17:51:30 +00:00
Moriyoshi Koizumi 72f0be09c0 Function renamings: s/php_mbstr_/php_mb/.
# all of which are static so I don't see any problem for now.
2002-11-19 17:23:41 +00:00
Moriyoshi Koizumi 41ef851eb5 Unified the duplicated portions.
# No need to merge this patch to the branch
2002-11-19 17:02:06 +00:00
Moriyoshi Koizumi 65677445b4 Added a test to check whether mb_parse_str() works properly 2002-11-19 16:56:43 +00:00
Moriyoshi Koizumi 18089ce360 Modified the test so it wouldn't be affected by ini settings. 2002-11-19 16:55:34 +00:00
Edin Kadribasic 543c383302 Update Credits 2002-11-19 15:11:27 +00:00
Derick Rethans 8011c17fd3 - Add test for bison weirdness as some people experienced (seems fixed
now though)
2002-11-19 14:53:31 +00:00
Derick Rethans 96c054f775 - MFB: Safemode install problem 2002-11-19 14:45:13 +00:00
Marcus Boerger c41b6b2967 Allow error_prepend and error_append being empty as used in run-test.php 2002-11-19 14:11:50 +00:00
Derick Rethans 0b2d775d3d - Already moved to PECL, but forgot to remove it from php4 2002-11-19 09:51:50 +00:00
Derick Rethans a8e7b5b6a1 - Committing patch by Philip Olson <philip@cornado.com>. 2002-11-19 08:20:18 +00:00
Marcus Boerger 3ca6344e57 -rename checkdnsrr to dns_check_record, keep old name as alias
-rename getmxrr to dns_get_mx, keep old name as alias
-added dns_get_record
@Added dns_get_record() which allows to retrieve DNS information about
@a host. (Marcus, Pollita)
2002-11-19 02:34:13 +00:00
Stig Bakken bfae20f404 * allow config-get in the default layer 2002-11-19 02:18:30 +00:00
George Schlossnagle c598b3ac16 now this works (thanks Rasmus)
Note:  the correct line is --with-apache-hooks
2002-11-19 01:20:42 +00:00
Edin Kadribasic ff55850562 No need to declare functions used internally by DBA as PHPAPI. This
fixes windows build.
2002-11-19 01:06:42 +00:00
Moriyoshi Koizumi b75f2df3d4 We have to use binary mode here. 2002-11-18 21:20:45 +00:00
Moriyoshi Koizumi a9d7509036 Fixed possible leaks 2002-11-18 21:15:41 +00:00
George Schlossnagle 0ad980c667 fixed recurrent entrance to add_cgi_vars 2002-11-18 19:07:37 +00:00
Thies C. Arntzen 6aaa7bc345 use FREE_ZVAL when freeing zvals 2002-11-18 17:34:55 +00:00
Marcus Boerger f0daa5c6d9 Fix warning as discussed with Wez. 2002-11-18 17:23:21 +00:00
Sascha Schumann 58b26398de Add FAM support for LGPLed libfam.
FAM, the File Alteration Monitor, provides an API that applications can use to
be notified when specific files or directories are changed.

FAM is being used in Enlightenment, GNOME/Nautilus, and KDE.

# Yes, this will be moved to PECL once that is fully usable. Emails about
# this issue will likely be redirected to /dev/null. :-)
2002-11-18 17:06:05 +00:00
Marcus Boerger 301330ff88 -Added colordepth for png
-Added tests for width/heidth for unsigned/signed problems
2002-11-18 16:51:02 +00:00
Marcus Boerger a3d821c695 Added colordepth for png 2002-11-18 16:50:10 +00:00
Sascha Schumann 52f1135c8f add missing backslash 2002-11-18 15:55:07 +00:00
Edin Kadribasic b8d3c75a6c Nuke one more win32 linking warning. 2002-11-18 15:53:00 +00:00
Marcus Boerger 25456939b3 Fixing unsigned/signed problems (and i thought about it before...) 2002-11-18 15:49:06 +00:00
Derick Rethans e93f1c00c6 - Remove outdated GPL clause; the file was totally rewritten 2002-11-18 15:45:27 +00:00
Edin Kadribasic d40c5e2624 Really nuke win32 linking warnings. 2002-11-18 14:33:34 +00:00
Ilia Alshanetsky 6e99ecdb01 Hopefully fix win32 linker warnings. 2002-11-18 13:17:14 +00:00
Edin Kadribasic 03fc9eb415 Initial attempt to get apache_hooks api to compile on windows.
Still getting link errors with
undefined symbol: 'php_request_startup_for_hook'.
2002-11-18 12:52:57 +00:00
Wez Furlong 039d6a1668 wb -> r+b 2002-11-18 12:40:12 +00:00
Ilia Alshanetsky d9ecd30cc4 Changed memory allocation wrappers to macros, so that it is possible to see
where the memory leak is happening.
2002-11-18 12:31:39 +00:00
Edin Kadribasic f8026b7453 Updated windows build file. 2002-11-18 12:30:08 +00:00
Edin Kadribasic f876916381 Added .cvsignore file. 2002-11-18 12:29:29 +00:00
Edin Kadribasic 5b292d5348 Remove fribidi from the NEWS item about extensions available on windows
for now. This is because I'm unable to get fribidi library to compile
on windows.
2002-11-18 12:16:12 +00:00
Wez Furlong bceb56b2ba Re-enable the curlwrappers configure option.
I still don't recommend it's use unless you are hacking both curl and PHP
to make it work.
2002-11-18 12:00:21 +00:00
Wez Furlong 110fd64bbd Amend news about mbstring enabled by default 2002-11-18 11:55:11 +00:00
Wez Furlong 5b7537ecd2 Merge the temp file mode fix from the branch,
add missing Id tag.
2002-11-18 11:49:06 +00:00
Wez Furlong ca58966a0d Merge streams changes from branch. 2002-11-18 11:39:42 +00:00
Rasmus Lerdorf a94a226691 Fix a few warnings - compiles nicely now 2002-11-18 06:14:10 +00:00
George Schlossnagle 2c34ea1be4 #defined offsetof, for systems that can't find it 2002-11-18 06:09:23 +00:00
Sebastian Bergmann 51e4dbaba0 Fix ZTS build. 2002-11-18 06:04:06 +00:00
Andi Gutmans 6d8a643edb - MFZE1 2002-11-18 05:27:46 +00:00
foobar 6987855e95 Fixed bug: #20458 (--with-qtdom=shared broken) 2002-11-18 05:06:02 +00:00
foobar 43584058e9 Added error message if browscap location is not set in php.ini 2002-11-18 03:23:51 +00:00
Ilia Alshanetsky c7fa1fa99f Fixed bug #20462. 2002-11-18 03:16:13 +00:00
Ilia Alshanetsky c5107b8989 Removed duplicate php_compat.h include. 2002-11-18 02:30:27 +00:00
George Schlossnagle 824fdad6c1 initial import of all these files. This was previously the apache_hooks
branch of the apache sapi.  Now it lives on its own.  General functionality
seems to be working, though there may be a problem with some
output buffering, most likely due to the way that sapi_deactivate needs
to be mangled with here.
2002-11-18 01:01:21 +00:00
George Schlossnagle 99c7ddc3a8 added support functions for the apache_hooks SAPI 2002-11-18 00:59:23 +00:00
foobar a3e9ae20d9 Fix the test. (and indented it for easier bug spotting :) 2002-11-18 00:41:27 +00:00
Ilia Alshanetsky f14b742392 Fixed bug #20466. 2002-11-17 22:52:47 +00:00
Ilia Alshanetsky 8d00d54f2f Fixed gd 2.0.4 check 2002-11-17 21:57:43 +00:00
Sebastian Bergmann 9229918fd7 Fix warning. HAVE_MEMMOVE is already defined in config.w32.h. 2002-11-17 21:50:00 +00:00
Sebastian Bergmann b4e42dd43f Fix Win32 build. (Lots of linkage warnings remain!) 2002-11-17 21:29:16 +00:00
Ilia Alshanetsky a10e0b6d8e A better gd >=2.0.4 version check for non-bundled gd library. 2002-11-17 20:18:44 +00:00
Derick Rethans 8c86784cae - MFB 2002-11-17 19:45:10 +00:00
Ilia Alshanetsky 06d94f2169 Expat upgrade news. 2002-11-17 18:57:21 +00:00
Ilia Alshanetsky cea2419529 Upgraded the bundled expat library to 1.95.5 (latest stable, atm).
Fixed bug #20442.
2002-11-17 18:37:48 +00:00
Stanislav Malyshev 29695934ed fix the leak 2002-11-17 17:57:57 +00:00
Derick Rethans 1a5037de1a - Fix compile problems for mips pro 2002-11-17 14:25:50 +00:00
Zeev Suraski d372861f03 Unify handling of error_reporting - fix bug #16137 2002-11-17 13:26:38 +00:00
Derick Rethans c3fe54dfab - MFB: Fix memory allocation problem in bundled GD (reported by Brian Havard) 2002-11-17 13:11:46 +00:00
Marcus Boerger 24726b0c64 Conversion fix by Michael Mauch 2002-11-17 09:27:48 +00:00
Ilia Alshanetsky 3bef247fcc Fixed a problem that would cause include/require("/dir/file") to fail on
Windows.
2002-11-17 00:06:50 +00:00
Marcus Boerger 2442adabe5 Force float for the float test 2002-11-16 23:45:58 +00:00
Marcus Boerger 4f747e80f0 Show module used in test 2002-11-16 19:43:53 +00:00
Marcus Boerger 015c117e37 -Do not rely on a side effect of 32bit platforms (patch by Michael Mauch)
-remove unused sections
2002-11-16 17:28:04 +00:00
Marcus Boerger 31e1cd13e2 removed unused sections 2002-11-16 17:26:52 +00:00
Ilia Alshanetsky 47596de32f Fixed the test so it works properly on both 32 and 64 bit platforms. 2002-11-16 17:26:26 +00:00
Marcus Boerger a3157908a8 Make getimagesize more robust against corrupt files 2002-11-16 17:02:07 +00:00
Georg Richter 208a3a3717 forgot to decrement result_allocated :( 2002-11-16 16:07:54 +00:00
Sebastian Bergmann 47388f2121 Fix Win32 build. 2002-11-16 08:30:31 +00:00
Andi Gutmans ce06e7ba77 - MFZE1 2002-11-16 07:37:03 +00:00
Andi Gutmans e1725b26fa - MFZE1 2002-11-16 07:32:53 +00:00
Stig Bakken 7547238723 no longer in use 2002-11-15 23:19:41 +00:00
Marcus Boerger dbf8593b5b When --enable-dba is used then include builtin modules unless --without-xxx
is not used.
2002-11-15 21:28:42 +00:00
Ilia Alshanetsky 2306c0e9d7 Removed the md5 checks since the files may be slightly different due to
float -> int conversion inconsistencies on various architectures.
2002-11-15 18:53:07 +00:00
Maxim Maletsky 9e3788864b WS 2002-11-15 18:20:59 +00:00
Maxim Maletsky 336e559718 Tons of WS fixes all over the file 2002-11-15 17:59:19 +00:00
Ilia Alshanetsky f0e2c04582 Revert of previous patch ad requested by Andi. 2002-11-15 16:36:55 +00:00
Ilia Alshanetsky 8193641d2d With ZTS on, we need to resolve the full paths before making symlinks.
If a chdir() call occurs before the symlink operation, the symlink is
created in the current directory rather then directory we've chdired to
because in ZTS we don't actually chdir but store the new path internally.

For an example of this problem consider the ext/standard/tests/file/001.phpt
test under ZTS.
2002-11-15 16:34:16 +00:00
Marcus Boerger 7ba0d505af Use eregi is better (noticed by Jon) 2002-11-15 16:33:05 +00:00
Moriyoshi Koizumi 90317cbc5d Always use binary mode for magic files 2002-11-15 16:25:31 +00:00
Moriyoshi Koizumi 7222abda70 Include php_config.h for HAVE_MBSTRING 2002-11-15 16:13:36 +00:00
Marcus Boerger 93769053cc Use flatfile if available.
# This way we are using the internal library which we know about most.
2002-11-15 16:11:51 +00:00
Moriyoshi Koizumi 003be7fe32 Divided the overload test into two so as to handle the case mbregex is
not enabled
2002-11-15 15:59:07 +00:00
Marcus Boerger 7d03dc004e Show which handler was used in the test 2002-11-15 15:58:09 +00:00
Marcus Boerger 0f66b352e9 -Allow skip in upper letters.
-Add 'info' result to --SKIPIF-- -> see following dba commits
2002-11-15 15:57:00 +00:00
Marcus Boerger 483502fe10 Speling (found by Andi) 2002-11-15 15:35:11 +00:00
Moriyoshi Koizumi b62afe783d %s/SKIP/skip/g 2002-11-15 15:34:57 +00:00
Marcus Boerger 5841e290ac Simplify and show skip reason 2002-11-15 15:22:07 +00:00
Marcus Boerger 16af3f7d11 Update to new syntax suggestion 2002-11-15 15:19:02 +00:00
Marcus Boerger adffe9fba6 Show correct result 2002-11-15 15:17:39 +00:00
Moriyoshi Koizumi 3ecc71a099 Fixed segfault in case the specified magic file cannot be read. 2002-11-15 15:13:30 +00:00
Moriyoshi Koizumi 1391f774cf Bug fixing news 2002-11-15 15:07:24 +00:00
Moriyoshi Koizumi 46b4abc08b Removed unnecessary ?> 2002-11-15 14:53:58 +00:00
Moriyoshi Koizumi b23d2c8beb Fixed bogus SKIPIF conditions. 2002-11-15 14:49:57 +00:00
Marcus Boerger 8c598f8bff Only show the first results 2002-11-15 14:46:52 +00:00
Andi Gutmans 5c12ee2474 - MFZE1 2002-11-15 14:30:40 +00:00
Moriyoshi Koizumi f0a7db1c7e Added some skipif conditions to handle the case mbstring is enabled but mbregex is disabled. 2002-11-15 14:26:33 +00:00
Andi Gutmans 55e127a6d5 - Commit fix for bug #19566 (I think it's by Marcus :) 2002-11-15 14:25:44 +00:00
Marcus Boerger ea971db849 Show Zend version 2002-11-15 14:23:40 +00:00
Moriyoshi Koizumi 57ca42e10f Bug fixing news 2002-11-15 13:36:49 +00:00
Marcus Boerger 66ec203e70 Showing memleaks for a memleak test is a good idea 2002-11-15 11:55:57 +00:00
Marcus Boerger 4ef6a3af03 db is deprecated now 2002-11-15 11:49:58 +00:00
Marcus Boerger b030a7a140 Fix segfaults (check ext/domxml/tests/domxml002.phpt) 2002-11-15 11:06:13 +00:00
Sander Roobol 8fb395bb9e Move the build-environment stuff down or the test results up, so you
don't need to scroll down to see the failed tests.
2002-11-15 10:37:41 +00:00
Georg Richter d46bd1cd63 removed restore_connection_defaults for pconnects (discussed on php-dev@)
bug #19529 closed
bug #12513 reopened
2002-11-15 10:35:10 +00:00
foobar dadfd6e94a ws fix 2002-11-15 07:21:33 +00:00
Moriyoshi Koizumi fb20eae7fc Fixed bug #20381 2002-11-15 02:16:41 +00:00
Moriyoshi Koizumi ac209557dd Added a test case for bug #20381 2002-11-15 02:11:23 +00:00
Maxim Maletsky cd9b495663 I mean - todo typo :) 2002-11-15 02:06:11 +00:00
Maxim Maletsky 05f07d2eba todo typo 2002-11-15 02:05:06 +00:00
Moriyoshi Koizumi ee37386183 Use C comments 2002-11-15 01:45:23 +00:00
Andrei Zmievski ca332dfc96 Oops. 2002-11-15 00:32:42 +00:00
Andrei Zmievski 3e8a800a96 Fix function prototype. 2002-11-15 00:31:10 +00:00
Sascha Schumann 04e564dec5 use grep -E instead of egrep. the latter is not defined by POSIX anymore 2002-11-15 00:20:17 +00:00
Stig Bakken 40ac4a2d68 Added error codes for the PEAR_Dependency class
Changed the dependency API to have a reference to an error message
string as first arg to all check methods
2002-11-14 23:23:21 +00:00
Moriyoshi Koizumi 5ca953b10f Fixed a problem that ICONV_IMPL doesn't give a correct value in win32 build. 2002-11-14 23:07:53 +00:00
Stig Bakken bdeb45b335 Added PATH_SEPARATOR constant 2002-11-14 22:50:01 +00:00
Stig Bakken 9f39cc0626 * a little bit of internal refactoring 2002-11-14 22:41:56 +00:00
Moriyoshi Koizumi 9efefc742b Added a test for zend-multibyte extension 2002-11-14 22:38:43 +00:00
Marcus Boerger 25641a7e96 Minor test corrections 2002-11-14 21:45:01 +00:00
Marcus Boerger 37e64f38ac Test is affected by mbstring 2002-11-14 21:43:49 +00:00
Andrei Zmievski cbec84d93d MFZE1 2002-11-14 21:36:07 +00:00
Moriyoshi Koizumi e40416ebf6 Fixed possible buffer over run in php_mb_safe_strrchr_ex() 2002-11-14 21:33:36 +00:00
Maxim Maletsky 7890b6fc87 Added function OCIPasswordChange() that allows renewal of an expired Oracle password.
# Tested, but still considered experimental...
2002-11-14 21:26:57 +00:00
Andrei Zmievski 26bd73fec6 Sort the modules for info output as well. 2002-11-14 21:15:42 +00:00
Marcus Boerger dbb95f338e file() is affected by magic_quotes_runtime 2002-11-14 21:15:31 +00:00
Marcus Boerger a81fe09722 Add info: Add magic_quotes_runtime support 2002-11-14 21:11:40 +00:00
Marcus Boerger a14bc7685d Add magic_quotes_runtime support 2002-11-14 21:09:41 +00:00
Marcus Boerger 5ad332f846 Add magic_quotes_runtime which affects several tests 2002-11-14 21:02:24 +00:00
Melvyn Sopacua 8298f6f982 typo 2002-11-14 20:57:48 +00:00
Andrei Zmievski e09d62c435 Sort the modules and extensions before printing them when -m switch is used. 2002-11-14 20:32:28 +00:00
Marcus Boerger 8579756c05 Test for bug #14383 2002-11-14 20:30:53 +00:00
Marcus Boerger 6048db9005 Only set the overwrites once 2002-11-14 20:12:36 +00:00
Melvyn Sopacua 87e3b97057 Add a note about the mime-type 2002-11-14 19:44:26 +00:00
Moriyoshi Koizumi 6841184abc Fix build 2002-11-14 19:04:29 +00:00
Moriyoshi Koizumi dac0b6fc4f Moved some mbregex related portions from mbstring.c to php_mbregex.c
# No need to merge this change to PHP_4_3 branch
2002-11-14 18:54:42 +00:00
Moriyoshi Koizumi db6efcf7e5 Prevent warnings under safe mode 2002-11-14 18:38:38 +00:00
Ilia Alshanetsky eef51c3d6b Disable safe_mode as it interferes with just about every test that needs
to access the file system, set enviroment variables or execute commands.
2002-11-14 18:38:19 +00:00
Marcus Boerger 29a40a1909 Missed that 2002-11-14 17:20:50 +00:00
Ilia Alshanetsky 4e1d684027 Fixed ZTS compile warning. 2002-11-14 16:32:30 +00:00
Stefan Esser 658fd1ba8d Fixing possible remote overflow due to mbstring translation. 2002-11-14 16:30:07 +00:00
Ilia Alshanetsky 5f7de8bf5b Fixed bug #20423. 2002-11-14 16:20:23 +00:00
Marcus Boerger f986cb84f3 Fix TSRM build 2002-11-14 15:09:53 +00:00
Marcus Boerger a391c4b12b Fix warnings (Marcus & Pierre-Alain Joye) 2002-11-14 15:08:39 +00:00
Marcus Boerger 9669932516 Info about gd changes 2002-11-14 14:58:01 +00:00
Wez Furlong f921ea9f7d Add a test case for this "bug" # 20134.
I'm not sure that this test is actually useful, so I'm not adding
it to the branch.
2002-11-14 14:56:35 +00:00
Marcus Boerger da20e867f3 Info about closed bugs 2002-11-14 14:38:20 +00:00
Marcus Boerger 5ec9375760 Fix locking behaviour: On some systems read during write is permitted but
most libraries are not capable of that. GDBM is system dependant so there
we only test  that we do not deadlock.
2002-11-14 14:32:39 +00:00
Wez Furlong 4e85935386 MFB 2002-11-14 14:26:15 +00:00
Ilia Alshanetsky 8bfe7d76ea Fix bug 19689, solution suggested by dmitry@koteroff.ru. 2002-11-14 13:45:08 +00:00
Ilia Alshanetsky 6b7d77a7a0 Fixed bug #20420 and added partial urls to the test of the function. 2002-11-14 13:40:14 +00:00
Wez Furlong b01add793c Add this test to make sure that fopencookie is detected and working
correctly (or that the less efficient tmpfile casting is working).
More details in the test itself.
2002-11-14 12:20:36 +00:00
Wez Furlong 08362f90d9 Fix build for unix.
Not sure if this needs merging to the branch (haven't got that far yet today).
2002-11-14 12:06:01 +00:00
Wez Furlong 9ae3c2f7bd Commit these before Sterling renames the files again :-)
When curlstreams are enabled, registers a each supported protocol
with PHP.
"More Correctly" implement eof for curlstreams.
Still not ready for anything like primetime.
2002-11-14 11:41:24 +00:00
Derick Rethans bab4957d1c - MFB: Fixed bug #20484 (stream_get_meta_data crashes on a normal file
stream). (Derick, Wez)
2002-11-14 10:56:35 +00:00
Jon Parise 92df58dab6 @- Added an optional "step" parameter to range(). (Jon) 2002-11-14 05:46:10 +00:00
Sterling Hughes 89ea16ffaa remove C++ comments 2002-11-14 04:07:51 +00:00
James Cox ad9788d853 changing..
#also, i think the qa and web team needs updating -- i'd like to see web change to a more general infrastructure category... anyone care to volunteer? :)
2002-11-14 02:05:53 +00:00
James Cox d3663f76b5 englishify 2002-11-14 01:54:38 +00:00
Sascha Schumann 1585ad97ff Fix "make install" in vpath env 2002-11-14 01:35:20 +00:00
Sascha Schumann 46a99e9022 - Remove PHP_DISABLE_CLI
- Streamline ircg build: thttpd-dependent part moved into separate source
  file, so that it can be added to the SAPI-only object list.
2002-11-14 01:09:46 +00:00
Sascha Schumann f7c6d9fb2a upgrade files to libtool 1.4.3 shipped ones
# should be safe to upgrade these to the 1.5.x ones
2002-11-14 00:41:53 +00:00
foobar 8efbeb68a1 MFB: Fix for bug: #20412 2002-11-14 00:21:14 +00:00
Edin Kadribasic 1eddce79dd MFB (made mbstring compile on windows again). 2002-11-13 23:11:14 +00:00
Sterling Hughes 9d04acdaaa curl_multi_info_read is unimplemented... 2002-11-13 22:43:31 +00:00
Ilia Alshanetsky c7da0b117e Moved news entry about imagefilter() to proper location. 2002-11-13 22:35:16 +00:00
Sterling Hughes 537284418c add multi support and reorganize things a bit... 2002-11-13 22:25:33 +00:00
foobar ae1fcb4542 Welcome 4.4.0 2002-11-13 22:24:49 +00:00
Edin Kadribasic 7cdffea872 Really remove mbstring from the build.
# mbstring is gone completely as it does not build currently on win32
# as a separate module
2002-11-13 21:29:55 +00:00
Edin Kadribasic f15420b3e1 Allow mbstring defines to be somewhere else without warnings. 2002-11-13 21:28:16 +00:00
Ilia Alshanetsky d183eb1e31 New gd function. 2002-11-13 20:07:12 +00:00
Ilia Alshanetsky 4522738188 Added tests for imagefilter() function. 2002-11-13 20:03:59 +00:00
Ilia Alshanetsky 901980b3ab Added imagefilter() function by Pierre-Alain Joye (paj@pearfr.org). This
function allows negate, grayscale, brightness, contrast, colorize, selective blur,
Gaussian blur, edge detect, smooth, sharpen and emboss filters to be applied
on an image.
2002-11-13 20:02:58 +00:00
Stig Bakken fb179417ef * remove debug output 2002-11-13 19:49:28 +00:00
Derick Rethans 315927cc9b - Moved cybermut to PECL 2002-11-13 19:40:10 +00:00
Andrei Zmievski 0eea23a4f8 Change version to 4.4.0-dev. 2002-11-13 19:19:05 +00:00
foobar d3d7c3d486 moved this entry under correct version 2002-11-13 18:28:50 +00:00
Ilia Alshanetsky a7487bb4f8 Compile warning fix. 2002-11-13 17:17:32 +00:00
Ilia Alshanetsky 0cb9c53033 Added a skip condition for when mail() function is not avaliable. 2002-11-13 17:16:33 +00:00
Ilia Alshanetsky b0d519f730 Added a skip condition for when the encoding needed for the test is not
available or supported.
2002-11-13 16:52:48 +00:00
2348 changed files with 259493 additions and 288599 deletions

No files matched your search

+112 -49
View File
@@ -1,6 +1,21 @@
set $zts = 0
define ____executor_globals
if $zts
set $eg = ((zend_executor_globals) (*((void ***) tsrm_ls))[executor_globals_id-1])
else
set $eg = executor_globals
end
end
document ____executor_globals
portable way of accessing executor_globals
type "set $zts = 1" if you use --enable-maintainer-zts on your configure line
end
define dump_bt
set $t = $arg0
while $t
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
@@ -12,7 +27,7 @@ define dump_bt
end
set $t = $t->prev_execute_data
printf "\n"
end
end
end
document dump_bt
@@ -20,7 +35,7 @@ document dump_bt
end
define printzv
set $ind = 0
set $ind = 1
____printzv $arg0 0
end
@@ -28,60 +43,56 @@ document printzv
prints content of zval
end
define ____printzv
define ____printzv_contents
____executor_globals
set $zvalue = $arg0
if $zvalue->type == 0
if $zvalue.type == 0
set $typename = "NULL"
end
if $zvalue->type == 1
if $zvalue.type == 1
set $typename = "long"
end
if $zvalue->type == 2
if $zvalue.type == 2
set $typename = "double"
end
if $zvalue->type == 3
if $zvalue.type == 3
set $typename = "string"
end
if $zvalue->type == 4
if $zvalue.type == 4
set $typename = "array"
end
if $zvalue->type == 5
if $zvalue.type == 5
set $typename = "object"
end
if $zvalue->type == 6
if $zvalue.type == 6
set $typename = "bool"
end
if $zvalue->type == 7
if $zvalue.type == 7
set $typename = "resource"
end
if $zvalue->type == 8
if $zvalue.type == 8
set $typename = "constant"
end
if $zvalue->type == 9
if $zvalue.type == 9
set $typename = "const_array"
end
printf "[0x%08x] ", $zvalue
if $zvalue == executor_globals.uninitialized_zval_ptr
printf "*uninitialized* "
end
printf "(refcount=%d) %s: ", $zvalue->refcount, $typename
if $zvalue->type == 1
printf "%ld", $zvalue->value.lval
printf "(refcount=%d) %s: ", $zvalue.refcount, $typename
if $zvalue.type == 1
printf "%ld", $zvalue.value.lval
end
if $zvalue->type == 2
printf "%lf", $zvalue->value.dval
printf "%lf", $zvalue.value.dval
end
if $zvalue->type == 3
printf "\"%s\"(%d)", $zvalue->value.str.val, $zvalue->value.str.len
if $zvalue.type == 3
printf "\"%s\"(%d)", $zvalue.value.str.val, $zvalue.value.str.len
end
if $zvalue->type == 4
if $zvalue.type == 4
if ! $arg1
printf "{\n"
set $ind = $ind + 1
____print_ht $zvalue->value.ht
____print_ht $zvalue.value.ht
set $ind = $ind - 1
set $i = $ind
while $i > 0
@@ -91,35 +102,86 @@ define ____printzv
printf "}"
end
end
if $zvalue->type == 5
if $zvalue.type == 5
if ! $arg1
printf "(prop examination disabled due to a gdb bug)"
# set $ht = $zvalue->value.obj.handlers->get_properties($zvalue)
# printf "{\n"
# set $ind = $ind + 1
# ____print_ht $ht
# set $ind = $ind - 1
# set $i = $ind
# while $i > 0
# printf " "
# set $i = $i - 1
# end
# printf "}"
if $zvalue.value.obj.handlers->get_properties
# set $ht = $zvalue->value.obj.handlers->get_properties($zvalue)
# printf "{\n"
# set $ind = $ind + 1
# ____print_ht $ht
# set $ind = $ind - 1
# set $i = $ind
# while $i > 0
# printf " "
# set $i = $i - 1
# end
# printf "}"
end
end
end
if $zvalue->type == 6
if $zvalue->lval
if $zvalue.type == 6
if $zvalue.value.lval
printf "true"
else
printf "false"
end
end
if $zvalue->type == 7
printf "#%d", $zvalue->value.lval
if $zvalue.type == 7
printf "#%d", $zvalue.value.lval
end
printf "\n"
end
define ____printzv
____executor_globals
set $zvalue = $arg0
printf "[0x%08x] ", $zvalue
if $zvalue == $eg.uninitialized_zval_ptr
printf "*uninitialized* "
end
set $zcontents = *(struct _zval_struct *) $zvalue
if $arg1
____printzv_contents $zcontents $arg1
else
____printzv_contents $zcontents 0
end
end
define ____print_const_table
set $ht = $arg0
set $p = $ht->pListHead
while $p != 0
set $const = *(zend_constant *) $p->pData
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
printf "\"%s\" => ", $p->arKey
else
printf "%d => ", $p->h
end
____printzv_contents $const.value 0
set $p = $p->pListNext
end
end
define print_const_table
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_const_table $arg0
printf "}\n"
end
define ____print_ht
set $ht = $arg0
set $p = $ht->pListHead
@@ -156,6 +218,7 @@ document print_ht
end
define printzn
____executor_globals
set $ind = 0
set $znode = $arg0
if $znode->op_type == 1
@@ -175,17 +238,17 @@ define printzn
if $znode->op_type == 1
printf ": "
____printzv &$znode->u.constant
____printzv &$znode->u.constant 0
end
if $znode->op_type == 2
printf ": "
set $tvar = (union _temp_variable *)((char *)executor_globals.current_execute_data->Ts + $znode->u.var)
____printzv ((union _temp_variable *)$tvar)->tmp_var
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 *)executor_globals.current_execute_data->Ts + $znode->u.var)
____printzv *$tvar->var.ptr_ptr
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"
+36 -62
View File
@@ -48,81 +48,27 @@ Exceptions:
doing so, should return that new length, so it doesn't have to be
recalculated with strlen() (e.g. php_addslashes())
[5] Use php_error_docref() group of functions to report any errors/warnings
during code execution. Use descriptive error messages, and try to avoid
using identical error strings for different stages of an error. For
example, if in order to obtain a URL you have to parse the URL, connect,
and retreive the text, assuming something can go wrong at each of these
stages, don't report an error "Unable to get URL" on all of them, but
instead, write something like "Unable to parse URL", "Unable to connect
to URL server" and "Unable to fetch URL text", respectively.
It has been silently agreed to prefix every php_error() message with the
name of the current function if applicable:
php_error(E_WHATEVER, "%s(): Desc.", get_active_function_name(TSRMLS_C));
This can be done automatically using php_error_docref(). The first
parameter, docref, is either NULL or the URL of a page describing the
error in detail. In most cases you will pass NULL, to generate the URL
from the name of the function being executed:
php_error_docref(NULL TSRMLS_CC, E_WHATEVER, "Desc.");
If you pass a URL, it can either be a full URL beginning with "http://":
php_error_docref("http://externalsite.tld/page.ext#error"
TSRMLS_CC, E_WHATEVER, "Desc.");
Or the name of a manual page without file extension, but with an optional
target anchor. Or simply the anchor within the manual page of the current
function. When using function names you must replace '_' by '-':
php_error_docref("function.ext-func#error" TSRMLS_CC, E_WHATEVER, "Desc.");
To display one or two important parameters after the function name, use
php_error_docref1() or php_error_docref2(). For example, file functions
should display the name of the file opened:
php_error_docref1("function.fopen" TSRMLS_CC, filename,
E_WHATEVER, "Desc.");
php_error_docref2("function.fopen" TSRMLS_CC, filename, openmode,
E_WHATEVER, "Desc.");
Fixing ("unifying") existing php_error() message is a good thing [tm].
[6] NEVER USE strncat(). If you're absolutely sure you know what you're doing,
[5] NEVER USE strncat(). If you're absolutely sure you know what you're doing,
check its man page again, and only then, consider using it, and even then,
try avoiding it.
[7] Use PHP_* macros in the PHP source, and ZEND_* macros in the Zend
[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.
[8] Use assert(). assert.h is included in php.h if it is available. Not only
does good assertion catch bugs, but it also helps with code readability.
- Do not use assert for error handling. Use assert only for the
condition that must be always true.
- Do not use assignments in assert conditions. If you assign inside an
assert condition, you risk an elusive bug that would be very difficult
to spot in a debug build, due to the side effect of the assignment.
Function calls in assert conditions may also cause this problem, if
they modify one of their arguments or global variables.
[9] When commenting out code using a #if statement, do NOT use 0 only. Instead
[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.
[10] Do not define functions that are not available. For instance, if a
[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
[11] Prefer emalloc(), efree(), estrdup(), etc. to their standard C library
[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
@@ -158,8 +104,7 @@ Naming Conventions
'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
@@ -180,7 +125,7 @@ Naming Conventions
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++) ...).
@@ -188,6 +133,35 @@ Naming Conventions
[5] Variable names should be in lowercase. Use underscores to separate
between words.
[6] Method names follow the 'studlyCaps' (also referred to as 'bumpy case'
or 'camel caps') naming convention, with care taken to minimize the
letter count. The initial letter of the name is lowercase, and each
letter that starts a new 'word' is capitalized.
Good:
'connect()'
'getData()'
'buildSomeWidget()'
Bad:
'get_Data()'
'buildsomewidget'
'getI()'
[7] Classes should be given descriptive names. Avoid using abbreviations
where possible. Each word in the class name should start with a capital
letter, with words underscore delimited. The class name should be prefixed
with the name of the 'parent set'.
Good:
'Curl'
'Foo_Bar'
Bad:
'foobar'
'foo_bar'
'FooBar'
Syntax and indentation
----------------------
+17239 -34323
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
+174 -174
View File
@@ -26,45 +26,37 @@ Status legend
== Server APIs ==
-------------------------------------------------------------------------------
EXTENSION: activescript
COMMENT: See http://pecl.php.net/package/PHPScript
-------------------------------------------------------------------------------
EXTENSION: aolserver
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: activescript
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
MAINTENANCE: Odd Fixes
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: apache2filter
EXTENSION: apache2
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: Unknown
MAINTENANCE: Marcus Boerger <helly@php.net>, Edin Kadribasic <edink@php.net>
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: embed
PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
MAINTENANCE: Maintained
STATUS: Working
EXTENSION: fhttpd
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: isapi
MAINTENANCE: Unknown
@@ -88,7 +80,7 @@ MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: servlet
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -96,12 +88,8 @@ EXTENSION: thttpd
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: tux
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: webjames
PRIMARY MAINTAINER: Alex Waugh <alexwaugh@php.net>
PRIMARY MAINTAINER: Alex Waugh <alex@alexwaugh.com>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
@@ -109,16 +97,12 @@ STATUS: Experimental
== Database extensions ==
-------------------------------------------------------------------------------
EXTENSION: db
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
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
PRIMARY MAINTAINER: Jim Winstead <jimw@php.net>
@@ -126,19 +110,23 @@ MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: dbx
PRIMARY MAINTAINER: Marc Boeren <mboeren@php.net>
PRIMARY MAINTAINER: Marc Boeren <M.Boeren@guidance.nl>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.6
COMMENT: DB abstraction for odbc, mysql, pgsql, mssql, fbsql and more, see documentation
-------------------------------------------------------------------------------
EXTENSION: fbsql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: hyperwave
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: informix
PRIMARY MAINTAINER: Danny Heijl <danny@php.net>
PRIMARY MAINTAINER: Danny Heijl <Danny.Heijl@cevi.be>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -149,7 +137,7 @@ STATUS: Experimental
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Jouni Ahto <jah@php.net>, Ard Biesheuvel <abies@php.net>
PRIMARY MAINTAINER: Jouni Ahto <jouni.ahto@exdec.fi>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
@@ -157,43 +145,39 @@ EXTENSION: msql
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: msession
PRIMARY MAINTAINER Mark L. Woodward mlwmohawk@mohawksoft.com
MAINTENANCE: Maintained
STATUS: Working/Experimental
COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
-------------------------------------------------------------------------------
EXTENSION: mssql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
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@php.net>, Georg Richter <georg@php.net>
PRIMARY MAINTAINER: Zak Greant <zak@mysql.com>, Georg Richter <georg@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
EXTENSION: mysqli
PRIMARY MAINTAINER: Georg Richter <georg@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Dan Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
EXTENSION: ovrimos
MAINTENANCE: Unknown
STATUS: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Yasuo Ohgaki <yohgaki@php.net>
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
-------------------------------------------------------------------------------
EXTENSION: sybase
MAINTENANCE: Unknown
STATUS: Not Working
@@ -202,17 +186,89 @@ EXTENSION: sybase_ct
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
== XML extensions ==
-------------------------------------------------------------------------------
EXTENSION: dom
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: simplexml
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
PRIMARY MAINTAINER: Dan Libby
MAINTENANCE: UNKNOWN
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xsl
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
== Other extensions ==
-------------------------------------------------------------------------------
EXTENSION: aspell
MAINTENANCE: Unknown
STATUS: Working
COMMENT: For aspell .27 and greater, check out the pspell extension
-------------------------------------------------------------------------------
EXTENSION: bcmath
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: bz2
COMMENT: See http://pecl.php.net/package/bz2
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: dio
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: cyrus
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: calendar
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
@@ -220,7 +276,7 @@ MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: com
PRIMARY MAINTAINER: Harald Radi <phanto@php.net>
PRIMARY MAINTAINER: Harald Radi <h.radi@nme.at>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -230,7 +286,9 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: crack
COMMENT: See http://pecl.php.net/package/crack
MAINTENANCE: Unknown
STATUS: Experimental
SINCE: 4.0.5
-------------------------------------------------------------------------------
EXTENSION: ctype
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
@@ -238,32 +296,23 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: curl
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>,Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: cyrus
COMMENT: See http://pecl.php.net/package/cyrus
-------------------------------------------------------------------------------
EXTENSION: dio
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: domxml
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
EXTENSION: cybercash
PRIMARY MAINTAINER: Evan Klinger <evan715@sirius.com>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: dotnet
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
@@ -273,15 +322,8 @@ PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: fribidi
COMMENT: See http://pecl.php.net/package/fribidi
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
PRIMARY MAINTAINER: Stefan Esser (sesser@php.net)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -299,15 +341,9 @@ MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: hwapi
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
EXTENSION: icap
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: hyperwave
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Obsolete
-------------------------------------------------------------------------------
EXTENSION: iconv
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
@@ -315,17 +351,12 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: imap
PRIMARY MAINTAINER: Chuck Hagenbuch <chagenbu@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: ircg
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: java
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -340,50 +371,26 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcal
PRIMARY MAINTAINER: Chuck Hagenbuch <chagenbu@php.net>
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
PRIMARY MAINTAINER: Derick Rethans <d.rethans@jdimedia.nl>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mhash
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mime_magic
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: ming
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: mnogosearch
PRIMARY MAINTAINER: Sergey Kartashoff <gluke@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: msession
PRIMARY MAINTAINER Mark L. Woodward <mlwmohawk@php.net>
EXTENSION: muscat
PRIMARY MAINTAINER: Sam Liddicott <sam@ananova.com>
MAINTENANCE: Maintained
STATUS: Working/Experimental
COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
-------------------------------------------------------------------------------
EXTENSION: notes
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
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
STATUS: Working
SINCE: 4.0.5
COMMENT: Not tested against windows, only core API completed, rest under development
-------------------------------------------------------------------------------
EXTENSION: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
@@ -396,10 +403,6 @@ PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcntl
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
@@ -411,18 +414,25 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pfpro
PRIMARY MAINTAINER: David Croft <david@php.net>
PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kk@php.net>
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: printer
PRIMARY MAINTAINER: Daniel Beulshausen <daniel@php4win.de>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.4
COMMENT: Only for Win32
-------------------------------------------------------------------------------
EXTENSION: pspell
PRIMARY MAINTAINER: Vlad Krupin <vlad@php.net>
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.2
@@ -437,12 +447,24 @@ MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kk@php.net>
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sablot
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Obsolete
STATUS: Experimental
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: satellite
PRIMARY MAINTAINER: David Eriksson <eriksson@php.net>
MAINTENANCE: Odd Fixes
STATUS: Experimental
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: session
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>, Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -458,7 +480,7 @@ MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sockets
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@php.net>
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 4.0.2
@@ -469,10 +491,6 @@ MAINTENANCE: Orphaned
STATUS: Deprecated (Use the ming swf extension instead)
COMMENT: Only for Unix (won't change)
-------------------------------------------------------------------------------
EXTENSION: sysvmsg
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: sysvsem
MAINTENANCE: Unknown
STATUS: Unknown
@@ -481,47 +499,29 @@ EXTENSION: sysvshm
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: w32api
EXTENSION: vpopmail
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xslt
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working (mostly)
SINCE: 4.0.5
-------------------------------------------------------------------------------
EXTENSION: yaz
COMMENT: See http://pecl.php.net/package/yaz
PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
MAINTENANCE: Maintained
STATUS: Unknown
SINCE: 4.0.1
-------------------------------------------------------------------------------
EXTENSION: yp
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: zip
COMMENT: See http://pecl.php.net/package/zip
-------------------------------------------------------------------------------
EXTENSION: zlib
PRIMARY MAINTAINER: Stefan Roehrich <sr@php.net>
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: zziplib
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.5
-------------------------------------------------------------------------------
+392 -2021
View File
File diff suppressed because it is too large. Load diff
+5 -5
View File
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2006 The PHP Group. All rights reserved.
The PHP License, Version 3.0
Copyright (c) 1999 - 2003 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
@@ -38,8 +38,8 @@ are met:
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 product includes PHP, freely available from
<http://www.php.net/>".
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
@@ -64,5 +64,5 @@ 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
This product includes the Zend Engine, freely available at
<http://www.zend.com>.
+16 -18
View File
@@ -14,22 +14,22 @@ all: $(all_targets)
build-modules: $(PHP_MODULES)
libphp4.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
libphp5.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-@$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
-@$(LIBTOOL) --silent --mode=install cp libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
libs/libphp4.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/libphp4.so
libs/libphp5.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp5.so
install: $(all_targets) $(install_targets)
install-sapi: $(OVERALL_TARGET)
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-@if test ! -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); then \
-@if test ! -r $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME); then \
for i in 0.0.0 0.0 0; do \
if test -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); \
if test -r $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME); \
break; \
fi; \
done; \
@@ -38,10 +38,10 @@ install-sapi: $(OVERALL_TARGET)
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)
$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR) && \
echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/" && \
rm -f modules/*.la && \
$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR) >/dev/null 2>&1 || true
install-tester:
@echo "Installing regression tester: $(INSTALL_ROOT)$(PEAR_INSTALLDIR)/"
@@ -61,17 +61,15 @@ test:
fi
clean:
find . -name \*.lo | xargs rm -f
find . -name \*.o | xargs rm -f
find . -name \*.la | xargs rm -f
find . -name \*.a | 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 libphp4.la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
rm -f libphp5.la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php4.spec sapi/apache/libphp4.module buildmk.stamp
egrep define'.*include/php' $(top_srcdir)/configure|sed 's/.*>//'|xargs rm -f
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp5.module buildmk.stamp
egrep define'.*include/php' configure|sed 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f
.PHONY: all clean install distclean test
+129 -3949
View File
File diff suppressed because it is too large. Load diff
+29 -39
View File
@@ -29,20 +29,7 @@ Having said that, here are the organizational rules:
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.
@@ -50,11 +37,8 @@ The next few rules are more of a technical nature.
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.
bug fixes, improvements, etc., should go into the NEWS file. Also see
the note below about automatically updating NEWS in your commit message.
3. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
@@ -74,45 +58,51 @@ The next few rules are more of a technical nature.
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.
in the ChangeLog. If the line begins with @, it will be redirected to the
NEWS file. 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.
lines, you have to put # or @ at the beginning of _every_ such line. Every
entry in NEWS has to have a name after it, so if you did it with someone's
help, put both your names there. Your name WILL NOT be automatically put
at the end of the NEWS entry - so, please provide it yourself.
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
Example. Say you modified two files, datetime.c and string.c. In datetime.c
you added a new format option for 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.
(PHP date) Added new 'K' format modifier for printing out number of
days until New Year's Eve.
@- Added new 'K' format modifier that will output the number of days
@ until New Year's Eve. (Bob)
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!
(php_trim) Fixed a memory leak resulting from improper use of zval_dtor().
# Man, that thing was leaking all over the place!
@- Fixed memory leak in trim(). (Bob)
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.
The lines above marked with @ will go into NEWS file automagically, and the
# lines will be omitted from the ChangeLog. Alternatively, you might want
to modify NEWS file directly and not use the @ lines.
If you fix some bugs, you should note the bug ID numbers in your
commit message. Bug ID should be prefixed by "#" for easier access to
bug report when developers are browsing CVS via LXR or Bonsai.
bug report when developers are browsing CVS via. LXR or Bonsai.
Example:
Fixed bug #14016 (pgsql notice handler double free crash bug.)
Fixed pgsql notice handler double free crash bug. Bug #14016
@ Fixed pgsql notice handler double free crash bug. Bug #14016
If you don't see your messages in ChangeLog right away, don't worry!
If you don't see your messages in ChangeLog and NEWS right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later.
somewhat later. Don't go adding stuff to NEWS by hand if you already put @
lines in the commit message.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP CVS repository in various ways.
+6 -1
View File
@@ -1,3 +1,7 @@
(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
@@ -17,7 +21,8 @@ HOW TO USE IT
[ 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 to use gawk explicitly. ]
#! 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
+8 -8
View File
@@ -42,14 +42,14 @@ Type specifiers
z - the actual zval
The following characters also have a meaning in the specifier string:
| - indicates that the remaining parameters are optional, they
should be initialized to default values by the extension since they
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
! - the parameter it follows can be of specified type or NULL (only applies
to 'a', 'o', 'O', 'r', and 'z'). If NULL is passed, the results
pointer is set to NULL as well.
| - indicates that the remaining parameters are optional, they
should be initialized to default values by the extension since they
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
! - the parameter it follows can be of specified type or NULL (only applies
to 'a', 'o', 'O', 'r', and 'z'). If NULL is passed, the results
pointer is set to NULL as well.
Examples
--------
+7 -1
View File
@@ -37,9 +37,10 @@ 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.
names: fread, fwrite, fprintf, feof, fgetc, fgets, fclose, fflush, fseek, ftell, flock.
Opening Streams
===============
@@ -157,6 +158,11 @@ 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?
-1
View File
@@ -123,5 +123,4 @@ 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!
+4 -141
View File
@@ -1,6 +1,6 @@
[IMPORTANT NOTICE]
------------------
Do _not_ ask to developers why some or all tests are failed under
Please do not ask developers why some or all tests are failing in
your environment! Let us know if you find why it fails. Thank you.
@@ -108,7 +108,7 @@ Example script to be run by cron(1):
========== qa-test.sh =============
#!/bin/sh
CO_DIR=$HOME/cvs/php4
CO_DIR=$HOME/cvs/php5
MYMAIL=qa-test@domain.com
TMPDIR=/var/tmp
TODAY=`date +"%Y%m%d"`
@@ -119,7 +119,7 @@ export MAKE=gmake
export CC=gcc
# Set test environment
export NO_INTERACTIVITY=1
export NO_INTERACTION=1
export REPORT_EXIT_STATUS=1
cd $CO_DIR
@@ -141,145 +141,8 @@ 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
Here is an actual test file from standard module.
===== ext/standard/tests/strings/strtr.phpt =======
--TEST--
strtr() function
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example. */
$trans = array("hello"=>"hi", "hi"=>"hello", "a"=>"A", "world"=>"planet");
var_dump(strtr("# hi all, I said hello world! #", $trans));
?>
--EXPECT--
string(32) "# hello All, I sAid hi planet! #"
===== ext/standard/tests/strings/strtr.phpt =======
As you can see the file is devided into several sections. Below is a
list of all possible sections:
"--TEST--" is title of the test (required).
"--SKIPIF--" is condition when to skip this test (optional).
"--POST--" is POST variable passed to test script (optional).
"--GET--" is GET variable passed to test script (optional).
"--INI--" each line contains an ini setting e.g. foo=bar (optional).
"--FILE--" is the test script (required).
"--EXPECT--" is the expected output from the test script (required).
"--EXPECTF--" is an alternative of --EXPECT--. The difference is that
this form uses sscanf for output validation (alternative).
"--EXPECTREGEX--" is an alternative of --EXPECT--. This form allows the tester
to specify the result in a regular expression (alternative).
A test must at least contain the sections TEST, FILE and either EXPECT
or EXPECTF. When a test is called run-test.php takes the name from the
TEST section and writes the FILE section into a ".php" file with the
same name as the ".phpt" file. This ".php" file will then be executed
and its output compared to the contents of the EXPECT section. It is a
good idea to generate output with var_dump() calls.
/ext/standard/tests/strings/str_shuffle.phpt is a good example for using
EXPECTF instead of EXPECT. From time to time the algorithm used for shuffle
changed and sometimes the machine used to execute the code has influence
on the result of shuffle. But it always returns a three character string
detectable by %s. Other scan-able forms are %i for integers, %d for numbers
only, %f for floating point values, %c for single characters and %x for
hexadecimal values.
==== /ext/standard/tests/strings/str_shuffle.phpt ===
--TEST--
Testing str_shuffle.
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example. */
$s = '123';
var_dump(str_shuffle($s));
var_dump($s);
?>
--EXPECTF--
string(3) %s
string(3) "123"
==== end of /ext/standard/tests/strings/str_shuffle.phpt ===
/ext/standard/tests/strings/strings001.phpt is a good example for using
EXPECTREGEX instead of EXPECT. This test also shows that in EXPECTREGEX
some characters need to be escaped since otherwise they would be
interpreted as a regular expression.
==== /ext/standard/tests/strings/strings001.phpt ===
--TEST--
Test whether strstr() and strrchr() are binary safe.
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example. */
$s = "alabala nica".chr(0)."turska panica";
var_dump(strstr($s, "nic"));
var_dump(strrchr($s," nic"));
?>
--EXPECTREGEX--
string\(18\) \"nica\x00turska panica\"
string\(19\) \" nica\x00turska panica\"
==== end of /ext/standard/tests/strings/strings001.phpt ===
Some tests depend on modules or functions available only in certain versions
or they even require minimum version of php or zend. These tests should be
skipped when the requirement cannot be fullfilled. To achieve this you can
use the SKIPIF section. To tell run-test.php that your test should be skipped
the SKIPIF section must print out the word "skip" followed by a reason why
the test should skip.
==== /ext/exif/tests/exif005.phpt ===
--TEST--
Check for exif_read_data, unusual IFD start
--SKIPIF--
<?php
if (!extension_loaded('exif')) print 'skip exif extension not available';
?>
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example.
* test5.jpg is a 1*1 image that contains an Exif section with ifd = 00000009h
*/
$image = exif_read_data('./ext/exif/tests/test5.jpg','',true,false);
var_dump($image['IFD0']);
?>
--EXPECT--
array(2) {
["ImageDescription"]=>
string(11) "Ifd00000009"
["DateTime"]=>
string(19) "2002:10:18 20:06:00"
}
==== end of /ext/exif/tests/exif005.phpt ===
Test script and SKIPIF code should be directly written into *.phpt. However,
it is recommended to use include files when more test scripts depend on the
same SKIPIF code or when certain test files need the same values for some
input. But no file used by any test should have one of the following
extensions: ".php", ".log", ".exp", ".out" or ".diff".
Tests should be named according to the following list:
Class: Name: Example:
Tests for bugs bug<bugid>.phpt bug17123.phpt
Tests for functions <functionname>.phpt dba_open.phpt
General tests for extensions <extname><no>.phpt dba3.phpt
When you use an include file for the SKIPIF section it should be named
"skipif.inc" and an include file used in the FILE section of many tests
should be named "test.inc".
NOTE: All tests should run correctly with error_reporting(E_ALL) and
display_errors=1. This is the default when called from run-test.php.
If you have a good reason for lowering the error reporting, use --INI--
section and comment this in your testcode.
NOTE: If your test intentionally generates a PHP warning message use
$php_errormsg variable, which you can then output. This will result
in a consistent error message output across all platforms and PHP
configurations, preventing your test from failing due inconsistencies
in the error message content.
[How to help us]
----------------
+137
View File
@@ -0,0 +1,137 @@
[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
+1 -1
View File
@@ -108,7 +108,7 @@ module, program, etc).
For example for APXS:
PHP_SELECT_SAPI(apache, shared, sapi_apache.c mod_php4.c php_apache.c)
PHP_SELECT_SAPI(apache, shared, sapi_apache.c mod_php5.c php_apache.c)
+10 -24
View File
@@ -21,29 +21,13 @@ If you have any problems, please check the support site for more
up-to-date information and advice.
Quick guide to installing FastCGI with Zeus
-------------------------------------------
Quick guide to installing CGI/FastCGI with Zeus
-----------------------------------------------
Step 1 - obtain and install FastCGI development kit.
Grab the package from:
http://www.fastcgi.com/dist/devkit_2.2.0.tar.gz
Extract the package and follow the instructions:
./configure
make
make export
(run the last as root)
This will install to /usr/local/lib/libfcgi.a
and /usr/local/include/*fcgi*
Step 2 - Compile PHP as FastCGI.
Step 1 - Compile PHP as FastCGI.
Compile as follows:
./configure --with-fastcgi
./configure --enable-fastcgi
make
Note that PHP has many options to the configure script -
@@ -55,7 +39,7 @@ program called 'php'. Copy this into your document root, under a
dedicated FastCGI directory (e.g. $DOCROOT/fcgi-bin/php)
Step 3 - configure Zeus
Step 2 - configure Zeus
Four stages:
- enable FastCGI
@@ -98,7 +82,7 @@ Click 'update' to commit these changes
Finally restart your virtual server for these changes to take effect.
Step 4 - start PHP as a FastCGI runner
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
@@ -106,8 +90,10 @@ 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. If not
set, defaults to 8.
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.
+188
View File
@@ -0,0 +1,188 @@
Input Filter Support in PHP5
----------------------------
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 PHP5 is aimed at providing the framework
through which a company-wide or site-wide security policy can be
enforced. It is implemented as a SAPI hook and is called from the
treat_data and post handler functions. To implement your own security
policy you will need to write a standard PHP extension.
A simple implementation might look like the following. This stores the
original raw user data and adds a my_get_raw() function while the normal
$_POST, $_GET and $_COOKIE arrays are only populated with stripped
data. In this simple example all I am doing is calling strip_tags() on
the data. If register_globals is turned on, the default globals that
are created will be stripped ($foo) while a $RAW_foo is created with the
original user input.
ZEND_BEGIN_MODULE_GLOBALS(my_input_filter)
zval *post_array;
zval *get_array;
zval *cookie_array;
ZEND_END_MODULE_GLOBALS(my_input_filter)
#ifdef ZTS
#define IF_G(v) TSRMG(my_input_filter_globals_id, zend_my_input_filter_globals *, v)
#else
#define IF_G(v) (my_input_filter_globals.v)
#endif
ZEND_DECLARE_MODULE_GLOBALS(my_input_filter)
function_entry my_input_filter_functions[] = {
PHP_FE(my_get_raw, NULL)
{NULL, NULL, NULL}
};
zend_module_entry my_input_filter_module_entry = {
STANDARD_MODULE_HEADER,
"my_input_filter",
my_input_filter_functions,
PHP_MINIT(my_input_filter),
PHP_MSHUTDOWN(my_input_filter),
NULL,
PHP_RSHUTDOWN(my_input_filter),
PHP_MINFO(my_input_filter),
"0.1",
STANDARD_MODULE_PROPERTIES
};
PHP_MINIT_FUNCTION(my_input_filter)
{
ZEND_INIT_MODULE_GLOBALS(my_input_filter, php_my_input_filter_init_globals, NULL);
REGISTER_LONG_CONSTANT("POST", PARSE_POST, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("GET", PARSE_GET, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("COOKIE", PARSE_COOKIE, CONST_CS | CONST_PERSISTENT);
sapi_register_input_filter(my_sapi_input_filter);
return SUCCESS;
}
PHP_RSHUTDOWN_FUNCTION(my_input_filter)
{
if(IF_G(get_array)) {
zval_ptr_dtor(&IF_G(get_array));
IF_G(get_array) = NULL;
}
if(IF_G(post_array)) {
zval_ptr_dtor(&IF_G(post_array));
IF_G(post_array) = NULL;
}
if(IF_G(cookie_array)) {
zval_ptr_dtor(&IF_G(cookie_array));
IF_G(cookie_array) = NULL;
}
return SUCCESS;
}
PHP_MINFO_FUNCTION(my_input_filter)
{
php_info_print_table_start();
php_info_print_table_row( 2, "My Input Filter Support", "enabled" );
php_info_print_table_row( 2, "Revision", "$Revision$");
php_info_print_table_end();
}
unsigned int my_sapi_input_filter(int arg, char *var, char **val, unsigned int val_len)
{
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);
return strlen(*val);
}
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|l", &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);
}
+21 -30
View File
@@ -3,18 +3,17 @@ parenthesis means that person has taken on this project.
Zend
----
For PHP 4.3.0:
* Allow foreach ($array as $k => &$val) syntax. right now we cannot
traverse an array without copying each element.
* 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.
* Allow to set a default value for call-by-reference-parameters.
eg: function hello (&$pallo = NULL) {}
* Disallow function(method) redefinition in class.
For PHP 5.0.0:
* Add configure test to determine if dlsym() requires underscore and set
DLSYM_NEEDS_UNDERSCORE accordingly. Perl and zsh have it in configure,
for example. (DONE?)
* Allow foreach ($array as $k => &$val) syntax. right now we cannot
traverse an array without copying each element.
* 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
@@ -23,26 +22,11 @@ Zend
global
------
For PHP 4.3.0:
* Add aliases to functions to conform to new naming conventions, e.g.
str_to_upper().
* Make all extensions thread-safe.
* Make everything on the language-level independent of your locale
settings.
* Change PHP error messages, so that they point to pages or sections
in the PHP Manual.
* Make sure that all ZTS globals get destructed. Most ts_allocate_id()
calls should have a dtor entry.
* Activate all extensions by default that don't rely on external
dependencies. (eg ftp) (DONE?)
* on some platforms unimplemented function will just do nothing
(e.g. symlink) they should print a warning or not even be defined!
(DONE ?)
* Use arg_separator.input to implode args in the CGI sapi extension
and arg_separator.input to explode in php_build_argv(). (DONE?)
For PHP 5.0.0
* bundle and use curl lib for fopen wrapper.
* --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
@@ -55,16 +39,28 @@ global
* 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.
* 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
-------------
@@ -139,7 +135,6 @@ ext/session
ext/sockets
-----------
* Implement IPv6
* Review/Fix vectors
ext/standard
@@ -148,13 +143,7 @@ ext/standard
* Possibly modify parsing of GPC data to automatically create arrays if
variable name is seen more than once.
* Implement regex-cache for url-functions.
* stri_replace(). (Andrei)
* Move socket related functions to fsock.c.
* NOT binary safe:
strtok()
basename()
dirname()
strrpos()
ext/wddx
--------
@@ -170,3 +159,5 @@ ext/wddx
other cool stuff
----------------
* PVM extension
vim:et:sw=4:ts=4
+211
View File
@@ -0,0 +1,211 @@
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: Introspection
get_function_definition(<is_callable> [field]) =>
array(
file => filename
line_start =>
line_end =>
parameters => array( name, byref, default )
static_variables => array( name, value/default )
scope => 'namespace' | 'class' | null
namespace => classname | namespacename | 'main'
protection => protection_flags
phpdoc => pre-scanned-phpdoc-string
type => 'internal' | 'user'
)
get_class_definition(<class> [field]) =>
array(
type => 'internal' | 'user'
file => filename
line_start =>
line_end =>
name => pretty-name
parent => classname | namespace | null
flags => bitfield (ABSTRACT)
methods => array( array( name, phpdoc ) )
default_properties => array( array( name, value, phpdoc ) )
private_properties => array( array( name, value, phpdoc ) )
protected_properties => array( array( name, value, phpdoc ) )
public_properties => array( array( name, value, phpdoc ) )
static_members => array( array( name, value, phpdoc ) )
constants => array( array( name, value, phpdoc ) )
classes => array( array( name, phpdoc ) )
phpdoc => pre-scanned-phpdoc-string
)
get_constant_definition(<constant> [field]) =>
array(
file => filename
line_start =>
line_end =>
name =>
value =>
phpdoc =>
)
get_global_variable_defintion(<name> [field]) =>
array(
file =>
line_start =>
line_end =>
name =>
phpdoc =>
)
We tried to take into account the implementation of each piece of
information, and there are some that are problematic, especially those
regarding constants and global variables (where do we store the extra
information?)
With "pre-scanned-phpdoc-string" we mean converting:
/**
* Blah blah blah
* @param foo ...
*/
to:
Blah blah blah
@param foo
The rest of the phpdoc handling should be left to an extension.
Responsibility: Stig, Andrei, Harald
Time frame: ?
Component: Redesign of API Versioning
Responsibility: ?
Time frame: 1 month
Component: Thread Safety
Identify the extensions that are not thread safe by design
or due to dependant libraries and identify them as such.
If possible try to resolve thread safety issue via code
improvements (if php code or patches will be accepted by
library maintainers). For situations where thread safety
cannot easily be acheived a flag in the extension API is
set so PHP can identify non-thread safe extensions. These
extensions will not be loaded in a ZTS compiled binary
(unless it is cli/cgi).
Responsibility: ?
Time frame: ?
Component: SAPI
Environment variables defined in the CGI spec need to be
verified in each SAPI module that they conform to the CGI
spec correctly. If they do not, the SAPI module needs to
fix the variable prior to script execution. Having this
conformity will aid in having PHP scripts run correctly
under different sapi modules.
Responsibility: Shane Caraveo & each sapi module owner
Timeframe: ? (but shouldn't be much effort, most modules are probably ok)
Component: Input Filtering
- Implement a SAPI input filter hook that will get called
just before registering a variable in the
treat_data/post_handler hooks. (done)
- Make sure this is also done in mbstring (done)
- Provide access functions, or perhaps a new
$_RAW_GET/POST/Cookie set of superglobals to get at the
unfiltered data
- Provide a .ini directive which allows people to set their
input filter to one of the built-in strip_tags,
htmlspecialchars or whatever other internal function might
be useful here.
- (The main benefit of this is to make it easier for people
to solve the XSS problem once and for all without having
to go through every line of their code and adding input
validation/filtering everywhere)
Responsibility: Rasmus
Timeframe: Yesterday
Component: RPC Abstraction Layer
Porting java, com, dotnet, xmlrpc, corba, soap and python, srm
(are there more ?) to work with the new oo api and preferably
by using ext/rpc.
Responsibility: Harald
Time frame: 2 months (but i have to wait for a few engine features first)
Component: OO Extensions
Each OO extension has to be revised and rewritten to fit into
the new OO model. We should decide which extensions are a must
to have for the release and which can be ported by the maintainer
later as a separate pecl release.
A list of extensions to be extended that have to be investigated:
* browscap
* aggregate
* all *sql extensions (*_fetch_object)
* domxml (seems like christian is rewriting it anyways)
* ming
Responsibility: Harald (, extension maintainers)
Component: Abstract Data Types (ADT)
Responsibility: Sterling, Harald
Time frame: ?
Component: MySQL Extension
Complete rewrite, leveraging the new MySQL 4 / MySQL 5
features.
Responsibility: Georg Richter, Zak Greant
Timeframe: ?
Component: XML
- Rewrite DOMXML and incorporate all (or most of) W3C-DOM2.
- Use the new ZE2 features (Exceptions, setter/getter).
- Add SAX(2), XML Schema.
- XSLT, HTML, XPath, XPointer, DTD Validation will still be
supported, have to find a meaningful API for it.
- Break BC, warn users now.
- Look at the libxml2 patch by lukas schröder and see if we can prevent
memory leaks with it (anyway, getting rid of mem-leaks and intelligent
memory management is on top prio...)
- In the longer term, domxml (or another name, as with todays features
domxml is a little bit misleading) shall be the main xml-class, which
covers most of what's needed for decent XML support in PHP ;)
But there is certainly place for others like Sablotron etc.
Responsibility: Christian Stocker
Timeframe: ?
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
+3
View File
@@ -0,0 +1,3 @@
- clean up .cvsignores
- purge Makefile.ins and replace PHP_EXTENSION in config.m4s
with appropiate calls to PHP_NEW_EXTENSION
-112
View File
@@ -1,112 +0,0 @@
This is an overview over existing segfaults in the current PHP source
tree.
Fixed:
mb_convert_encoding (Moriyoshi)
socket_iovec_alloc (Rasmus)
exif_imagetype,exif_thumbnail (Rasmus)
dbase_open (Rasmus)
array_pad (Rasmus)
setlocale (Rasmus)
unregister_tick_function (Rasmus)
bcsub (Rasmus)
str_repeat (Ilia)
imagecopyresized (Ilia)
mhash_keygen_s2k (Ilia)
bundled gd (Ilia)
mb_ereg, mb_ereg_match, mb_eregi, mb_split (Moriyoshi)
xml_parser_create (Moriyoshi)
ob_start (Sascha)
imagecreate/-truecolor (Sascha)
flock (Sascha)
register_shutdown_function (Sascha)
mb_strcut('', [number greater than the length of first arg]) (Moriyoshi)
ext/exif, ext/dba (Marcus)
php_base64_encode (Moriyoshi)
pack (Ilia)
Open:
the dbase extension (1)
socket_select (2)
(1) heap corruption, mostly visible in malloc-related calls. Whether you see
this or not might depend on your libc/compiler. Hard to track down,
because the result of the corruption might be quite delayed.
Reproducable with glibc-2.3/gcc 3.2.2 by:
cat <<X | php do_crash
dbase_add_record
dbase_close
dbase_create
dbase_delete_record
dbase_get_record
dbase_get_record_with_names
dbase_numfields
dbase_numrecords
dbase_open
X
(2) heap corruption, dies in efree()/execute()
Methodology
1. Use a plain PHP_4_3 tree
2. Use the config.nice from ammendment 1.
3. Download the test script from:
<URL:http://schumann.cx/do_crash.txt>
4a. Use the scripts funcparse.awk/genfunclist.sh from phpdoc/scripts
for creating a plain text function list. Feed that list to
the script. Avoid calls like pcntl_fork. Manually remove functions
which take too long to finish/eat up all memory.
4b. For testing a single function, echo the name of the function to
the script like this:
echo dbase_open | php do_crash.txt
Amendment 1.
CFLAGS='-O0 -g' \
'../src/php4/configure' \
'--enable-pcntl' \
'--enable-shmop' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-wddx' \
'--enable-yp' \
'--enable-filepro' \
'--enable-ftp' \
'--enable-dba' \
'--enable-dbase' \
'--enable-dio' \
'--enable-exif' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-sockets' \
'--enable-bcmath' \
'--enable-calendar' \
'--enable-pcntl' \
'--enable-shmop' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-wddx' \
'--enable-yp' \
'--enable-filepro' \
'--enable-ftp' \
'--enable-dba' \
'--enable-dbase' \
'--enable-dio' \
'--enable-exif' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-sockets' \
'--enable-bcmath' \
'--enable-calendar' \
"$@"
+55 -10
View File
@@ -157,16 +157,10 @@ TSRM_API void tsrm_shutdown(void)
int j;
next_p = p->next;
for (j=0; j<p->count; j++) {
/* Disabled - calling dtors in tsrm_shutdown makes
modules registering TSRM ids to crash, if they have
dtors, since the module is unloaded before tsrm_shutdown
is called. Can be re-enabled after tsrm_free_id is
implemented.
for (j=0; j<id_count; j++) {
if (resource_types_table && resource_types_table[j].dtor) {
resource_types_table[j].dtor(p->storage[j], &p->storage);
}
*/
free(p->storage[j]);
}
free(p->storage);
@@ -190,7 +184,6 @@ TSRM_API void tsrm_shutdown(void)
#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);
@@ -285,11 +278,11 @@ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_
}
}
tsrm_mutex_unlock(tsmm_mutex);
if (tsrm_new_thread_end_handler) {
tsrm_new_thread_end_handler(thread_id, &((*thread_resources_ptr)->storage));
}
tsrm_mutex_unlock(tsmm_mutex);
}
@@ -300,6 +293,15 @@ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_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) {
#if defined(PTHREADS)
/* Fast path for looking up the resources for the current
@@ -362,6 +364,9 @@ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
* 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
}
@@ -428,6 +433,13 @@ TSRM_API THREAD_T tsrm_thread_id(void)
{
#ifdef TSRM_WIN32
return GetCurrentThreadId();
#elif defined(NETWARE)
/* There seems to be some problem with the LibC call: NXThreadGetId().
* Due to this, the PHPMyAdmin application is abending in PHP calls.
* Used the call, kCurrentThread instead and it works fine.
*/
/* return NXThreadGetId(); */
return kCurrentThread();
#elif defined(GNUPTH)
return pth_self();
#elif defined(PTHREADS)
@@ -448,9 +460,24 @@ TSRM_API THREAD_T tsrm_thread_id(void)
TSRM_API MUTEX_T tsrm_mutex_alloc(void)
{
MUTEX_T mutexp;
#ifdef NETWARE
#ifndef USE_MPK
/* To use the Recursive Mutex Locking of LibC */
long flags = NX_MUTEX_RECURSIVE;
NXHierarchy_t order = 0;
NX_LOCK_INFO_ALLOC (lockInfo, "PHP-TSRM", 0);
#endif
#endif
#ifdef TSRM_WIN32
mutexp = malloc(sizeof(CRITICAL_SECTION));
InitializeCriticalSection(mutexp);
#elif defined(NETWARE)
#ifdef USE_MPK
mutexp = kMutexAlloc((BYTE*)"PHP-TSRM");
#else
mutexp = NXMutexAlloc(flags, order, &lockInfo);
#endif
#elif defined(GNUPTH)
mutexp = (MUTEX_T) malloc(sizeof(*mutexp));
pth_mutex_init(mutexp);
@@ -482,6 +509,12 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
#ifdef TSRM_WIN32
DeleteCriticalSection(mutexp);
free(mutexp);
#elif defined(NETWARE)
#ifdef USE_MPK
kMutexFree(mutexp);
#else
NXMutexFree(mutexp);
#endif
#elif defined(GNUPTH)
free(mutexp);
#elif defined(PTHREADS)
@@ -511,6 +544,12 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
#ifdef TSRM_WIN32
EnterCriticalSection(mutexp);
return 1;
#elif defined(NETWARE)
#ifdef USE_MPK
return kMutexLock(mutexp);
#else
return NXLock(mutexp);
#endif
#elif defined(GNUPTH)
return pth_mutex_acquire(mutexp, 0, NULL);
#elif defined(PTHREADS)
@@ -536,6 +575,12 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
#ifdef TSRM_WIN32
LeaveCriticalSection(mutexp);
return 1;
#elif defined(NETWARE)
#ifdef USE_MPK
return kMutexUnlock(mutexp);
#else
return NXUnlock(mutexp);
#endif
#elif defined(GNUPTH)
return pth_mutex_release(mutexp);
#elif defined(PTHREADS)
+23 -2
View File
@@ -14,8 +14,8 @@
#define TSRM_H
/* #ifndef WIN32 */
#if !defined(WIN32)
# include <tsrm_config.h>
#if !defined(WIN32) && !defined(NETWARE)
# include "tsrm_config.h"
#endif
#ifdef WIN32
@@ -37,7 +37,17 @@
#ifdef ZTS
#ifdef TSRM_WIN32
# ifndef TSRM_INCLUDE_FULL_WINDOWS_HEADERS
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
#elif defined(NETWARE)
# include <nks/thread.h>
#ifdef USE_MPK
# include <mpklib4php.h>
#else
# include <nks/synch.h>
#endif
#elif defined(GNUPTH)
# include <pth.h>
#elif defined(PTHREADS)
@@ -55,6 +65,13 @@ typedef int ts_rsrc_id;
#ifdef TSRM_WIN32
# define THREAD_T DWORD
# define MUTEX_T CRITICAL_SECTION *
#elif defined(NETWARE)
# define THREAD_T NXThreadId_t
#ifdef USE_MPK
# define MUTEX_T MUTEX
#else
# define MUTEX_T NXMutex_t *
#endif
#elif defined(GNUPTH)
# define THREAD_T pth_t
# define MUTEX_T pth_mutex_t *
@@ -132,6 +149,8 @@ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread
#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) (void ***) ctx = 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
@@ -145,6 +164,8 @@ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread
#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
+1 -1
View File
@@ -1,5 +1,5 @@
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
AC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+5 -13
View File
@@ -30,7 +30,7 @@ dnl PTHREADS_FLAGS
dnl
dnl Set some magic defines to achieve POSIX threads conformance
dnl
AC_DEFUN([PTHREADS_FLAGS],[
AC_DEFUN(PTHREADS_FLAGS,[
if test -z "$host_alias" && test -n "$host"; then
host_alias=$host
fi
@@ -65,7 +65,7 @@ dnl PTHREADS_CHECK_COMPILE
dnl
dnl Check whether the current setup can use POSIX threads calls
dnl
AC_DEFUN([PTHREADS_CHECK_COMPILE], [
AC_DEFUN(PTHREADS_CHECK_COMPILE, [
AC_TRY_RUN( [
#include <pthread.h>
#include <stddef.h>
@@ -84,15 +84,7 @@ int main() {
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
], pthreads_working=no ) ] )dnl
dnl
dnl PTHREADS_CHECK()
dnl
@@ -108,7 +100,7 @@ dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
AC_DEFUN([PTHREADS_CHECK],[
AC_DEFUN(PTHREADS_CHECK,[
if test "$beos_threads" = "1"; then
pthreads_working="yes"
@@ -162,7 +154,7 @@ fi
])dnl
dnl
dnl
AC_DEFUN([PTHREADS_ASSIGN_VARS],[
AC_DEFUN(PTHREADS_ASSIGN_VARS,[
if test -n "$ac_cv_pthreads_lib"; then
LIBS="$LIBS -l$ac_cv_pthreads_lib"
fi
+8 -9
View File
@@ -1,6 +1,6 @@
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
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
@@ -21,7 +21,7 @@ AC_DEFUN([TSRM_CHECK_GCC_ARG],[
fi
])
AC_DEFUN([TSRM_BASIC_CHECKS],[
AC_DEFUN(TSRM_BASIC_CHECKS,[
AC_REQUIRE([AC_PROG_CC])dnl
dnl AC_REQUIRE([AM_PROG_CC_STDC])dnl
@@ -33,7 +33,7 @@ AC_CHECK_HEADERS(stdarg.h)
])
AC_DEFUN([TSRM_CHECK_PTH],[
AC_DEFUN(TSRM_CHECK_PTH,[
AC_MSG_CHECKING(for GNU Pth)
PTH_PREFIX="`$1 --prefix`"
@@ -50,7 +50,7 @@ AC_MSG_RESULT(yes - installed in $PTH_PREFIX)
])
AC_DEFUN([TSRM_CHECK_ST],[
AC_DEFUN(TSRM_CHECK_ST,[
if test -r "$1/include/st.h"; then
CPPFLAGS="$CPPFLAGS -I$1/include"
LDFLAGS="$LDFLAGS -L$1/lib"
@@ -70,7 +70,7 @@ AC_DEFUN([TSRM_CHECK_ST],[
sinclude(threads.m4)
sinclude(TSRM/threads.m4)
AC_DEFUN([TSRM_CHECK_PTHREADS],[
AC_DEFUN(TSRM_CHECK_PTHREADS,[
PTHREADS_CHECK
@@ -89,21 +89,20 @@ fi
])
AC_DEFUN([TSRM_THREADS_CHECKS],[
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.],[
[ --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],[
[ --with-tsrm-st],[
TSRM_ST=$withval
],[
TSRM_ST=no
+4 -2
View File
@@ -3,7 +3,9 @@
#define HAVE_UTIME 1
/* Though we have alloca(), this seems to be causing some problem with the stack pointer -- hence not using it */
/* #define HAVE_ALLOCA 1 */
/* Though we have alloca(), this seems to be causing some problem
* with the stack pointer. Hence not using it
*/
/*#define HAVE_ALLOCA 1*/
#endif
-1
View File
@@ -3,7 +3,6 @@
#define HAVE_UTIME 1
#define HAVE_ALLOCA 1
#define HAVE_REALPATH 1
#include <malloc.h>
#include <stdlib.h>
+4 -4
View File
@@ -10,7 +10,7 @@
#elif defined(NETWARE)
# include "tsrm_config.nw.h"
#else
# include <tsrm_config.h>
# include "tsrm_config.h"
# include <sys/param.h>
#endif
@@ -22,10 +22,12 @@
#ifndef __GNUC__
# ifndef HAVE_ALLOCA_H
# ifdef _AIX
#pragma alloca
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
# ifndef NETWARE
char *alloca ();
# endif
# endif
# endif
# endif
@@ -42,8 +44,6 @@ char *alloca ();
#ifndef MAXPATHLEN
# ifdef PATH_MAX
# define MAXPATHLEN PATH_MAX
# elif defined(MAX_PATH)
# define MAXPATHLEN MAX_PATH
# else
# define MAXPATHLEN 256
# endif
+135 -155
View File
@@ -2,17 +2,18 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2008 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
| Anantha Kesari H Y <hyanantha@novell.com> |
+----------------------------------------------------------------------+
*/
@@ -39,8 +40,9 @@
#include "mktemp.h"
/* strtok() call in LibC is abending when used in a different address space -- hence using
PHP's version itself for now : Venkat (30/4/02) */
/* 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))
@@ -50,211 +52,189 @@
TSRM_API FILE* popen(const char *commandline, const char *type)
{
char *command = NULL, *argv[MAX_ARGS] = {'\0'}, **env = NULL;
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;
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;
int pipe_handle;
int mode = O_RDONLY;
#else
NXHandle_t pipe_handle;
NXMode_t mode = NX_O_RDONLY;
NXHandle_t pipe_handle;
NXMode_t mode = NX_O_RDONLY;
#endif
NXExecEnvSpec_t envSpec;
NXNameSpec_t nameSpec;
NXVmId_t newVM = 0;
NXExecEnvSpec_t envSpec;
NXNameSpec_t nameSpec;
NXVmId_t newVM = 0;
/* Check for validity of input parameters */
if (!commandline || !type)
return NULL;
/* Check for validity of input parameters */
if (!commandline || !type)
return NULL;
/* Get temporary file name */
filePath = mktemp(tempName);
/*consoleprintf ("PHP | popen: file path = %s, mode = %s\n", filePath, type);*/
/* 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)
/* 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;
mode = O_RDONLY;
#else
mode = NX_O_RDONLY;
mode = NX_O_RDONLY;
#endif
else if (strcmp(type, "w") == 0)
else if (strcmp(type, "w") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_WRONLY;
mode = O_WRONLY;
#else
mode = NX_O_WRONLY;
mode = NX_O_WRONLY;
#endif
else
return NULL;
else
return NULL;
#ifdef USE_PIPE_OPEN
pipe_handle = pipe_open(filePath, mode);
/*consoleprintf ("PHP | popen: pipe_open() returned %d\n", pipe_handle);*/
if (pipe_handle == -1)
return NULL;
pipe_handle = pipe_open(filePath, mode);
if (pipe_handle == -1)
return NULL;
#elif defined(USE_MKFIFO)
pipe_handle = mkfifo(filePath, mode);
consoleprintf ("PHP | popen: mkfifo() returned %d\n", pipe_handle);
if (pipe_handle == -1)
return NULL;
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);
/*consoleprintf ("PHP | popen: NXFifoOpen() returned %d\n", err);*/
if (err)
return NULL;
/* - 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 */
/* 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;
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;
}
err = NXCopyEnv(env, envCount);
consoleprintf ("PHP | popen: NXCopyEnv() returned %d\n", err);
if (err)
{
NXMemFree (env);
return NULL;
}
/* Separate commandline string into words */
ptr = tsrm_strtok_r((char*)commandline, WHITESPACE, NULL);
ptrLen = strlen(ptr);
/* Separate commandline string into words */
consoleprintf ("PHP | popen: commandline = %s\n", commandline);
ptr = tsrm_strtok_r((char*)commandline, WHITESPACE, NULL);
ptrLen = strlen(ptr);
command = (char*)malloc(ptrLen + 1);
if (!command) {
NXMemFree (env);
return NULL;
}
command = (char*)malloc(ptrLen + 1);
if (!command)
{
NXMemFree (env);
return NULL;
}
strcpy (command, ptr);
strcpy (command, ptr);
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
while (ptr && (argc < MAX_ARGS)) {
ptrLen = strlen(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);
argv[argc] = (char*)malloc(ptrLen + 1);
if (!argv[argc])
{
NXMemFree (env);
for (i = 0; i < argc; i++) {
if (argv[i])
free (argv[i]);
}
if (command)
free (command);
return NULL;
}
for (i = 0; i < argc; i++)
{
if (argv[i])
free (argv[i]);
}
strcpy (argv[argc], ptr);
argc++;
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
}
return 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;
strcpy (argv[argc], ptr);
/* envSpec.esStdin.ssType = */
envSpec.esStdout.ssType = NX_OBJ_FIFO;
envSpec.esStderr.ssType = NX_OBJ_FILE;
argc++;
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
}
consoleprintf ("PHP | popen: commandline string parsed into tokens\n");
/* 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.ssHandle =
envSpec.esStdout.ssHandle =
envSpec.esStderr.ssHandle = -1;
*/
envSpec.esStdin.ssPathCtx =
envSpec.esStdout.ssPathCtx =
envSpec.esStderr.ssPathCtx = NULL;
envSpec.esStdin.ssPathCtx = NULL;
envSpec.esStdout.ssPathCtx = NULL;
envSpec.esStderr.ssPathCtx = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
if (mode == O_RDONLY)
if (mode == O_RDONLY) {
#else
if (mode == NX_O_RDONLY)
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.esStdin.ssPath = filePath;
envSpec.esStdout.ssPath = stdout;
} else { /* Write Only */
envSpec.esStdin.ssPath = stdin;
envSpec.esStdout.ssPath = filePath;
}
envSpec.esStderr.ssPath = stdout;
envSpec.esStderr.ssPath = stdout;
nameSpec.ssType = NX_OBJ_FIFO;
/* nameSpec.ssHandle = 0; */ /* Not used */
nameSpec.ssPathCtx = NULL; /* Not used */
nameSpec.ssPath = argv[0];
consoleprintf ("PHP | popen: environment setup\n");
err = NXVmSpawn(&nameSpec, &envSpec, 0, &newVM);
consoleprintf ("PHP | popen: NXVmSpawn() returned %d\n", err);
if (!err)
/* Get file pointer corresponding to the pipe (file) opened */
stream = fdopen(pipe_handle, type);
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 */
/* Clean-up */
if (env)
NXMemFree (env);
if (env)
NXMemFree (env);
if (pipe_handle)
if (pipe_handle)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
close(pipe_handle);
close(pipe_handle);
#else
NXClose(pipe_handle);
NXClose(pipe_handle);
#endif
if (command)
free (command);
if (command)
free (command);
for (i = 0; i < argc; i++)
{
if (argv[i])
free (argv[i]);
}
consoleprintf ("PHP | popen: all clean-up done, returning...\n");
return stream;
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;
int err = 0;
NXHandle_t fd = 0;
/* Get the process associated with this pipe (file) handle and terminate it */
fd = fileno(stream);
NXClose (fd);
/* Get the process associated with this pipe (file) handle and terminate it */
fd = fileno(stream);
NXClose (fd);
err = fclose(stream);
err = fclose(stream);
return err;
return err;
}
#endif
#endif /* NETWARE */
+4 -3
View File
@@ -2,17 +2,18 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2008 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
| Anantha Kesari H Y <hyanantha@novell.com> |
+----------------------------------------------------------------------+
*/
+54 -93
View File
@@ -2,12 +2,12 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2008 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
@@ -37,7 +37,8 @@
#endif
#ifdef NETWARE
#include <fsio.h>
/*#include "pipe.h"*/
#include "tsrm_nw.h"
#endif
#ifndef HAVE_REALPATH
@@ -48,7 +49,7 @@
#include "TSRM.h"
/* Only need mutex for popen() in Windows and NetWare, because it doesn't chdir() on UNIX */
/* Only need mutex for popen() in Windows and NetWare because it doesn't chdir() on UNIX */
#if (defined(TSRM_WIN32) || defined(NETWARE)) && defined(ZTS)
MUTEX_T cwd_mutex;
#endif
@@ -136,9 +137,15 @@ static int php_check_dots(const char *element, int n)
static int php_is_dir_ok(const cwd_state *state)
{
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
struct stat buf;
if (stat(state->cwd, &buf) == 0 && S_ISDIR(buf.st_mode))
#else
struct stat_libc buf;
if (stat(state->cwd, (struct stat*)(&buf)) == 0 && S_ISDIR(buf.st_mode))
#endif
return (0);
return (1);
@@ -146,9 +153,15 @@ static int php_is_dir_ok(const cwd_state *state)
static int php_is_file_ok(const cwd_state *state)
{
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
struct stat buf;
if (stat(state->cwd, &buf) == 0 && S_ISREG(buf.st_mode))
#else
struct stat_libc buf;
if (stat(state->cwd, (struct stat*)(&buf)) == 0 && S_ISREG(buf.st_mode))
#endif
return (0);
return (1);
@@ -183,20 +196,8 @@ CWD_API void virtual_cwd_startup(void)
{
char cwd[MAXPATHLEN];
char *result;
#ifdef NETWARE
result = getcwdpath(cwd, NULL, 1);
if(result)
{
char *c=cwd;
while(c = strchr(c, '\\'))
{
*c='/';
++c;
}
}
#else
result = getcwd(cwd, sizeof(cwd));
#endif
result = getcwd(cwd, sizeof(cwd));
if (!result) {
cwd[0] = '\0';
}
@@ -300,22 +301,15 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
if (path_length == 0)
return (0);
if (path_length >= MAXPATHLEN)
return (1);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
/* cwd_length can be 0 when getcwd() fails.
* This can happen under solaris when a dir does not have read permissions
* but *does* have execute permissions */
if (IS_ABSOLUTE_PATH(path, path_length) || (state->cwd_length < 1)) {
if (use_realpath) {
if (realpath(path, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
return 1; */
}
if (use_realpath && realpath(path, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
}
} else { /* Concat current directory with relative path and then run realpath() on it */
char *tmp;
@@ -331,19 +325,9 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
memcpy(ptr, path, path_length);
ptr += path_length;
*ptr = '\0';
if (strlen(tmp) >= MAXPATHLEN) {
free(tmp);
return 1;
}
if (use_realpath) {
if (realpath(tmp, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
free(tmp);
return 1; */
}
if (use_realpath && realpath(tmp, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
}
free(tmp);
}
@@ -359,9 +343,6 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
copy_amount = COPY_WHEN_ABSOLUTE(path_copy);
is_absolute = 1;
#ifdef TSRM_WIN32
} else if (IS_UNC_PATH(path_copy, path_length)) {
copy_amount = 2;
is_absolute = 1;
} else if (IS_SLASH(path_copy[0])) {
copy_amount = 2;
#endif
@@ -417,20 +398,8 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
#elif defined(NETWARE)
/*
Below code keeps appending to state->cwd a File system seperator
cases where this appending should not happen is given below,
a) sys: should just be left as it is
b) sys:system should just be left as it is,
Colon is allowed only in the first token as volume names alone can have the : in their names.
Files and Directories cannot have : in their names
So the check goes like this,
For second token and above simply append the DEFAULT_SLASH to the state->cwd.
For first token check for the existence of :
if it exists don't append the DEFAULT_SLASH to the state->cwd.
*/
if(((state->cwd_length == 0) && (strchr(ptr, ':') == NULL)) || (state->cwd_length > 0))
{
/* If the token is a volume name, it will have colon at the end -- so, no slash before it */
if (ptr[ptr_length-1] != ':') {
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
#else
@@ -570,7 +539,6 @@ CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC)
return f;
}
#if !defined(TSRM_WIN32)
CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC)
{
cwd_state new_state;
@@ -579,13 +547,16 @@ CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC)
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, pathname, NULL, 1);
#if defined(TSRM_WIN32)
ret = tsrm_win32_access(new_state.cwd, mode);
#else
ret = access(new_state.cwd, mode);
#endif
CWD_STATE_FREE(&new_state);
return ret;
}
#endif
#if HAVE_UTIME
@@ -694,23 +665,37 @@ CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC)
return retval;
}
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, 1)) {
return -1;
}
virtual_file_ex(&new_state, path, NULL, 1);
retval = stat(new_state.cwd, buf);
CWD_STATE_FREE(&new_state);
return retval;
}
#else
CWD_API int virtual_stat(const char *path, struct stat_libc *buf TSRMLS_DC)
{
cwd_state new_state;
int retval;
#ifndef TSRM_WIN32
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, path, NULL, 1);
retval = stat(new_state.cwd, (struct stat*)buf);
CWD_STATE_FREE(&new_state);
return retval;
}
#endif
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC)
{
cwd_state new_state;
@@ -832,24 +817,13 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
{
int command_length;
int dir_length, extra = 0;
char *command_line;
char *ptr, *dir;
char *ptr;
FILE *retval;
command_length = strlen(command);
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
while (dir_length > 0) {
if (*dir == '\'') extra+=3;
dir++;
dir_length--;
}
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
ptr = command_line = (char *) malloc(command_length + sizeof("cd '' ; ") + dir_length +extra+1+1);
ptr = command_line = (char *) malloc(command_length + sizeof("cd ; ") + CWDG(cwd).cwd_length+1);
if (!command_line) {
return NULL;
}
@@ -859,21 +833,8 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
if (CWDG(cwd).cwd_length == 0) {
*ptr++ = DEFAULT_SLASH;
} else {
*ptr++ = '\'';
while (dir_length > 0) {
switch (*dir) {
case '\'':
*ptr++ = '\'';
*ptr++ = '\\';
*ptr++ = '\'';
/* fall-through */
default:
*ptr++ = *dir;
}
dir++;
dir_length--;
}
*ptr++ = '\'';
memcpy(ptr, CWDG(cwd).cwd, CWDG(cwd).cwd_length);
ptr += CWDG(cwd).cwd_length;
}
*ptr++ = ' ';
+30 -37
View File
@@ -2,12 +2,12 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2008 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
@@ -41,10 +41,6 @@
#include <unistd.h>
#endif
#if defined(__osf__) || defined(_AIX)
#include <errno.h>
#endif
#ifdef TSRM_WIN32
#include "readdir.h"
#include <sys/utime.h>
@@ -57,9 +53,8 @@ typedef unsigned short mode_t;
#define IS_SLASH_P(c) (*(c) == '/' || \
(*(c) == '\\' && !IsDBCSLeadByte(*(c-1))))
/* COPY_WHEN_ABSOLUTE also takes path as argument because netware needs it
* to account for volume name that is unique to NetWare absolute paths
*/
/* 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]))
@@ -75,9 +70,10 @@ typedef unsigned short mode_t;
#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 COPY_WHEN_ABSOLUTE(path) \
(strchr(path, ':') - path + 1) /* Take the volume name which ends with a colon */
#define IS_ABSOLUTE_PATH(path, len) \
((strchr(path, ':') != NULL) || ((len >= 1) && ((path[0] == '/') || (path[0] == '\\'))))
(strchr(path, ':') != NULL) /* Colon indicates volume name */
#else
#ifdef HAVE_DIRENT_H
@@ -141,7 +137,11 @@ 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);
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC);
#else
CWD_API int virtual_stat(const char *path, struct stat_libc *buf TSRMLS_DC);
#endif
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC);
#endif
@@ -150,28 +150,21 @@ 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);
#if !defined(TSRM_WIN32)
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
/* On AIX & Tru64 when a file does not exist realpath() returns
* NULL, and sets errno to ENOENT. Unlike in other libc implementations
* the destination is not filled and remains undefined. Therefor, we
* must populate it manually using strcpy as done on systems with no
* realpath() function.
*/
#if defined(__osf__) || defined(_AIX)
static char *php_realpath_hack(char *src, char *dest)
{
char *ret;
if ((ret = realpath(src, dest)) == NULL && errno == ENOENT) {
return strcpy(dest, src);
} else {
return ret;
}
}
#endif
#if HAVE_UTIME
@@ -213,7 +206,7 @@ typedef struct _virtual_cwd_globals {
#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)
#ifndef TSRM_WIN32
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#endif
#define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC)
@@ -248,14 +241,14 @@ typedef struct _virtual_cwd_globals {
#define VCWD_RMDIR(pathname) rmdir(pathname)
#define VCWD_OPENDIR(pathname) opendir(pathname)
#define VCWD_POPEN(command, type) popen(command, type)
#if defined(TSRM_WIN32)
#define VCWD_ACCESS(pathname, mode) tsrm_win32_access(pathname, mode)
#else
#define VCWD_ACCESS(pathname, mode) access(pathname, mode)
#endif
#ifdef HAVE_REALPATH
#if defined(__osf__) || defined(_AIX)
#define VCWD_REALPATH(path, real_path) php_realpath_hack(path, real_path)
#else
#define VCWD_REALPATH(path, real_path) realpath(path, real_path)
#endif
#else
#define VCWD_REALPATH(path, real_path) strcpy(real_path, path)
#endif
+19 -13
View File
@@ -2,12 +2,12 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2008 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
@@ -24,6 +24,8 @@
#include <process.h>
#include <time.h>
#define TSRM_INCLUDE_FULL_WINDOWS_HEADERS
#include "TSRM.h"
#ifdef TSRM_WIN32
@@ -81,6 +83,19 @@ TSRM_API void tsrm_win32_shutdown(void)
#endif
}
TSRM_API int tsrm_win32_access(const char *pathname, int mode)
{
SHFILEINFO sfi;
if (mode == 1 /*X_OK*/) {
return access(pathname, 0) == 0 &&
SHGetFileInfo(pathname, 0, &sfi, sizeof(SHFILEINFO), SHGFI_EXETYPE) != 0 ? 0 : -1;
} else {
return access(pathname, mode);
}
}
static process_pair *process_get(FILE *stream TSRMLS_DC)
{
process_pair *ptr;
@@ -359,13 +374,4 @@ TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
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
#endif
+4 -4
View File
@@ -2,12 +2,12 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2008 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
@@ -95,11 +95,11 @@ 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
+13418
View File
File diff suppressed because it is too large. Load diff
+186
View File
@@ -0,0 +1,186 @@
// $Header$
// FlexLexer.h -- define interfaces for lexical analyzer classes generated
// by flex
// Copyright (c) 1993 The Regents of the University of California.
// All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Kent Williams and Tom Epperly.
//
// Redistribution and use in source and binary forms with or without
// modification are permitted provided that: (1) source distributions retain
// this entire copyright notice and comment, and (2) distributions including
// binaries display the following acknowledgement: ``This product includes
// software developed by the University of California, Berkeley and its
// contributors'' in the documentation or other materials provided with the
// distribution and in all advertising materials mentioning features or use
// of this software. Neither the name of the University nor the names of
// its contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
// This file defines FlexLexer, an abstract class which specifies the
// external interface provided to flex C++ lexer objects, and yyFlexLexer,
// which defines a particular lexer class.
//
// If you want to create multiple lexer classes, you use the -P flag
// to rename each yyFlexLexer to some other xxFlexLexer. You then
// include <FlexLexer.h> in your other sources once per lexer class:
//
// #undef yyFlexLexer
// #define yyFlexLexer xxFlexLexer
// #include <FlexLexer.h>
//
// #undef yyFlexLexer
// #define yyFlexLexer zzFlexLexer
// #include <FlexLexer.h>
// ...
#ifndef FLEXLEXER_H
// Never included before - need to define base class.
#define FLEXLEXER_H
#include <iostream.h>
extern "C++" {
struct yy_buffer_state;
typedef int yy_state_type;
class FlexLexer {
public:
virtual ~FlexLexer() { }
const char* YYText() { return yytext; }
int YYLeng() { return yyleng; }
virtual void
yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
virtual struct yy_buffer_state*
yy_create_buffer( istream* s, int size ) = 0;
virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0;
virtual void yyrestart( istream* s ) = 0;
virtual int yylex() = 0;
// Call yylex with new input/output sources.
int yylex( istream* new_in, ostream* new_out = 0 )
{
switch_streams( new_in, new_out );
return yylex();
}
// Switch to new input/output streams. A nil stream pointer
// indicates "keep the current one".
virtual void switch_streams( istream* new_in = 0,
ostream* new_out = 0 ) = 0;
int lineno() const { return yylineno; }
int debug() const { return yy_flex_debug; }
void set_debug( int flag ) { yy_flex_debug = flag; }
protected:
char* yytext;
int yyleng;
int yylineno; // only maintained if you use %option yylineno
int yy_flex_debug; // only has effect with -d or "%option debug"
};
}
#endif
#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
// Either this is the first time through (yyFlexLexerOnce not defined),
// or this is a repeated include to define a different flavor of
// yyFlexLexer, as discussed in the flex man page.
#define yyFlexLexerOnce
class yyFlexLexer : public FlexLexer {
public:
// arg_yyin and arg_yyout default to the cin and cout, but we
// only make that assignment when initializing in yylex().
yyFlexLexer( istream* arg_yyin = 0, ostream* arg_yyout = 0 );
virtual ~yyFlexLexer();
void yy_switch_to_buffer( struct yy_buffer_state* new_buffer );
struct yy_buffer_state* yy_create_buffer( istream* s, int size );
void yy_delete_buffer( struct yy_buffer_state* b );
void yyrestart( istream* s );
virtual int yylex();
virtual void switch_streams( istream* new_in, ostream* new_out );
protected:
virtual int LexerInput( char* buf, int max_size );
virtual void LexerOutput( const char* buf, int size );
virtual void LexerError( const char* msg );
void yyunput( int c, char* buf_ptr );
int yyinput();
void yy_load_buffer_state();
void yy_init_buffer( struct yy_buffer_state* b, istream* s );
void yy_flush_buffer( struct yy_buffer_state* b );
int yy_start_stack_ptr;
int yy_start_stack_depth;
int* yy_start_stack;
void yy_push_state( int new_state );
void yy_pop_state();
int yy_top_state();
yy_state_type yy_get_previous_state();
yy_state_type yy_try_NUL_trans( yy_state_type current_state );
int yy_get_next_buffer();
istream* yyin; // input source for default LexerInput
ostream* yyout; // output sink for default LexerOutput
struct yy_buffer_state* yy_current_buffer;
// yy_hold_char holds the character lost when yytext is formed.
char yy_hold_char;
// Number of characters read into yy_ch_buf.
int yy_n_chars;
// Points to current character in buffer.
char* yy_c_buf_p;
int yy_init; // whether we need to initialize
int yy_start; // start state number
// Flag which is used to allow yywrap()'s to do buffer switches
// instead of setting up a fresh yyin. A bit of a hack ...
int yy_did_buffer_switch_on_eof;
// The following are not always needed, but may be depending
// on use of certain flex features (like REJECT or yymore()).
yy_state_type yy_last_accepting_state;
char* yy_last_accepting_cpos;
yy_state_type* yy_state_buf;
yy_state_type* yy_state_ptr;
char* yy_full_match;
int* yy_full_state;
int yy_full_lp;
int yy_lp;
int yy_looking_for_trail_begin;
int yy_more_flag;
int yy_more_len;
int yy_more_offset;
int yy_prev_more_offset;
};
#endif
+56
View File
@@ -0,0 +1,56 @@
--------------------------------------------------------------------
The Zend Engine License, Version 2.00
Copyright (c) 1999-2003 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.
--------------------------------------------------------------------
+52
View File
@@ -0,0 +1,52 @@
## Process this file with automake to produce Makefile.in -*- makefile -*-
#CLEANFILES = zend_language_parser.c zend_language_parser.h zend_language_scanner.c zend_language_parser.output zend_ini_parser.c zend_ini_parser.h zend_ini_scanner.c zend_ini_parser.output
AUTOMAKE_OPTIONS=foreign
noinst_LTLIBRARIES=libZend.la
libZend_la_SOURCES=\
zend_language_parser.y zend_language_scanner.l \
zend_ini_parser.y zend_ini_scanner.l \
zend_alloc.c zend_compile.c zend_constants.c zend_dynamic_array.c \
zend_execute.c zend_execute_API.c zend_highlight.c zend_llist.c \
zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
zend_ini.c zend_qsort.c zend_objects.c zend_object_handlers.c \
zend_objects_API.c zend_ts_hash.c zend_stream.c zend_mm.c \
zend_default_classes.c zend_reflection_api.c
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
+195
View File
@@ -0,0 +1,195 @@
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 modifyable 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
+136
View File
@@ -0,0 +1,136 @@
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
@@ -0,0 +1,169 @@
Title: Zend 2.0 Namespaces
Version: $Revision$
Status: draft
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
@@ -0,0 +1,72 @@
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.
+107
View File
@@ -0,0 +1,107 @@
Title: Delegation
(a/k/a. Object-Based Inheritance)
Version: $Revision$
Status: draft
Maintainer: Sebastian Bergmann <sb@sebastian-bergmann.de>
Dynamic Delegation
Syntax / Example
<?php
class aDelegatee {
function doSomething() {
echo 'hubu';
}
}
class anotherDelegatee {
function doSomething() {
echo 'tubu';
}
}
class Foo {
delegatee $bar;
function setDelegatee($delegatee) {
$this->delegatee = $delegatee;
}
}
$foo = new Foo;
$foo->setDelegatee(new aDelegatee);
$foo->doSomething(); /* prints "hubu" */
$foo->setDelegatee(new anotherDelegatee);
$foo->doSomething(); /* prints "tubu" */
?>
Semantics / Synopsis
The "Foo" class may use all methods available in "$bar" as if they
where locally defined or inherited from a superclass. The essential
difference is that by assigning another object to "$bar" it is
possible to dynamically switch between different implementations for
these methods.
Fixed Delegation
Syntax / Example
<?php
class aDelegatee {
function doSomething() {
echo 'hubu';
}
}
class Foo {
final delegatee $bar = new aDelegatee;
}
$foo = new Foo;
$foo->doSomething(); /* prints "hubu" */
?>
Semantics / Synopsis
The "Foo" class may use all methods available in "$bar" as if they
where locally defined or inherited from a superclass. The difference
to the dynamic delegation is that once the delegatee object is set,
it cannot be changed.
Default Delegation
Syntax / Example
<?php
class Foo {
function __delegate($name, $parameters = array()) {
echo $name;
}
}
$foo = new Foo;
$foo->bar(); /* prints "bar" */
?>
Semantics / Synopsis
If a class has a __delegate() method, it is called whenever a
method on an object of this class is called that is
* Not defined in the class.
* Not provided by a delegatee object.
The __delegate() method is called with the name and parameters
of the method call.
This supersedes / obsoletes similar functionality introduced in
Zend Engine 1 by ext/overload.
+753
View File
@@ -0,0 +1,753 @@
Changes in the Zend Engine 2.0
* New Object Model.
The Zend Engine's handling of objects has been completely
changed in order to allow for new features, but also to increase
its performance.
Objects were handled in previous versions like primitive types
(for instance integers and strings). The drawback of this method
is, that semantically the whole object was copied when a
variable was assigned or parameters were passed to a method. The
new approach refers to objects by handle and not by value (one
can think of a handle as an object's ID).
Many PHP programmers aren't even aware of the copying quirks of
the old 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.
* Private and Protected Members.
The Zend Engine 2.0 introduces private and protected member
variables. Note that for performance reasons no error message is
emitted in case of an illegal access to a private or protectecd
member variable.
Example:
<?php
class MyClass {
private $Hello = "Hello, World!\n";
protected $Bar = "Hello, Foo!\n";
protected $Foo = "Hello, Bar!\n";
function printHello() {
print "MyClass::printHello() " . $this->Hello;
print "MyClass::printHello() " . $this->Bar;
print "MyClass::printHello() " . $this->Foo;
}
}
class MyClass2 extends MyClass {
protected $Foo;
function printHello() {
MyClass::printHello(); /* Should print */
print "MyClass2::printHello() " . $this->Hello; /* Shouldn't print out anything */
print "MyClass2::printHello() " . $this->Bar; /* Shouldn't print (not declared)*/
print "MyClass2::printHello() " . $this->Foo; /* Should print */
}
}
$obj = new MyClass();
print $obj->Hello; /* Shouldn't print out anything */
print $obj->Bar; /* Shouldn't print out anything */
print $obj->Foo; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */
$obj = new MyClass2();
print $obj->Hello; /* Shouldn't print out anything */
print $obj->Bar; /* Shouldn't print out anything */
print $obj->Foo; /* Shouldn't print out anything */
$obj->printHello();
?>
Protected member variables can be accessed in classes extending the
class they are declared in, whereas private member variables can
only be accessed by the class they belong to.
* Private and protected methods.
The Zend Engine 2.0 introduces private and protected methods.
Example:
<?php
class Foo {
private function aPrivateMethod() {
echo "Foo::aPrivateMethod() called.\n";
}
protected function aProtectedMethod() {
echo "Foo::aProtectedMethod() called.\n";
$this->aPrivateMethod();
}
}
class Bar extends Foo {
public function aPublicMethod() {
echo "Bar::aPublicMethod() called.\n";
$this->aProtectedMethod();
}
}
$o = new Bar;
$o->aPublicMethod();
?>
Old code that has no user-defined classes or functions named
'public', 'protected' or 'private' should run without modifications.
* Abstract Classes and Methods.
The Zend Engine 2.0 introduces abstract classes and methods. An
abstract method only declares the method's signature and does not
provide an implementation. A class that contains abstract methods
needs to be declared abstract.
Example:
<?php
abstract class AbstractClass {
abstract public function test();
}
class ImplementedClass extends AbstractClass {
public function test() {
echo "ImplementedClass::test() called.\n";
}
}
$o = new ImplementedClass;
$o->test();
?>
Abstract classes cannot be instantiated.
Old code that has no user-defined classes or functions named
'abstract' should run without modifications.
* Interfaces.
The Zend Engine 2.0 introduces interfaces. A class may implement
an arbitrary list of interfaces.
Example:
<?php
interface Throwable {
public function getMessage();
}
class Exception implements Throwable {
public function getMessage() {
// ...
}
}
?>
Old code that has no user-defined classes or functions named
'interface' or 'implements' should run without modifications.
* Class Type Hints.
While remaining loosely typed the Zend Engine 2.0 introduces the
ability to use class type hints to declare the expected class of
objects that are passed as parameters to a method.
Example:
<?php
interface Foo {
function a(Foo $foo);
}
interface Bar {
function b(Bar $bar);
}
class FooBar implements Foo, Bar {
function a(Foo $foo) {
// ...
}
function b(Bar $bar) {
// ...
}
}
$a = new FooBar;
$b = new FooBar;
$a->a($b);
$a->b($b);
?>
These class type hints are not checked upon compilation, as would
be the case in a typed language, but during runtime.
This means that
function foo(ClassName $object) {
// ...
}
is equivalent to
function foo($object) {
if (!($object instanceof ClassName)) {
die('Argument 1 must be an instance of ClassName');
}
}
This syntax only applies to objects/classes, not built-in types.
* final.
The Zend Engine 2.0 introduces the "final" keyword to declare
final members and methods. Those cannot be overridden by
sub-classes.
Example:
<?php
class Foo {
final function bar() {
// ...
}
}
?>
Old code that has no user-defined classes or functions named
'final' should run without modifications.
* Object Cloning.
The Zend Engine 1.0 offered no way a user could decide what copy
constructor to run when an object is duplicated. During
duplication, the Zend Engine 1.0 did a bitwise copy making an
identical replica of all the object's properties.
Creating a copy of an object with fully replicated properties is
not always the wanted behavior. A good example of the need for
copy constructors, is if you have an object which represents a
GTK window and the object holds the resource of this GTK window,
when you create a duplicate you might want to create a new
window with the same properties and have the new object hold the
resource of the new window. Another example is if your object
holds a reference to another object which it uses and when you
replicate the parent object you want to create a new instance of
this other object so that the replica has its own separate copy.
An object copy is created by calling the object's __clone()
method.
Example:
<?php
$copy_of_object = $object->__clone();
?>
When the developer asks to create a new copy of an object, the
Zend Engine will check if a __clone() method has been defined or
not. If not, it will call a default __clone() which will copy
all of the object's properties. If a __clone() method is
defined, then it will be responsible to set the necessary
properties in the created object. For convenience, the engine
will supply a function that imports all of the properties from
the source object, so that they can start with a by-value
replica of the source object, and only override properties that
need to be changed. [The function hasn't been implemented yet]
Example:
<?php
class MyCloneable {
static $id = 0;
function MyCloneable() {
$this->id = self::$id++;
}
function __clone() {
$this->name = $that->name;
$this->address = 'New York';
$this->id = self::$id++;
}
}
$obj = new MyCloneable();
$obj->name = 'Hello';
$obj->address = 'Tel-Aviv';
print $obj->id . "\n";
$obj = $obj->__clone();
print $obj->id . "\n";
print $obj->name . "\n";
print $obj->address . "\n";
?>
* Unified Constructors.
The Zend Engine allows developers to declare constructor methods
for classes. Classes which have a constructor method call this
method on each newly-created object, so it is suitable for any
initialization that the object may need before it can be used.
With the Zend Engine 1.0, constructor methods were class methods
that had the same name as the class itself. Since it is very
common to call parent constructors from derived classes, the way
the Zend Engine 1.0 worked made it a bit cumbersome to move
classes around in a large class hierarchy. If a class is moved
to reside under a different parent, the constructor name of that
parent changes as well, and the code in the derived class that
calls the parent constructor has to be modified.
The Zend Engine 2.0 introduces a standard way of declaring
constructor methods by calling them by the name __construct().
Example:
<?php
class BaseClass {
function __construct() {
print "In BaseClass constructor\n";
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor\n";
}
}
$obj = new BaseClass();
$obj = new SubClass();
?>
For backwards compatibility, if the Zend Engine 2.0 cannot find
a __construct() function for a given class, it will search for
the old-style constructor function, by the name of the class.
Effectively, it means that the only case that would have
compatibility issues is if the class had a method named
__construct() which was used for different semantics.
* Destructors.
Having the ability to define destructors for objects can be very
useful. Destructors can log messages for debugging, close
database connections and do other clean-up work.
No mechanism for object destructors existed in the Zend Engine
1.0, although PHP had already support for registering functions
which should be run on request shutdown.
The Zend Engine 2.0 introduces a destructor concept similar to
that of other object-oriented languages, such as Java: When the
last reference to an object is destroyed the object's
destructor, which is a class method name __destruct() that
recieves no parameters, is called before the object is freed
from memory.
Example:
<?php
class MyDestructableClass {
function __construct() {
print "In constructor\n";
$this->name = 'MyDestructableClass';
}
function __destruct() {
print 'Destroying ' . $this->name . "\n";
}
}
$obj = new MyDestructableClass();
?>
Like constructors, parent destructors will not be called
implicitly by the engine. In order to run a parent destructor,
one would have to explicitly call parent::__destruct() in the
destructor body.
* Constants.
The Zend Engine 2.0 introduces per-class constants.
Example:
<?php
class Foo {
const constant = 'constant';
}
echo 'Foo::constant = ' . Foo::constant . "\n";
?>
The Zend Engine 2.0 allows for expressions within constants:
<?php
class Bar {
const a = 1<<0;
const b = 1<<1;
const c = a | b;
}
?>
Old code that has no user-defined classes or functions
named 'const' will run without modifications.
* Exceptions.
The Zend Engine 1.0 had no exception handling. The Zend Engine 2.0
introduces a exception model similar to that of other programming
languages.
Example:
<?php
class MyException {
function __construct($exception) {
$this->exception = $exception;
}
function Display() {
print "MyException: $this->exception\n";
}
}
class MyExceptionFoo extends MyException {
function __construct($exception) {
$this->exception = $exception;
}
function Display() {
print "MyException: $this->exception\n";
}
}
try {
throw new MyExceptionFoo('Hello');
}
catch (MyException $exception) {
$exception->Display();
}
?>
Old code that has no user-defined classes or functions 'catch',
'throw' and 'try' will run without modifications.
* Dereferencing objects returned from functions.
Example:
<?php
class Circle {
function draw() {
print "Circle\n";
}
}
class Square {
function draw() {
print "Square\n";
}
}
function ShapeFactoryMethod($shape) {
switch ($shape) {
case 'Circle': return new Circle();
case 'Square': return new Square();
}
}
ShapeFactoryMethod('Circle')->draw();
ShapeFactoryMethod('Square')->draw();
?>
* Static member variables of static classes can now be
initialized.
Example:
<?php
class foo {
static $my_static = 5;
}
print foo::$my_static;
?>
* Static Methods.
The Zend Engine 2.0 introduces the 'static' keyword to declare
a method static, thus callable from outside the object context.
Example:
<?php
class Foo {
public static function aStaticMethod() {
// ...
}
}
Foo::aStaticMethod();
?>
The pseudo variable $this is not available inside a method that
has been declared static.
* instanceof (TBD)
* Static function variables.
Statics are now treated at compile-time which allows developers
to assign variables to statics by reference. This change also
greatly improves their performance but means that indirect
references to statics will not work anymore.
* Parameters that are passed by reference to a function
may now have default values.
Example:
<?php
function my_function(&$var = null) {
if ($var === null) {
die('$var needs to have a value');
}
}
?>
* __autoload().
The __autoload() interceptor function will be automatically called
when an undeclared class is to be instantiated. The name of that
class will be passed to the __autoload() interceptor function as its
only argument.
Example:
<?php
function __autoload($className) {
include_once $className . '.php';
}
$object = new ClassName;
?>
* Method calls and property accesses can be overloaded
by class methods __call(), __get() and __set().
__get() and __set() Example:
<?php
class Setter {
public $n;
public $x = array('a' => 1, 'b' => 2, 'c' => 3);
function __get($nm) {
print "Getting [$nm]\n";
if(isset($this->x[$nm])) {
$r = $this->x[$nm];
print "Returning: $r\n";
return $r;
} else {
print "Nothing!\n";
}
}
function __set($nm, $val) {
print "Setting [$nm] to $val\n";
if(isset($this->x[$nm])) {
$this->x[$nm] = $val;
print "OK!\n";
} else {
print "Not OK!\n";
}
}
}
$foo = new Setter();
$foo->n = 1;
$foo->a = 100;
$foo->a++;
$foo->z++;
var_dump($foo);
?>
__call() Example:
<?php
class Caller {
var $x = array(1, 2, 3);
function __call($m, $a) {
print "Method $m called:\n";
var_dump($a);
return $this->x;
}
}
$foo = new Caller();
$a = $foo->test(1, '2', 3.4, true);
var_dump($a);
?>
Changes in the Zend Engine 1.0
The Zend Engine was designed from the ground up for increased speed,
reduced memory consumption and more reliable execution. We dare say
it meets all of these goals and does so pretty well. Beyond that,
there are several improvements in the language engine features:
* References support.
$foo = &$a; would make $foo and $a be two names to the same
variable. This works with arrays as well, on either side; e.g.,
$foo = &$a[7]; would make $foo and $a[7] be two names to the
same variable. Changing one would change the other and vice
versa.
* Object overloading support.
This feature allows various OO libraries to use the OO notation
of PHP to access their functionality. Right now, no use is made
of that feature, but we'd have a COM module ready by the time
PHP 4.0 is released. A CORBA module would probably follow.
* include() and eval() are now functions, and not statements.
That means they return a value. The default return value from
include() and eval() is 1, so that you can do if (include())
without further coding. The return value may be changed by
returning a value from the global scope of the included file or
the evaluated string. For example, if 'return 7;' is executed in
the global scope of foo.inc, include('foo.inc') would evaluate
to 7.
* Automatic resource deallocation.
Several people have been bitten by the fact that PHP 3.0 had no
concept of reference counting. The Zend Engine adds full
reference counting for every value in the system, including
resources. As soon as a resource is no longer referenced from
any variable, it is automatically destroyed to save memory and
resources. The most obvious example for the advantage in this is
a loop that has an SQL query inside it, something like '$result
= sql_query(...);'. In PHP 3.0, every iteration resulted in
another SQL result-set allocated in the memory, and all of the
result sets weren't destroyed until the end of the script's
execution. With the Zend Engine, as soon as we overwrite an old
result set with a new one, the old result set which is no longer
referenced, is destroyed.
* Full support for nesting arrays and objects within each other,
in as many levels as you want.
* true and false are now constants of type boolean.
Comparing any other value to them would convert that value to a
boolean first, and conduct the comparison later. That means, for
example, that 5==true would evaluate to true (in PHP 3.0, true
was nothing but a constant for the integer value of 1, so
5==true was identical to 5==1, which was false).
* Runtime binding of function names.
This complex name has a simple explanation - you can now call
functions before they're declared!
* Added here-docs support.
* Added foreach.
Two syntaxes supported:
foreach(array_expr as $val) statement
foreach(array_expr as $key => $val) statement
* A true unset() implementation.
A variable or element that is unset(), is now sent to oblivion
in its entirely, no trace remains from it.
* Output buffering support.
Use ob_start() to begin output buffering, ob_end_flush() to end
buffering and send out the buffered contents, ob_end_clean() to
end buffering without sending the buffered contents, and
ob_get_contents() to retreive the current contents of the output
buffer. Header information (header(), content type, cookies) are
not buffered. By turning on output buffering, you can
effectively send header information all throughout your file,
regardless of whether you've emitted body output or not.
* Full variable reference within quoted strings:
${expr} - full indirect reference support for scalar
variables
{variable} - full variable support
For example:
$foo[5]['bar'] = 'foobar';
print "{$foo[5]["bar"]}"; // would print "foobar"
* Ability to call member functions of other classes from within
member functions or from the global scope.
You can now, for example, override a parent function with a
child function, and call the parent function from it.
* Runtime information for classes (class name, parent, available
functions, etc.).
* Much more efficient syntax highlighter - runs much quicker,
performs more reliably, and generates much tighter HTML.
* A full-featured debugger has been integrated with the language
(supports breakpoints, expression evaluation, step-in/over,
function call backtrace, and more).
The Zend Engine claims 100% compatability with the engine of PHP
3.0, and is shamelessly lying about it. Here's why:
* Static variable initializers only accept scalar values
(in PHP 3.0 they accepted any valid expression). The impact
should be somewhere in between void and non existent, since
initializing a static variable with anything but a simple
static value makes no sense at all.
* The scope of break and continue is local to that of an
include()'d file or an eval()'d string. The impact should
be somewhat smaller of the one above.
* The return statement no longer works from a require()'d file. It
hardly worked in PHP 3.0, so the impact should be fairly small. If
you want this functionality - use include() instead.
* unset() is no longer a function, but a statement.
* The following letter combination is not supported within
encapsulated strings: "{$". If you have a string that includes
this letter combination, for example, print "{$somevar"; (which
printed the letter { and the contents of the variable $somevar in
PHP 3.0), it will result in a parse error with the Zend Engine.
In this case, you would have to change the code to print
"\{$somevar"; This incompatability is due to the full variable
reference within quoted strings feature added in the Zend
Engine.
+594
View File
@@ -0,0 +1,594 @@
# 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_language_parser.c"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.c"
# End Source File
# Begin Source File
SOURCE=.\zend_list.c
# End Source File
# Begin Source File
SOURCE=.\zend_llist.c
# End Source File
# Begin Source File
SOURCE=.\zend_mm.c
# End Source File
# Begin Source File
SOURCE=.\zend_object_handlers.c
# End Source File
# Begin Source File
SOURCE=.\zend_objects.c
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_opcode.c
# End Source File
# Begin Source File
SOURCE=.\zend_operators.c
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.c
# End Source File
# Begin Source File
SOURCE=.\zend_qsort.c
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.c
# End Source File
# Begin Source File
SOURCE=.\zend_sprintf.c
# End Source File
# Begin Source File
SOURCE=.\zend_stack.c
# End Source File
# Begin Source File
SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_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_istdiostream.h
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.h"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.h"
# End Source File
# Begin Source File
SOURCE=.\zend_list.h
# End Source File
# Begin Source File
SOURCE=.\zend_llist.h
# End Source File
# Begin Source File
SOURCE=.\zend_mm.h
# End Source File
# Begin Source File
SOURCE=.\zend_modules.h
# End Source File
# Begin Source File
SOURCE=.\zend_object_handlers.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.h
# End Source File
# Begin Source File
SOURCE=.\zend_operators.h
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.h
# End Source File
# Begin Source File
SOURCE=.\zend_qsort.h
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.h
# End Source File
# Begin Source File
SOURCE=.\zend_stack.h
# End Source File
# Begin Source File
SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_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
+236
View File
@@ -0,0 +1,236 @@
dnl
dnl $Id$
dnl
dnl This file contains Zend specific autoconf functions.
dnl
AC_DEFUN(LIBZEND_BISON_CHECK,[
if test "$YACC" != "bison -y"; then
AC_MSG_WARN(You will need bison if you want to regenerate the Zend parser.)
else
AC_MSG_CHECKING(bison version)
set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | sed -e 's/\./ /'`
if test "${1}" = "1" -a "${2}" -lt "28"; then
AC_MSG_WARN(You will need bison 1.28 if you want to regenerate the Zend parser (found ${1}.${2}).)
fi
AC_MSG_RESULT(${1}.${2} (ok))
fi
])
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(
limits.h \
malloc.h \
string.h \
unistd.h \
stdarg.h \
sys/types.h \
sys/time.h \
signal.h \
unix.h \
stdlib.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 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_ENABLE(maintainer-zts,
[ --enable-maintainer-zts Enable thread safety - for code maintainers only],[
ZEND_MAINTAINER_ZTS=$enableval
],[
ZEND_MAINTAINER_ZTS=no
])
AC_ARG_ENABLE(inline-optimization,
[ --disable-inline-optimization If building zend_execute.lo fails, try
this switch.],[
ZEND_INLINE_OPTIMIZATION=$enableval
],[
ZEND_INLINE_OPTIMIZATION=yes
])
AC_ARG_ENABLE(memory-limit,
[ --enable-memory-limit Compile with memory limit support. ], [
ZEND_MEMORY_LIMIT=$enableval
],[
ZEND_MEMORY_LIMIT=no
])
AC_MSG_CHECKING(whether to enable thread-safety)
AC_MSG_RESULT($ZEND_MAINTAINER_ZTS)
AC_MSG_CHECKING(whether to enable inline optimization for GCC)
AC_MSG_RESULT($ZEND_INLINE_OPTIMIZATION)
AC_MSG_CHECKING(whether to enable a memory limit)
AC_MSG_RESULT($ZEND_MEMORY_LIMIT)
AC_MSG_CHECKING(whether to enable Zend debugging)
AC_MSG_RESULT($ZEND_DEBUG)
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_MEMORY_LIMIT" = "yes"; then
AC_DEFINE(MEMORY_LIMIT, 1, [Memory limit])
else
AC_DEFINE(MEMORY_LIMIT, 0, [Memory limit])
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)
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, [ ])
])
AC_MSG_RESULT(done)
])
AC_DEFUN(LIBZEND_CPLUSPLUS_CHECKS,[
])
+258
View File
@@ -0,0 +1,258 @@
# 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
+715
View File
@@ -0,0 +1,715 @@
# 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_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_language_parser.c"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.c"
# End Source File
# Begin Source File
SOURCE=.\zend_list.c
# End Source File
# Begin Source File
SOURCE=.\zend_llist.c
# End Source File
# Begin Source File
SOURCE=.\zend_mm.c
# End Source File
# Begin Source File
SOURCE=.\zend_object_handlers.c
# End Source File
# Begin Source File
SOURCE=.\zend_objects.c
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.c
# End Source File
# Begin Source File
SOURCE=.\zend_opcode.c
# End Source File
# Begin Source File
SOURCE=.\zend_operators.c
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.c
# End Source File
# Begin Source File
SOURCE=.\zend_qsort.c
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.c
# End Source File
# Begin Source File
SOURCE=.\zend_sprintf.c
# End Source File
# Begin Source File
SOURCE=.\zend_stack.c
# End Source File
# Begin Source File
SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_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_istdiostream.h
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.h"
# End Source File
# Begin Source File
SOURCE=".\zend_language_scanner.h"
# End Source File
# Begin Source File
SOURCE=.\zend_list.h
# End Source File
# Begin Source File
SOURCE=.\zend_llist.h
# End Source File
# Begin Source File
SOURCE=.\zend_mm.h
# End Source File
# Begin Source File
SOURCE=.\zend_modules.h
# End Source File
# Begin Source File
SOURCE=.\zend_object_handlers.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects.h
# End Source File
# Begin Source File
SOURCE=.\zend_objects_API.h
# End Source File
# Begin Source File
SOURCE=.\zend_operators.h
# End Source File
# Begin Source File
SOURCE=.\zend_ptr_stack.h
# End Source File
# Begin Source File
SOURCE=.\zend_qsort.h
# End Source File
# Begin Source File
SOURCE=.\zend_reflection_api.h
# End Source File
# Begin Source File
SOURCE=.\zend_stack.h
# End Source File
# Begin Source File
SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_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
+105
View File
@@ -0,0 +1,105 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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
#ifndef NETWARE
@TOP@
#endif
#undef uint
#undef ulong
/* Define if you want to enable memory limit support */
#define MEMORY_LIMIT 0
#ifndef NETWARE
@BOTTOM@
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.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>
#ifndef zend_isnan
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(NAN)
#define zend_isnan(a) (((a)==NAN)?1:0)
#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
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+47
View File
@@ -0,0 +1,47 @@
dnl $Id$
dnl
dnl This file contains local autoconf functions.
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])
])
AC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+43
View File
@@ -0,0 +1,43 @@
# 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
Executable
+33
View File
@@ -0,0 +1,33 @@
#!/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
+47
View File
@@ -0,0 +1,47 @@
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
dnl We want this one before the checks, so the checks can modify CFLAGS.
test -z "$CFLAGS" && auto_cflags=1
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:
+1643
View File
File diff suppressed because it is too large. Load diff
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #19859 (__call() does not catch call_user_func_array() calls)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class test
{
function __call($method,$args)
{
print "test::__call invoked for method '$method'\n";
}
}
$x = new test;
$x->fake(1);
call_user_func_array(array($x,'fake'),array(1));
call_user_func(array($x,'fake'),2);
?>
--EXPECT--
test::__call invoked for method 'fake'
test::__call invoked for method 'fake'
test::__call invoked for method 'fake'
+43
View File
@@ -0,0 +1,43 @@
--TEST--
Bug #20240 (order of destructor calls)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class test
{
var $member;
function test() {
$this->member = 1;
register_shutdown_function(array($this, 'destructor'));
}
function destructor() {
print __METHOD__ . "\n";
}
function __destruct() {
print __METHOD__ . "\n";
}
function add() {
$this->member += 1;
print $this->member."\n";
}
}
$t = new test();
$t->add();
$t->add();
echo "Done\n";
?>
--EXPECT--
2
3
Done
test::destructor
test::__destruct
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #20242 (Method call in front of class definition)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '>=')) die('skip ZendEngine 2 does not support this'); ?>
--FILE--
<?php
// THIS IS A WON'T FIX FOR ZE2
test::show_static();
$t = new test;
$t->show_method();
class test {
static function show_static() {
echo "static\n";
}
function show_method() {
echo "method\n";
}
}
?>
--EXPECT--
static
method
+37
View File
@@ -0,0 +1,37 @@
--TEST--
Bug #21478 (Zend/zend_alloc.c :: shutdown_memory_manager produces segfault)
--SKIPIF--
<?php
if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed');
if (!function_exists('stream_filter_register') die('skip stream_filter_register() not available');
?>
--FILE--
<?php
class debugfilter extends php_user_filter {
function filter($in, $out, &$consumed, $closing) {
while ($bucket = stream_bucket_make_writeable($in)) {
$bucket->data = strtoupper($bucket->data);
stream_bucket_append($out, $bucket);
$consumed += strlen($bucket->data);
}
return PSFS_PASS_ON;
}
}
stream_filter_register("myfilter","debugfilter");
$fp = fopen(dirname(__FILE__)."/test.txt","w");
stream_filter_append($fp, "myfilter");
stream_filter_append($fp, "myfilter");
stream_filter_append($fp, "myfilter");
fwrite($fp, "This is a test.\n");
print "Done.\n";
fclose($fp);
// Uncommenting the following 'print' line causes the segfault to stop occuring
// print "2\n";
readfile(dirname(__FILE__)."/test.txt");
unlink(dirname(__FILE__)."/test.txt");
?>
--EXPECT--
Done.
THIS IS A TEST.
+39
View File
@@ -0,0 +1,39 @@
--TEST--
Bug #21888 (protected property and protected method of the same name)
--SKIPIF--
<?php
if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed');
?>
--FILE--
<?php
class mom {
protected $prot = "protected property\n";
protected function prot() {
print "protected method\n";
}
}
class child extends mom {
public function callMom() {
$this->prot();
}
public function viewMom() {
print $this->prot;
}
}
$c = new child();
$c->callMom();
$c->viewMom();
?>
--EXPECT--
protected method
protected property
--EXPECT--
protected method
protected property
+31
View File
@@ -0,0 +1,31 @@
--TEST--
bug #22725 (A derived class can call a parent's protected method that calls a private method)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE--
<?php
class Foo {
private function aPrivateMethod() {
echo "Foo::aPrivateMethod() called.\n";
}
protected function aProtectedMethod() {
echo "Foo::aProtectedMethod() called.\n";
$this->aPrivateMethod();
}
}
class Bar extends Foo {
public function aPublicMethod() {
echo "Bar::aPublicMethod() called.\n";
$this->aProtectedMethod();
}
}
$o = new Bar;
$o->aPublicMethod();
?>
--EXPECT--
Bar::aPublicMethod() called.
Foo::aProtectedMethod() called.
Foo::aPrivateMethod() called.
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #22836 (returning references to NULL)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
function &f()
{
$x = "foo";
var_dump($x);
print "'$x'\n";
return ($a);
}
for ($i = 0; $i < 8; $i++) {
$h =& f();
}
?>
--EXPECTF--
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Fatal error: Only variables or references can be returned by reference in %s on line %d
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #24436 (isset()/empty() produce errors with non-existent variables in classes)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--INI--
error_reporting=2047
--FILE--
<?php
class test {
function __construct() {
if (empty($this->test[0][0])) { print "test1\n";}
if (!isset($this->test[0][0])) { print "test2\n";}
if (empty($this->test)) { print "test1\n";}
if (!isset($this->test)) { print "test2\n";}
}
}
$test1 = new test();
?>
--EXPECT--
test1
test2
test1
test2
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #24635: crash on dtor calling other functions
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class SiteClass {
function __construct() { $this->page = new PageClass(); }
}
class PageClass {
function Display() {
$section = new SectionClass("PageClass::Display");
}
}
class SectionClass {
function __construct($comment) {
$this->Comment = $comment;
}
function __destruct() {
out($this->Comment); // this line doesn't crash PHP
out("\n<!-- End Section: " . $this->Comment . "-->"); // this line
}
}
function out($code) { return; }
$site = new SiteClass();
$site->page->Display();
echo "OK\n";
?>
--EXPECT--
OK
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Bug #24699 Memory Leak with per-class constants
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
<?
class TEST { const FOO = SEEK_CUR; };
class TEST2 { const FOO = 1; };
class TEST3 { const FOO = PHP_VERSION; };
print TEST::FOO."\n";
?>
--EXPECT--
1
+275
View File
@@ -0,0 +1,275 @@
Example 1: A singleton (static members)
=======================================
<?php
class Counter {
var $counter = 0;
function increment_and_print()
{
print ++$this->counter;
print "\n";
}
}
class SingletonCounter {
static $m_instance = NULL;
function Instance()
{
if (self::$m_instance == NULL) {
self::$m_instance = new Counter();
}
return self::$m_instance;
}
}
SingletonCounter::Instance()->increment_and_print();
SingletonCounter::Instance()->increment_and_print();
SingletonCounter::Instance()->increment_and_print();
?>
Example 2: Factory method (derefencing objects returned from functions)
=======================================================================
<?php
class Circle {
function draw()
{
print "Circle\n";
}
}
class Square {
function draw()
{
print "Square\n";
}
}
function ShapeFactoryMethod($shape)
{
switch ($shape) {
case "Circle":
return new Circle();
case "Square":
return new Square();
}
}
ShapeFactoryMethod("Circle")->draw();
ShapeFactoryMethod("Square")->draw();
?>
Example 3: Class constants and class scope
==========================================
<?php
class ErrorCodes {
const FATAL = "Fatal error\n";
const WARNING = "Warning\n";
const INFO = "Informational message\n";
function print_fatal_error_codes()
{
print "FATAL = " . FATAL;
print "self::FATAL = " . self::FATAL;
}
}
/* Call the static function and move into the ErrorCodes scope */
ErrorCodes::print_fatal_error_codes();
?>
Example 4: Regular object method using both local and global functions
======================================================================
<?php
class HelloWorld {
const HELLO_WORLD = "Hello, World!\n";
function get_hello_world()
{
return HELLO_WORLD;
}
function length_of_hello_world()
{
$str = $this->get_hello_world();
return strlen($str);
}
}
$obj = new HelloWorld();
print "length_of_hello_world() = " . $obj->length_of_hello_world();
print "\n";
?>
Example 5: Multiple derefencing of objects returned from methods
================================================================
<?php
class Name {
function Name($_name)
{
$this->name = $_name;
}
function display()
{
print $this->name;
print "\n";
}
}
class Person {
function Person($_name, $_address)
{
$this->name = new Name($_name);
}
function getName()
{
return $this->name;
}
}
$person = new Person("John", "New York");
$person->getName()->display();
?>
Example 6: Exception handling
=============================
<?
class MyException {
function MyException($_error) {
$this->error = $_error;
}
function getException()
{
return $this->error;
}
}
function ThrowException()
{
throw new MyException("'This is an exception!'");
}
try {
} catch (MyException $exception) {
print "There was an exception: " . $exception->getException();
print "\n";
}
try {
ThrowException();
} catch (MyException $exception) {
print "There was an exception: " . $exception->getException();
print "\n";
}
?>
Example 7: __clone()
===================
<?
class MyCloneable {
static $id = 0;
function MyCloneable()
{
$this->id = self::$id++;
}
function __clone()
{
$this->name = $that->name;
$this->address = "New York";
$this->id = self::$id++;
}
}
$obj = new MyCloneable();
$obj->name = "Hello";
$obj->address = "Tel-Aviv";
print $obj->id;
print "\n";
$obj = $obj->__clone();
print $obj->id;
print "\n";
print $obj->name;
print "\n";
print $obj->address;
print "\n";
?>
Example 8: Unified constructors
===============================
<?
class BaseClass {
function __construct()
{
print "In BaseClass constructor\n";
}
}
class SubClass extends BaseClass {
function __construct()
{
parent::__construct();
print "In SubClass constructor\n";
}
}
$obj = new BaseClass();
$obj = new SubClass();
?>
Example 9: Destructors
=======================
<?php
class MyDestructableClass {
function __construct()
{
print "In constructor\n";
$this->name = "MyDestructableClass";
}
function __destruct()
{
print "Destroying " . $this->name . "\n";
}
}
$obj = new MyDestructableClass();
?>
+1133
View File
File diff suppressed because it is too large. Load diff
+608
View File
@@ -0,0 +1,608 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_H
#define ZEND_H
#define ZEND_VERSION "2.0.0-dev"
#define ZEND_ENGINE_2
#ifdef __cplusplus
#define BEGIN_EXTERN_C() extern "C" {
#define END_EXTERN_C() }
#else
#define BEGIN_EXTERN_C()
#define END_EXTERN_C()
#endif
#include <stdio.h>
/*
* general definitions
*/
#ifdef ZEND_WIN32
# include "zend_config.w32.h"
# define ZEND_PATHS_SEPARATOR ';'
#elif defined(NETWARE)
# include "zend_config.nw.h"
# include "acconfig.h"
#elif defined(__riscos__)
# include "zend_config.h"
# define ZEND_PATHS_SEPARATOR ';'
#else
# include "zend_config.h"
# define ZEND_PATHS_SEPARATOR ':'
#endif
#ifdef ZEND_WIN32
/* Only use this macro if you know for sure that all of the switches values
are covered by its case statements */
#define EMPTY_SWITCH_DEFAULT_CASE() \
default: \
__assume(0); \
break;
#else
#define EMPTY_SWITCH_DEFAULT_CASE()
#endif
/* all HAVE_XXX test have to be after the include of zend_config above */
#ifdef HAVE_UNIX_H
# include <unix.h>
#endif
#ifdef HAVE_STDARG_H
# include <stdarg.h>
#endif
#ifdef HAVE_DLFCN_H
# include <dlfcn.h>
#endif
#if HAVE_MACH_O_DYLD_H
#include <mach-o/dyld.h>
/* MH_BUNDLE loading functions for Mac OS X / Darwin */
void *zend_mh_bundle_load (char* bundle_path);
int zend_mh_bundle_unload (void *bundle_handle);
void *zend_mh_bundle_symbol(void *bundle_handle, const char *symbol_name);
const char *zend_mh_bundle_error(void);
#endif /* HAVE_MACH_O_DYLD_H */
#if defined(HAVE_LIBDL)
# ifndef RTLD_LAZY
# define RTLD_LAZY 1 /* Solaris 1, FreeBSD's (2.1.7.1 and older) */
# endif
# ifndef RTLD_GLOBAL
# define RTLD_GLOBAL 0
# endif
# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL)
# define DL_UNLOAD dlclose
# if defined(DLSYM_NEEDS_UNDERSCORE)
# define DL_FETCH_SYMBOL(h,s) dlsym((h), "_" s)
# else
# define DL_FETCH_SYMBOL dlsym
# endif
# define DL_ERROR dlerror
# define DL_HANDLE void *
# define ZEND_EXTENSIONS_SUPPORT 1
#elif defined(HAVE_MACH_O_DYLD_H)
# define DL_LOAD(libname) zend_mh_bundle_load(libname)
# define DL_UNLOAD(handle) zend_mh_bundle_unload(handle)
# define DL_FETCH_SYMBOL(h,s) zend_mh_bundle_symbol(h,s)
# define DL_ERROR zend_mh_bundle_error
# define DL_HANDLE void *
# define ZEND_EXTENSIONS_SUPPORT 1
#elif defined(ZEND_WIN32)
# define DL_LOAD(libname) LoadLibrary(libname)
# define DL_FETCH_SYMBOL GetProcAddress
# define DL_UNLOAD FreeLibrary
# define DL_HANDLE HMODULE
# define ZEND_EXTENSIONS_SUPPORT 1
#else
# define DL_HANDLE void *
# define ZEND_EXTENSIONS_SUPPORT 0
#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 */
char *alloca ();
# endif
# endif
# endif
#endif
#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(ZEND_WIN32)) && !(defined(ZTS) && defined(NETWARE)) && !(defined(ZTS) && defined(HPUX))
# define do_alloca(p) alloca(p)
# define free_alloca(p)
#else
# define do_alloca(p) emalloc(p)
# define free_alloca(p) efree(p)
#endif
#if ZEND_DEBUG
#define ZEND_FILE_LINE_D char *__zend_filename, uint __zend_lineno
#define ZEND_FILE_LINE_DC , ZEND_FILE_LINE_D
#define ZEND_FILE_LINE_ORIG_D char *__zend_orig_filename, uint __zend_orig_lineno
#define ZEND_FILE_LINE_ORIG_DC , ZEND_FILE_LINE_ORIG_D
#define ZEND_FILE_LINE_RELAY_C __zend_filename, __zend_lineno
#define ZEND_FILE_LINE_RELAY_CC , ZEND_FILE_LINE_RELAY_C
#define ZEND_FILE_LINE_C __FILE__, __LINE__
#define ZEND_FILE_LINE_CC , ZEND_FILE_LINE_C
#define ZEND_FILE_LINE_EMPTY_C NULL, 0
#define ZEND_FILE_LINE_EMPTY_CC , ZEND_FILE_LINE_EMPTY_C
#define ZEND_FILE_LINE_ORIG_RELAY_C __zend_orig_filename, __zend_orig_lineno
#define ZEND_FILE_LINE_ORIG_RELAY_CC , ZEND_FILE_LINE_ORIG_RELAY_C
#else
#define ZEND_FILE_LINE_D
#define ZEND_FILE_LINE_DC
#define ZEND_FILE_LINE_ORIG_D
#define ZEND_FILE_LINE_ORIG_DC
#define ZEND_FILE_LINE_RELAY_C
#define ZEND_FILE_LINE_RELAY_CC
#define ZEND_FILE_LINE_C
#define ZEND_FILE_LINE_CC
#define ZEND_FILE_LINE_EMPTY_C
#define ZEND_FILE_LINE_EMPTY_CC
#define ZEND_FILE_LINE_ORIG_RELAY_C
#define ZEND_FILE_LINE_ORIG_RELAY_CC
#endif /* ZEND_DEBUG */
#ifdef ZTS
#define ZTS_V 1
#else
#define ZTS_V 0
#endif
#include "zend_errors.h"
#include "zend_alloc.h"
#include "zend_types.h"
#ifdef HAVE_LIMITS_H
# include <limits.h>
#endif
#ifndef LONG_MAX
#define LONG_MAX 2147483647L
#endif
#ifndef LONG_MIN
#define LONG_MIN (- LONG_MAX - 1)
#endif
#undef SUCCESS
#undef FAILURE
#define SUCCESS 0
#define FAILURE -1 /* this MUST stay a negative number, or it may affect functions! */
#include "zend_hash.h"
#include "zend_ts_hash.h"
#include "zend_llist.h"
#define INTERNAL_FUNCTION_PARAMETERS int ht, zval *return_value, zval *this_ptr, int return_value_used TSRMLS_DC
#define INTERNAL_FUNCTION_PARAM_PASSTHRU ht, return_value, this_ptr, return_value_used TSRMLS_CC
/*
* zval
*/
typedef struct _zval_struct zval;
typedef struct _zend_class_entry zend_class_entry;
typedef struct _zend_object {
zend_class_entry *ce;
HashTable *properties;
int in_get:1;
int in_set:1;
} zend_object;
typedef unsigned int zend_object_handle;
typedef struct _zend_object_value zend_object_value;
#include "zend_object_handlers.h"
struct _zend_object_value {
zend_object_handle handle;
zend_object_handlers *handlers;
};
typedef union _zvalue_value {
long lval; /* long value */
double dval; /* double value */
struct {
char *val;
int len;
} str;
HashTable *ht; /* hash table value */
zend_object_value obj;
} zvalue_value;
struct _zval_struct {
/* Variable information */
zvalue_value value; /* value */
zend_uint refcount;
zend_uchar type; /* active type */
zend_uchar is_ref;
};
struct _zend_op_array;
typedef struct _zend_function_entry {
char *fname;
void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
unsigned char *func_arg_types;
} zend_function_entry;
typedef struct _zend_property_reference {
int type; /* read, write or r/w */
zval *object;
zend_llist *elements_list;
} zend_property_reference;
typedef struct _zend_overloaded_element {
int type; /* array offset or object proprety */
zval element;
} zend_overloaded_element;
/* excpt.h on Digital Unix 4.0 defines function_table */
#undef function_table
/* A lot of stuff needs shifiting around in order to include zend_compile.h here */
union _zend_function;
#define ZEND_CE_ABSTRACT ZEND_ACC_ABSTRACT /* same as ZEND_ACC_ABSTRACT */
struct _zend_class_entry {
char type;
char *name;
zend_uint name_length;
struct _zend_class_entry *parent;
int refcount;
zend_bool constants_updated;
zend_uint ce_flags;
HashTable function_table;
HashTable default_properties;
HashTable properties_info;
HashTable *static_members;
HashTable constants_table;
zend_function_entry *builtin_functions;
union _zend_function *constructor;
union _zend_function *destructor;
union _zend_function *clone;
union _zend_function *__get;
union _zend_function *__set;
union _zend_function *__call;
/* handlers */
zend_object_value (*create_object)(zend_class_entry *class_type TSRMLS_DC);
zend_class_entry **interfaces;
zend_uint num_interfaces;
char *filename;
zend_uint line_start;
zend_uint line_end;
char *doc_comment;
zend_uint doc_comment_len;
/* old handlers */
#if 0
void (*handle_function_call)(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference);
zval (*handle_property_get)(zend_property_reference *property_reference);
int (*handle_property_set)(zend_property_reference *property_reference, zval *value);
#endif
};
#include "zend_stream.h"
typedef struct _zend_utility_functions {
void (*error_function)(int type, const char *error_filename, const uint error_lineno, const char *format, va_list args);
int (*printf_function)(const char *format, ...);
int (*write_function)(const char *str, uint str_length);
FILE *(*fopen_function)(const char *filename, char **opened_path);
void (*message_handler)(long message, void *data);
void (*block_interruptions)(void);
void (*unblock_interruptions)(void);
int (*get_configuration_directive)(char *name, uint name_length, zval *contents);
void (*ticks_function)(int ticks);
void (*on_timeout)(int seconds TSRMLS_DC);
int (*stream_open_function)(const char *filename, zend_file_handle *handle TSRMLS_DC);
} zend_utility_functions;
typedef struct _zend_utility_values {
char *import_use_extension;
uint import_use_extension_length;
zend_bool html_errors;
} zend_utility_values;
typedef int (*zend_write_func_t)(const char *str, uint str_length);
#undef MIN
#undef MAX
#define MAX(a, b) (((a)>(b))?(a):(b))
#define MIN(a, b) (((a)<(b))?(a):(b))
#define ZEND_STRL(str) (str), (sizeof(str)-1)
#define ZEND_STRS(str) (str), (sizeof(str))
#define ZEND_NORMALIZE_BOOL(n) \
((n) ? (((n)>0) ? 1 : -1) : 0)
/* data types */
#define IS_NULL 0
#define IS_LONG 1
#define IS_DOUBLE 2
#define IS_STRING 3
#define IS_ARRAY 4
#define IS_OBJECT 5
#define IS_BOOL 6
#define IS_RESOURCE 7
#define IS_CONSTANT 8
#define IS_CONSTANT_ARRAY 9
/* Special data type to temporarily mark large numbers */
#define FLAG_IS_BC 10 /* for parser internal use only */
/* Ugly hack to support constants as static array indices */
#define IS_CONSTANT_INDEX 0x80
/* overloaded elements data types */
#define OE_IS_ARRAY (1<<0)
#define OE_IS_OBJECT (1<<1)
#define OE_IS_METHOD (1<<2)
/* Argument passing types */
#define BYREF_NONE 0
#define BYREF_FORCE 1
#define BYREF_ALLOW 2
#define BYREF_FORCE_REST 3
int zend_startup(zend_utility_functions *utility_functions, char **extensions, int start_builtin_functions);
void zend_shutdown(TSRMLS_D);
void zend_register_standard_ini_entries(TSRMLS_D);
#ifdef ZTS
void zend_post_startup(TSRMLS_D);
#endif
void zend_set_utility_values(zend_utility_values *utility_values);
BEGIN_EXTERN_C()
ZEND_API void _zend_bailout(char *filename, uint lineno);
END_EXTERN_C()
#define zend_bailout() _zend_bailout(__FILE__, __LINE__)
#define zend_try \
{ \
jmp_buf orig_bailout; \
zend_bool orig_bailout_set=EG(bailout_set); \
\
EG(bailout_set) = 1; \
memcpy(&orig_bailout, &EG(bailout), sizeof(jmp_buf)); \
if (setjmp(EG(bailout))==0)
#define zend_catch \
else
#define zend_end_try() \
memcpy(&EG(bailout), &orig_bailout, sizeof(jmp_buf)); \
EG(bailout_set) = orig_bailout_set; \
}
#define zend_first_try EG(bailout_set)=0; zend_try
ZEND_API char *get_zend_version(void);
ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_copy);
ZEND_API int zend_print_zval(zval *expr, int indent);
ZEND_API int zend_print_zval_ex(zend_write_func_t write_func, zval *expr, int indent);
ZEND_API void zend_print_zval_r(zval *expr, int indent TSRMLS_DC);
ZEND_API void zend_print_flat_zval_r(zval *expr TSRMLS_DC);
ZEND_API void zend_print_zval_r_ex(zend_write_func_t write_func, zval *expr, int indent TSRMLS_DC);
ZEND_API void zend_output_debug_string(zend_bool trigger_break, char *format, ...);
void zend_activate(TSRMLS_D);
void zend_deactivate(TSRMLS_D);
void zend_activate_modules(TSRMLS_D);
void zend_deactivate_modules(TSRMLS_D);
void zend_exec_finished(TSRMLS_D);
#if ZEND_DEBUG
#define Z_DBG(expr) (expr)
#else
#define Z_DBG(expr)
#endif
ZEND_API extern char *empty_string;
ZEND_API void free_estring(char **str_p);
#define STR_FREE(ptr) if (ptr && ptr!=empty_string) { efree(ptr); }
#define STR_FREE_REL(ptr) if (ptr && ptr!=empty_string) { efree_rel(ptr); }
#define STR_REALLOC(ptr, size) \
if (ptr!=empty_string) { \
ptr = (char *) erealloc(ptr, size); \
} else { \
ptr = (char *) emalloc(size); \
memset(ptr, 0, size); \
}
/* output support */
#define ZEND_WRITE(str, str_len) zend_write((str), (str_len))
#define ZEND_PUTS(str) zend_write((str), strlen((str)))
#define ZEND_PUTC(c) zend_write(&(c), 1), (c)
BEGIN_EXTERN_C()
extern ZEND_API int (*zend_printf)(const char *format, ...);
extern ZEND_API zend_write_func_t zend_write;
extern ZEND_API FILE *(*zend_fopen)(const char *filename, char **opened_path);
extern ZEND_API void (*zend_block_interruptions)(void);
extern ZEND_API void (*zend_unblock_interruptions)(void);
extern ZEND_API void (*zend_ticks_function)(int ticks);
extern ZEND_API void (*zend_error_cb)(int type, const char *error_filename, const uint error_lineno, const char *format, va_list args);
extern void (*zend_on_timeout)(int seconds TSRMLS_DC);
extern ZEND_API int (*zend_stream_open_function)(const char *filename, zend_file_handle *handle TSRMLS_DC);
ZEND_API void zend_error(int type, const char *format, ...);
void zenderror(char *error);
/* The following #define is used for code duality in PHP for Engine 1 & 2 */
#define ZEND_STANDARD_CLASS_DEF_PTR zend_standard_class_def
extern ZEND_API zend_class_entry *zend_standard_class_def;
extern ZEND_API zend_utility_values zend_uv;
extern ZEND_API zval zval_used_for_init;
END_EXTERN_C()
#define ZEND_UV(name) (zend_uv.name)
#define HANDLE_BLOCK_INTERRUPTIONS() if (zend_block_interruptions) { zend_block_interruptions(); }
#define HANDLE_UNBLOCK_INTERRUPTIONS() if (zend_unblock_interruptions) { zend_unblock_interruptions(); }
BEGIN_EXTERN_C()
ZEND_API void zend_message_dispatcher(long message, void *data);
END_EXTERN_C()
ZEND_API int zend_get_configuration_directive(char *name, uint name_length, zval *contents);
/* Messages for applications of Zend */
#define ZMSG_FAILED_INCLUDE_FOPEN 1L
#define ZMSG_FAILED_REQUIRE_FOPEN 2L
#define ZMSG_FAILED_HIGHLIGHT_FOPEN 3L
#define ZMSG_MEMORY_LEAK_DETECTED 4L
#define ZMSG_MEMORY_LEAK_REPEATED 5L
#define ZMSG_LOG_SCRIPT_NAME 6L
#define ZVAL_ADDREF(pz) (++(pz)->refcount)
#define ZVAL_DELREF(pz) (--(pz)->refcount)
#define ZVAL_REFCOUNT(pz) ((pz)->refcount)
#define INIT_PZVAL(z) \
(z)->refcount = 1; \
(z)->is_ref = 0;
#define INIT_ZVAL(z) z = zval_used_for_init;
#define ALLOC_INIT_ZVAL(zp) \
ALLOC_ZVAL(zp); \
INIT_ZVAL(*zp);
#define MAKE_STD_ZVAL(zv) \
ALLOC_ZVAL(zv); \
INIT_PZVAL(zv);
#define PZVAL_IS_REF(z) ((z)->is_ref)
#define SEPARATE_ZVAL(ppzv) \
{ \
zval *orig_ptr = *(ppzv); \
\
if (orig_ptr->refcount>1) { \
orig_ptr->refcount--; \
ALLOC_ZVAL(*(ppzv)); \
**(ppzv) = *orig_ptr; \
zval_copy_ctor(*(ppzv)); \
(*(ppzv))->refcount=1; \
(*(ppzv))->is_ref = 0; \
} \
}
#define SEPARATE_ZVAL_IF_NOT_REF(ppzv) \
if (!PZVAL_IS_REF(*ppzv)) { \
SEPARATE_ZVAL(ppzv); \
}
#define SEPARATE_ZVAL_TO_MAKE_IS_REF(ppzv) \
if (!PZVAL_IS_REF(*ppzv)) { \
SEPARATE_ZVAL(ppzv); \
(*(ppzv))->is_ref = 1; \
}
#define COPY_PZVAL_TO_ZVAL(zv, pzv) \
(zv) = *(pzv); \
if ((pzv)->refcount>1) { \
zval_copy_ctor(&(zv)); \
(pzv)->refcount--; \
} else { \
FREE_ZVAL(pzv); \
} \
INIT_PZVAL(&(zv));
#define REPLACE_ZVAL_VALUE(ppzv_dest, pzv_src, copy) { \
int is_ref, refcount; \
\
SEPARATE_ZVAL_IF_NOT_REF(ppzv_dest); \
is_ref = (*ppzv_dest)->is_ref; \
refcount = (*ppzv_dest)->refcount; \
zval_dtor(*ppzv_dest); \
**ppzv_dest = *pzv_src; \
if (copy) { \
zval_copy_ctor(*ppzv_dest); \
} \
(*ppzv_dest)->is_ref = is_ref; \
(*ppzv_dest)->refcount = refcount; \
}
#define ZEND_MAX_RESERVED_RESOURCES 4
#endif /* ZEND_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

+1632
View File
File diff suppressed because it is too large. Load diff
+452
View File
@@ -0,0 +1,452 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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> |
| Andrei Zmievski <andrei@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef ZEND_API_H
#define ZEND_API_H
#include "zend_modules.h"
#include "zend_list.h"
#include "zend_fast_cache.h"
#include "zend_operators.h"
#include "zend_variables.h"
#include "zend_execute.h"
BEGIN_EXTERN_C()
#define ZEND_FN(name) zif_##name
#define ZEND_NAMED_FUNCTION(name) void name(INTERNAL_FUNCTION_PARAMETERS)
#define ZEND_FUNCTION(name) ZEND_NAMED_FUNCTION(ZEND_FN(name))
#define ZEND_METHOD(class, name) ZEND_NAMED_FUNCTION(ZEND_FN(class##_##name))
#define ZEND_NAMED_FE(zend_name, name, arg_types) { #zend_name, name, arg_types },
#define ZEND_FE(name, arg_types) ZEND_NAMED_FE(name, ZEND_FN(name), arg_types)
#define ZEND_FALIAS(name, alias, arg_types) ZEND_NAMED_FE(name, ZEND_FN(alias), arg_types)
#define ZEND_STATIC_FE(name, impl_name, arg_types) { name, impl_name, arg_types },
#define ZEND_ME(class, name, arg_types) ZEND_NAMED_FE(name, ZEND_FN(class##_##name), arg_types)
/* Name macros */
#define ZEND_MODULE_STARTUP_N(module) zm_startup_##module
#define ZEND_MODULE_SHUTDOWN_N(module) zm_shutdown_##module
#define ZEND_MODULE_ACTIVATE_N(module) zm_activate_##module
#define ZEND_MODULE_DEACTIVATE_N(module) zm_deactivate_##module
#define ZEND_MODULE_EXEC_FINISHED_N(module) zm_exec_finished_##module
#define ZEND_MODULE_INFO_N(module) zm_info_##module
/* Declaration macros */
#define ZEND_MODULE_STARTUP_D(module) int ZEND_MODULE_STARTUP_N(module)(INIT_FUNC_ARGS)
#define ZEND_MODULE_SHUTDOWN_D(module) int ZEND_MODULE_SHUTDOWN_N(module)(SHUTDOWN_FUNC_ARGS)
#define ZEND_MODULE_ACTIVATE_D(module) int ZEND_MODULE_ACTIVATE_N(module)(INIT_FUNC_ARGS)
#define ZEND_MODULE_DEACTIVATE_D(module) int ZEND_MODULE_DEACTIVATE_N(module)(SHUTDOWN_FUNC_ARGS)
#define ZEND_MODULE_EXEC_FINISHED_D(module) int ZEND_MODULE_EXEC_FINISHED_N(module)(void)
#define ZEND_MODULE_INFO_D(module) void ZEND_MODULE_INFO_N(module)(ZEND_MODULE_INFO_FUNC_ARGS)
#define ZEND_GET_MODULE(name) \
BEGIN_EXTERN_C()\
ZEND_DLEXPORT zend_module_entry *get_module(void) { return &name##_module_entry; }\
END_EXTERN_C()
#define ZEND_BEGIN_MODULE_GLOBALS(module_name) \
typedef struct _zend_##module_name##_globals {
#define ZEND_END_MODULE_GLOBALS(module_name) \
} zend_##module_name##_globals;
#ifdef ZTS
#define ZEND_DECLARE_MODULE_GLOBALS(module_name) \
ts_rsrc_id module_name##_globals_id;
#define ZEND_EXTERN_MODULE_GLOBALS(module_name) \
extern ts_rsrc_id module_name##_globals_id;
#define ZEND_INIT_MODULE_GLOBALS(module_name, globals_ctor, globals_dtor) \
ts_allocate_id(&module_name##_globals_id, sizeof(zend_##module_name##_globals), (ts_allocate_ctor) globals_ctor, (ts_allocate_dtor) globals_dtor);
#else
#define ZEND_DECLARE_MODULE_GLOBALS(module_name) \
zend_##module_name##_globals module_name##_globals;
#define ZEND_EXTERN_MODULE_GLOBALS(module_name) \
extern zend_##module_name##_globals module_name##_globals;
#define ZEND_INIT_MODULE_GLOBALS(module_name, globals_ctor, globals_dtor) \
globals_ctor(&module_name##_globals);
#endif
#define INIT_CLASS_ENTRY(class_container, class_name, functions) INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, NULL, NULL, NULL)
#define INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, handle_fcall, handle_propget, handle_propset) \
{ \
class_container.name = strdup(class_name); \
class_container.name_length = sizeof(class_name) - 1; \
class_container.builtin_functions = functions; \
class_container.constructor = NULL; \
class_container.destructor = NULL; \
class_container.clone = NULL; \
class_container.create_object = NULL; \
class_container.__call = handle_fcall; \
class_container.__get = handle_propget; \
class_container.__set = handle_propset; \
class_container.num_interfaces = 0; \
}
int zend_next_free_module(void);
ZEND_API int zend_get_parameters(int ht, int param_count, ...);
ZEND_API int _zend_get_parameters_array(int ht, int param_count, zval **argument_array TSRMLS_DC);
ZEND_API int zend_get_parameters_ex(int param_count, ...);
ZEND_API int _zend_get_parameters_array_ex(int param_count, zval ***argument_array TSRMLS_DC);
#define zend_get_parameters_array(ht, param_count, argument_array) \
_zend_get_parameters_array(ht, param_count, argument_array TSRMLS_CC)
#define zend_get_parameters_array_ex(param_count, argument_array) \
_zend_get_parameters_array_ex(param_count, argument_array TSRMLS_CC)
/* Parameter parsing API -- andrei */
#define ZEND_PARSE_PARAMS_QUIET 1<<1
ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);
ZEND_API char *zend_zval_type_name(zval *arg);
ZEND_API int zend_parse_method_parameters(int num_args TSRMLS_DC, zval *this_ptr, char *type_spec, ...);
ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC, zval *this_ptr, char *type_spec, zend_class_entry *ce, void **object, ...);
/* End of parameter parsing API -- andrei */
int zend_register_functions(zend_class_entry *scope, zend_function_entry *functions, HashTable *function_table, int type TSRMLS_DC);
void zend_unregister_functions(zend_function_entry *functions, int count, HashTable *function_table TSRMLS_DC);
ZEND_API int zend_register_module(zend_module_entry *module_entry);
ZEND_API zend_class_entry *zend_register_internal_class(zend_class_entry *class_entry TSRMLS_DC);
ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce, char *parent_name TSRMLS_DC);
ZEND_API int zend_disable_function(char *function_name, uint function_name_length TSRMLS_DC);
ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_DC);
ZEND_API void zend_wrong_param_count(TSRMLS_D);
ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char **callable_name);
ZEND_API char *zend_get_module_version(char *module_name);
ZEND_API int zend_declare_property(zend_class_entry *ce, char *name, int name_length, zval *property, int access_type);
ZEND_API zend_class_entry *zend_get_class_entry(zval *zobject TSRMLS_DC);
#define getThis() (this_ptr)
#define WRONG_PARAM_COUNT ZEND_WRONG_PARAM_COUNT()
#define WRONG_PARAM_COUNT_WITH_RETVAL(ret) ZEND_WRONG_PARAM_COUNT_WITH_RETVAL(ret)
#define ARG_COUNT(dummy) (ht)
#define ZEND_NUM_ARGS() (ht)
#define ZEND_WRONG_PARAM_COUNT() { zend_wrong_param_count(TSRMLS_C); return; }
#define ZEND_WRONG_PARAM_COUNT_WITH_RETVAL(ret) { zend_wrong_param_count(TSRMLS_C); return ret; }
#ifndef ZEND_WIN32
#define DLEXPORT
#endif
ZEND_API int zend_startup_module(zend_module_entry *module);
#define array_init(arg) _array_init((arg) ZEND_FILE_LINE_CC)
#define object_init(arg) _object_init((arg) ZEND_FILE_LINE_CC TSRMLS_CC)
#define object_init_ex(arg, ce) _object_init_ex((arg), (ce) ZEND_FILE_LINE_CC TSRMLS_CC)
#define object_and_properties_init(arg, ce, properties) _object_and_properties_init((arg), (ce), (properties) ZEND_FILE_LINE_CC TSRMLS_CC)
ZEND_API int _array_init(zval *arg ZEND_FILE_LINE_DC);
ZEND_API int _object_init(zval *arg ZEND_FILE_LINE_DC TSRMLS_DC);
ZEND_API int _object_init_ex(zval *arg, zend_class_entry *ce ZEND_FILE_LINE_DC TSRMLS_DC);
ZEND_API int _object_and_properties_init(zval *arg, zend_class_entry *ce, HashTable *properties ZEND_FILE_LINE_DC TSRMLS_DC);
/* no longer supported */
ZEND_API int add_assoc_function(zval *arg, char *key, void (*function_ptr)(INTERNAL_FUNCTION_PARAMETERS));
ZEND_API int add_assoc_long_ex(zval *arg, char *key, uint key_len, long n);
ZEND_API int add_assoc_null_ex(zval *arg, char *key, uint key_len);
ZEND_API int add_assoc_bool_ex(zval *arg, char *key, uint key_len, int b);
ZEND_API int add_assoc_resource_ex(zval *arg, char *key, uint key_len, int r);
ZEND_API int add_assoc_double_ex(zval *arg, char *key, uint key_len, double d);
ZEND_API int add_assoc_string_ex(zval *arg, char *key, uint key_len, char *str, int duplicate);
ZEND_API int add_assoc_stringl_ex(zval *arg, char *key, uint key_len, char *str, uint length, int duplicate);
ZEND_API int add_assoc_zval_ex(zval *arg, char *key, uint key_len, zval *value);
#define add_assoc_long(__arg, __key, __n) add_assoc_long_ex(__arg, __key, strlen(__key)+1, __n)
#define add_assoc_null(__arg, __key) add_assoc_null_ex(__arg, __key, strlen(__key) + 1)
#define add_assoc_bool(__arg, __key, __b) add_assoc_bool_ex(__arg, __key, strlen(__key)+1, __b)
#define add_assoc_resource(__arg, __key, __r) add_assoc_resource_ex(__arg, __key, strlen(__key)+1, __r)
#define add_assoc_double(__arg, __key, __d) add_assoc_double_ex(__arg, __key, strlen(__key)+1, __d)
#define add_assoc_string(__arg, __key, __str, __duplicate) add_assoc_string_ex(__arg, __key, strlen(__key)+1, __str, __duplicate)
#define add_assoc_stringl(__arg, __key, __str, __length, __duplicate) add_assoc_stringl_ex(__arg, __key, strlen(__key)+1, __str, __length, __duplicate)
#define add_assoc_zval(__arg, __key, __value) add_assoc_zval_ex(__arg, __key, strlen(__key)+1, __value)
/* unset() functions are only suported for legacy modules and null() functions should be used */
#define add_assoc_unset(__arg, __key) add_assoc_null_ex(__arg, __key, strlen(__key) + 1)
#define add_index_unset(__arg, __key) add_index_null(__arg, __key)
#define add_next_index_unset(__arg) add_next_index_null(__arg)
#define add_property_unset(__arg, __key) add_property_null(__arg, __key)
ZEND_API int add_index_long(zval *arg, uint idx, long n);
ZEND_API int add_index_null(zval *arg, uint idx);
ZEND_API int add_index_bool(zval *arg, uint idx, int b);
ZEND_API int add_index_resource(zval *arg, uint idx, int r);
ZEND_API int add_index_double(zval *arg, uint idx, double d);
ZEND_API int add_index_string(zval *arg, uint idx, char *str, int duplicate);
ZEND_API int add_index_stringl(zval *arg, uint idx, char *str, uint length, int duplicate);
ZEND_API int add_index_zval(zval *arg, uint index, zval *value);
ZEND_API int add_next_index_long(zval *arg, long n);
ZEND_API int add_next_index_null(zval *arg);
ZEND_API int add_next_index_bool(zval *arg, int b);
ZEND_API int add_next_index_resource(zval *arg, int r);
ZEND_API int add_next_index_double(zval *arg, double d);
ZEND_API int add_next_index_string(zval *arg, char *str, int duplicate);
ZEND_API int add_next_index_stringl(zval *arg, char *str, uint length, int duplicate);
ZEND_API int add_next_index_zval(zval *arg, zval *value);
ZEND_API int add_get_assoc_string_ex(zval *arg, char *key, uint key_len, char *str, void **dest, int duplicate);
ZEND_API int add_get_assoc_stringl_ex(zval *arg, char *key, uint key_len, char *str, uint length, void **dest, int duplicate);
#define add_get_assoc_string(__arg, __key, __str, __dest, __duplicate) add_get_assoc_string_ex(__arg, __key, strlen(__key)+1, __str, __dest, __duplicate)
#define add_get_assoc_stringl(__arg, __key, __str, __length, __dest, __duplicate) add_get_assoc_stringl_ex(__arg, __key, strlen(__key)+1, __str, __length, __dest, __duplicate)
ZEND_API int add_get_index_long(zval *arg, uint idx, long l, void **dest);
ZEND_API int add_get_index_double(zval *arg, uint idx, double d, void **dest);
ZEND_API int add_get_index_string(zval *arg, uint idx, char *str, void **dest, int duplicate);
ZEND_API int add_get_index_stringl(zval *arg, uint idx, char *str, uint length, void **dest, int duplicate);
ZEND_API int add_property_long_ex(zval *arg, char *key, uint key_len, long l TSRMLS_DC);
ZEND_API int add_property_null_ex(zval *arg, char *key, uint key_len TSRMLS_DC);
ZEND_API int add_property_bool_ex(zval *arg, char *key, uint key_len, int b TSRMLS_DC);
ZEND_API int add_property_resource_ex(zval *arg, char *key, uint key_len, long r TSRMLS_DC);
ZEND_API int add_property_double_ex(zval *arg, char *key, uint key_len, double d TSRMLS_DC);
ZEND_API int add_property_string_ex(zval *arg, char *key, uint key_len, char *str, int duplicate TSRMLS_DC);
ZEND_API int add_property_stringl_ex(zval *arg, char *key, uint key_len, char *str, uint length, int duplicate TSRMLS_DC);
ZEND_API int add_property_zval_ex(zval *arg, char *key, uint key_len, zval *value TSRMLS_DC);
#define add_property_long(__arg, __key, __n) add_property_long_ex(__arg, __key, strlen(__key)+1, __n TSRMLS_CC)
#define add_property_null(__arg, __key) add_property_null_ex(__arg, __key, strlen(__key) + 1 TSRMLS_CC)
#define add_property_bool(__arg, __key, __b) add_property_bool_ex(__arg, __key, strlen(__key)+1, __b TSRMLS_CC)
#define add_property_resource(__arg, __key, __r) add_property_resource_ex(__arg, __key, strlen(__key)+1, __r TSRMLS_CC)
#define add_property_double(__arg, __key, __d) add_property_double_ex(__arg, __key, strlen(__key)+1, __d TSRMLS_CC)
#define add_property_string(__arg, __key, __str, __duplicate) add_property_string_ex(__arg, __key, strlen(__key)+1, __str, __duplicate TSRMLS_CC)
#define add_property_stringl(__arg, __key, __str, __length, __duplicate) add_property_stringl_ex(__arg, __key, strlen(__key)+1, __str, __length, __duplicate TSRMLS_CC)
#define add_property_zval(__arg, __key, __value) add_property_zval_ex(__arg, __key, strlen(__key)+1, __value TSRMLS_CC)
ZEND_API int call_user_function(HashTable *function_table, zval **object_pp, zval *function_name, zval *retval_ptr, int param_count, zval *params[] TSRMLS_DC);
ZEND_API int call_user_function_ex(HashTable *function_table, zval **object_pp, zval *function_name, zval **retval_ptr_ptr, int param_count, zval **params[], int no_separation, HashTable *symbol_table TSRMLS_DC);
ZEND_API int fast_call_user_function(HashTable *function_table, zval **object_pp, zval *function_name, zval **retval_ptr_ptr, int param_count, zval **params[], int no_separation, HashTable *symbol_table, zend_function **function_pointer TSRMLS_DC);
ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
zend_bool is_ref, int num_symbol_tables, ...);
#define add_method(arg, key, method) add_assoc_function((arg), (key), (method))
ZEND_API ZEND_FUNCTION(display_disabled_function);
ZEND_API ZEND_FUNCTION(display_disabled_class);
#if ZEND_DEBUG
#define CHECK_ZVAL_STRING(z) \
if ((z)->value.str.val[ (z)->value.str.len ] != '\0') { zend_error(E_WARNING, "String is not zero-terminated (%s)", (z)->value.str.val); }
#define CHECK_ZVAL_STRING_REL(z) \
if ((z)->value.str.val[ (z)->value.str.len ] != '\0') { zend_error(E_WARNING, "String is not zero-terminated (%s) (source: %s:%d)", (z)->value.str.val ZEND_FILE_LINE_RELAY_CC); }
#else
#define CHECK_ZVAL_STRING(z)
#define CHECK_ZVAL_STRING_REL(z)
#endif
#define ZVAL_RESOURCE(z, l) { \
(z)->type = IS_RESOURCE; \
(z)->value.lval = l; \
}
#define ZVAL_BOOL(z, b) { \
(z)->type = IS_BOOL; \
(z)->value.lval = b; \
}
#define ZVAL_NULL(z) { \
(z)->type = IS_NULL; \
}
#define ZVAL_LONG(z, l) { \
(z)->type = IS_LONG; \
(z)->value.lval = l; \
}
#define ZVAL_DOUBLE(z, d) { \
(z)->type = IS_DOUBLE; \
(z)->value.dval = d; \
}
#define ZVAL_STRING(z, s, duplicate) { \
char *__s=(s); \
(z)->value.str.len = strlen(__s); \
(z)->value.str.val = (duplicate?estrndup(__s, (z)->value.str.len):__s); \
(z)->type = IS_STRING; \
}
#define ZVAL_STRINGL(z, s, l, duplicate) { \
char *__s=(s); int __l=l; \
(z)->value.str.len = __l; \
(z)->value.str.val = (duplicate?estrndup(__s, __l):__s); \
(z)->type = IS_STRING; \
}
#define ZVAL_EMPTY_STRING(z) { \
(z)->value.str.len = 0; \
(z)->value.str.val = empty_string; \
(z)->type = IS_STRING; \
}
#define ZVAL_FALSE(z) ZVAL_BOOL(z, 0)
#define ZVAL_TRUE(z) ZVAL_BOOL(z, 1)
#define RETVAL_RESOURCE(l) ZVAL_RESOURCE(return_value, l)
#define RETVAL_BOOL(b) ZVAL_BOOL(return_value, b)
#define RETVAL_NULL() ZVAL_NULL(return_value)
#define RETVAL_LONG(l) ZVAL_LONG(return_value, l)
#define RETVAL_DOUBLE(d) ZVAL_DOUBLE(return_value, d)
#define RETVAL_STRING(s, duplicate) ZVAL_STRING(return_value, s, duplicate)
#define RETVAL_STRINGL(s, l, duplicate) ZVAL_STRINGL(return_value, s, l, duplicate)
#define RETVAL_EMPTY_STRING() ZVAL_EMPTY_STRING(return_value)
#define RETVAL_FALSE ZVAL_BOOL(return_value, 0)
#define RETVAL_TRUE ZVAL_BOOL(return_value, 1)
#define RETURN_RESOURCE(l) { RETVAL_RESOURCE(l); return; }
#define RETURN_BOOL(b) { RETVAL_BOOL(b); return; }
#define RETURN_NULL() { RETVAL_NULL(); return;}
#define RETURN_LONG(l) { RETVAL_LONG(l); return; }
#define RETURN_DOUBLE(d) { RETVAL_DOUBLE(d); return; }
#define RETURN_STRING(s, duplicate) { RETVAL_STRING(s, duplicate); return; }
#define RETURN_STRINGL(s, l, duplicate) { RETVAL_STRINGL(s, l, duplicate); return; }
#define RETURN_EMPTY_STRING() { RETVAL_EMPTY_STRING(); return; }
#define RETURN_FALSE { RETVAL_FALSE; return; }
#define RETURN_TRUE { RETVAL_TRUE; return; }
#define SET_VAR_STRING(n, v) { \
{ \
zval *var; \
ALLOC_ZVAL(var); \
ZVAL_STRING(var, v, 0); \
ZEND_SET_GLOBAL_VAR(n, var); \
} \
}
#define SET_VAR_STRINGL(n, v, l) { \
{ \
zval *var; \
ALLOC_ZVAL(var); \
ZVAL_STRINGL(var, v, l, 0); \
ZEND_SET_GLOBAL_VAR(n, var); \
} \
}
#define SET_VAR_LONG(n, v) { \
{ \
zval *var; \
ALLOC_ZVAL(var); \
ZVAL_LONG(var, v); \
ZEND_SET_GLOBAL_VAR(n, var); \
} \
}
#define SET_VAR_DOUBLE(n, v) { \
{ \
zval *var; \
ALLOC_ZVAL(var); \
ZVAL_DOUBLE(var, v); \
ZEND_SET_GLOBAL_VAR(n, var); \
} \
}
#define ZEND_SET_SYMBOL(symtable, name, var) \
{ \
char *_name = (name); \
\
ZEND_SET_SYMBOL_WITH_LENGTH(symtable, _name, strlen(_name)+1, var, 1, 0); \
}
#define ZEND_SET_SYMBOL_WITH_LENGTH(symtable, name, name_length, var, _refcount, _is_ref) \
{ \
zval **orig_var; \
\
if (zend_hash_find(symtable, (name), (name_length), (void **) &orig_var)==SUCCESS \
&& PZVAL_IS_REF(*orig_var)) { \
(var)->refcount = (*orig_var)->refcount; \
(var)->is_ref = 1; \
\
if (_refcount) { \
(var)->refcount += _refcount-1; \
} \
zval_dtor(*orig_var); \
**orig_var = *(var); \
FREE_ZVAL(var); \
} else { \
(var)->is_ref = _is_ref; \
if (_refcount) { \
(var)->refcount = _refcount; \
} \
zend_hash_update(symtable, (name), (name_length), &(var), sizeof(zval *), NULL); \
} \
}
#define ZEND_SET_GLOBAL_VAR(name, var) \
ZEND_SET_SYMBOL(&EG(symbol_table), name, var)
#define ZEND_SET_GLOBAL_VAR_WITH_LENGTH(name, name_length, var, _refcount, _is_ref) \
ZEND_SET_SYMBOL_WITH_LENGTH(&EG(symbol_table), name, name_length, var, _refcount, _is_ref)
#define ZEND_DEFINE_PROPERTY(class_ptr, name, value, mask) \
{ \
char *_name = (name); \
int namelen = strlen(_name); \
zend_declare_property(class_ptr, _name, namelen, value, mask); \
}
#define HASH_OF(p) ((p)->type==IS_ARRAY ? (p)->value.ht : (((p)->type==IS_OBJECT ? Z_OBJ_HT_P(p)->get_properties((p) TSRMLS_CC) : NULL)))
#define ZVAL_IS_NULL(z) ((z)->type==IS_NULL)
/* For compatibility */
#define ZEND_MINIT ZEND_MODULE_STARTUP_N
#define ZEND_MSHUTDOWN ZEND_MODULE_SHUTDOWN_N
#define ZEND_RINIT ZEND_MODULE_ACTIVATE_N
#define ZEND_RSHUTDOWN ZEND_MODULE_DEACTIVATE_N
#define ZEND_MINFO ZEND_MODULE_INFO_N
#define ZEND_MINIT_FUNCTION ZEND_MODULE_STARTUP_D
#define ZEND_MSHUTDOWN_FUNCTION ZEND_MODULE_SHUTDOWN_D
#define ZEND_RINIT_FUNCTION ZEND_MODULE_ACTIVATE_D
#define ZEND_RSHUTDOWN_FUNCTION ZEND_MODULE_DEACTIVATE_D
#define ZEND_MINFO_FUNCTION ZEND_MODULE_INFO_D
END_EXTERN_C()
#endif /* ZEND_API_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+791
View File
@@ -0,0 +1,791 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#include "zend.h"
#include "zend_alloc.h"
#include "zend_globals.h"
#include "zend_fast_cache.h"
#ifdef HAVE_SIGNAL_H
# include <signal.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include "zend_mm.h"
#ifndef ZTS
ZEND_API zend_alloc_globals alloc_globals;
#endif
#ifdef ZEND_MM
#define ZEND_DISABLE_MEMORY_CACHE 0
#else
#define ZEND_DISABLE_MEMORY_CACHE 0
#endif
#ifdef ZEND_MM
#define ZEND_DO_MALLOC(size) zend_mm_alloc(&AG(mm_heap), size)
#define ZEND_DO_FREE(ptr) zend_mm_free(&AG(mm_heap), ptr)
#define ZEND_DO_REALLOC(ptr, size) zend_mm_realloc(&AG(mm_heap), ptr, size)
#elif defined(ZEND_WIN32)
#define ZEND_DO_MALLOC(size) (AG(memory_heap) ? HeapAlloc(AG(memory_heap), HEAP_NO_SERIALIZE, size) : malloc(size))
#define ZEND_DO_FREE(ptr) (AG(memory_heap) ? HeapFree(AG(memory_heap), HEAP_NO_SERIALIZE, ptr) : free(ptr))
#define ZEND_DO_REALLOC(ptr, size) (AG(memory_heap) ? HeapReAlloc(AG(memory_heap), HEAP_NO_SERIALIZE, ptr, size) : realloc(ptr, size))
#else
#define ZEND_DO_MALLOC(size) malloc(size)
#define ZEND_DO_FREE(ptr) free(ptr)
#define ZEND_DO_REALLOC(ptr, size) realloc(ptr, size)
#endif
#if ZEND_DEBUG
# define END_MAGIC_SIZE sizeof(long)
static long mem_block_end_magic = MEM_BLOCK_END_MAGIC;
#else
# define END_MAGIC_SIZE 0
#endif
# if MEMORY_LIMIT
# if ZEND_DEBUG
#define CHECK_MEMORY_LIMIT(s, rs) _CHECK_MEMORY_LIMIT(s, rs, __zend_filename, __zend_lineno)
# else
#define CHECK_MEMORY_LIMIT(s, rs) _CHECK_MEMORY_LIMIT(s, rs, NULL, 0)
# endif
#define _CHECK_MEMORY_LIMIT(s, rs, file, lineno) { AG(allocated_memory) += rs;\
if (AG(memory_limit)<AG(allocated_memory)) {\
int php_mem_limit = AG(memory_limit); \
if (AG(memory_limit)+1048576 > AG(allocated_memory) - rs) { \
AG(memory_limit) = AG(allocated_memory) + 1048576; \
if (file) { \
zend_error(E_ERROR,"Allowed memory size of %d bytes exhausted (tried to allocate %d bytes)", php_mem_limit, s); \
} else { \
zend_error(E_ERROR,"Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)", php_mem_limit, file, lineno, s); \
} \
} else { \
if (file) { \
fprintf(stderr, "Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)\n", php_mem_limit, file, lineno, s); \
} else { \
fprintf(stderr, "Allowed memory size of %d bytes exhausted (tried to allocate %d bytes)\n", php_mem_limit, s); \
} \
exit(1); \
} \
} \
}
# endif
#ifndef CHECK_MEMORY_LIMIT
#define CHECK_MEMORY_LIMIT(s, rs)
#endif
#define REMOVE_POINTER_FROM_LIST(p) \
if (p==AG(head)) { \
AG(head) = p->pNext; \
} else { \
p->pLast->pNext = p->pNext; \
} \
if (p->pNext) { \
p->pNext->pLast = p->pLast; \
}
#define ADD_POINTER_TO_LIST(p) \
p->pNext = AG(head); \
if (AG(head)) { \
AG(head)->pLast = p; \
} \
AG(head) = p; \
p->pLast = (zend_mem_header *) NULL;
#define DECLARE_CACHE_VARS() \
unsigned int real_size; \
unsigned int cache_index
#define REAL_SIZE(size) ((size+7) & ~0x7)
#define CALCULATE_REAL_SIZE_AND_CACHE_INDEX(size) \
real_size = REAL_SIZE(size); \
cache_index = real_size >> 3;
#define SIZE real_size
#define CACHE_INDEX cache_index
ZEND_API void *_emalloc(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
zend_mem_header *p;
DECLARE_CACHE_VARS();
TSRMLS_FETCH();
CALCULATE_REAL_SIZE_AND_CACHE_INDEX(size);
#if !ZEND_DISABLE_MEMORY_CACHE
if ((CACHE_INDEX < MAX_CACHED_MEMORY) && (AG(cache_count)[CACHE_INDEX] > 0)) {
p = AG(cache)[CACHE_INDEX][--AG(cache_count)[CACHE_INDEX]];
#if ZEND_DEBUG
p->filename = __zend_filename;
p->lineno = __zend_lineno;
p->orig_filename = __zend_orig_filename;
p->orig_lineno = __zend_orig_lineno;
p->magic = MEM_BLOCK_START_MAGIC;
p->reported = 0;
/* Setting the thread id should not be necessary, because we fetched this block
* from this thread's cache
*/
AG(cache_stats)[CACHE_INDEX][1]++;
memcpy((((char *) p) + sizeof(zend_mem_header) + MEM_HEADER_PADDING + size), &mem_block_end_magic, sizeof(long));
#endif
p->cached = 0;
p->size = size;
return (void *)((char *)p + sizeof(zend_mem_header) + MEM_HEADER_PADDING);
} else {
#endif
#if ZEND_DEBUG
if (CACHE_INDEX<MAX_CACHED_MEMORY) {
AG(cache_stats)[CACHE_INDEX][0]++;
}
#endif
p = (zend_mem_header *) ZEND_DO_MALLOC(sizeof(zend_mem_header) + MEM_HEADER_PADDING + SIZE + END_MAGIC_SIZE);
#if !ZEND_DISABLE_MEMORY_CACHE
}
#endif
HANDLE_BLOCK_INTERRUPTIONS();
if (!p) {
fprintf(stderr,"FATAL: emalloc(): Unable to allocate %ld bytes\n", (long) size);
#if ZEND_DEBUG && defined(HAVE_KILL) && defined(HAVE_GETPID)
kill(getpid(), SIGSEGV);
#else
exit(1);
#endif
HANDLE_UNBLOCK_INTERRUPTIONS();
return (void *)p;
}
p->cached = 0;
#if ZEND_DEBUG || !defined(ZEND_MM)
ADD_POINTER_TO_LIST(p);
#endif
p->size = size; /* Save real size for correct cache output */
#if ZEND_DEBUG
p->filename = __zend_filename;
p->lineno = __zend_lineno;
p->orig_filename = __zend_orig_filename;
p->orig_lineno = __zend_orig_lineno;
p->magic = MEM_BLOCK_START_MAGIC;
p->reported = 0;
# ifdef ZTS
p->thread_id = tsrm_thread_id();
# endif
memcpy((((char *) p) + sizeof(zend_mem_header) + MEM_HEADER_PADDING + size), &mem_block_end_magic, sizeof(long));
#endif
#if MEMORY_LIMIT
CHECK_MEMORY_LIMIT(size, SIZE);
if (AG(allocated_memory) > AG(allocated_memory_peak)) {
AG(allocated_memory_peak) = AG(allocated_memory);
}
#endif
HANDLE_UNBLOCK_INTERRUPTIONS();
return (void *)((char *)p + sizeof(zend_mem_header) + MEM_HEADER_PADDING);
}
#include "zend_multiply.h"
ZEND_API void *_safe_emalloc(size_t nmemb, size_t size, size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
if (nmemb < LONG_MAX
&& size < LONG_MAX
&& offset < LONG_MAX
&& nmemb >= 0
&& size >= 0
&& offset >= 0) {
long lval;
double dval;
int use_dval;
ZEND_SIGNED_MULTIPLY_LONG(nmemb, size, lval, dval, use_dval);
if (!use_dval
&& lval < (long) (LONG_MAX - offset)) {
return emalloc_rel(lval + offset);
}
}
zend_error(E_ERROR, "Possible integer overflow in memory allocation (%ld * %ld + %ld)", nmemb, size, offset);
return 0;
}
ZEND_API void _efree(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
zend_mem_header *p = (zend_mem_header *) ((char *)ptr - sizeof(zend_mem_header) - MEM_HEADER_PADDING);
DECLARE_CACHE_VARS();
TSRMLS_FETCH();
#if defined(ZTS) && TSRM_DEBUG
if (p->thread_id != tsrm_thread_id()) {
tsrm_error(TSRM_ERROR_LEVEL_ERROR, "Memory block allocated at %s:(%d) on thread %x freed at %s:(%d) on thread %x, ignoring",
p->filename, p->lineno, p->thread_id,
__zend_filename, __zend_lineno, tsrm_thread_id());
return;
}
#endif
CALCULATE_REAL_SIZE_AND_CACHE_INDEX(p->size);
#if ZEND_DEBUG
if (!_mem_block_check(ptr, 1 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC)) {
return;
}
memset(ptr, 0x5a, p->size);
#endif
#if !ZEND_DISABLE_MEMORY_CACHE
if ((CACHE_INDEX < MAX_CACHED_MEMORY) && (AG(cache_count)[CACHE_INDEX] < MAX_CACHED_ENTRIES)) {
AG(cache)[CACHE_INDEX][AG(cache_count)[CACHE_INDEX]++] = p;
p->cached = 1;
#if ZEND_DEBUG
p->magic = MEM_BLOCK_CACHED_MAGIC;
#endif
return;
}
#endif
HANDLE_BLOCK_INTERRUPTIONS();
#if ZEND_DEBUG || !defined(ZEND_MM)
REMOVE_POINTER_FROM_LIST(p);
#endif
#if MEMORY_LIMIT
AG(allocated_memory) -= SIZE;
#endif
ZEND_DO_FREE(p);
HANDLE_UNBLOCK_INTERRUPTIONS();
}
ZEND_API void *_ecalloc(size_t nmemb, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
void *p;
int final_size = size*nmemb;
HANDLE_BLOCK_INTERRUPTIONS();
p = _emalloc(final_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
if (!p) {
HANDLE_UNBLOCK_INTERRUPTIONS();
return (void *) p;
}
memset(p, 0, final_size);
HANDLE_UNBLOCK_INTERRUPTIONS();
return p;
}
ZEND_API void *_erealloc(void *ptr, size_t size, int allow_failure ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
zend_mem_header *p;
zend_mem_header *orig;
DECLARE_CACHE_VARS();
TSRMLS_FETCH();
if (!ptr) {
return _emalloc(size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
}
p = orig = (zend_mem_header *) ((char *)ptr-sizeof(zend_mem_header)-MEM_HEADER_PADDING);
#if defined(ZTS) && TSRM_DEBUG
if (p->thread_id != tsrm_thread_id()) {
void *new_p;
tsrm_error(TSRM_ERROR_LEVEL_ERROR, "Memory block allocated at %s:(%d) on thread %x reallocated at %s:(%d) on thread %x, duplicating",
p->filename, p->lineno, p->thread_id,
__zend_filename, __zend_lineno, tsrm_thread_id());
new_p = _emalloc(size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
memcpy(new_p, ptr, p->size);
return new_p;
}
#endif
CALCULATE_REAL_SIZE_AND_CACHE_INDEX(size);
HANDLE_BLOCK_INTERRUPTIONS();
#if ZEND_DEBUG || !defined(ZEND_MM)
REMOVE_POINTER_FROM_LIST(p);
#endif
p = (zend_mem_header *) ZEND_DO_REALLOC(p, sizeof(zend_mem_header)+MEM_HEADER_PADDING+SIZE+END_MAGIC_SIZE);
if (!p) {
if (!allow_failure) {
fprintf(stderr,"FATAL: erealloc(): Unable to allocate %ld bytes\n", (long) size);
#if ZEND_DEBUG && HAVE_KILL && HAVE_GETPID
kill(getpid(), SIGSEGV);
#else
exit(1);
#endif
}
#if ZEND_DEBUG || !defined(ZEND_MM)
ADD_POINTER_TO_LIST(orig);
#endif
HANDLE_UNBLOCK_INTERRUPTIONS();
return (void *)NULL;
}
#if ZEND_DEBUG || !defined(ZEND_MM)
ADD_POINTER_TO_LIST(p);
#endif
#if ZEND_DEBUG
p->filename = __zend_filename;
p->lineno = __zend_lineno;
p->magic = MEM_BLOCK_START_MAGIC;
memcpy((((char *) p) + sizeof(zend_mem_header) + MEM_HEADER_PADDING + size), &mem_block_end_magic, sizeof(long));
#endif
#if MEMORY_LIMIT
CHECK_MEMORY_LIMIT(size - p->size, SIZE - REAL_SIZE(p->size));
if (AG(allocated_memory) > AG(allocated_memory_peak)) {
AG(allocated_memory_peak) = AG(allocated_memory);
}
#endif
p->size = size;
HANDLE_UNBLOCK_INTERRUPTIONS();
return (void *)((char *)p+sizeof(zend_mem_header)+MEM_HEADER_PADDING);
}
ZEND_API char *_estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
int length;
char *p;
length = strlen(s)+1;
HANDLE_BLOCK_INTERRUPTIONS();
p = (char *) _emalloc(length ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
if (!p) {
HANDLE_UNBLOCK_INTERRUPTIONS();
return (char *)NULL;
}
HANDLE_UNBLOCK_INTERRUPTIONS();
memcpy(p, s, length);
return p;
}
ZEND_API char *_estrndup(const char *s, uint length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
char *p;
HANDLE_BLOCK_INTERRUPTIONS();
p = (char *) _emalloc(length+1 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
if (!p) {
HANDLE_UNBLOCK_INTERRUPTIONS();
return (char *)NULL;
}
HANDLE_UNBLOCK_INTERRUPTIONS();
memcpy(p, s, length);
p[length] = 0;
return p;
}
ZEND_API char *zend_strndup(const char *s, uint length)
{
char *p;
p = (char *) malloc(length+1);
if (!p) {
return (char *)NULL;
}
if (length) {
memcpy(p, s, length);
}
p[length] = 0;
return p;
}
ZEND_API int zend_set_memory_limit(unsigned int memory_limit)
{
#if MEMORY_LIMIT
TSRMLS_FETCH();
AG(memory_limit) = memory_limit;
return SUCCESS;
#else
return FAILURE;
#endif
}
ZEND_API void start_memory_manager(TSRMLS_D)
{
AG(head) = NULL;
#if MEMORY_LIMIT
AG(memory_limit) = 1<<30; /* ridiculous limit, effectively no limit */
AG(allocated_memory) = 0;
AG(memory_exhausted) = 0;
AG(allocated_memory_peak) = 0;
#endif
#if ZEND_ENABLE_FAST_CACHE
memset(AG(fast_cache_list_head), 0, sizeof(AG(fast_cache_list_head)));
#endif
#if !ZEND_DISABLE_MEMORY_CACHE
memset(AG(cache_count), 0, sizeof(AG(cache_count)));
#endif
#ifdef ZEND_MM
zend_mm_startup(&AG(mm_heap), 256*1024);
#elif defined(ZEND_WIN32)
AG(memory_heap) = HeapCreate(HEAP_NO_SERIALIZE, 256*1024, 0);
#endif
#if ZEND_DEBUG
memset(AG(cache_stats), 0, sizeof(AG(cache_stats)));
memset(AG(fast_cache_stats), 0, sizeof(AG(fast_cache_stats)));
#endif
}
ZEND_API void shutdown_memory_manager(int silent, int clean_cache TSRMLS_DC)
{
zend_mem_header *p, *t;
#if ZEND_DEBUG
int had_leaks = 0;
#endif
#if defined(ZEND_MM) && !ZEND_DEBUG
if (clean_cache) {
zend_mm_shutdown(&AG(mm_heap));
return;
}
#elif defined(ZEND_WIN32) && !ZEND_DEBUG
if (clean_cache && AG(memory_heap)) {
HeapDestroy(AG(memory_heap));
return;
}
#endif
#if ZEND_ENABLE_FAST_CACHE
{
zend_fast_cache_list_entry *fast_cache_list_entry, *next_fast_cache_list_entry;
unsigned int fci;
for (fci=0; fci<MAX_FAST_CACHE_TYPES; fci++) {
fast_cache_list_entry = AG(fast_cache_list_head)[fci];
while (fast_cache_list_entry) {
next_fast_cache_list_entry = fast_cache_list_entry->next;
efree(fast_cache_list_entry);
fast_cache_list_entry = next_fast_cache_list_entry;
}
AG(fast_cache_list_head)[fci] = NULL;
}
}
#endif /* ZEND_ENABLE_FAST_CACHE */
#if !ZEND_DISABLE_MEMORY_CACHE && !defined(ZEND_MM)
if (1 || clean_cache) {
unsigned int i, j;
zend_mem_header *ptr;
for (i=1; i<MAX_CACHED_MEMORY; i++) {
for (j=0; j<AG(cache_count)[i]; j++) {
ptr = (zend_mem_header *) AG(cache)[i][j];
#if MEMORY_LIMIT
AG(allocated_memory) -= REAL_SIZE(ptr->size);
#endif
REMOVE_POINTER_FROM_LIST(ptr);
ZEND_DO_FREE(ptr);
}
AG(cache_count)[i] = 0;
}
}
#endif /* !ZEND_DISABLE_MEMORY_CACHE */
#if ZEND_DEBUG || !defined(ZEND_MM)
p = AG(head);
t = AG(head);
while (t) {
if (!t->cached) {
#if ZEND_DEBUG
if (!t->cached && !t->reported) {
zend_mem_header *iterator;
int total_leak=0, total_leak_count=0;
had_leaks = 1;
if (!silent) {
zend_message_dispatcher(ZMSG_MEMORY_LEAK_DETECTED, t);
}
t->reported = 1;
for (iterator=t->pNext; iterator; iterator=iterator->pNext) {
if (!iterator->cached
&& iterator->filename==t->filename
&& iterator->lineno==t->lineno) {
total_leak += iterator->size;
total_leak_count++;
iterator->reported = 1;
}
}
if (!silent && total_leak_count>0) {
zend_message_dispatcher(ZMSG_MEMORY_LEAK_REPEATED, (void *) (long) (total_leak_count));
}
}
#endif
#if MEMORY_LIMIT
AG(allocated_memory) -= REAL_SIZE(t->size);
#endif
p = t->pNext;
REMOVE_POINTER_FROM_LIST(t);
ZEND_DO_FREE(t);
t = p;
} else {
t = t->pNext;
}
}
#if MEMORY_LIMIT
AG(memory_exhausted)=0;
AG(allocated_memory_peak) = 0;
#endif
#if (ZEND_DEBUG)
do {
zval display_memory_cache_stats;
int i, j;
if (clean_cache) {
/* we're shutting down completely, don't even touch the INI subsystem */
break;
}
if (zend_get_configuration_directive("display_memory_cache_stats", sizeof("display_memory_cache_stats"), &display_memory_cache_stats)==FAILURE) {
break;
}
if (!atoi(display_memory_cache_stats.value.str.val)) {
break;
}
fprintf(stderr, "Memory cache statistics\n"
"-----------------------\n\n"
"[zval, %2ld]\t\t%d / %d (%.2f%%)\n"
"[hash, %2ld]\t\t%d / %d (%.2f%%)\n",
(long) sizeof(zval),
AG(fast_cache_stats)[ZVAL_CACHE_LIST][1], AG(fast_cache_stats)[ZVAL_CACHE_LIST][0]+AG(fast_cache_stats)[ZVAL_CACHE_LIST][1],
((double) AG(fast_cache_stats)[ZVAL_CACHE_LIST][1] / (AG(fast_cache_stats)[ZVAL_CACHE_LIST][0]+AG(fast_cache_stats)[ZVAL_CACHE_LIST][1]))*100,
(long) sizeof(HashTable),
AG(fast_cache_stats)[HASHTABLE_CACHE_LIST][1], AG(fast_cache_stats)[HASHTABLE_CACHE_LIST][0]+AG(fast_cache_stats)[HASHTABLE_CACHE_LIST][1],
((double) AG(fast_cache_stats)[HASHTABLE_CACHE_LIST][1] / (AG(fast_cache_stats)[HASHTABLE_CACHE_LIST][0]+AG(fast_cache_stats)[HASHTABLE_CACHE_LIST][1]))*100);
for (i=0; i<MAX_CACHED_MEMORY; i+=2) {
fprintf(stderr, "[%2d, %2d]\t\t", i, i+1);
for (j=0; j<2; j++) {
fprintf(stderr, "%d / %d (%.2f%%)\t\t",
AG(cache_stats)[i+j][1], AG(cache_stats)[i+j][0]+AG(cache_stats)[i+j][1],
((double) AG(cache_stats)[i+j][1] / (AG(cache_stats)[i+j][0]+AG(cache_stats)[i+j][1]))*100);
}
fprintf(stderr, "\n");
}
} while (0);
#endif
#endif
#if defined(ZEND_MM) && ZEND_DEBUG
if (clean_cache) {
zend_mm_shutdown(&AG(mm_heap));
return;
}
#elif defined(ZEND_WIN32) && ZEND_DEBUG
if (clean_cache && AG(memory_heap)) {
HeapDestroy(AG(memory_heap));
return;
}
#endif
}
#if ZEND_DEBUG
void zend_debug_alloc_output(char *format, ...)
{
char output_buf[256];
va_list args;
va_start(args, format);
vsprintf(output_buf, format, args);
va_end(args);
#ifdef ZEND_WIN32
OutputDebugString(output_buf);
#else
fprintf(stderr, "%s", output_buf);
#endif
}
ZEND_API int _mem_block_check(void *ptr, int silent ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
zend_mem_header *p = (zend_mem_header *) ((char *)ptr - sizeof(zend_mem_header) - MEM_HEADER_PADDING);
int no_cache_notice=0;
int valid_beginning=1;
int had_problems=0;
long end_magic;
if (silent==2) {
silent = 1;
no_cache_notice = 1;
}
if (silent==3) {
silent = 0;
no_cache_notice = 1;
}
if (!silent) {
zend_message_dispatcher(ZMSG_LOG_SCRIPT_NAME, NULL);
zend_debug_alloc_output("---------------------------------------\n");
zend_debug_alloc_output("%s(%d) : Block 0x%0.8lX status:\n" ZEND_FILE_LINE_RELAY_CC, (long) p);
if (__zend_orig_filename) {
zend_debug_alloc_output("%s(%d) : Actual location (location was relayed)\n" ZEND_FILE_LINE_ORIG_RELAY_CC);
}
zend_debug_alloc_output("%10s\t","Beginning: ");
}
switch (p->magic) {
case MEM_BLOCK_START_MAGIC:
if (!silent) {
zend_debug_alloc_output("OK (allocated on %s:%d, %d bytes)\n", p->filename, p->lineno, p->size);
}
break; /* ok */
case MEM_BLOCK_FREED_MAGIC:
if (!silent) {
zend_debug_alloc_output("Freed\n");
had_problems = 1;
} else {
return _mem_block_check(ptr, 0 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
}
break;
case MEM_BLOCK_CACHED_MAGIC:
if (!silent) {
if (!no_cache_notice) {
zend_debug_alloc_output("Cached (allocated on %s:%d, %d bytes)\n", p->filename, p->lineno, p->size);
had_problems = 1;
}
} else {
if (!no_cache_notice) {
return _mem_block_check(ptr, 0 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
}
}
break;
default:
if (!silent) {
zend_debug_alloc_output("Overrun (magic=0x%0.8lX, expected=0x%0.8lX)\n", p->magic, MEM_BLOCK_START_MAGIC);
} else {
return _mem_block_check(ptr, 0 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
}
had_problems = 1;
valid_beginning = 0;
break;
}
memcpy(&end_magic, (((char *) p)+sizeof(zend_mem_header)+MEM_HEADER_PADDING+p->size), sizeof(long));
if (valid_beginning && (end_magic != MEM_BLOCK_END_MAGIC)) {
char *overflow_ptr, *magic_ptr=(char *) &mem_block_end_magic;
int overflows=0;
int i;
if (silent) {
return _mem_block_check(ptr, 0 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
}
had_problems = 1;
overflow_ptr = (char *) &end_magic;
for (i=0; i<sizeof(long); i++) {
if (overflow_ptr[i]!=magic_ptr[i]) {
overflows++;
}
}
zend_debug_alloc_output("%10s\t", "End:");
zend_debug_alloc_output("Overflown (magic=0x%0.8lX instead of 0x%0.8lX)\n", end_magic, MEM_BLOCK_END_MAGIC);
zend_debug_alloc_output("%10s\t","");
if (overflows>=sizeof(long)) {
zend_debug_alloc_output("At least %d bytes overflown\n", sizeof(long));
} else {
zend_debug_alloc_output("%d byte(s) overflown\n", overflows);
}
} else if (!silent) {
zend_debug_alloc_output("%10s\t", "End:");
if (valid_beginning) {
zend_debug_alloc_output("OK\n");
} else {
zend_debug_alloc_output("Unknown\n");
}
}
if (had_problems) {
int foo = 5;
foo += 1;
}
if (!silent) {
zend_debug_alloc_output("---------------------------------------\n");
}
return ((!had_problems) ? 1 : 0);
}
ZEND_API void _full_mem_check(int silent ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
zend_mem_header *p;
int errors=0;
TSRMLS_FETCH();
p = AG(head);
zend_debug_alloc_output("------------------------------------------------\n");
zend_debug_alloc_output("Full Memory Check at %s:%d\n" ZEND_FILE_LINE_RELAY_CC);
while (p) {
if (!_mem_block_check((void *)((char *)p + sizeof(zend_mem_header) + MEM_HEADER_PADDING), (silent?2:3) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC)) {
errors++;
}
p = p->pNext;
}
zend_debug_alloc_output("End of full memory check %s:%d (%d errors)\n" ZEND_FILE_LINE_RELAY_CC, errors);
zend_debug_alloc_output("------------------------------------------------\n");
}
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+146
View File
@@ -0,0 +1,146 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_ALLOC_H
#define ZEND_ALLOC_H
#include <stdio.h>
#include "../TSRM/TSRM.h"
#include "zend_globals_macros.h"
#include "zend_mm.h"
#define MEM_BLOCK_START_MAGIC 0x7312F8DCL
#define MEM_BLOCK_END_MAGIC 0x2A8FCC84L
#define MEM_BLOCK_FREED_MAGIC 0x99954317L
#define MEM_BLOCK_CACHED_MAGIC 0xFB8277DCL
typedef struct _zend_mem_header {
#if ZEND_DEBUG
long magic;
char *filename;
uint lineno;
int reported;
char *orig_filename;
uint orig_lineno;
# ifdef ZTS
THREAD_T thread_id;
# endif
#endif
#if ZEND_DEBUG || !defined(ZEND_MM)
struct _zend_mem_header *pNext;
struct _zend_mem_header *pLast;
#endif
unsigned int size:31;
unsigned int cached:1;
} zend_mem_header;
typedef union _align_test {
void *ptr;
double dbl;
long lng;
} align_test;
#define MAX_CACHED_MEMORY 11
#define MAX_CACHED_ENTRIES 256
#define PRE_INIT_CACHE_ENTRIES 32
#if (defined (__GNUC__) && __GNUC__ >= 2)
#define PLATFORM_ALIGNMENT (__alignof__ (align_test))
#else
#define PLATFORM_ALIGNMENT (sizeof(align_test))
#endif
#define MEM_HEADER_PADDING (((PLATFORM_ALIGNMENT-sizeof(zend_mem_header))%PLATFORM_ALIGNMENT+PLATFORM_ALIGNMENT)%PLATFORM_ALIGNMENT)
BEGIN_EXTERN_C()
ZEND_API char *zend_strndup(const char *s, unsigned int length);
ZEND_API void *_emalloc(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
ZEND_API void *_safe_emalloc(size_t nmemb, size_t size, size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
ZEND_API void _efree(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
ZEND_API void *_ecalloc(size_t nmemb, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
ZEND_API void *_erealloc(void *ptr, size_t size, int allow_failure ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
ZEND_API char *_estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
ZEND_API char *_estrndup(const char *s, unsigned int length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
/* Standard wrapper macros */
#define emalloc(size) _emalloc((size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define safe_emalloc(nmemb, size, offset) _safe_emalloc((nmemb), (size), (offset) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define efree(ptr) _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define ecalloc(nmemb, size) _ecalloc((nmemb), (size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define erealloc(ptr, size) _erealloc((ptr), (size), 0 ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define erealloc_recoverable(ptr, size) _erealloc((ptr), (size), 1 ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define estrdup(s) _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define estrndup(s, length) _estrndup((s), (length) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
/* Relay wrapper macros */
#define emalloc_rel(size) _emalloc((size) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
#define safe_emalloc_rel(nmemb, size, offset) _safe_emalloc((nmemb), (size), (offset) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
#define efree_rel(ptr) _efree((ptr) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
#define ecalloc_rel(nmemb, size) _ecalloc((nmemb), (size) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
#define erealloc_rel(ptr, size) _erealloc((ptr), (size), 0 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
#define erealloc_recoverable_rel(ptr, size) _erealloc((ptr), (size), 1 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
#define estrdup_rel(s) _estrdup((s) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
#define estrndup_rel(s, length) _estrndup((s), (length) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
/* Selective persistent/non persistent allocation macros */
#define pemalloc(size, persistent) ((persistent)?malloc(size):emalloc(size))
#define pefree(ptr, persistent) ((persistent)?free(ptr):efree(ptr))
#define pecalloc(nmemb, size, persistent) ((persistent)?calloc((nmemb), (size)):ecalloc((nmemb), (size)))
#define perealloc(ptr, size, persistent) ((persistent)?realloc((ptr), (size)):erealloc((ptr), (size)))
#define perealloc_recoverable(ptr, size, persistent) ((persistent)?realloc((ptr), (size)):erealloc_recoverable((ptr), (size)))
#define pestrdup(s, persistent) ((persistent)?strdup(s):estrdup(s))
#define safe_estrdup(ptr) ((ptr)?(estrdup(ptr)):(empty_string))
#define safe_estrndup(ptr, len) ((ptr)?(estrndup((ptr), (len))):(empty_string))
ZEND_API int zend_set_memory_limit(unsigned int memory_limit);
ZEND_API void start_memory_manager(TSRMLS_D);
ZEND_API void shutdown_memory_manager(int silent, int clean_cache TSRMLS_DC);
#if ZEND_DEBUG
ZEND_API int _mem_block_check(void *ptr, int silent ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
ZEND_API void _full_mem_check(int silent ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC);
void zend_debug_alloc_output(char *format, ...);
#define mem_block_check(ptr, silent) _mem_block_check(ptr, silent ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define full_mem_check(silent) _full_mem_check(silent ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#else
#define mem_block_check(type, ptr, silent)
#define full_mem_check(silent)
#endif
END_EXTERN_C()
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
File diff suppressed because it is too large. Load diff
+35
View File
@@ -0,0 +1,35 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_BUILTIN_FUNCTIONS_H
#define ZEND_BUILTIN_FUNCTIONS_H
int zend_startup_builtin_functions(TSRMLS_D);
#endif /* ZEND_BUILTIN_FUNCTIONS_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+3438
View File
File diff suppressed because it is too large. Load diff
+791
View File
@@ -0,0 +1,791 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_COMPILE_H
#define ZEND_COMPILE_H
#include "zend.h"
#ifdef HAVE_STDARG_H
# include <stdarg.h>
#endif
#include "zend_llist.h"
#define DEBUG_ZEND 0
#define FREE_PNODE(znode) zval_dtor(&znode->u.constant);
#define FREE_OP(Ts, op, should_free) if (should_free) zval_dtor(should_free);
#define SET_UNUSED(op) (op).op_type = IS_UNUSED
#define INC_BPC(op_array) if (CG(interactive)) { ((op_array)->backpatch_count++); }
#define DEC_BPC(op_array) if (CG(interactive)) { ((op_array)->backpatch_count--); }
#define HANDLE_INTERACTIVE() if (CG(interactive)) { execute_new_code(TSRMLS_C); }
#define RESET_DOC_COMMENT() \
{ \
CG(doc_comment) = NULL; \
CG(doc_comment_len) = 0; \
}
typedef struct _zend_op_array zend_op_array;
typedef struct _zend_op zend_op;
typedef struct _znode {
int op_type;
zend_llist *throw_list; /* Try and save this space later on */
union {
zval constant;
zend_uint var;
zend_uint opline_num; /* Needs to be signed */
zend_op_array *op_array;
zend_op *jmp_addr;
struct {
zend_uint var; /* dummy */
zend_uint type;
} EA;
} u;
} znode;
typedef struct _zend_execute_data zend_execute_data;
#define ZEND_OPCODE_HANDLER_ARGS zend_execute_data *execute_data, zend_op_array *op_array TSRMLS_DC
#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU execute_data, op_array TSRMLS_CC
typedef int (*opcode_handler_t) (ZEND_OPCODE_HANDLER_ARGS);
extern opcode_handler_t zend_opcode_handlers[512];
struct _zend_op {
opcode_handler_t handler;
znode result;
znode op1;
znode op2;
ulong extended_value;
uint lineno;
zend_uchar opcode;
};
typedef struct _zend_brk_cont_element {
int cont;
int brk;
int parent;
} zend_brk_cont_element;
#define ZEND_ACC_STATIC 0x01
#define ZEND_ACC_ABSTRACT 0x02
#define ZEND_ACC_FINAL 0x04
#define ZEND_ACC_INTERFACE 0x08
#define ZEND_ACC_ABSTRACT_CLASS 0x10
#define ZEND_ACC_FINAL_CLASS 0x20
/* The order of those must be kept - public < protected < private */
#define ZEND_ACC_PUBLIC 0x100
#define ZEND_ACC_PROTECTED 0x200
#define ZEND_ACC_PRIVATE 0x400
#define ZEND_ACC_PPP_MASK (ZEND_ACC_PUBLIC | ZEND_ACC_PROTECTED | ZEND_ACC_PRIVATE)
#define ZEND_ACC_CHANGED 0x800
#define ZEND_ACC_IMPLICIT_PUBLIC 0x1000
char *zend_visibility_string(zend_uint fn_flags);
typedef struct _zend_property_info {
zend_uint flags;
char *name;
int name_length;
ulong h;
} zend_property_info;
struct _zend_op_array {
/* Common elements */
zend_uchar type;
zend_uchar *arg_types;
char *function_name;
zend_class_entry *scope;
zend_uint fn_flags;
union _zend_function *prototype;
/* END of common elements */
zend_uint *refcount;
zend_op *opcodes;
zend_uint last, size;
zend_uint T;
zend_brk_cont_element *brk_cont_array;
zend_uint last_brk_cont;
zend_uint current_brk_cont;
/* static variables support */
HashTable *static_variables;
zend_op *start_op;
int backpatch_count;
zend_bool return_reference;
zend_bool done_pass_two;
zend_bool uses_this;
char *filename;
zend_uint line_start;
zend_uint line_end;
char *doc_comment;
zend_uint doc_comment_len;
void *reserved[ZEND_MAX_RESERVED_RESOURCES];
};
typedef struct _zend_internal_function {
/* Common elements */
zend_uchar type;
zend_uchar *arg_types;
char *function_name;
zend_class_entry *scope;
zend_uint fn_flags;
union _zend_function *prototype;
/* END of common elements */
void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
} zend_internal_function;
#define ZEND_FN_SCOPE_NAME(function) ((function) && (function)->common.scope ? (function)->common.scope->name : "")
typedef union _zend_function {
zend_uchar type; /* MUST be the first element of this struct! */
struct {
zend_uchar type; /* never used */
zend_uchar *arg_types;
char *function_name;
zend_class_entry *scope;
zend_uint fn_flags;
union _zend_function *prototype;
} common;
zend_op_array op_array;
zend_internal_function internal_function;
} zend_function;
typedef struct _zend_function_state {
HashTable *function_symbol_table;
zend_function *function;
void *reserved[ZEND_MAX_RESERVED_RESOURCES];
} zend_function_state;
typedef struct _zend_switch_entry {
znode cond;
int default_case;
int control_var;
} zend_switch_entry;
typedef struct _list_llist_element {
znode var;
zend_llist dimensions;
znode value;
} list_llist_element;
union _temp_variable;
struct _zend_execute_data {
struct _zend_op *opline;
zend_function_state function_state;
zend_function *fbc; /* Function Being Called */
zend_function *fbc_constructor;
zend_op_array *op_array;
zval *object;
union _temp_variable *Ts;
zend_bool original_in_execution;
zend_class_entry *calling_scope;
struct _zend_execute_data *prev_execute_data;
};
#define EX(element) execute_data.element
#define IS_CONST (1<<0)
#define IS_TMP_VAR (1<<1)
#define IS_VAR (1<<2)
#define IS_UNUSED (1<<3) /* Unused variable */
#define EXT_TYPE_UNUSED (1<<0)
#include "zend_globals.h"
BEGIN_EXTERN_C()
void init_compiler(TSRMLS_D);
void shutdown_compiler(TSRMLS_D);
void zend_init_compiler_data_structures(TSRMLS_D);
extern ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC);
ZEND_API int lex_scan(zval *zendlval TSRMLS_DC);
void startup_scanner(TSRMLS_D);
void shutdown_scanner(TSRMLS_D);
ZEND_API char *zend_set_compiled_filename(char *new_compiled_filename TSRMLS_DC);
ZEND_API void zend_restore_compiled_filename(char *original_compiled_filename TSRMLS_DC);
ZEND_API char *zend_get_compiled_filename(TSRMLS_D);
ZEND_API int zend_get_compiled_lineno(TSRMLS_D);
#ifdef ZTS
const char *zend_get_zendtext(TSRMLS_D);
int zend_get_zendleng(TSRMLS_D);
#endif
/* parser-driven code generators */
void zend_do_fold_binary_op(zend_uchar op, znode *result, znode *op1, znode *op2 TSRMLS_DC);
void zend_do_fold_constant(znode *result, znode *constant_name TSRMLS_DC);
void zend_do_binary_op(zend_uchar op, znode *result, znode *op1, znode *op2 TSRMLS_DC);
void zend_do_unary_op(zend_uchar op, znode *result, znode *op1 TSRMLS_DC);
void zend_do_binary_assign_op(zend_uchar op, znode *result, znode *op1, znode *op2 TSRMLS_DC);
void zend_do_assign(znode *result, znode *variable, znode *value TSRMLS_DC);
void zend_do_assign_ref(znode *result, znode *lvar, znode *rvar TSRMLS_DC);
void fetch_simple_variable(znode *result, znode *varname, int bp TSRMLS_DC);
void fetch_simple_variable_ex(znode *result, znode *varname, int bp, zend_uchar op TSRMLS_DC);
void zend_do_indirect_references(znode *result, znode *num_references, znode *variable TSRMLS_DC);
void zend_do_fetch_static_variable(znode *varname, znode *static_assignment, int fetch_type TSRMLS_DC);
void zend_do_fetch_global_variable(znode *varname, znode *static_assignment, int fetch_type TSRMLS_DC);
void fetch_array_begin(znode *result, znode *varname, znode *first_dim TSRMLS_DC);
void fetch_array_dim(znode *result, znode *parent, znode *dim TSRMLS_DC);
void fetch_string_offset(znode *result, znode *parent, znode *offset TSRMLS_DC);
void zend_do_fetch_static_member(znode *class_znode TSRMLS_DC);
void zend_do_print(znode *result, znode *arg TSRMLS_DC);
void zend_do_echo(znode *arg TSRMLS_DC);
typedef int (*unary_op_type)(zval *, zval *);
ZEND_API unary_op_type get_unary_op(int opcode);
ZEND_API void *get_binary_op(int opcode);
void zend_do_while_cond(znode *expr, znode *close_bracket_token TSRMLS_DC);
void zend_do_while_end(znode *while_token, znode *close_bracket_token TSRMLS_DC);
void zend_do_do_while_begin(TSRMLS_D);
void zend_do_do_while_end(znode *do_token, znode *expr_open_bracket, znode *expr TSRMLS_DC);
void zend_do_if_cond(znode *cond, znode *closing_bracket_token TSRMLS_DC);
void zend_do_if_after_statement(znode *closing_bracket_token, unsigned char initialize TSRMLS_DC);
void zend_do_if_end(TSRMLS_D);
void zend_do_for_cond(znode *expr, znode *second_semicolon_token TSRMLS_DC);
void zend_do_for_before_statement(znode *cond_start, znode *second_semicolon_token TSRMLS_DC);
void zend_do_for_end(znode *second_semicolon_token TSRMLS_DC);
void zend_do_pre_incdec(znode *result, znode *op1, zend_uchar op TSRMLS_DC);
void zend_do_post_incdec(znode *result, znode *op1, zend_uchar op TSRMLS_DC);
void zend_do_begin_variable_parse(TSRMLS_D);
void zend_do_end_variable_parse(int type, int arg_offset TSRMLS_DC);
void zend_check_writable_variable(znode *variable);
void zend_do_free(znode *op1 TSRMLS_DC);
void zend_do_init_string(znode *result TSRMLS_DC);
void zend_do_add_char(znode *result, znode *op1, znode *op2 TSRMLS_DC);
void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC);
void zend_do_add_variable(znode *result, znode *op1, znode *op2 TSRMLS_DC);
int zend_do_verify_access_types(znode *current_access_type, znode *new_modifier);
void zend_do_begin_function_declaration(znode *function_token, znode *function_name, int is_method, int return_reference, znode *fn_flags_znode TSRMLS_DC);
void zend_do_end_function_declaration(znode *function_token TSRMLS_DC);
void zend_do_receive_arg(zend_uchar op, znode *var, znode *offset, znode *initialization, znode *class_type, zend_uchar pass_type TSRMLS_DC);
int zend_do_begin_function_call(znode *function_name TSRMLS_DC);
void zend_do_begin_method_call(znode *left_bracket TSRMLS_DC);
void zend_do_begin_dynamic_function_call(znode *function_name TSRMLS_DC);
void zend_do_fetch_class(znode *result, znode *class_name TSRMLS_DC);
void zend_do_fetch_class_name(znode *result, znode *class_entry, znode *class_name, zend_bool case_sensitive TSRMLS_DC);
void zend_do_begin_class_member_function_call(TSRMLS_D);
void zend_do_end_function_call(znode *function_name, znode *result, znode *argument_list, int is_method, int is_dynamic_fcall TSRMLS_DC);
void zend_do_return(znode *expr, int do_end_vparse TSRMLS_DC);
void zend_do_try(znode *try_token TSRMLS_DC);
void zend_do_begin_catch(znode *try_token, znode *catch_class, znode *catch_var, zend_bool first_catch TSRMLS_DC);
void zend_do_end_catch(znode *try_token TSRMLS_DC);
void zend_do_throw(znode *expr TSRMLS_DC);
ZEND_API int do_bind_function(zend_op *opline, HashTable *function_table, HashTable *class_table, int compile_time);
ZEND_API zend_class_entry *do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table TSRMLS_DC);
ZEND_API zend_class_entry *do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce TSRMLS_DC);
ZEND_API void zend_do_inherit_interfaces(zend_class_entry *ce, zend_class_entry *ce2);
ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry *iface);
void zend_do_implements_interface(znode *interface_znode TSRMLS_DC);
void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce);
void zend_do_early_binding(TSRMLS_D);
void zend_do_pass_param(znode *param, zend_uchar op, int offset TSRMLS_DC);
void zend_do_boolean_or_begin(znode *expr1, znode *op_token TSRMLS_DC);
void zend_do_boolean_or_end(znode *result, znode *expr1, znode *expr2, znode *op_token TSRMLS_DC);
void zend_do_boolean_and_begin(znode *expr1, znode *op_token TSRMLS_DC);
void zend_do_boolean_and_end(znode *result, znode *expr1, znode *expr2, znode *op_token TSRMLS_DC);
void zend_do_brk_cont(zend_uchar op, znode *expr TSRMLS_DC);
void zend_do_switch_cond(znode *cond TSRMLS_DC);
void zend_do_switch_end(znode *case_list TSRMLS_DC);
void zend_do_case_before_statement(znode *case_list, znode *case_token, znode *case_expr TSRMLS_DC);
void zend_do_case_after_statement(znode *result, znode *case_token TSRMLS_DC);
void zend_do_default_before_statement(znode *case_list, znode *default_token TSRMLS_DC);
void zend_do_begin_class_declaration(znode *class_token, znode *class_name, znode *parent_class_name TSRMLS_DC);
void zend_do_end_class_declaration(znode *class_token, znode *parent_token TSRMLS_DC);
void zend_do_declare_property(znode *var_name, znode *value, zend_uint access_type TSRMLS_DC);
void zend_do_declare_implicit_property(TSRMLS_D);
void zend_do_declare_class_constant(znode *var_name, znode *value TSRMLS_DC);
void zend_do_fetch_property(znode *result, znode *object, znode *property TSRMLS_DC);
void zend_do_push_object(znode *object TSRMLS_DC);
void zend_do_pop_object(znode *object TSRMLS_DC);
void zend_do_begin_new_object(znode *new_token, znode *class_type TSRMLS_DC);
void zend_do_end_new_object(znode *result, znode *new_token, znode *argument_list TSRMLS_DC);
void zend_do_fetch_constant(znode *result, znode *constant_container, znode *constant_name, int mode TSRMLS_DC);
void zend_do_shell_exec(znode *result, znode *cmd TSRMLS_DC);
void zend_do_init_array(znode *result, znode *expr, znode *offset, zend_bool is_ref TSRMLS_DC);
void zend_do_add_array_element(znode *result, znode *expr, znode *offset, zend_bool is_ref TSRMLS_DC);
void zend_do_add_static_array_element(znode *result, znode *offset, znode *expr);
void zend_do_list_init(TSRMLS_D);
void zend_do_list_end(znode *result, znode *expr TSRMLS_DC);
void zend_do_add_list_element(znode *element TSRMLS_DC);
void zend_do_new_list_begin(TSRMLS_D);
void zend_do_new_list_end(TSRMLS_D);
void zend_do_cast(znode *result, znode *expr, int type TSRMLS_DC);
void zend_do_include_or_eval(int type, znode *result, znode *op1 TSRMLS_DC);
void zend_do_unset(znode *variable TSRMLS_DC);
void zend_do_isset_or_isempty(int type, znode *result, znode *variable TSRMLS_DC);
void zend_do_instanceof(znode *result, znode *expr, znode *class_znode, int type TSRMLS_DC);
void zend_do_foreach_begin(znode *foreach_token, znode *array, znode *open_brackets_token, znode *as_token, int variable TSRMLS_DC);
void zend_do_foreach_cont(znode *value, znode *key, znode *as_token, znode *foreach_token TSRMLS_DC);
void zend_do_foreach_end(znode *foreach_token, znode *open_brackets_token TSRMLS_DC);
void zend_do_declare_begin(TSRMLS_D);
void zend_do_declare_stmt(znode *var, znode *val TSRMLS_DC);
void zend_do_declare_end(znode *declare_token TSRMLS_DC);
void zend_do_end_heredoc(TSRMLS_D);
void zend_do_exit(znode *result, znode *message TSRMLS_DC);
void zend_do_begin_silence(znode *strudel_token TSRMLS_DC);
void zend_do_end_silence(znode *strudel_token TSRMLS_DC);
void zend_do_begin_qm_op(znode *cond, znode *qm_token TSRMLS_DC);
void zend_do_qm_true(znode *true_value, znode *qm_token, znode *colon_token TSRMLS_DC);
void zend_do_qm_false(znode *result, znode *false_value, znode *qm_token, znode *colon_token TSRMLS_DC);
void zend_do_extended_info(TSRMLS_D);
void zend_do_extended_fcall_begin(TSRMLS_D);
void zend_do_extended_fcall_end(TSRMLS_D);
void zend_do_ticks(TSRMLS_D);
void zend_do_abstract_method(znode *function_name, znode *modifiers, znode *body TSRMLS_DC);
ZEND_API void function_add_ref(zend_function *function);
#define INITIAL_OP_ARRAY_SIZE 64
/* helper functions in zend_language_scanner.l */
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC);
ZEND_API zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC);
ZEND_API zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC);
ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_count, ...);
ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC);
ZEND_API void init_op_array(zend_op_array *op_array, zend_uchar type, int initial_ops_size TSRMLS_DC);
ZEND_API void destroy_op_array(zend_op_array *op_array TSRMLS_DC);
ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC);
ZEND_API void zend_file_handle_dtor(zend_file_handle *fh);
ZEND_API int zend_cleanup_class_data(zend_class_entry **pce TSRMLS_DC);
ZEND_API int zend_cleanup_function_data(zend_function *function TSRMLS_DC);
ZEND_API void destroy_zend_function(zend_function *function TSRMLS_DC);
ZEND_API void destroy_zend_class(zend_class_entry **pce);
void zend_class_add_ref(zend_class_entry **ce);
void mangle_property_name(char **dest, int *dest_length, char *src1, int src1_length, char *src2, int src2_length);
void unmangle_property_name(char *mangled_property, char **prop_name, char **class_name);
void zend_duplicate_property_info(zend_property_info *property_info);
void zend_destroy_property_info(zend_property_info *property_info);
#define ZEND_FUNCTION_DTOR (void (*)(void *)) destroy_zend_function
#define ZEND_CLASS_DTOR (void (*)(void *)) destroy_zend_class
zend_op *get_next_op(zend_op_array *op_array TSRMLS_DC);
void init_op(zend_op *op TSRMLS_DC);
int get_next_op_number(zend_op_array *op_array);
int print_class(zend_class_entry *class_entry TSRMLS_DC);
void print_op_array(zend_op_array *op_array, int optimizations);
int pass_two(zend_op_array *op_array TSRMLS_DC);
zend_brk_cont_element *get_next_brk_cont_element(zend_op_array *op_array);
ZEND_API zend_bool zend_is_compiling(TSRMLS_D);
ZEND_API char *zend_make_compiled_string_description(char *name TSRMLS_DC);
void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers TSRMLS_DC);
int zend_get_class_fetch_type(char *class_name, uint class_name_len);
typedef zend_bool (*zend_auto_global_callback)(char *name, uint name_len TSRMLS_DC);
typedef struct _zend_auto_global {
char *name;
uint name_len;
zend_auto_global_callback auto_global_callback;
zend_bool armed;
} zend_auto_global;
void zend_auto_global_dtor(zend_auto_global *auto_global);
ZEND_API int zend_register_auto_global(char *name, uint name_len, zend_auto_global_callback auto_global_callback TSRMLS_DC);
ZEND_API zend_bool zend_is_auto_global(char *name, uint name_len TSRMLS_DC);
int zendlex(znode *zendlval TSRMLS_DC);
/* BEGIN: OPCODES */
#define ZEND_NOP 0
#define ZEND_ADD 1
#define ZEND_SUB 2
#define ZEND_MUL 3
#define ZEND_DIV 4
#define ZEND_MOD 5
#define ZEND_SL 6
#define ZEND_SR 7
#define ZEND_CONCAT 8
#define ZEND_BW_OR 9
#define ZEND_BW_AND 10
#define ZEND_BW_XOR 11
#define ZEND_BW_NOT 12
#define ZEND_BOOL_NOT 13
#define ZEND_BOOL_XOR 14
#define ZEND_IS_IDENTICAL 15
#define ZEND_IS_NOT_IDENTICAL 16
#define ZEND_IS_EQUAL 17
#define ZEND_IS_NOT_EQUAL 18
#define ZEND_IS_SMALLER 19
#define ZEND_IS_SMALLER_OR_EQUAL 20
#define ZEND_CAST 21
#define ZEND_QM_ASSIGN 22
#define ZEND_ASSIGN_ADD 23
#define ZEND_ASSIGN_SUB 24
#define ZEND_ASSIGN_MUL 25
#define ZEND_ASSIGN_DIV 26
#define ZEND_ASSIGN_MOD 27
#define ZEND_ASSIGN_SL 28
#define ZEND_ASSIGN_SR 29
#define ZEND_ASSIGN_CONCAT 30
#define ZEND_ASSIGN_BW_OR 31
#define ZEND_ASSIGN_BW_AND 32
#define ZEND_ASSIGN_BW_XOR 33
#define ZEND_PRE_INC 34
#define ZEND_PRE_DEC 35
#define ZEND_POST_INC 36
#define ZEND_POST_DEC 37
#define ZEND_ASSIGN 38
#define ZEND_ASSIGN_REF 39
#define ZEND_ECHO 40
#define ZEND_PRINT 41
#define ZEND_JMP 42
#define ZEND_JMPZ 43
#define ZEND_JMPNZ 44
#define ZEND_JMPZNZ 45
#define ZEND_JMPZ_EX 46
#define ZEND_JMPNZ_EX 47
#define ZEND_CASE 48
#define ZEND_SWITCH_FREE 49
#define ZEND_BRK 50
#define ZEND_CONT 51
#define ZEND_BOOL 52
#define ZEND_INIT_STRING 53
#define ZEND_ADD_CHAR 54
#define ZEND_ADD_STRING 55
#define ZEND_ADD_VAR 56
#define ZEND_BEGIN_SILENCE 57
#define ZEND_END_SILENCE 58
#define ZEND_INIT_FCALL_BY_NAME 59
#define ZEND_DO_FCALL 60
#define ZEND_DO_FCALL_BY_NAME 61
#define ZEND_RETURN 62
#define ZEND_RECV 63
#define ZEND_RECV_INIT 64
#define ZEND_SEND_VAL 65
#define ZEND_SEND_VAR 66
#define ZEND_SEND_REF 67
#define ZEND_NEW 68
#define ZEND_JMP_NO_CTOR 69
#define ZEND_FREE 70
#define ZEND_INIT_ARRAY 71
#define ZEND_ADD_ARRAY_ELEMENT 72
#define ZEND_INCLUDE_OR_EVAL 73
#define ZEND_UNSET_VAR 74
#define ZEND_UNSET_DIM_OBJ 75
#define ZEND_FE_RESET 77
#define ZEND_FE_FETCH 78
#define ZEND_EXIT 79
/* the following 18 opcodes are 6 groups of 3 opcodes each, and must
* remain in that order!
*/
#define ZEND_FETCH_R 80
#define ZEND_FETCH_DIM_R 81
#define ZEND_FETCH_OBJ_R 82
#define ZEND_FETCH_W 83
#define ZEND_FETCH_DIM_W 84
#define ZEND_FETCH_OBJ_W 85
#define ZEND_FETCH_RW 86
#define ZEND_FETCH_DIM_RW 87
#define ZEND_FETCH_OBJ_RW 88
#define ZEND_FETCH_IS 89
#define ZEND_FETCH_DIM_IS 90
#define ZEND_FETCH_OBJ_IS 91
#define ZEND_FETCH_FUNC_ARG 92
#define ZEND_FETCH_DIM_FUNC_ARG 93
#define ZEND_FETCH_OBJ_FUNC_ARG 94
#define ZEND_FETCH_UNSET 95
#define ZEND_FETCH_DIM_UNSET 96
#define ZEND_FETCH_OBJ_UNSET 97
#define ZEND_FETCH_DIM_TMP_VAR 98
#define ZEND_FETCH_CONSTANT 99
/* Hole - 100 */
#define ZEND_EXT_STMT 101
#define ZEND_EXT_FCALL_BEGIN 102
#define ZEND_EXT_FCALL_END 103
#define ZEND_EXT_NOP 104
#define ZEND_TICKS 105
#define ZEND_SEND_VAR_NO_REF 106
#define ZEND_CATCH 107
#define ZEND_THROW 108
#define ZEND_FETCH_CLASS 109
#define ZEND_CLONE 110
#define ZEND_INIT_CTOR_CALL 111
#define ZEND_INIT_METHOD_CALL 112
#define ZEND_INIT_STATIC_METHOD_CALL 113
#define ZEND_ISSET_ISEMPTY_VAR 114
#define ZEND_ISSET_ISEMPTY_DIM_OBJ 115
#define ZEND_IMPORT_FUNCTION 116
#define ZEND_IMPORT_CLASS 117
#define ZEND_IMPORT_CONST 118
#define ZEND_PRE_INC_OBJ 132
#define ZEND_PRE_DEC_OBJ 133
#define ZEND_POST_INC_OBJ 134
#define ZEND_POST_DEC_OBJ 135
#define ZEND_ASSIGN_OBJ 136
#define ZEND_OP_DATA 137
#define ZEND_INSTANCEOF 138
#define ZEND_DECLARE_CLASS 139
#define ZEND_DECLARE_INHERITED_CLASS 140
#define ZEND_DECLARE_FUNCTION 141
#define ZEND_RAISE_ABSTRACT_ERROR 142
#define ZEND_ADD_INTERFACE 144
#define ZEND_VERIFY_INSTANCEOF 145
#define ZEND_VERIFY_ABSTRACT_CLASS 146
#define ZEND_ASSIGN_DIM 147
/* end of block */
/* END: OPCODES */
/* global/local fetches */
#define ZEND_FETCH_GLOBAL 0
#define ZEND_FETCH_LOCAL 1
#define ZEND_FETCH_STATIC 2
#define ZEND_FETCH_STATIC_MEMBER 3
/* obj/dim unsets */
#define ZEND_UNSET_DIM 1
#define ZEND_UNSET_OBJ 2
/* class fetches */
#define ZEND_FETCH_CLASS_DEFAULT 0
#define ZEND_FETCH_CLASS_SELF 1
#define ZEND_FETCH_CLASS_PARENT 2
#define ZEND_FETCH_CLASS_MAIN 3
#define ZEND_FETCH_CLASS_GLOBAL 4
#define ZEND_FETCH_CLASS_AUTO 5
/* variable parsing type (compile-time) */
#define ZEND_PARSED_MEMBER (1<<0)
#define ZEND_PARSED_METHOD_CALL (1<<1)
#define ZEND_PARSED_STATIC_MEMBER (1<<2)
#define ZEND_PARSED_FUNCTION_CALL (1<<3)
#define ZEND_PARSED_VARIABLE (1<<4)
#define ZEND_PARSED_REFERENCE_VARIABLE (1<<5)
/* unset types */
#define ZEND_UNSET_REG 0
/* var status for backpatching */
#define BP_VAR_R 0
#define BP_VAR_W 1
#define BP_VAR_RW 2
#define BP_VAR_IS 3
#define BP_VAR_NA 4 /* if not applicable */
#define BP_VAR_FUNC_ARG 5
#define BP_VAR_UNSET 6
#define ZEND_INTERNAL_FUNCTION 1
#define ZEND_USER_FUNCTION 2
#define ZEND_OVERLOADED_FUNCTION 3
#define ZEND_EVAL_CODE 4
#define ZEND_INTERNAL_CLASS 1
#define ZEND_USER_CLASS 2
#define ZEND_EVAL (1<<0)
#define ZEND_INCLUDE (1<<1)
#define ZEND_INCLUDE_ONCE (1<<2)
#define ZEND_REQUIRE (1<<3)
#define ZEND_REQUIRE_ONCE (1<<4)
#define ZEND_ISSET (1<<0)
#define ZEND_ISEMPTY (1<<1)
#define ZEND_CT (1<<0)
#define ZEND_RT (1<<1)
#define ZEND_HANDLE_FILENAME 0
#define ZEND_HANDLE_FD 1
#define ZEND_HANDLE_FP 2
#define ZEND_HANDLE_STDIOSTREAM 3
#define ZEND_HANDLE_FSTREAM 4
#define ZEND_HANDLE_STREAM 5
#define ZEND_FETCH_STANDARD 0
#define ZEND_FETCH_ADD_LOCK 1
#define ZEND_MEMBER_FUNC_CALL 1<<0
#define ZEND_ARG_SEND_BY_REF (1<<0)
#define ZEND_ARG_COMPILE_TIME_BOUND (1<<1)
#define AI_USE_PTR(ai) \
if ((ai).ptr_ptr) { \
(ai).ptr = *((ai).ptr_ptr); \
(ai).ptr_ptr = &((ai).ptr); \
} else { \
(ai).ptr = NULL; \
}
/* Lost In Stupid Parentheses */
#define ARG_SHOULD_BE_SENT_BY_REF(offset, conduct_check, arg_types) \
( \
conduct_check \
&& arg_types \
&& \
( \
( \
offset<=arg_types[0] \
&& arg_types[offset]==BYREF_FORCE \
) \
|| ( \
offset>=arg_types[0] \
&& arg_types[arg_types[0]]==BYREF_FORCE_REST \
) \
) \
)
#define ZEND_RETURN_VAL 0
#define ZEND_RETURN_REF 1
END_EXTERN_C()
#define ZEND_CLONE_FUNC_NAME "__clone"
#define ZEND_CONSTRUCTOR_FUNC_NAME "__construct"
#define ZEND_DESTRUCTOR_FUNC_NAME "__destruct"
#define ZEND_GET_FUNC_NAME "__get"
#define ZEND_SET_FUNC_NAME "__set"
#define ZEND_CALL_FUNC_NAME "__call"
#endif /* ZEND_COMPILE_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+88
View File
@@ -0,0 +1,88 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_CONFIG_NW_H
#define ZEND_CONFIG_NW_H
#include <string.h>
#include <float.h>
typedef unsigned long ulong;
typedef unsigned int uint;
#define HAVE_ALLOCA 1
#define HAVE_LIMITS_H 1
/* #include <malloc.h> */
#define HAVE_STRING_H 1
#undef HAVE_KILL
#define HAVE_GETPID 1
/* #define HAVE_ALLOCA_H 1 */
#define HAVE_MEMCPY 1
#define HAVE_STRDUP 1
#define HAVE_SYS_TYPES_H 1
/* #define HAVE_STDIOSTR_H 1 */
#define HAVE_CLASS_ISTDIOSTREAM
#define istdiostream stdiostream
#define HAVE_STDARG_H 1
#define HAVE_DLFCN_H 1
/* #define HAVE_LIBDL 1 */
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
/*
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#define zend_isinf(a) 0
#define zend_finite(x) _finite(x)
#define zend_isnan(x) _isnan(x)
*/
#define zend_sprintf sprintf
/* This will cause the compilation process to be MUCH longer, but will generate
* a much quicker PHP binary
*/
/*
#undef inline
#ifdef ZEND_WIN32_FORCE_INLINE
# define inline __forceinline
#else
# define inline
#endif
*/
/*
#define zend_finite(A) _finite(A)
#define zend_isnan(A) _isnan(A)
*/
#endif /* ZEND_CONFIG_NW_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+107
View File
@@ -0,0 +1,107 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_CONFIG_W32_H
#define ZEND_CONFIG_W32_H
#define HAVE_ALLOCA 1
#define HAVE_LIMITS_H 1
#define _CRTDBG_MAP_ALLOC
#include <malloc.h>
#include <stdlib.h>
#include <crtdbg.h>
#include <string.h>
#ifndef ZEND_INCLUDE_FULL_WINDOWS_HEADERS
#define WIN32_LEAN_AND_MEAN
#endif
#include <winsock2.h>
#include <windows.h>
#include <float.h>
typedef unsigned long ulong;
typedef unsigned int uint;
#undef HAVE_KILL
#define HAVE_GETPID 1
/* #define HAVE_ALLOCA_H 1 */
#define HAVE_MEMCPY 1
#define HAVE_STRDUP 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_STDIOSTR_H 1
#define HAVE_CLASS_ISTDIOSTREAM
#define istdiostream stdiostream
#define HAVE_STDARG_H 1
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#define strcasecmp(s1, s2) stricmp(s1, s2)
#define strncasecmp(s1, s2, n) strnicmp(s1, s2, n)
#define zend_isinf(a) ((_fpclass(a) == _FPCLASS_PINF) || (_fpclass(a) == _FPCLASS_NINF))
#define zend_finite(x) _finite(x)
#define zend_isnan(x) _isnan(x)
#define zend_sprintf sprintf
/* This will cause the compilation process to be MUCH longer, but will generate
* a much quicker PHP binary
*/
#undef inline
#ifdef ZEND_WIN32_FORCE_INLINE
# define inline __forceinline
#else
# define inline
#endif
#ifdef LIBZEND_EXPORTS
# define ZEND_API __declspec(dllexport)
#else
# define ZEND_API __declspec(dllimport)
#endif
#define ZEND_DLEXPORT __declspec(dllexport)
#define ZEND_DLIMPORT __declspec(dllimport)
/* 0x00200000L is MB_SERVICE_NOTIFICATION, which is only supported under Windows NT
* (and requires _WIN32_WINNT to be defined, which prevents the resulting executable
* from running under Windows 9x
* Windows 9x should silently ignore it, so it's being used here directly
*/
#ifndef MB_SERVICE_NOTIFICATION
#define MB_SERVICE_NOTIFICATION 0x00200000L
#endif
#define ZEND_SERVICE_MB_STYLE (MB_TOPMOST|MB_SERVICE_NOTIFICATION)
#endif /* ZEND_CONFIG_W32_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+337
View File
@@ -0,0 +1,337 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#include "zend.h"
#include "zend_constants.h"
#include "zend_execute.h"
#include "zend_variables.h"
#include "zend_operators.h"
#include "zend_globals.h"
void free_zend_constant(zend_constant *c)
{
if (!(c->flags & CONST_PERSISTENT)) {
zval_dtor(&c->value);
}
free(c->name);
}
void copy_zend_constant(zend_constant *c)
{
c->name = zend_strndup(c->name, c->name_len);
if (!(c->flags & CONST_PERSISTENT)) {
zval_copy_ctor(&c->value);
}
}
void zend_copy_constants(HashTable *target, HashTable *source)
{
zend_constant tmp_constant;
zend_hash_copy(target, source, (copy_ctor_func_t) copy_zend_constant, &tmp_constant, sizeof(zend_constant));
}
static int clean_non_persistent_constant(zend_constant *c TSRMLS_DC)
{
if (c->flags & CONST_PERSISTENT) {
return EG(full_tables_cleanup) ? 0 : ZEND_HASH_APPLY_STOP;
} else {
return EG(full_tables_cleanup) ? 1 : ZEND_HASH_APPLY_REMOVE;
}
}
static int clean_module_constant(zend_constant *c, int *module_number TSRMLS_DC)
{
if (c->module_number == *module_number) {
return 1;
} else {
return 0;
}
}
void clean_module_constants(int module_number TSRMLS_DC)
{
zend_hash_apply_with_argument(EG(zend_constants), (apply_func_arg_t) clean_module_constant, (void *) &module_number TSRMLS_CC);
}
int zend_startup_constants(TSRMLS_D)
{
EG(zend_constants) = (HashTable *) malloc(sizeof(HashTable));
if (zend_hash_init(EG(zend_constants), 20, NULL, ZEND_CONSTANT_DTOR, 1)==FAILURE) {
return FAILURE;
}
return SUCCESS;
}
void zend_register_standard_constants(TSRMLS_D)
{
REGISTER_MAIN_LONG_CONSTANT("E_ERROR", E_ERROR, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_WARNING", E_WARNING, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_PARSE", E_PARSE, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_NOTICE", E_NOTICE, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_CORE_ERROR", E_CORE_ERROR, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_CORE_WARNING", E_CORE_WARNING, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_COMPILE_ERROR", E_COMPILE_ERROR, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_COMPILE_WARNING", E_COMPILE_WARNING, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_USER_ERROR", E_USER_ERROR, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_USER_WARNING", E_USER_WARNING, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_USER_NOTICE", E_USER_NOTICE, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("E_ALL", E_ALL, CONST_PERSISTENT | CONST_CS);
/* true/false constants */
{
zend_constant c;
c.value.type = IS_BOOL;
c.flags = CONST_PERSISTENT;
c.module_number = 0;
c.name = zend_strndup(ZEND_STRS("TRUE"));
c.name_len = sizeof("TRUE");
c.value.value.lval = 1;
c.value.type = IS_BOOL;
zend_register_constant(&c TSRMLS_CC);
c.name = zend_strndup(ZEND_STRS("FALSE"));
c.name_len = sizeof("FALSE");
c.value.value.lval = 0;
c.value.type = IS_BOOL;
zend_register_constant(&c TSRMLS_CC);
c.name = zend_strndup(ZEND_STRS("ZEND_THREAD_SAFE"));
c.name_len = sizeof("ZEND_THREAD_SAFE");
c.value.value.lval = ZTS_V;
c.value.type = IS_BOOL;
zend_register_constant(&c TSRMLS_CC);
c.name = zend_strndup(ZEND_STRS("NULL"));
c.name_len = sizeof("NULL");
c.value.type = IS_NULL;
zend_register_constant(&c TSRMLS_CC);
}
}
int zend_shutdown_constants(TSRMLS_D)
{
zend_hash_destroy(EG(zend_constants));
free(EG(zend_constants));
return SUCCESS;
}
void clean_non_persistent_constants(TSRMLS_D)
{
if (EG(full_tables_cleanup)) {
zend_hash_apply(EG(zend_constants), (apply_func_t) clean_non_persistent_constant TSRMLS_CC);
} else {
zend_hash_reverse_apply(EG(zend_constants), (apply_func_t) clean_non_persistent_constant TSRMLS_CC);
}
}
ZEND_API void zend_register_long_constant(char *name, uint name_len, long lval, int flags, int module_number TSRMLS_DC)
{
zend_constant c;
c.value.type = IS_LONG;
c.value.value.lval = lval;
c.flags = flags;
c.name = zend_strndup(name, name_len);
c.name_len = name_len;
c.module_number = module_number;
zend_register_constant(&c TSRMLS_CC);
}
ZEND_API void zend_register_double_constant(char *name, uint name_len, double dval, int flags, int module_number TSRMLS_DC)
{
zend_constant c;
c.value.type = IS_DOUBLE;
c.value.value.dval = dval;
c.flags = flags;
c.name = zend_strndup(name, name_len);
c.name_len = name_len;
c.module_number = module_number;
zend_register_constant(&c TSRMLS_CC);
}
ZEND_API void zend_register_stringl_constant(char *name, uint name_len, char *strval, uint strlen, int flags, int module_number TSRMLS_DC)
{
zend_constant c;
c.value.type = IS_STRING;
c.value.value.str.val = strval;
c.value.value.str.len = strlen;
c.flags = flags;
c.name = zend_strndup(name, name_len);
c.name_len = name_len;
c.module_number = module_number;
zend_register_constant(&c TSRMLS_CC);
}
ZEND_API void zend_register_string_constant(char *name, uint name_len, char *strval, int flags, int module_number TSRMLS_DC)
{
zend_register_stringl_constant(name, name_len, strval, strlen(strval), flags, module_number TSRMLS_CC);
}
ZEND_API int zend_get_constant(char *name, uint name_len, zval *result TSRMLS_DC)
{
zend_constant *c;
char *lookup_name;
int retval = 1;
char *colon;
if ((colon = memchr(name, ':', name_len)) && colon[1] == ':') {
/* class constant */
zend_class_entry **ce = NULL, *scope;
int class_name_len = colon-name;
int const_name_len = name_len - class_name_len - 2;
char *constant_name = colon+2;
zval **ret_constant;
if (EG(in_execution)) {
scope = EG(scope);
} else {
scope = CG(active_class_entry);
}
lookup_name = do_alloca(class_name_len+1);
zend_str_tolower_copy(lookup_name, name, class_name_len);
lookup_name[class_name_len] = '\0';
if (class_name_len == sizeof("self")-1 && strcmp(lookup_name, "self") == 0) {
if (scope) {
ce = &scope;
} else {
zend_error(E_ERROR, "Cannot access self:: when no class scope is active");
retval = 0;
}
} else if (class_name_len == sizeof("parent")-1 && strcmp(lookup_name, "parent") == 0) {
if (!scope) {
zend_error(E_ERROR, "Cannot access parent:: when no class scope is active");
} else if (!scope->parent) {
zend_error(E_ERROR, "Cannot access parent:: when current class scope has no parent");
} else {
ce = &scope->parent;
}
} else {
if (zend_lookup_class(lookup_name, class_name_len, &ce TSRMLS_CC) != SUCCESS) {
retval = 0;
}
}
if (retval && ce) {
if (zend_hash_find(&((*ce)->constants_table), constant_name, const_name_len+1, (void **) &ret_constant) != SUCCESS) {
retval = 0;
}
} else {
retval = 0;
}
if (retval) {
*result = **ret_constant;
zval_copy_ctor(result);
}
free_alloca(lookup_name);
return retval;
}
if (zend_hash_find(EG(zend_constants), name, name_len+1, (void **) &c) == FAILURE) {
lookup_name = do_alloca(name_len+1);
zend_str_tolower_copy(lookup_name, name, name_len);
lookup_name[name_len] = '\0';
if (zend_hash_find(EG(zend_constants), lookup_name, name_len+1, (void **) &c)==SUCCESS) {
if ((c->flags & CONST_CS) && memcmp(c->name, name, name_len)!=0) {
retval=0;
}
} else {
retval=0;
}
free_alloca(lookup_name);
}
if (retval) {
*result = c->value;
zval_copy_ctor(result);
result->refcount = 1;
result->is_ref = 0;
}
return retval;
}
ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC)
{
char *lowercase_name;
int ret = SUCCESS;
#if 0
printf("Registering constant for module %d\n", c->module_number);
#endif
if (!(c->flags & CONST_CS)) {
/* keep in mind that c->name_len already contains the '\0' */
lowercase_name = do_alloca(c->name_len);
zend_str_tolower_copy(lowercase_name, c->name, c->name_len - 1);
} else {
lowercase_name = do_alloca(c->name_len + 1);
memcpy(lowercase_name, c->name, c->name_len);
lowercase_name[c->name_len] = '\0';
}
if (zend_hash_add(EG(zend_constants), lowercase_name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) {
free(c->name);
if (!(c->flags & CONST_PERSISTENT)) {
zval_dtor(&c->value);
}
zend_error(E_NOTICE,"Constant %s already defined", lowercase_name);
ret = FAILURE;
}
free_alloca(lowercase_name);
return ret;
}
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+75
View File
@@ -0,0 +1,75 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_CONSTANTS_H
#define ZEND_CONSTANTS_H
#include "zend_globals.h"
#define CONST_CS (1<<0) /* Case Sensitive */
#define CONST_PERSISTENT (1<<1) /* Persistent */
typedef struct _zend_constant {
zval value;
int flags;
char *name;
uint name_len;
int module_number;
} zend_constant;
#define REGISTER_LONG_CONSTANT(name, lval, flags) zend_register_long_constant((name), sizeof(name), (lval), (flags), module_number TSRMLS_CC)
#define REGISTER_DOUBLE_CONSTANT(name, dval, flags) zend_register_double_constant((name), sizeof(name), (dval), (flags), module_number TSRMLS_CC)
#define REGISTER_STRING_CONSTANT(name, str, flags) zend_register_string_constant((name), sizeof(name), (str), (flags), module_number TSRMLS_CC)
#define REGISTER_STRINGL_CONSTANT(name, str, len, flags) zend_register_stringl_constant((name), sizeof(name), (str), (len), (flags), module_number TSRMLS_CC)
#define REGISTER_MAIN_LONG_CONSTANT(name, lval, flags) zend_register_long_constant((name), sizeof(name), (lval), (flags), 0 TSRMLS_CC)
#define REGISTER_MAIN_DOUBLE_CONSTANT(name, dval, flags) zend_register_double_constant((name), sizeof(name), (dval), (flags), 0 TSRMLS_CC)
#define REGISTER_MAIN_STRING_CONSTANT(name, str, flags) zend_register_string_constant((name), sizeof(name), (str), (flags), 0 TSRMLS_CC)
#define REGISTER_MAIN_STRINGL_CONSTANT(name, str, len, flags) zend_register_stringl_constant((name), sizeof(name), (str), (len), (flags), 0 TSRMLS_CC)
BEGIN_EXTERN_C()
void clean_module_constants(int module_number TSRMLS_DC);
void free_zend_constant(zend_constant *c);
int zend_startup_constants(TSRMLS_D);
int zend_shutdown_constants(TSRMLS_D);
void zend_register_standard_constants(TSRMLS_D);
void clean_non_persistent_constants(TSRMLS_D);
ZEND_API int zend_get_constant(char *name, uint name_len, zval *result TSRMLS_DC);
ZEND_API void zend_register_long_constant(char *name, uint name_len, long lval, int flags, int module_number TSRMLS_DC);
ZEND_API void zend_register_double_constant(char *name, uint name_len, double dval, int flags, int module_number TSRMLS_DC);
ZEND_API void zend_register_string_constant(char *name, uint name_len, char *strval, int flags, int module_number TSRMLS_DC);
ZEND_API void zend_register_stringl_constant(char *name, uint name_len, char *strval, uint strlen, int flags, int module_number TSRMLS_DC);
ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC);
void zend_copy_constants(HashTable *target, HashTable *sourc);
void copy_zend_constant(zend_constant *c);
END_EXTERN_C();
#define ZEND_CONSTANT_DTOR (void (*)(void *)) free_zend_constant
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+142
View File
@@ -0,0 +1,142 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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: Sterling Hughes <sterling@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include "zend.h"
#include "zend_API.h"
#include "zend_reflection_api.h"
zend_class_entry *default_exception_ptr;
ZEND_FUNCTION(exception)
{
zval **message;
zval **code;
zval *tmp;
zval *object;
int argc = ZEND_NUM_ARGS();
if (zend_get_parameters_ex(argc, &message, &code) == FAILURE) {
ZEND_WRONG_PARAM_COUNT();
}
object = getThis();
if (argc > 0) {
convert_to_string_ex(message);
zval_add_ref(message);
zend_hash_update(Z_OBJPROP_P(object), "message", sizeof("message"), (void **) message, sizeof(zval *), NULL);
}
if (argc > 1) {
convert_to_long_ex(code);
zval_add_ref(code);
zend_hash_update(Z_OBJPROP_P(object), "code", sizeof("code"), (void **) code, sizeof(zval *), NULL);
}
MAKE_STD_ZVAL(tmp);
ZVAL_STRING(tmp, zend_get_executed_filename(TSRMLS_C), 1);
zend_hash_update(Z_OBJPROP_P(object), "file", sizeof("file"), (void **) &tmp, sizeof(zval *), NULL);
tmp = NULL;
MAKE_STD_ZVAL(tmp);
ZVAL_LONG(tmp, zend_get_executed_lineno(TSRMLS_C));
zend_hash_update(Z_OBJPROP_P(object), "line", sizeof("line"), (void **) &tmp, sizeof(zval *), NULL);
}
#define DEFAULT_0_PARAMS \
if (ZEND_NUM_ARGS() > 0) { \
ZEND_WRONG_PARAM_COUNT(); \
}
static void _default_exception_get_entry(zval *object, char *name, int name_len, zval *return_value TSRMLS_DC)
{
zval **value;
if (zend_hash_find(Z_OBJPROP_P(object), name, name_len, (void **) &value) == FAILURE) {
RETURN_FALSE;
}
*return_value = **value;
zval_copy_ctor(return_value);
}
ZEND_FUNCTION(getfile)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "file", sizeof("file"), return_value TSRMLS_CC);
}
ZEND_FUNCTION(getline)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "line", sizeof("line"), return_value TSRMLS_CC);
}
ZEND_FUNCTION(getmessage)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "message", sizeof("message"), return_value TSRMLS_CC);
}
ZEND_FUNCTION(getcode)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "code", sizeof("code"), return_value TSRMLS_CC);
}
static zend_function_entry default_exception_functions[] = {
ZEND_FE(exception, NULL)
ZEND_FE(getmessage, NULL)
ZEND_FE(getcode, NULL)
ZEND_FE(getfile, NULL)
ZEND_FE(getline, NULL)
{NULL, NULL, NULL}
};
static void zend_register_default_exception(TSRMLS_D)
{
zend_class_entry default_exception;
INIT_CLASS_ENTRY(default_exception, "exception", default_exception_functions);
default_exception_ptr = zend_register_internal_class(&default_exception TSRMLS_CC);
}
ZEND_API zend_class_entry *zend_exception_get_default(void)
{
return default_exception_ptr;
}
ZEND_API void zend_register_default_classes(TSRMLS_D)
{
zend_register_default_exception(TSRMLS_C);
zend_register_reflection_api(TSRMLS_C);
}
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+39
View File
@@ -0,0 +1,39 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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: Sterling Hughes <sterling@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef ZEND_DEFAULT_CLASSES_H
#define ZEND_DEFAULT_CLASSES_H
BEGIN_EXTERN_C()
ZEND_API zend_class_entry *zend_exception_get_default(void);
ZEND_API void zend_register_default_classes(TSRMLS_D);
END_EXTERN_C()
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+72
View File
@@ -0,0 +1,72 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#include "zend.h"
typedef struct _dynamic_array {
char *array;
unsigned int element_size;
unsigned int current;
unsigned int allocated;
} dynamic_array;
ZEND_API int zend_dynamic_array_init(dynamic_array *da, unsigned int element_size, unsigned int size)
{
da->element_size = element_size;
da->allocated = size;
da->current = 0;
da->array = (char *) emalloc(size*element_size);
if (da->array == NULL) {
return 1;
}
return 0;
}
ZEND_API void *zend_dynamic_array_push(dynamic_array *da)
{
if (da->current == da->allocated) {
da->allocated *= 2;
da->array = (char *) erealloc(da->array, da->allocated*da->element_size);
}
return (void *)(da->array+(da->current++)*da->element_size);
}
ZEND_API void *zend_dynamic_array_pop(dynamic_array *da)
{
return (void *)(da->array+(--(da->current))*da->element_size);
}
ZEND_API void *zend_dynamic_array_get_element(dynamic_array *da, unsigned int index)
{
if (index >= da->current) {
return NULL;
}
return (void *)(da->array+index*da->element_size);
}
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+47
View File
@@ -0,0 +1,47 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_DYNAMIC_ARRAY_H
#define ZEND_DYNAMIC_ARRAY_H
typedef struct _dynamic_array {
char *array;
unsigned int element_size;
unsigned int last_used;
unsigned int allocated;
} dynamic_array;
BEGIN_EXTERN_C()
ZEND_API int zend_dynamic_array_init(dynamic_array *da);
ZEND_API void *zend_dynamic_array_push(dynamic_array *da);
ZEND_API void *zend_dynamic_array_pop(dynamic_array *da);
ZEND_API void *zend_dynamic_array_get_element(dynamic_array *da, unsigned int index);
END_EXTERN_C()
#endif /* ZEND_DYNAMIC_ARRAY_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+48
View File
@@ -0,0 +1,48 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_ERRORS_H
#define ZEND_ERRORS_H
#define E_ERROR (1<<0L)
#define E_WARNING (1<<1L)
#define E_PARSE (1<<2L)
#define E_NOTICE (1<<3L)
#define E_CORE_ERROR (1<<4L)
#define E_CORE_WARNING (1<<5L)
#define E_COMPILE_ERROR (1<<6L)
#define E_COMPILE_WARNING (1<<7L)
#define E_USER_ERROR (1<<8L)
#define E_USER_WARNING (1<<9L)
#define E_USER_NOTICE (1<<10L)
#define E_ALL (E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE)
#define E_CORE (E_CORE_ERROR | E_CORE_WARNING)
#endif /* ZEND_ERRORS_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+142
View File
@@ -0,0 +1,142 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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: Sterling Hughes <sterling@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include "zend.h"
#include "zend_API.h"
#include "zend_reflection_api.h"
zend_class_entry *default_exception_ptr;
ZEND_FUNCTION(exception)
{
zval **message;
zval **code;
zval *tmp;
zval *object;
int argc = ZEND_NUM_ARGS();
if (zend_get_parameters_ex(argc, &message, &code) == FAILURE) {
ZEND_WRONG_PARAM_COUNT();
}
object = getThis();
if (argc > 0) {
convert_to_string_ex(message);
zval_add_ref(message);
zend_hash_update(Z_OBJPROP_P(object), "message", sizeof("message"), (void **) message, sizeof(zval *), NULL);
}
if (argc > 1) {
convert_to_long_ex(code);
zval_add_ref(code);
zend_hash_update(Z_OBJPROP_P(object), "code", sizeof("code"), (void **) code, sizeof(zval *), NULL);
}
MAKE_STD_ZVAL(tmp);
ZVAL_STRING(tmp, zend_get_executed_filename(TSRMLS_C), 1);
zend_hash_update(Z_OBJPROP_P(object), "file", sizeof("file"), (void **) &tmp, sizeof(zval *), NULL);
tmp = NULL;
MAKE_STD_ZVAL(tmp);
ZVAL_LONG(tmp, zend_get_executed_lineno(TSRMLS_C));
zend_hash_update(Z_OBJPROP_P(object), "line", sizeof("line"), (void **) &tmp, sizeof(zval *), NULL);
}
#define DEFAULT_0_PARAMS \
if (ZEND_NUM_ARGS() > 0) { \
ZEND_WRONG_PARAM_COUNT(); \
}
static void _default_exception_get_entry(zval *object, char *name, int name_len, zval *return_value TSRMLS_DC)
{
zval **value;
if (zend_hash_find(Z_OBJPROP_P(object), name, name_len, (void **) &value) == FAILURE) {
RETURN_FALSE;
}
*return_value = **value;
zval_copy_ctor(return_value);
}
ZEND_FUNCTION(getfile)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "file", sizeof("file"), return_value TSRMLS_CC);
}
ZEND_FUNCTION(getline)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "line", sizeof("line"), return_value TSRMLS_CC);
}
ZEND_FUNCTION(getmessage)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "message", sizeof("message"), return_value TSRMLS_CC);
}
ZEND_FUNCTION(getcode)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "code", sizeof("code"), return_value TSRMLS_CC);
}
static zend_function_entry default_exception_functions[] = {
ZEND_FE(exception, NULL)
ZEND_FE(getmessage, NULL)
ZEND_FE(getcode, NULL)
ZEND_FE(getfile, NULL)
ZEND_FE(getline, NULL)
{NULL, NULL, NULL}
};
static void zend_register_default_exception(TSRMLS_D)
{
zend_class_entry default_exception;
INIT_CLASS_ENTRY(default_exception, "exception", default_exception_functions);
default_exception_ptr = zend_register_internal_class(&default_exception TSRMLS_CC);
}
ZEND_API zend_class_entry *zend_exception_get_default(void)
{
return default_exception_ptr;
}
ZEND_API void zend_register_default_classes(TSRMLS_D)
{
zend_register_default_exception(TSRMLS_C);
zend_register_reflection_api(TSRMLS_C);
}
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+39
View File
@@ -0,0 +1,39 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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: Sterling Hughes <sterling@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef ZEND_DEFAULT_CLASSES_H
#define ZEND_DEFAULT_CLASSES_H
BEGIN_EXTERN_C()
ZEND_API zend_class_entry *zend_exception_get_default(void);
ZEND_API void zend_register_default_classes(TSRMLS_D);
END_EXTERN_C()
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+4090
View File
File diff suppressed because it is too large. Load diff
+184
View File
@@ -0,0 +1,184 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_EXECUTE_H
#define ZEND_EXECUTE_H
#include "zend_compile.h"
#include "zend_hash.h"
#include "zend_variables.h"
#include "zend_operators.h"
typedef union _temp_variable {
zval tmp_var;
struct {
zval **ptr_ptr;
zval *ptr;
} var;
struct {
zval tmp_var; /* a dummy */
union {
struct {
zval *str;
zend_uint offset;
} str_offset;
zend_property_reference overloaded_element;
} data;
unsigned char type;
zend_class_entry *class_entry;
} EA;
} temp_variable;
BEGIN_EXTERN_C()
ZEND_API extern void (*zend_execute)(zend_op_array *op_array TSRMLS_DC);
ZEND_API extern void (*zend_execute_internal)(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC);
void init_executor(TSRMLS_D);
void shutdown_executor(TSRMLS_D);
ZEND_API void execute(zend_op_array *op_array TSRMLS_DC);
ZEND_API void execute_internal(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC);
ZEND_API int zend_is_true(zval *op);
static inline void safe_free_zval_ptr(zval *p)
{
TSRMLS_FETCH();
if (p!=EG(uninitialized_zval_ptr)) {
FREE_ZVAL(p);
}
}
ZEND_API int zend_lookup_class(char *name, int name_length, zend_class_entry ***ce TSRMLS_DC);
ZEND_API int zend_eval_string(char *str, zval *retval_ptr, char *string_name TSRMLS_DC);
static inline int i_zend_is_true(zval *op)
{
int result;
switch (op->type) {
case IS_NULL:
result = 0;
break;
case IS_LONG:
case IS_BOOL:
case IS_RESOURCE:
result = (op->value.lval?1:0);
break;
case IS_DOUBLE:
result = (op->value.dval ? 1 : 0);
break;
case IS_STRING:
if (op->value.str.len == 0
|| (op->value.str.len==1 && op->value.str.val[0]=='0')) {
result = 0;
} else {
result = 1;
}
break;
case IS_ARRAY:
result = (zend_hash_num_elements(op->value.ht)?1:0);
break;
case IS_OBJECT:
/* OBJ-TBI */
result = 1;
break;
default:
result = 0;
break;
}
return result;
}
ZEND_API int zval_update_constant(zval **pp, void *arg TSRMLS_DC);
/* dedicated Zend executor functions - do not use! */
static inline void zend_ptr_stack_clear_multiple(TSRMLS_D)
{
void **p = EG(argument_stack).top_element-2;
int delete_count = (ulong) *p;
EG(argument_stack).top -= (delete_count+2);
while (--delete_count>=0) {
zval_ptr_dtor((zval **) --p);
}
EG(argument_stack).top_element = p;
}
static inline int zend_ptr_stack_get_arg(int requested_arg, void **data TSRMLS_DC)
{
void **p = EG(argument_stack).top_element-2;
int arg_count = (ulong) *p;
if (requested_arg>arg_count) {
return FAILURE;
}
*data = (p-arg_count+requested_arg-1);
return SUCCESS;
}
void execute_new_code(TSRMLS_D);
/* services */
ZEND_API char *get_active_function_name(TSRMLS_D);
ZEND_API char *zend_get_executed_filename(TSRMLS_D);
ZEND_API uint zend_get_executed_lineno(TSRMLS_D);
ZEND_API zend_bool zend_is_executing(TSRMLS_D);
ZEND_API void zend_set_timeout(long seconds);
ZEND_API void zend_unset_timeout(TSRMLS_D);
ZEND_API void zend_timeout(int dummy);
ZEND_API zend_class_entry *zend_fetch_class(char *class_name, uint class_name_len, int fetch_type TSRMLS_DC);
#ifdef ZEND_WIN32
void zend_init_timeout_thread();
void zend_shutdown_timeout_thread();
#define WM_REGISTER_ZEND_TIMEOUT (WM_USER+1)
#define WM_UNREGISTER_ZEND_TIMEOUT (WM_USER+2)
#endif
#define zendi_zval_copy_ctor(p) zval_copy_ctor(&(p))
#define zendi_zval_dtor(p) zval_dtor(&(p))
#define active_opline (*EG(opline_ptr))
void zend_assign_to_variable_reference(znode *result, zval **variable_ptr_ptr, zval **value_ptr_ptr, temp_variable *Ts TSRMLS_DC);
#define IS_OVERLOADED_OBJECT 1
#define IS_STRING_OFFSET 2
/* The following tries to resolve the classname of a zval of type object.
* Since it is slow it should be only used in error messages.
*/
#define Z_OBJ_CLASS_NAME_P(zval) ((zval) && (zval)->type == IS_OBJECT && Z_OBJ_HT_P(zval)->get_class_entry != NULL && Z_OBJ_HT_P(zval)->get_class_entry(zval TSRMLS_CC) ? Z_OBJ_HT_P(zval)->get_class_entry(zval TSRMLS_CC)->name : "")
END_EXTERN_C()
#endif /* ZEND_EXECUTE_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
File diff suppressed because it is too large. Load diff
+61
View File
@@ -0,0 +1,61 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_EXECUTE_LOCKS_H
#define ZEND_EXECUTE_LOCKS_H
#define PZVAL_LOCK(z) zend_pzval_lock_func(z)
static inline void zend_pzval_lock_func(zval *z)
{
z->refcount++;
}
#define PZVAL_UNLOCK(z) zend_pzval_unlock_func(z TSRMLS_CC)
static inline void zend_pzval_unlock_func(zval *z TSRMLS_DC)
{
z->refcount--;
if (!z->refcount) {
z->refcount = 1;
z->is_ref = 0;
EG(garbage)[EG(garbage_ptr)++] = z;
}
}
static inline void zend_clean_garbage(TSRMLS_D)
{
while (EG(garbage_ptr)) {
zval_ptr_dtor(&EG(garbage)[--EG(garbage_ptr)]);
}
}
#define SELECTIVE_PZVAL_LOCK(pzv, pzn) if (!((pzn)->u.EA.type & EXT_TYPE_UNUSED)) { PZVAL_LOCK(pzv); }
#endif /* ZEND_EXECUTE_LOCKS_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+295
View File
@@ -0,0 +1,295 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#include "zend_extensions.h"
ZEND_API zend_llist zend_extensions;
static int last_resource_number;
int zend_load_extension(char *path)
{
#if ZEND_EXTENSIONS_SUPPORT
DL_HANDLE handle;
zend_extension *new_extension;
zend_extension_version_info *extension_version_info;
handle = DL_LOAD(path);
if (!handle) {
#ifndef ZEND_WIN32
fprintf(stderr, "Failed loading %s: %s\n", path, DL_ERROR());
#else
fprintf(stderr, "Failed loading %s\n", path);
#endif
return FAILURE;
}
extension_version_info = (zend_extension_version_info *) DL_FETCH_SYMBOL(handle, "extension_version_info");
if (!extension_version_info) {
extension_version_info = (zend_extension_version_info *) DL_FETCH_SYMBOL(handle, "_extension_version_info");
}
new_extension = (zend_extension *) DL_FETCH_SYMBOL(handle, "zend_extension_entry");
if (!new_extension) {
new_extension = (zend_extension *) DL_FETCH_SYMBOL(handle, "_zend_extension_entry");
}
if (!extension_version_info || !new_extension) {
fprintf(stderr, "%s doesn't appear to be a valid Zend extension\n", path);
DL_UNLOAD(handle);
return FAILURE;
}
/* allow extension to proclaim compatibility with any Zend version */
if (extension_version_info->zend_extension_api_no != ZEND_EXTENSION_API_NO &&(!new_extension->api_no_check || new_extension->api_no_check(ZEND_EXTENSION_API_NO) != SUCCESS)) {
if (extension_version_info->zend_extension_api_no > ZEND_EXTENSION_API_NO) {
fprintf(stderr, "%s requires Zend Engine API version %d.\n"
"The Zend Engine API version %d which is installed, is outdated.\n\n",
new_extension->name,
extension_version_info->zend_extension_api_no,
ZEND_EXTENSION_API_NO);
DL_UNLOAD(handle);
return FAILURE;
} else if (extension_version_info->zend_extension_api_no < ZEND_EXTENSION_API_NO) {
fprintf(stderr, "%s requires Zend Engine API version %d.\n"
"The Zend Engine API version %d which is installed, is newer.\n"
"Contact %s at %s for a later version of %s.\n\n",
new_extension->name,
extension_version_info->zend_extension_api_no,
ZEND_EXTENSION_API_NO,
new_extension->author,
new_extension->URL,
new_extension->name);
DL_UNLOAD(handle);
return FAILURE;
}
} else if (ZTS_V!=extension_version_info->thread_safe) {
fprintf(stderr, "Cannot load %s - it %s thread safe, whereas Zend %s\n",
new_extension->name,
(extension_version_info->thread_safe?"is":"isn't"),
(ZTS_V?"is":"isn't"));
DL_UNLOAD(handle);
return FAILURE;
} else if (ZEND_DEBUG!=extension_version_info->debug) {
fprintf(stderr, "Cannot load %s - it %s debug information, whereas Zend %s\n",
new_extension->name,
(extension_version_info->debug?"contains":"does not contain"),
(ZEND_DEBUG?"does":"does not"));
DL_UNLOAD(handle);
return FAILURE;
}
return zend_register_extension(new_extension, handle);
#else
fprintf(stderr, "Extensions are not supported on this platform.\n");
return FAILURE;
#endif
}
int zend_register_extension(zend_extension *new_extension, DL_HANDLE handle)
{
#if ZEND_EXTENSIONS_SUPPORT
zend_extension extension;
extension = *new_extension;
extension.handle = handle;
zend_extension_dispatch_message(ZEND_EXTMSG_NEW_EXTENSION, &extension);
zend_llist_add_element(&zend_extensions, &extension);
/*fprintf(stderr, "Loaded %s, version %s\n", extension.name, extension.version);*/
#endif
return SUCCESS;
}
static void zend_extension_shutdown(zend_extension *extension TSRMLS_DC)
{
#if ZEND_EXTENSIONS_SUPPORT
if (extension->shutdown) {
extension->shutdown(extension);
}
#endif
}
static int zend_extension_startup(zend_extension *extension)
{
#if ZEND_EXTENSIONS_SUPPORT
if (extension->startup) {
if (extension->startup(extension)!=SUCCESS) {
return 1;
}
zend_append_version_info(extension);
}
#endif
return 0;
}
int zend_startup_extensions_mechanism()
{
/* Startup extensions mechanism */
zend_llist_init(&zend_extensions, sizeof(zend_extension), (void (*)(void *)) zend_extension_dtor, 1);
last_resource_number = 0;
return SUCCESS;
}
int zend_startup_extensions()
{
zend_llist_apply_with_del(&zend_extensions, (int (*)(void *)) zend_extension_startup);
return SUCCESS;
}
void zend_shutdown_extensions(TSRMLS_D)
{
zend_llist_apply(&zend_extensions, (llist_apply_func_t) zend_extension_shutdown TSRMLS_CC);
zend_llist_destroy(&zend_extensions);
}
void zend_extension_dtor(zend_extension *extension)
{
#if ZEND_EXTENSIONS_SUPPORT && !ZEND_DEBUG
if (extension->handle) {
DL_UNLOAD(extension->handle);
}
#endif
}
static void zend_extension_message_dispatcher(zend_extension *extension, int num_args, va_list args TSRMLS_DC)
{
int message;
void *arg;
if (!extension->message_handler || num_args!=2) {
return;
}
message = va_arg(args, int);
arg = va_arg(args, void *);
extension->message_handler(message, arg);
}
ZEND_API void zend_extension_dispatch_message(int message, void *arg)
{
TSRMLS_FETCH();
zend_llist_apply_with_arguments(&zend_extensions, (llist_apply_with_args_func_t) zend_extension_message_dispatcher TSRMLS_CC, 2, message, arg);
}
ZEND_API int zend_get_resource_handle(zend_extension *extension)
{
if (last_resource_number<ZEND_MAX_RESERVED_RESOURCES) {
extension->resource_number = last_resource_number;
return last_resource_number++;
} else {
return -1;
}
}
ZEND_API zend_extension *zend_get_extension(char *extension_name)
{
zend_llist_element *element;
for (element = zend_extensions.head; element; element = element->next) {
zend_extension *extension = (zend_extension *) element->data;
if (!strcmp(extension->name, extension_name)) {
return extension;
}
}
return NULL;
}
/*
* Support for dynamic loading of MH_BUNDLEs on Darwin / Mac OS X
*
*/
#if HAVE_MACH_O_DYLD_H
void *zend_mh_bundle_load(char* bundle_path)
{
NSObjectFileImage bundle_image;
NSModule bundle_handle;
NSSymbol bundle_init_nssymbol;
void (*bundle_init)(void);
if (NSCreateObjectFileImageFromFile(bundle_path, &bundle_image) != NSObjectFileImageSuccess) {
return NULL;
}
bundle_handle = NSLinkModule(bundle_image, bundle_path, NSLINKMODULE_OPTION_PRIVATE);
NSDestroyObjectFileImage(bundle_image);
/* call the init function of the bundle */
bundle_init_nssymbol = NSLookupSymbolInModule(bundle_handle, "__init");
if (bundle_init_nssymbol != NULL) {
bundle_init = NSAddressOfSymbol(bundle_init_nssymbol);
bundle_init();
}
return bundle_handle;
}
int zend_mh_bundle_unload(void *bundle_handle)
{
NSSymbol bundle_fini_nssymbol;
void (*bundle_fini)(void);
/* call the fini function of the bundle */
bundle_fini_nssymbol = NSLookupSymbolInModule(bundle_handle, "__fini");
if (bundle_fini_nssymbol != NULL) {
bundle_fini = NSAddressOfSymbol(bundle_fini_nssymbol);
bundle_fini();
}
return (int) NSUnLinkModule(bundle_handle, NULL);
}
void *zend_mh_bundle_symbol(void *bundle_handle, const char *symbol_name)
{
NSSymbol symbol;
symbol = NSLookupSymbolInModule(bundle_handle, symbol_name);
return NSAddressOfSymbol(symbol);
}
const char *zend_mh_bundle_error(void)
{
/* Witness the state of the art error reporting */
return NULL;
}
#endif /* HAVE_MACH_O_DYLD_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+125
View File
@@ -0,0 +1,125 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_EXTENSIONS_H
#define ZEND_EXTENSIONS_H
#include "zend_compile.h"
#define ZEND_EXTENSION_API_NO 90021012
typedef struct _zend_extension_version_info {
int zend_extension_api_no;
char *required_zend_version;
unsigned char thread_safe;
unsigned char debug;
} zend_extension_version_info;
typedef struct _zend_extension zend_extension;
/* Typedef's for zend_extension function pointers */
typedef int (*startup_func_t)(zend_extension *extension);
typedef void (*shutdown_func_t)(zend_extension *extension);
typedef void (*activate_func_t)(void);
typedef void (*deactivate_func_t)(void);
typedef void (*message_handler_func_t)(int message, void *arg);
typedef void (*op_array_handler_func_t)(zend_op_array *op_array);
typedef void (*statement_handler_func_t)(zend_op_array *op_array);
typedef void (*fcall_begin_handler_func_t)(zend_op_array *op_array);
typedef void (*fcall_end_handler_func_t)(zend_op_array *op_array);
typedef void (*op_array_ctor_func_t)(zend_op_array *op_array);
typedef void (*op_array_dtor_func_t)(zend_op_array *op_array);
struct _zend_extension {
char *name;
char *version;
char *author;
char *URL;
char *copyright;
startup_func_t startup;
shutdown_func_t shutdown;
activate_func_t activate;
deactivate_func_t deactivate;
message_handler_func_t message_handler;
op_array_handler_func_t op_array_handler;
statement_handler_func_t statement_handler;
fcall_begin_handler_func_t fcall_begin_handler;
fcall_end_handler_func_t fcall_end_handler;
op_array_ctor_func_t op_array_ctor;
op_array_dtor_func_t op_array_dtor;
int (*api_no_check)(int api_no);
void *reserved2;
void *reserved3;
void *reserved4;
void *reserved5;
void *reserved6;
void *reserved7;
void *reserved8;
DL_HANDLE handle;
int resource_number;
};
ZEND_API int zend_get_resource_handle(zend_extension *extension);
ZEND_API void zend_extension_dispatch_message(int message, void *arg);
#define ZEND_EXTMSG_NEW_EXTENSION 1
#define ZEND_EXTENSION() \
ZEND_EXT_API zend_extension_version_info extension_version_info = { ZEND_EXTENSION_API_NO, ZEND_VERSION, ZTS_V, ZEND_DEBUG }
#define STANDARD_ZEND_EXTENSION_PROPERTIES NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1
#define COMPAT_ZEND_EXTENSION_PROPERTIES NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1
ZEND_API extern zend_llist zend_extensions;
void zend_extension_dtor(zend_extension *extension);
ZEND_API int zend_load_extension(char *path);
ZEND_API int zend_register_extension(zend_extension *new_extension, DL_HANDLE handle);
void zend_append_version_info(zend_extension *extension);
int zend_startup_extensions_mechanism(void);
int zend_startup_extensions(void);
void zend_shutdown_extensions(TSRMLS_D);
ZEND_API zend_extension *zend_get_extension(char *extension_name);
#endif /* ZEND_EXTENSIONS_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+142
View File
@@ -0,0 +1,142 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_FAST_CACHE_H
#define ZEND_FAST_CACHE_H
#ifndef ZEND_ENABLE_FAST_CACHE
# if ZEND_DEBUG
# define ZEND_ENABLE_FAST_CACHE 0
# else
# define ZEND_ENABLE_FAST_CACHE 0
# endif
#endif
typedef struct _zend_fast_cache_list_entry {
struct _zend_fast_cache_list_entry *next;
} zend_fast_cache_list_entry;
#define MAX_FAST_CACHE_TYPES 4
#define ZVAL_CACHE_LIST 0
#define HASHTABLE_CACHE_LIST 1
#if ZEND_ENABLE_FAST_CACHE
#include "zend_globals.h"
#include "zend_globals_macros.h"
#include "zend_alloc.h"
#if ZEND_DEBUG
# define RECORD_ZVAL_CACHE_HIT(fc_type) AG(fast_cache_stats)[fc_type][1]++;
# define RECORD_ZVAL_CACHE_MISS(fc_type) AG(fast_cache_stats)[fc_type][0]++;
#else
# define RECORD_ZVAL_CACHE_HIT(fc_type)
# define RECORD_ZVAL_CACHE_MISS(fc_type)
#endif
#define ZEND_FAST_ALLOC(p, type, fc_type) \
{ \
TSRMLS_FETCH(); \
\
if (((p) = (type *) AG(fast_cache_list_head)[fc_type])) { \
AG(fast_cache_list_head)[fc_type] = ((zend_fast_cache_list_entry *) AG(fast_cache_list_head)[fc_type])->next; \
RECORD_ZVAL_CACHE_HIT(fc_type); \
} else { \
(p) = (type *) emalloc(sizeof(type)); \
RECORD_ZVAL_CACHE_MISS(fc_type); \
} \
}
#define ZEND_FAST_FREE(p, fc_type) \
{ \
TSRMLS_FETCH(); \
\
((zend_fast_cache_list_entry *) (p))->next = (zend_fast_cache_list_entry *) AG(fast_cache_list_head)[fc_type]; \
AG(fast_cache_list_head)[fc_type] = (zend_fast_cache_list_entry *) (p); \
}
#define ZEND_FAST_ALLOC_REL(p, type, fc_type) \
ZEND_FAST_ALLOC(p, type, fc_type)
#define ZEND_FAST_FREE_REL(p, fc_type) \
ZEND_FAST_FREE(p, fc_type)
#else /* !ZEND_ENABLE_FAST_CACHE */
#define ZEND_FAST_ALLOC(p, type, fc_type) \
(p) = (type *) emalloc(sizeof(type))
#define ZEND_FAST_FREE(p, fc_type) \
efree(p)
#define ZEND_FAST_ALLOC_REL(p, type, fc_type) \
(p) = (type *) emalloc_rel(sizeof(type))
#define ZEND_FAST_FREE_REL(p, fc_type) \
efree_rel(p)
#endif /* ZEND_ENABLE_FAST_CACHE */
/* fast cache for zval's */
#define ALLOC_ZVAL(z) \
ZEND_FAST_ALLOC(z, zval, ZVAL_CACHE_LIST)
#define FREE_ZVAL(z) \
ZEND_FAST_FREE(z, ZVAL_CACHE_LIST)
#define ALLOC_ZVAL_REL(z) \
ZEND_FAST_ALLOC_REL(z, zval, ZVAL_CACHE_LIST)
#define FREE_ZVAL_REL(z) \
ZEND_FAST_FREE_REL(z, ZVAL_CACHE_LIST)
/* fast cache for HashTables */
#define ALLOC_HASHTABLE(ht) \
ZEND_FAST_ALLOC(ht, HashTable, HASHTABLE_CACHE_LIST)
#define FREE_HASHTABLE(ht) \
ZEND_FAST_FREE(ht, HASHTABLE_CACHE_LIST)
#define ALLOC_HASHTABLE_REL(ht) \
ZEND_FAST_ALLOC_REL(ht, HashTable, HASHTABLE_CACHE_LIST)
#define FREE_HASHTABLE_REL(ht) \
ZEND_FAST_FREE_REL(ht, HASHTABLE_CACHE_LIST)
#endif /* ZEND_FAST_CACHE_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+284
View File
@@ -0,0 +1,284 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_GLOBALS_H
#define ZEND_GLOBALS_H
#include <setjmp.h>
#include "zend_globals_macros.h"
#include "zend_stack.h"
#include "zend_ptr_stack.h"
#include "zend_hash.h"
#include "zend_llist.h"
#include "zend_fast_cache.h"
#include "zend_objects.h"
#include "zend_objects_API.h"
/* Define ZTS if you want a thread-safe Zend */
/*#undef ZTS*/
#ifdef ZTS
BEGIN_EXTERN_C()
ZEND_API extern int compiler_globals_id;
ZEND_API extern int executor_globals_id;
ZEND_API extern int alloc_globals_id;
END_EXTERN_C()
#endif
#define SYMTABLE_CACHE_SIZE 32
#include "zend_compile.h"
/* excpt.h on Digital Unix 4.0 defines function_table */
#undef function_table
typedef struct _zend_declarables {
zval ticks;
} zend_declarables;
struct _zend_compiler_globals {
zend_stack bp_stack;
zend_stack switch_cond_stack;
zend_stack foreach_copy_stack;
zend_stack object_stack;
zend_stack declare_stack;
zend_class_entry *active_class_entry;
/* variables for list() compilation */
zend_llist list_llist;
zend_llist dimension_llist;
zend_stack list_stack;
zend_stack function_call_stack;
char *compiled_filename;
int zend_lineno;
int comment_start_line;
char *heredoc;
int heredoc_len;
zend_op_array *active_op_array;
HashTable *function_table; /* function symbol table */
HashTable *class_table; /* class table */
HashTable filenames_table;
HashTable *auto_globals;
zend_bool in_compilation;
zend_bool short_tags;
zend_bool asp_tags;
zend_bool allow_call_time_pass_reference;
zend_declarables declarables;
/* For extensions support */
zend_bool extended_info; /* generate extension information for debugger/profiler */
zend_bool handle_op_arrays; /* run op_arrays through op_array handlers */
zend_bool unclean_shutdown;
zend_bool ini_parser_unbuffered_errors;
zend_llist open_files;
zend_llist *throw_list;
long catch_begin;
struct _zend_ini_parser_param *ini_parser_param;
int interactive;
zend_uint start_lineno;
zend_bool increment_lineno;
znode implementing_class;
zend_uint access_type;
char *doc_comment;
zend_uint doc_comment_len;
};
struct _zend_executor_globals {
zval **return_value_ptr_ptr;
zval uninitialized_zval;
zval *uninitialized_zval_ptr;
zval error_zval;
zval *error_zval_ptr;
zend_function_state *function_state_ptr;
zend_ptr_stack arg_types_stack;
/* symbol table cache */
HashTable *symtable_cache[SYMTABLE_CACHE_SIZE];
HashTable **symtable_cache_limit;
HashTable **symtable_cache_ptr;
zend_op **opline_ptr;
HashTable *active_symbol_table;
HashTable symbol_table; /* main symbol table */
HashTable included_files; /* files already included */
jmp_buf bailout;
int error_reporting;
int orig_error_reporting;
int exit_status;
zend_op_array *active_op_array;
HashTable *function_table; /* function symbol table */
HashTable *class_table; /* class table */
HashTable *zend_constants; /* constants table */
zend_class_entry *scope;
zval *This;
long precision;
int ticks_count;
zend_bool in_execution;
zend_bool bailout_set;
zend_bool full_tables_cleanup;
zend_bool implicit_clone;
/* for extended information support */
zend_bool no_extensions;
#ifdef ZEND_WIN32
zend_bool timed_out;
#endif
HashTable regular_list;
HashTable persistent_list;
zend_ptr_stack argument_stack;
zval *free_op1, *free_op2;
int (*unary_op)(zval *result, zval *op1);
int (*binary_op)(zval *result, zval *op1, zval *op2 TSRMLS_DC);
zval *garbage[2];
int garbage_ptr;
zval *user_error_handler;
zval *user_exception_handler;
zend_ptr_stack user_error_handlers;
zend_ptr_stack user_exception_handlers;
/* timeout support */
int timeout_seconds;
int lambda_count;
HashTable *ini_directives;
zend_objects_store objects_store;
zval *exception;
struct _zend_execute_data *current_execute_data;
zend_property_info std_property_info;
/* locale stuff */
char float_separator[1];
void *reserved[ZEND_MAX_RESERVED_RESOURCES];
};
#include "zend_mm.h"
struct _zend_alloc_globals {
zend_mem_header *head; /* standard list */
void *cache[MAX_CACHED_MEMORY][MAX_CACHED_ENTRIES];
unsigned int cache_count[MAX_CACHED_MEMORY];
void *fast_cache_list_head[MAX_FAST_CACHE_TYPES];
#ifdef ZEND_WIN32
HANDLE memory_heap;
#endif
#if ZEND_DEBUG
/* for performance tuning */
int cache_stats[MAX_CACHED_MEMORY][2];
int fast_cache_stats[MAX_FAST_CACHE_TYPES][2];
#endif
#if MEMORY_LIMIT
unsigned int memory_limit;
unsigned int allocated_memory;
unsigned int allocated_memory_peak;
unsigned char memory_exhausted;
#endif
#ifdef ZEND_MM
zend_mm_heap mm_heap;
#endif
};
struct _zend_scanner_globals {
zend_file_handle *yy_in;
zend_file_handle *yy_out;
int yy_leng;
char *yy_text;
struct yy_buffer_state *current_buffer;
char *c_buf_p;
int init;
int start;
int lineno;
char _yy_hold_char;
int yy_n_chars;
int _yy_did_buffer_switch_on_eof;
int _yy_last_accepting_state; /* Must be of the same type as yy_state_type,
* if for whatever reason it's no longer int!
*/
char *_yy_last_accepting_cpos;
int _yy_more_flag;
int _yy_more_len;
int yy_start_stack_ptr;
int yy_start_stack_depth;
int *yy_start_stack;
};
#endif /* ZEND_GLOBALS_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+117
View File
@@ -0,0 +1,117 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 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$ */
#ifndef ZEND_GLOBALS_MACROS_H
#define ZEND_GLOBALS_MACROS_H
typedef struct _zend_compiler_globals zend_compiler_globals;
typedef struct _zend_executor_globals zend_executor_globals;
typedef struct _zend_alloc_globals zend_alloc_globals;
typedef struct _zend_scanner_globals zend_scanner_globals;
/* Compiler */
#ifdef ZTS
# define CG(v) TSRMG(compiler_globals_id, zend_compiler_globals *, v)
BEGIN_EXTERN_C()
int zendparse(void *compiler_globals);
END_EXTERN_C()
#else
# define CG(v) (compiler_globals.v)
extern ZEND_API struct _zend_compiler_globals compiler_globals;
int zendparse(void);
#endif
/* Executor */
#ifdef ZTS
# define EG(v) TSRMG(executor_globals_id, zend_executor_globals *, v)
#else
# define EG(v) (executor_globals.v)
extern ZEND_API zend_executor_globals executor_globals;
#endif
/* Memory Manager */
#ifdef ZTS
# define AG(v) TSRMG(alloc_globals_id, zend_alloc_globals *, v)
#else
# define AG(v) (alloc_globals.v)
extern ZEND_API zend_alloc_globals alloc_globals;
#endif
/* Language Scanner */
#ifdef ZTS
# define LANG_SCNG(v) TSRMG(language_scanner_globals_id, zend_scanner_globals *, v)
extern ZEND_API ts_rsrc_id language_scanner_globals_id;
#else
# define LANG_SCNG(v) (language_scanner_globals.v)
extern ZEND_API zend_scanner_globals language_scanner_globals;
#endif
/* INI Scanner */
#ifdef ZTS
# define INI_SCNG(v) TSRMG(ini_scanner_globals_id, zend_scanner_globals *, v)
extern ZEND_API ts_rsrc_id ini_scanner_globals_id;
#else
# define INI_SCNG(v) (ini_scanner_globals.v)
extern ZEND_API zend_scanner_globals ini_scanner_globals;
#endif
/* For limited downwards source compatibility */
#define CLS_FETCH()
#define ELS_FETCH()
#define ALS_FETCH()
#define PLS_FETCH()
#define SLS_FETCH()
#define CLS_D
#define ELS_D
#define ALS_D
#define PLS_D
#define SLS_D
#define CLS_DC
#define ELS_DC
#define ALS_DC
#define PLS_DC
#define SLS_DC
#define CLS_C
#define ELS_C
#define ALS_C
#define PLS_C
#define SLS_C
#define CLS_CC
#define ELS_CC
#define ALS_CC
#define PLS_CC
#define SLS_CC
#endif /* ZEND_GLOBALS_MACROS_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: t
* End:
*/
+1322
View File
File diff suppressed because it is too large. Load diff
Loaded 100 of 2348 files, more files were not shown because too many files have changed in this diff. Show more