Commit Graph

280 Commits

Author SHA1 Message Date
Dmitry Stogov
3f51a6970d Fixed mess with semantic of zend_normalize_identifier()'s return value (SUCCESS != 1) 2006-07-27 09:33:44 +00:00
Dmitry Stogov
b9915a9264 Fixed bug #38211 (variable name and cookie name match breaks script execution) 2006-07-26 09:24:50 +00:00
Marcus Boerger
617a18fc40 - Fix for #34505 and repated (improved version of what is in 5.2, 5.1) 2006-07-24 17:51:41 +00:00
Dmitry Stogov
a7cfcd6b35 MTH: Fixed bug #37144 (PHP craches trying to assign into property of dead object) 2006-07-21 11:13:24 +00:00
Dmitry Stogov
881258ad6e Fixed wrong "type" argument to read_property() handler 2006-07-21 08:39:43 +00:00
Antony Dovgal
4343311203 get rid of more "might be uninitialized" warnings 2006-07-12 21:14:11 +00:00
Antony Dovgal
527f93f25d make sure return_value_used is always initialized 2006-07-12 21:07:07 +00:00
Andrei Zmievski
ed77c07a35 Commit Sara's patch for supporting filesystem enccoding in
include/require.
2006-07-12 17:04:13 +00:00
Dmitry Stogov
b52137a828 Fixed memory leak in case of exception in iterator callbacks in 'foreach(new Iterator()...' (spl/tests/iterator_047.phpt). 2006-07-11 08:52:44 +00:00
Sara Golemon
aee52fa3ea Silence FETCH_OBJ_IS / undefined notices 2006-07-06 15:28:05 +00:00
Stefan Esser
08e355e39e Added hook for compile_string() 2006-06-13 12:56:20 +00:00
Dmitry Stogov
4ef9b25370 Proper fix for bug #37707 ("clone $x" must call __clone() enven if result value is not used) 2006-06-08 08:56:47 +00:00
Dmitry Stogov
de90af4ddc Wrap "wrong" unreachable code with "#if 0" 2006-06-08 08:38:11 +00:00
Ilia Alshanetsky
72a4a1362a MFB: Fixed bug #37707 clone without assigning leaks memory 2006-06-07 13:43:13 +00:00
Marcus Boerger
646a613ebf - Fix issue with interfaces being inherited multiple times 2006-06-07 09:23:58 +00:00
Johannes Schlüter
80cff030da - Fix printf modifier 2006-05-28 19:45:02 +00:00
Marcus Boerger
a871b842f8 - Fix warning 2006-05-20 15:38:36 +00:00
Dmitry Stogov
fb1a172cae Optimized require_once/include_once (eliminated fopen() on second usage) 2006-05-15 15:31:50 +00:00
Marcus Boerger
623df04877 - Drop a few superflous if conditions 2006-05-11 21:11:54 +00:00
Dmitry Stogov
30ff22ca47 Fixed bug #37251 (deadlock when custom error handler is to catch array type hint error). 2006-05-05 08:04:55 +00:00
Dmitry Stogov
ec12098c3b Fixed bug #37046 (foreach breaks static scope) 2006-04-12 11:38:09 +00:00
Marcus Boerger
509c9d44e2 - Iterators from overloaded objects are allowed to not have keys... 2006-04-10 23:15:26 +00:00
Dmitry Stogov
ea9b9502e9 typo 2006-03-16 15:42:54 +00:00
Dmitry Stogov
89a1a4cbc4 Return "new" by reference now throws an E_STRICT error 2006-03-16 15:35:26 +00:00
Dmitry Stogov
7c0e534157 Dropped zend.ze1_compatibility_mode 2006-03-16 10:33:23 +00:00
Dmitry Stogov
d3e5691b41 Added E_STRICT warning in case of calling non-static method from incompatible context (this feature is staying for BC with php-4) 2006-03-15 11:15:20 +00:00
Dmitry Stogov
a623645b6f Fixed "zend_vm_gen.php --without-specializer" 2006-03-15 08:06:51 +00:00
Dmitry Stogov
bc9eaa011e Fixed compilation error (Rob) 2006-03-10 16:35:57 +00:00
Dmitry Stogov
f8576f84dc Implemented "jump label" operator (limited "goto") 2006-03-10 08:29:43 +00:00
Marcus Boerger
23a8100309 - Fix warning 2006-03-01 16:14:37 +00:00
Dmitry Stogov
e3b7f3fd0d Unicode support: MS Visual C compatibility 2006-02-26 11:57:14 +00:00
Marcus Boerger
44b0637bcd - Deprecation severity shall be E_STRICT (as commented by ilia)
# Actually this conforms with other messages
2006-02-25 17:43:12 +00:00
Dmitry Stogov
0f1209ab3d Portable unicode string API:
- use the same type (int) for zval.value.usr.len and zval.value.str.len
  - use union "zstr" as char*/UChar* mixture instead of void*
  - Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
  - nuke int32_t from ZE (not finisned)
2006-02-21 20:12:43 +00:00
Dmitry Stogov
2e5d0a3a9d WS 2006-02-21 08:00:39 +00:00
Marcus Boerger
3b3e006e33 - Add deprecation flag and message 2006-02-20 20:00:46 +00:00
Dmitry Stogov
b424a32610 Preparation for portable string API (use macroses to access zval). 2006-02-20 19:03:43 +00:00
Marcus Boerger
bc994b981f - Fix integrated iterator index 2006-02-18 17:37:54 +00:00
Dmitry Stogov
47c90c571f Fixed bug #36303 (foreach on error_zval produces segfault) 2006-02-06 11:46:12 +00:00
Marcus Boerger
c8d78028b5 - Disallow foreach($v as &$ref) when $v is an object that implements
interface Iterator. The signature of Iterator::current() doesn't allow
  that. Maybe ppl also want IteratorByReference or similar. Unfortunatley
  this comes with an API change but there is no easier way.
2006-02-05 23:26:55 +00:00
Dmitry Stogov
227295a4f1 Unicode stuff is changed according to decision maden on PDM.
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.
2006-01-17 12:18:53 +00:00
Andi Gutmans
5de7cc3194 - Update copyright notices to 2006 2006-01-04 23:54:12 +00:00
Dmitry Stogov
d409c5e347 Fixed bug #35470 (Assigning global using variable name from array doesn't function) 2005-11-30 10:10:32 +00:00
Dmitry Stogov
4192685b64 Fixed bug #35393 (changing static protected members from outside the class, one more reference issue) 2005-11-28 14:33:44 +00:00
Dmitry Stogov
97190ee606 Removed support for continue and break operators with non-constant operands 2005-11-17 08:27:25 +00:00
Dmitry Stogov
372d59b648 Fixed bug #35017 (Exception thrown in error handler may cause unexpected behavior) 2005-10-31 19:29:48 +00:00
Dmitry Stogov
3c6c6d2a9a $id:$ tatgs are removed from generated files to avoid committing of Zend/zend_vm_opcodes.h without real changes. 2005-10-28 06:05:41 +00:00
Dmitry Stogov
804e3b4f5b Fixed SIGSEGV 2005-10-27 19:25:07 +00:00
Dmitry Stogov
81b506bdd0 Removed unnecesary local variable 2005-10-20 11:31:59 +00:00
Dmitry Stogov
2507a54429 Fixed bug #31177 (menory leaks and corruption because of incorrect refcounting) 2005-10-20 07:23:58 +00:00
Dmitry Stogov
98294fbf3f Fixed bug #34786 (2 @ results in change to error_reporting() to random value) 2005-10-10 10:54:45 +00:00
Dmitry Stogov
f94344d7fd Changed __toString() behavior to call it in all necessary places 2005-09-27 07:59:18 +00:00
Antony Dovgal
b97af6c1c0 MF5.1:
- store current value of error_reporting only if it's not stored yet
- reset old_error_reporting to NULL only it points to the tmp_var at current opline
2005-09-23 09:38:37 +00:00
Dmitry Stogov
14a0d82f42 MFH 2005-09-23 07:16:06 +00:00
Antony Dovgal
78fe744753 fix #33771 (error_reporting falls to 0 when @ was used inside try/catch block) 2005-09-22 19:03:04 +00:00
Derick Rethans
c3c9df5ed6 - Moved the FREE_OP to after the execution of the included file, or eval
statement so that it is safe to access this information in the overridden
  zend_execute() function, which is what Xdebug does.
2005-09-21 08:12:34 +00:00
Dmitry Stogov
a106b48982 Fixed access to memory that is already freed (in case of __call() method) 2005-09-19 16:28:43 +00:00
Dmitry Stogov
9f9043864c Fixed parameter passing incompatibilities.
Now it is possible to call array_pop(explode("&","1&2&3")) again.
2005-09-19 16:01:56 +00:00
Dmitry Stogov
a5c84dde62 MFH 2005-09-16 15:24:09 +00:00
Dmitry Stogov
af3476a982 Fixed bug #34518 (Unset doesn't separate container in CV) 2005-09-16 14:40:49 +00:00
Dmitry Stogov
49c3b14f53 Unicode support for PHP constants 2005-09-08 11:10:34 +00:00
Andrei Zmievski
d0d6a1f16f - Require declare(encoding=...) to come before any opcodes. Read source
comments for more info.
- Op arrays now know which script encoding they were compiled from.
- Use this information to intelligently convert inline HTML blocks to
  the output encoding. Currently it opens and closes a new converter for
  each block, but we can optimize it.
2005-08-24 20:42:09 +00:00
Dmitry Stogov
5820ee959e Fixed return-by-reference from internal functions 2005-08-24 10:41:51 +00:00
Dmitry Stogov
90393d675f Unicode support 2005-08-19 13:20:16 +00:00
Dmitry Stogov
b0e24970bb Unicode support cleanup 2005-08-19 10:54:26 +00:00
foobar
45ed0b936b - Removed EOL from error message 2005-08-18 12:34:13 +00:00
Dmitry Stogov
48def9a6ad Unicode support 2005-08-17 13:10:04 +00:00
Dmitry Stogov
fd469eb361 Unicode support 2005-08-12 14:11:16 +00:00
Andrei Zmievski
b80cb7bd2f Unicode support 2005-08-11 23:35:03 +00:00
Dmitry Stogov
b0207d34a1 Fixed bug #34062 (Crash in catch block when many arguments are used) 2005-08-10 13:11:53 +00:00
Dmitry Stogov
c52d7cb530 Fixed bug #34064 (arr[] as param to function in class gives invalid opcode) 2005-08-10 10:39:28 +00:00
Dmitry Stogov
604751ab87 Fixed bug #34045 (Buffer overflow with serialized object) 2005-08-10 06:37:27 +00:00
Dmitry Stogov
a744a6feb5 Fixed memory leak in foreach() on undefined variable (Zend/tests/foreach_undefined.php) 2005-08-05 06:29:46 +00:00
Ilia Alshanetsky
70f72d39e4 Fixed warning message generated when isset() or empty() are given invalid
offset type.
2005-07-29 16:27:32 +00:00
Andi Gutmans
9c392835de - Tiny fixlet 2005-07-28 21:39:57 +00:00
Dmitry Stogov
6b5f4da085 Fixed bug with returning from internal function by reference 2005-07-21 13:48:10 +00:00
Dmitry Stogov
f90bdf8933 Fixed bug #33558 (warning with nested calls to functions returning by reference) 2005-07-18 07:13:34 +00:00
Dmitry Stogov
d7baf87c61 Removed some compilation warnings. 2005-07-18 06:34:42 +00:00
Ilia Alshanetsky
8a9fc3439a Make references misuse emit E_NOTICE rather E_STRICT to be compatible with
PHP 4.4.0
2005-07-11 18:44:37 +00:00
Dmitry Stogov
343af548a6 Fixed SIGSEGV on 'global ${"{$blah}_ID"};' 2005-07-04 13:24:46 +00:00
Dmitry Stogov
f4b5a51952 Fixed memory leak 2005-07-03 11:09:42 +00:00
Stanislav Malyshev
fb0c96d07b fix conditions for freeing 2005-06-29 08:44:01 +00:00
Stanislav Malyshev
b95ec3528a fix previous patch 2005-06-28 12:42:56 +00:00
Stanislav Malyshev
e3601d22a7 fixes for non-php objects 2005-06-28 10:49:56 +00:00
Dmitry Stogov
7662d4df64 Fixed SIGSEGV on assigment string offset by reference 2005-06-27 06:15:35 +00:00
Dmitry Stogov
61b9dedd90 Export zend_do_fcall() helper from executor 2005-06-24 12:33:53 +00:00
Dmitry Stogov
12b66c262a Fixed bug #30519 (Interface not existing says Class not found) 2005-06-24 08:45:17 +00:00
Dmitry Stogov
cfe01e1b06 Fixed bug #32660 (Assignment by reference causes crash when field access is overloaded (__get)) 2005-06-23 11:04:35 +00:00
Dmitry Stogov
21e071be06 Fixed bug #33257 (array_splice() inconsistent when passed function instead of variable) 2005-06-22 08:33:00 +00:00
Dmitry Stogov
2a314dbc47 Removed EX(fbc_constructor) (it is no longer needed) 2005-06-17 15:06:28 +00:00
Dmitry Stogov
aedbdb087d Allowed return by refrence from internal functions 2005-06-16 14:56:13 +00:00
Dmitry Stogov
a6d84dbb82 Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8) 2005-06-16 14:20:00 +00:00
Dmitry Stogov
faacd7f865 Compilation warnings 2005-06-16 12:26:44 +00:00
Dmitry Stogov
c3e6a90808 ZEND_UNSET_DIM_OBJ is splitted to ZEND_UNSET_DIM and ZEND_UNSET_OBJ. 2005-06-16 12:17:39 +00:00
Dmitry Stogov
3c1a774ddc USER_OPCODE API is improvet.
Implemented ability to dispatch from user handler to internal handler of another opcode.
2005-06-16 06:00:48 +00:00
Dmitry Stogov
14b80ad199 Specializer optimization 2005-06-13 17:50:07 +00:00
Dmitry Stogov
84b96e9b03 Fix so that extensions like xdebug, can overload opcodes in all execution modes including goto/switch 2005-06-10 09:54:38 +00:00
Dmitry Stogov
6efa17c2a1 Merge three opcodes (ZEND_NEW, ZEND_JMP_NO_CTOR, ZEND_INIT_CTOR) into one (ZEND_NEW). There was no real reason for this anymore and API should be changed before 5.1 2005-06-10 07:56:40 +00:00
Dmitry Stogov
87df726f05 Fixed exception handling in getIterator() callback (bugs #26229 & #30725) 2005-06-08 18:54:04 +00:00
Derick Rethans
f07eed91c4 - MF44: Problems with user defined error handler and references 2005-06-07 10:01:30 +00:00
Derick Rethans
e2e1bf6b0c - Regenerate VM files and add warning about regeneration 2005-06-06 15:17:20 +00:00
Derick Rethans
941f16914d - MH44: Problems with user defined error handler and wrong usage of references 2005-06-06 13:09:23 +00:00
Dmitry Stogov
61054dbcd0 Fixed bug #32993 (implemented Iterator function current() don't throw exception) 2005-06-06 08:24:05 +00:00
Dmitry Stogov
3d7b0bab28 Fixed memory allocation bugs related to magic object handlers (__get(), __set(),
...)
2005-06-03 11:16:19 +00:00
Dmitry Stogov
743c5bb15b Fixed bug #22836 (returning reference to uninitialized variable) 2005-05-27 16:18:07 +00:00
Dmitry Stogov
79d6f11a4a Fixed bug #31525 (object reference being dropped. $this getting lost) 2005-05-05 17:37:25 +00:00
Dmitry Stogov
5e4d91582a Fixed bug #30707 (Segmentation fault on exception in method) 2005-05-04 11:17:30 +00:00
Dmitry Stogov
37d16df05c Fixed bug #30162 (Catching exception in constructor couses lose of $this) 2005-05-04 08:45:46 +00:00
Dmitry Stogov
aba79c268c Fixed bug #32833 (Invalid opcode) 2005-04-27 12:16:32 +00:00
Dmitry Stogov
28e68301dc Fixed bug #32674 (exception in iterator causes crash) 2005-04-27 06:47:08 +00:00
Dmitry Stogov
a9a319b078 Fixed bug #30889 (Conflict between __get/__set and ++ operator) 2005-04-26 13:23:23 +00:00
Andrei Zmievski
4fbddd03d7 Fix certain operations to stop relying on presence of read_property and
write_property handlers. They may be NULL'ed out by certain objects
pretending to be pure arrays, for example. Do checks first.
2005-04-15 17:15:18 +00:00
Marcus Boerger
bfd0e28e5c - Remove potential bad solution for now
# This seemed to be necessary since there were cases where exceptions were
# ignored by exit() with the result of a silent exit without showing the
# pending exception. Since atm we cannot reproduce it anymore we drop it.
2005-03-24 23:52:34 +00:00
Marcus Boerger
6dc04d98f2 - If an exception is pending we don't bail out but show the unhandled exception 2005-03-12 22:42:37 +00:00
Marcus Boerger
affc9bb69b - Fix #31562 2005-03-10 02:29:45 +00:00
Dmitry Stogov
f3f8792b9b Fixed bug in ZEND_POST_INC/ZEND_POST_DEC handlers.
These opcodes assume IS_TMP_VAR as result.
2005-02-24 08:52:11 +00:00
Dmitry Stogov
5764d6f41b Fixed bug #30407 (Strange behaviour of default arguments) 2005-02-10 11:45:24 +00:00
Dmitry Stogov
fc96c7f7fa foreash($a as $key => $val) optimization
Removed temorary array creation on each iteration.
2005-02-07 16:09:54 +00:00
Marcus Boerger
662cd8262e - Cleanup foreach statement 2005-02-05 14:01:59 +00:00
Marcus Boerger
82193adc09 - Bugfix #26229 (getIterator() segfaults when it returns arrays or scalars) 2005-01-25 10:40:51 +00:00
Marcus Boerger
ccca7df1ea - Use correct freeing (thx Dmitry) 2005-01-25 10:07:52 +00:00
Marcus Boerger
3cf4eae4aa - Second and last part of #30725 fix 2005-01-24 20:02:55 +00:00
Dmitry Stogov
72d02269a9 Restore behavior of $str["str"]. (Now $str["str"] is equivalent to $str[0] again) 2005-01-14 09:01:22 +00:00
Dmitry Stogov
6fa37163f2 Fixed bug #31098 (isset false positive) 2005-01-12 09:18:31 +00:00
foobar
a96507c1ec - Added missing header sections. 2005-01-10 14:57:36 +00:00
Dmitry Stogov
beaff87d50 "Undefined variable: %s" noticies were fixed to use one space 2004-12-27 13:43:26 +00:00
Dmitry Stogov
f91088459b New sarbage collector's bug was fixed (the behavior should be the same as in PHP_5_0) 2004-12-24 09:00:29 +00:00
Dmitry Stogov
ec36f7dc69 Fixed bug #29883 (isset gives invalid values on strings). 2004-12-01 14:02:35 +00:00
Dmitry Stogov
9fb0e11de5 Fixed "isset() and the new VM" bug. 2004-11-03 07:11:49 +00:00
Marcus Boerger
c5a9a5a284 - Change zend_object_handlers->get_method() to allow aggregation for internal classes 2004-10-30 19:11:37 +00:00
Andi Gutmans
e50a6fde11 - Commit new VM
- Old one is tagged as PRE_NEW_VM_GEN_PATCH
- Still doing work so more commits to come. Don't complain (yet) :)
2004-10-22 21:42:14 +00:00