Commit Graph

2734 Commits

Author SHA1 Message Date
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
Marcus Boerger
9d251cde97 Don't inherit twice what is needed only once 2003-05-04 18:56:35 +00:00
Marcus Boerger
e6d0c8c237 Fix bug #23162 user_error() crashs if > 1024 bytes (Marcus, Moriyoshi) 2003-05-04 18:21:32 +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
Sascha Schumann
e6b558edb2 Fix the *= operator
Slightly modified patch by Wez Furlong
2003-04-29 15:06:19 +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
Sascha Schumann
04d2905fb5 add safe_emalloc 2003-04-24 03:35:06 +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
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
Sebastian Bergmann
a17d2f37ea Corrected patch by Marcus Börger <helly@php.net>. 2003-04-19 09:04:15 +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
Derick Rethans
bd77233ee3 - MacOSX also prepends the _ before symbols in bundles 2003-04-18 11:35:22 +00:00
Sebastian Bergmann
5be2fe410e Patch by Marcus Börger <helly@php.net>. 2003-04-17 14:33:38 +00:00
Sebastian Bergmann
dccdb2f549 Fix warnings. 2003-04-11 17:30:42 +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
Zeev Suraski
65f06d8027 Revert Harald's commit 2003-04-10 04:43:42 +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
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
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
bf554c279f ChangeLog update 2003-04-08 00:31:01 +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
622340a119 ChangeLog update 2003-04-05 01:30:51 +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
Stanislav Malyshev
6ed305945d Fix namespace issues 2003-04-04 12:25:47 +00:00
8809836586 ChangeLog update 2003-04-04 01:30: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
Andrei Zmievski
91eff553e3 Initialize all relevant zend_class_entry fields to avoid accidental
crashes.
2003-04-03 14:44:41 +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
61e60f4ffe ChangeLog update 2003-04-03 01:30:48 +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
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
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
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
Stanislav Malyshev
8a03806a80 fix parameterless get_declared_classes call 2003-04-02 10:36:37 +00:00
1a0b455d71 ChangeLog update 2003-04-02 01:30:47 +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
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
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
6a0d4df691 ChangeLog update 2003-04-01 01:30:46 +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
Stanislav Malyshev
26c51b73f1 Use strncpy instead of sprintf 2003-03-31 07:34:05 +00:00
0367454d42 ChangeLog update 2003-03-31 01:30:45 +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
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
Stanislav Malyshev
bd4cdab9cf Fix namespace switch 2003-03-30 12:39:49 +00:00
46832dbcab ChangeLog update 2003-03-30 01:30:49 +00:00
Zeev Suraski
96231c3ab5 Add missing initialization 2003-03-29 19:20:35 +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
Sterling Hughes
05dfd313fb remove unused variable 2003-03-29 05:19:27 +00:00
c6e7dead32 ChangeLog update 2003-03-28 01:30:46 +00:00
Stanislav Malyshev
1972a656e7 fix fetch_class buglet 2003-03-27 17:57:47 +00:00
953d61e173 ChangeLog update 2003-03-27 01:30:59 +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
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
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
8712da0e39 ChangeLog update 2003-03-25 02:26:04 +00:00
Ilia Alshanetsky
d53b487633 MFHZE2 2003-03-24 14:53:30 +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
91a9f27084 ChangeLog update 2003-03-24 01:34:32 +00:00
Andi Gutmans
eba65486ad - Fix win32 build 2003-03-23 21:27:22 +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
6dd4cddb7f ChangeLog update 2003-03-23 01:33:20 +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
00920f5207 ChangeLog update 2003-03-21 01:37:46 +00:00
Stanislav Malyshev
70fff75187 Add stdlib.h too - it is needed fot strto{ld} 2003-03-20 17:41:40 +00:00
87a06aa8ea ChangeLog update 2003-03-20 01:33:31 +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
801966d951 ChangeLog update 2003-03-19 01:33:04 +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
Stig Bakken
0e6fca4f22 * email address change 2003-03-18 12:06:09 +00:00
14e9434586 ChangeLog update 2003-03-18 01:35:05 +00:00
Stanislav Malyshev
eb5fe6944d MFZE1 2003-03-17 14:41:04 +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
026bd025ec ChangeLog update 2003-03-14 01:32:56 +00:00
Andrei Zmievski
dedfa808bb Fix warning in va_start(). 2003-03-13 20:41:58 +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
Zeev Suraski
fa7dc03edb Fix a crash bug in the implicit public declaration 2003-03-12 09:38:19 +00:00
b838618029 ChangeLog update 2003-03-12 01:33:33 +00:00
Zeev Suraski
d405373270 Fix handling of ::func() 2003-03-11 23:19:45 +00:00
0f949bbfa1 ChangeLog update 2003-03-11 01:33:44 +00:00
Zeev Suraski
3e7cf8e15e Clean redundant code 2003-03-10 07:20:43 +00:00
foobar
f8fc50ed6d Fixed some leaks. Patch by Moriyoshi 2003-03-10 03:04:02 +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
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
fcd1cbfbf7 ChangeLog update 2003-03-08 01:31:41 +00:00
Sebastian Bergmann
81a346e4fe Dedicated to Greg Beaver <greg@chiaraquartet.net>. 2003-03-07 16:45:41 +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
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
f303054b9e ChangeLog update 2003-03-07 01:32:35 +00:00
foobar
66052056c7 Better fix for the memleaks (bug 19943) by Moriyoshi 2003-03-07 00:28:25 +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
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
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
4a8abb2f3d Fixed bug #19943 (the memleaks) 2003-03-06 16:27:05 +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
Zeev Suraski
812d91d08c Fix auto globals 2003-03-05 21:36:30 +00:00
Zeev Suraski
6ad2420d2d Implement $obj::static_func() 2003-03-05 13:25:33 +00:00
Zeev Suraski
26dd8492ed Add support for interfaces 2003-03-05 11:14:44 +00:00
41a7bc4271 ChangeLog update 2003-03-05 01:33:51 +00:00
Zeev Suraski
d5ada68654 Remove legacy code 2003-03-04 13:52:03 +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
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
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
Zeev Suraski
36eae0b771 Fix destructors some more 2003-03-02 15:24:04 +00:00
Zeev Suraski
98b990e336 Improve infrastructure 2003-03-02 13:33:31 +00:00
Zeev Suraski
f7b7800479 Add infrastructure for JIT initialization of auto globals 2003-03-02 10:04:53 +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
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
7be8179520 ChangeLog update 2003-02-28 01:31:36 +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
Sebastian Bergmann
189d29061e Syntactic sugar is sweet. 2003-02-26 08:27:14 +00:00
fd40b6d3f5 ChangeLog update 2003-02-26 02:03:08 +00:00
Zeev Suraski
5793784c93 Get the bits right - final/private fix 2003-02-25 10:03:26 +00:00
foobar
5132f3cb54 Do not redefine zend_isnan if it is already defined. 2003-02-25 07:46:15 +00:00
foobar
e9b5e34005 - Fixed bug #14245 ('make install' fails on AIX when using --with-apxs). 2003-02-25 06:35:43 +00:00
96563ce34f ChangeLog update 2003-02-25 01:33:26 +00:00
Stanislav Malyshev
3cf20f86db fix exception handling 2003-02-24 13:35:47 +00:00
Zeev Suraski
535aa63293 Add 'final' 2003-02-24 12:05:58 +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
424636f0dc ChangeLog update 2003-02-24 01:32:18 +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
7884793dcb ChangeLog update 2003-02-21 01:32:23 +00:00
Wez Furlong
f8e414ef70 *cough*
Fix another stupid mistake.
2003-02-20 21:48:46 +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
43b857b9b2 ChangeLog update 2003-02-20 01:33:00 +00:00
Wez Furlong
e88da9728f Fix stupid mistake that only affected interactive mode. 2003-02-19 14:52:56 +00:00
b66dd24323 ChangeLog update 2003-02-19 01:32:10 +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
Zeev Suraski
955636af69 Avoid using a C++ reserved word 2003-02-18 17:18:28 +00:00
Wez Furlong
a5860e6e28 Fixup build for win32 2003-02-18 09:51:21 +00:00
Wez Furlong
e52aac940f Implement simple stream support in the ZE scanners. 2003-02-18 09:37:54 +00:00
abcd236386 ChangeLog update 2003-02-18 01:34:00 +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
566e41226f Improve Win32 build performance 2003-02-17 13:20:41 +00:00
f303085465 ChangeLog update 2003-02-17 01:31:42 +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
Georg Richter
c08bfd2e3f tested patch from Zeev (fixes oo-bug in ext/mysqli) 2003-02-16 17:47:23 +00:00
Stanislav Malyshev
3e45b23799 add support for ::foo syntax meaning "global one" 2003-02-16 13:27:33 +00:00
Stanislav Malyshev
c9b2ec7be7 remove debug prints 2003-02-16 12:04:41 +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
5edec2a910 ChangeLog update 2003-02-16 01:32:24 +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
8764c02ce8 ChangeLog update 2003-02-15 01:35:51 +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
Zeev Suraski
884419044b Fix error handling in illegal property access 2003-02-13 22:47:25 +00:00
Harald Radi
3341568c09 MFB PHP_4_3 2003-02-13 16:46:53 +00:00
b0dd1b0eb0 ChangeLog update 2003-02-13 01:33:15 +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
405e10f6ce ChangeLog update 2003-02-12 01:31:55 +00:00
Zeev Suraski
beaf84ea17 Fix require() handling - that's an old bug! 2003-02-11 15:41:46 +00:00
Zeev Suraski
2814504143 Improve parser handling of 'abstract' 2003-02-11 09:48:37 +00:00
90ade25ad0 ChangeLog update 2003-02-11 01:31:35 +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
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
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
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
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
Zeev Suraski
55a66b1cb2 Fix the array() problem (and probably some other problems too) 2003-02-09 17:30:50 +00:00
086cb15f43 ChangeLog update 2003-02-09 01:31:33 +00:00
Georg Richter
325f9edb07 fixed zend_parse_method_param 2003-02-08 20:54:02 +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
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
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
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
3f70695a41 ChangeLog update 2003-02-07 01:31:42 +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
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
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
Zeev Suraski
ef77e582f5 Fix buglet in error message 2003-02-05 07:46:13 +00:00
1b63f56e0d ChangeLog update 2003-02-05 01:33:13 +00:00
Zeev Suraski
e1179a4d40 Missing update 2003-02-04 14:12:59 +00:00
Zeev Suraski
471947b188 Reimplement PPP properties 2003-02-04 12:12:34 +00:00
ccb1235482 ChangeLog update 2003-02-04 01:32:15 +00:00
Sebastian Bergmann
0026239c6a Build fix. 2003-02-03 09:42:53 +00:00
c1ca3a801f ChangeLog update 2003-02-03 02:19:31 +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
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
Andi Gutmans
87f4472afb - Fix warning 2003-02-02 05:20:31 +00:00
af2bfa03bf ChangeLog update 2003-02-02 01:33:42 +00:00
Sebastian Bergmann
729e470ced Fix build. 2003-02-01 07:32:09 +00:00
foobar
333406bdc2 - Added some missing CVS $Id$ tags, headers and footers. 2003-02-01 01:49:15 +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
Harald Radi
54c73d1ccb fix non-zts build for wez 2003-01-30 03:15:52 +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
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
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
b98d46baf2 ChangeLog update 2003-01-29 01:31:55 +00:00
Zeev Suraski
49fd225238 Fix a ticks related crash 2003-01-28 11:34:24 +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
90f9f62665 ChangeLog update 2003-01-28 01:33:49 +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
e9833ff497 ChangeLog update 2003-01-27 01:31:58 +00:00
Sascha Schumann
0ceb4a93b2 Replace snprintf() call using zend_error's capabilities 2003-01-26 23:15:30 +00:00
d3319d1b07 ChangeLog update 2003-01-24 01:32:58 +00:00
Zeev Suraski
76c93412d3 Let the scope propagate to internal functions 2003-01-23 16:40:30 +00:00
foobar
7a93625e4c Fixed bug: #14542, register_shutdown_function() timeout problem 2003-01-23 05:15:42 +00:00
ae55ffe7bf ChangeLog update 2003-01-23 01:33:39 +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
Sterling Hughes
d3f04d8ecc fix by phanto to the cloning 2003-01-21 00:00:38 +00:00
11aebf74bb ChangeLog update 2003-01-20 01:32:16 +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
Harald Radi
697398e18e ini patch to allow 'entry[] = value' entries 2003-01-19 12:01:38 +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
Harald Radi
5795ed62f4 make std_object_handlers struct available for shared modules 2003-01-17 21:16:12 +00:00
08c11f2931 ChangeLog update 2003-01-17 01:36:11 +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
Andi Gutmans
e5afca38b6 - Revert int -> unsigned int change for str.len 2003-01-15 20:35:06 +00:00
Sascha Schumann
7431b52291 Revert commit which turned the lengths of strings into zend_uint. 2003-01-15 19:10:14 +00:00
a34d4dc30e ChangeLog update 2003-01-15 01:34:55 +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
Stanislav Malyshev
5340b204ca fix memory leaks and key size 2003-01-14 15:12:35 +00:00
Ilia Alshanetsky
dff55752aa MFZE2 2003-01-14 14:21:45 +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
062942c4e9 ChangeLog update 2003-01-14 01:35:54 +00:00
Ilia Alshanetsky
8e7df3fbf1 MFZE2 2003-01-13 16:34:19 +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
Harald Radi
58d3451c75 fix wrong dereferenciation 2003-01-12 21:59:57 +00:00
Stanislav Malyshev
33b67ab868 fix inheritance 2003-01-12 18:57:18 +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
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
9bba373a17 Use generic handlers instead of Z_OBJ 2003-01-12 13:45:50 +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
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
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
091609d661 ChangeLog update 2003-01-12 01:31:51 +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
Harald Radi
c8d19858ac freed reader twice instead of writer and reader 2003-01-11 11:34:43 +00:00
c5153b24c8 ChangeLog update 2003-01-11 01:34:28 +00:00
Ilia Alshanetsky
8c3b8d4fe6 MFZE2 2003-01-10 19:18:20 +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
dd277cf2c7 ChangeLog update 2003-01-10 01:33:11 +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
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
Zeev Suraski
4bab4a7b55 Fix writability checks 2003-01-09 14:46:46 +00:00
Zeev Suraski
b817dab206 Fix leak 2003-01-09 09:22:44 +00:00
7faaf86d3a ChangeLog update 2003-01-09 01:33:21 +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