Commit Graph

258 Commits

Author SHA1 Message Date
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Andi Gutmans
c18badbfbf - 5.0.1-dev 2004-07-13 19:56:49 +00:00
Andi Gutmans
399e2ca69f - Roll PHP 5.0.0 2004-07-13 19:05:31 +00:00
Andi Gutmans
0bdbbd379e - Go back to -dev (Shouldn't need another RC) 2004-06-07 18:57:34 +00:00
Andi Gutmans
6f47156228 - Roll RC3 2004-06-07 14:23:45 +00:00
Andi Gutmans
02032ccf9f - Prepare for RC3RC2 2004-06-03 08:17:15 +00:00
Andi Gutmans
e51105c6a6 - Back to RC3-dev until we roll final 2004-05-27 15:03:46 +00:00
Andi Gutmans
5a9d648f1f - RC3RC1 2004-05-27 11:39:35 +00:00
Andi Gutmans
87a9f7bdbb - RC3-dev 2004-04-25 10:13:08 +00:00
Andi Gutmans
94c44ea9eb - RC2 2004-04-25 08:32:50 +00:00
Andi Gutmans
206f0da25a - RC2-dev 2004-04-21 10:34:27 +00:00
Andi Gutmans
40c20d3d72 - Prepare for RC2RC2 (if everything is OK especially Zeev's interface
- patch I'll roll RC2 tomorrow).
2004-04-21 09:59:52 +00:00
Andi Gutmans
245dd7367d - RC2-dev 2004-04-14 11:24:17 +00:00
Andi Gutmans
acc4cd17ce - RC2RC1 2004-04-14 11:03:47 +00:00
Andi Gutmans
1c7cfe739d - Nuke code which hasn't been in use for ages. 2004-04-03 11:09:39 +00:00
Marcus Boerger
5230321731 - Fix Reflection class names
- Add ability to get the extension an internal class was defined in
# This is the patch Andi and me used to search for underscrores...
2004-03-30 18:36:53 +00:00
Andi Gutmans
814000305a - Back to RC2-dev 2004-03-18 15:27:28 +00:00
Zeev Suraski
aac5c1f6c5 Prepare to roll RC1 2004-03-18 14:12:27 +00:00
Derick Rethans
6535933f7c - Replaced the exec_finished hook by the zend_post_deactive hook for
extensions. The new hook will be run after the symbol table and destructors
  are run. (Derick)
2004-03-16 22:27:26 +00:00
Sascha Schumann
b74128db59 Enable ptr format check for GCC 3.1 and higher 2004-03-16 17:35:57 +00:00
Ilia Alshanetsky
365f0120fe Do not allow 3.0.4 for __attribute__. 2004-03-16 16:42:12 +00:00
Ilia Alshanetsky
fa5f52718a Fixed bug #27600 (GCC 3.0.4 does not like __attribute__ directive) 2004-03-16 16:36:54 +00:00
foobar
97f81830b8 - Fixed bug #24582 (extensions can not be loaded dynamically in Solaris/iPlanet) 2004-03-15 16:06:29 +00:00
Marcus Boerger
494d8207fe No longer needed 2004-03-09 15:53:42 +00:00
Hartmut Holzgraefe
1727c6a2bb more EXTERN_C wrapping of ZEND_API prototypes 2004-02-20 08:03:27 +00:00
Hartmut Holzgraefe
3a3f95a399 wrap ZEND_API prototypes into BEGIN_EXTERN_C/END_EXTERN_C
for C++ extension support
2004-02-18 22:44:40 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Zeev Suraski
e94e3e1775 Some cleanup 2003-12-14 12:32:02 +00:00
Ilia Alshanetsky
e2012609d6 Fixed extra byte allocation for TRUE/FALSE/ZEND_THREAD_SAFE/NULL constants. 2003-12-11 23:50:13 +00:00
Marcus Boerger
3c62b3b5ac Expand Interface C API.
In short: zend_class_entry->interface_gets_implemented()  allows to modify
the class entry of a class when an interface gets implemented.
2003-10-22 19:59:58 +00:00
Marcus Boerger
b0b82541e8 Fix class/iterator relationship & handling 2003-10-18 18:43:31 +00:00
Marcus Boerger
25aa8b715e Added c-api for iterators
# After 4 Month work and endless discussions...
2003-10-17 17:19:44 +00:00
Moriyoshi Koizumi
149f786025 Bug #25738 (alloca() related problems on the Darwin platform) 2003-10-03 22:02:55 +00:00
Marcus Boerger
1c86e53204 Bugfix #25528 (by Ard Biesheuvel) 2003-09-14 01:20:25 +00:00
Marcus Boerger
d45fd8a1b1 Make vspprintf available as zend utility function. Use it in exception output. 2003-08-31 09:35:54 +00:00
Sascha Schumann
744c68e447 older gccs don't understand attribute((format)) on function pointers 2003-08-28 17:31:31 +00:00
Sascha Schumann
83bd1f4398 ZEND_GCC_VERSION should always be defined to a number so we can use
simple comparisons all the time.
2003-08-28 17:04:16 +00:00
Sascha Schumann
2e36578cfd Add format attribute to a number of functions
Kill a few warnings
2003-08-28 16:41:20 +00:00
Sascha Schumann
169d43e5fa cleanup & centralize ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC so that
they can be used by downstream applications
2003-08-28 14:53:02 +00:00
foobar
28447d62da - Fixed bug #25240 (spaces before pre-processor directives) 2003-08-25 23:24:29 +00:00
Zeev Suraski
49c4866a47 - Improve tracking
- Fix several overloading issues
2003-08-18 22:31:11 +00:00
Sascha Schumann
602d1b0045 One bit fields need to be unsigned, otherwise there is no storage for
the sign bit

"A signed bit field has a length of 1 bit."
2003-08-17 13:49:52 +00:00
Zeev Suraski
fe9b5870af Add logical XOR, proves to be quite useful lately 2003-08-04 07:52:36 +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
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
Stanislav Malyshev
237116aa27 Remove namespace leftovers 2003-07-23 08:58:46 +00:00
foobar
aad797691b Fix the HPUX alloca fix as suggested by Sascha 2003-07-19 13:10:24 +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
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Stanislav Malyshev
039c174337 rm namespace leftovers 2003-06-04 08:16:55 +00:00