Commit Graph

11132 Commits

Author SHA1 Message Date
Zeev Suraski
92b4013e8d Try to put an end to the endless number of call_user_function variants.
zend_call_function() now takes a structure that should contain all of the
necessary information.  If further information is necessary in the future,
then we'll be able to add it without having to introduce a new function.

As for caching - the 2nd, optional argument is a struct that can hold all
of the information that's necessary to invoke the function, including its
handler, scope and object it operates on (if any).  Note that you may only
use a cache if the arguments you provide to zend_call_function() are
identical to the ones of the last call, except for the argument and return
value information.


The recently introduced fast_call_user_function() was removed

I fixed most of the places that used fast_call_user_function() to use caching
but there are still some that need to be fixed (XML and reflection)
2003-08-05 10:24:40 +00:00
Stanislav Malyshev
97c2522128 syncronize 2003-08-05 09:23:17 +00:00
Stanislav Malyshev
d113d32314 Don't try to __sleep incomplete classes 2003-08-05 09:19:38 +00:00
Stanislav Malyshev
53bbeedc89 don't try to wakeup incomplete classes 2003-08-05 09:15:31 +00:00
Stanislav Malyshev
f9bc33e78f pass trsm via parameters 2003-08-05 09:07:49 +00:00
Stanislav Malyshev
6afa320667 fix incomplete class for ZE2 2003-08-05 09:06:02 +00:00
Marcus Boerger
1716669a27 You shall not Copy'n'Paste after midnight without checking 3 times 2003-08-04 23:21:27 +00:00
Marcus Boerger
2e945483d2 Ups 2003-08-04 23:16:45 +00:00
Marcus Boerger
d23bfc0512 Update documentation in source, reflection and docu itself, part II 2003-08-04 23:15:56 +00:00
Marcus Boerger
28dd8fcff2 Update documentation in source, reflection and docu itself 2003-08-04 23:00:57 +00:00
Marcus Boerger
b099670127 - Unset support for spl_array_access by method set($index)
- Parameter names for array interface methods
2003-08-04 21:56:05 +00:00
Marcus Boerger
c80e7329bd Fix comment 2003-08-04 20:25:41 +00:00
Marcus Boerger
91a882478f Unset support for spl_array 2003-08-04 20:17:53 +00:00
Marcus Boerger
3597704c64 Add function/method parameter reflection 2003-08-04 19:37:08 +00:00
foobar
1345027597 Fixed couple of typo(s) (which caused compile failures) 2003-08-04 14:34:54 +00:00
Zeev Suraski
2547b6f6f6 Fix bug #24652 - Sterling, do you begin to think that maybe it wasn't such
a good idea?
2003-08-04 08:38:24 +00:00
Marcus Boerger
3b4f9d7b58 Latest zend updates 2003-08-03 22:29:20 +00:00
Marcus Boerger
55f947aa13 Fix build 2003-08-03 18:55:51 +00:00
Marcus Boerger
0626fff0c1 Fix warning 2003-08-03 18:52:09 +00:00
Marcus Boerger
21503e723e Reallow build 2003-08-03 18:46:34 +00:00
Zeev Suraski
538d58dd5f Use new infrastructure.
There are bound to be some messups, please report build/runtime bugs!
2003-08-03 17:44:39 +00:00
Zeev Suraski
f8bbafd604 ntroduce infrastructure for supplying information about arguments,
including:

- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance

Both user and builtin functions share the same data structures.

To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:

ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
    ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
    ZEND_ARG_PASS_INFO(0)
    ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();

and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.

The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.

The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
2003-08-03 17:40:44 +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
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
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
John Coggeshall
2fb97cdf95 Adding the tidy extension to PECL 2003-08-01 00:22:43 +00:00
foobar
88cbc175ea - Removed the unnecessary check of array_init() return value. 2003-07-31 18:28:47 +00:00
foobar
57ca69c014 Revert the fix for now 2003-07-30 21:56:45 +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
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
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
Rob Richards
a5a859361b increment refcount for arrays passed to xml_set_handler 2003-07-29 13:34:50 +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
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
Rob Richards
618d6c904d doctype and namespace fix
memory leak fix
2003-07-25 17:25:50 +00:00