Commit Graph

54 Commits

Author SHA1 Message Date
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
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
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
foobar
333406bdc2 - Added some missing CVS $Id$ tags, headers and footers. 2003-02-01 01:49:15 +00:00
Harald Radi
58d3451c75 fix wrong dereferenciation 2003-01-12 21:59:57 +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
Harald Radi
814045bba6 added zend_ini_entry to zend_modules_entry as
discussed with zeev
2003-01-12 13:00:28 +00:00
Sebastian Bergmann
2c5d4b8c23 Bump year. 2002-12-31 15:59:15 +00:00
Derick Rethans
bf4e59449b - MFZE1 2002-06-30 11:18:43 +00:00
Andi Gutmans
180f91bac8 - Nice catch by Derick. GINIT is dead. 2002-02-02 16:56:17 +00:00
Sebastian Bergmann
62dc854bb0 Happy New Year. 2002-01-06 15:21:36 +00:00
Sebastian Bergmann
d863d52a5d Update headers. 2001-12-11 15:16:21 +00:00
Sebastian Bergmann
01850714ee MFZE1: Introduced extension version numbers (Stig) 2001-10-12 18:40:30 +00:00
Andi Gutmans
279b468bf7 - Bump it up in the right place 2001-09-27 08:08:33 +00:00
Zeev Suraski
d76cf1da18 More TSRMLS_FETCH work 2001-07-31 04:53:54 +00:00
Zeev Suraski
e8ac55d03c More TSRMLS_FETCH work 2001-07-30 06:12:15 +00:00
Zeev Suraski
b52554951f More TSRMLS_FETCH work, and get rid of redundant ParametersPassedByRef 2001-07-30 05:34:21 +00:00
Zeev Suraski
2c254ba762 Get rid of ELS_*(), and use TSRMLS_*() instead.
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:10:39 +00:00
Andi Gutmans
d2c9e8074c - Update copyright year 2001-02-26 05:43:27 +00:00
Andi Gutmans
7513a2f972 - Fix dll linkage warnings 2001-02-25 05:21:31 +00:00
Andi Gutmans
0bed994531 - Add exports from Daniel Beulshausen 2001-02-24 21:16:58 +00:00
Sascha Schumann
c334058412 Set the floating-point exception mask on FreeBSD to 0 (as do other
FreeBSD system applications).  Also bump up the module API number
as the zend_hash_get_current_key change affects source and binary
compatibility.
2000-12-22 21:11:34 +00:00
Zeev Suraski
98ce9ed699 Update module_api_no 2000-12-14 00:23:18 +00:00
Andi Gutmans
2946f87f00 - Fix new -m on Windows 2000-10-26 23:50:17 +00:00
Zeev Suraski
7dcf456dd6 that too 2000-08-09 19:25:01 +00:00
Sascha Schumann
b982307dd1 Change header protection macros to conform to standard.
Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

    All identifiers that begin with an underscore and either an uppercase
    letter or another underscore are always reserved for any use by the
    implementation.
2000-07-02 23:54:19 +00:00
Andi Gutmans
6bcc8ff0c7 - Time to change it. We changed register_internal_class() ->
- zend_register_internal_class()
2000-06-09 14:41:33 +00:00
Zeev Suraski
9e2fb7bb41 Use int 2000-04-01 14:36:41 +00:00
Zeev Suraski
ef426d467c Have a standard entry for the globals id 2000-04-01 13:20:51 +00:00
Andi Gutmans
61379fe0c3 - Another zend_uchar 2000-03-13 15:59:24 +00:00
Zeev Suraski
05cf4423b9 - 2000-03-12 18:08:46 +00:00
Andi Gutmans
cf89b8db5a - That broke the Win32 build 2000-03-10 12:26:59 +00:00
Andi Gutmans
29ed30f77c - Fix a bug and define an API_NO for the ZEND_MODULE_API 2000-03-10 10:14:05 +00:00
Andi Gutmans
ab5ca792e4 - zend_config.h is enough 2000-03-10 08:36:04 +00:00
Andi Gutmans
3bd9e02380 - Save ZEND_DEBUG, ZTS, ZEND_API information 2000-03-10 08:28:54 +00:00
Stig S. Bakken
b6bc7dcd10 added GINIT_FUNC_ARGS and GINIT_FUNC_ARGS_PASSTHRU 2000-03-06 20:13:04 +00:00
Stig S. Bakken
4562f7b6d7 Added ZEND_MODULE_INFO_FUNC_ARGS_PASSTHRU. 2000-03-06 18:46:10 +00:00
Zeev Suraski
5e55e47f7f It's official now... 2000-03-06 05:26:39 +00:00
Zeev Suraski
0ac9536d99 (c) patch 2000-02-19 22:46:42 +00:00
Zeev Suraski
9f51f154aa - Stop passing list/plist to internal functions
- Add a typedef for the pCopyConstructor function pointer
- Minor hacks
2000-02-05 15:11:24 +00:00
Zeev Suraski
62114c1806 Destructors no longer return ints, the low level problem it was intended to solve is long gone now... 2000-01-17 17:33:37 +00:00
Zeev Suraski
94b5119898 Remove request_started, increase thread safety 1999-11-26 13:53:18 +00:00
Zeev Suraski
3feb4b3bdd Add new API for resources 1999-09-03 19:12:07 +00:00
Sascha Schumann
690575e51f Add global startup/shutdown functions 1999-09-03 17:43:10 +00:00
Zeev Suraski
8d1de13aef 0.91 update 1999-07-19 20:02:12 +00:00
Zeev Suraski
b5b1117760 License update 1999-07-16 14:58:16 +00:00
Zeev Suraski
81d901b14d Step 1 in nuking the garbage collector:
- Change the hash destructor to return int
- Don't kill the bucket on hash_destroy if the destructor returns 0
1999-07-09 17:24:47 +00:00
Stig S. Bakken
5d4579a1f4 added INIT_FUNC_ARGS_PASSTHRU and SHUTDOWN_FUNC_ARGS_PASSTHRU 1999-06-16 11:03:57 +00:00
Zeev Suraski
14a8e9b6c3 Change argument name 1999-05-09 14:56:38 +00:00