Commit Graph

289 Commits

Author SHA1 Message Date
Dmitry Stogov
72c287bd23 Combine HashTable.flags and HashTable.nApplyCount into single 32-bit word 2014-04-21 18:25:34 +04:00
Dmitry Stogov
e96073b1e4 Moved zend_literal->cache_slot right into zval.
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.
2014-04-17 15:40:45 +04:00
Dmitry Stogov
7537251bd7 Fixed reference counting 2014-04-16 16:28:11 +04:00
Dmitry Stogov
050d7e38ad Cleanup (1-st round) 2014-04-15 15:40:40 +04:00
Nikita Popov
20f2e5986e Fix ZTS build
This only makes it compile, it doesn't actually work, presumably
because interned strings are assumed in some places.
2014-04-09 23:41:16 +02:00
Dmitry Stogov
29f068779f Fixed ext/spl/tests/iterator_035.phpt 2014-04-09 23:49:58 +04:00
Dmitry Stogov
a938b24607 Fixed resource to integer conversion 2014-04-09 22:31:40 +04:00
Dmitry Stogov
085be9d618 Fixed ArrayObject::sort() family 2014-04-09 14:25:35 +04:00
Dmitry Stogov
7402af380b Fixed destruction of objects and iterators on unclean request shutdown and GC (few cases are still unfixed).
Now we destroy objects it two steps. At first - object properties of all objects and only then the objects their selves.
2014-04-09 01:50:15 +04:00
Dmitry Stogov
d8099d0468 Changed data layout to allow more efficient operations 2014-04-02 14:34:44 +04:00
Dmitry Stogov
887189ca31 Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing 2014-03-26 18:07:31 +04:00
Tjerk Meesters
4cb19f0a0f Added TSRMLS_CC to zend_is_true() calls 2014-03-25 19:05:43 +08:00
Tjerk Meesters
5dee3c11fe Call offsetGet() when called with isset() on ArrayObject derivatives 2014-03-25 18:15:18 +08:00
Dmitry Stogov
b7938ab1bd Refactored GC (incomplete) 2014-03-19 17:00:28 +04:00
Xinchen Hui
d0bbc227aa IS_UNDEF should never goes to user script land 2014-03-15 22:37:27 +08:00
Xinchen Hui
cc79496b97 Refactor Spl_Iterators to fixed default_properties change 2014-03-15 16:33:55 +08:00
Xinchen Hui
4d9d08269c Refactored Spl_Arrary to fixed zend_object->default_properties change 2014-03-15 14:32:32 +08:00
Xinchen Hui
05e8f28533 This should be a real problem 2014-03-02 14:35:41 +08:00
Xinchen Hui
7208b9660c Fixed autoload_func_info using zval instead of zval * 2014-02-28 23:05:13 +08:00
Xinchen Hui
4340f1a561 Fixed offset_key 2014-02-28 22:52:18 +08:00
Xinchen Hui
0680cdb4ac Fixed refcount handling 2014-02-28 22:47:24 +08:00
Xinchen Hui
a5ce7d526e Revert "Move zend_objects_store_put out of zend_object_std_init"
This reverts commit 8ced4f0ac9.
2014-02-28 13:59:07 +08:00
Xinchen Hui
8ced4f0ac9 Move zend_objects_store_put out of zend_object_std_init 2014-02-28 12:59:51 +08:00
Xinchen Hui
0817cee164 Fixed object creating (std_init calls store_put now) 2014-02-27 22:47:30 +08:00
Dmitry Stogov
3696e038e5 Various fixes related to read_property(), read_dimension() and iterators refactoring 2014-02-27 16:07:36 +04:00
Dmitry Stogov
4ba590697e Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2 2014-02-27 15:40:51 +04:00
Dmitry Stogov
1c3ba95bb5 Refactored read_property() and read_dimension() handlers 2014-02-27 15:40:13 +04:00
Xinchen Hui
382b0dfdb7 Refactoring zend_iterator (incompleted) 2014-02-27 19:19:02 +08:00
Dmitry Stogov
495551aa8c Fixed iterators API. zend_iterator_init() has to be used in each get_iterator() callback. 2014-02-26 15:01:08 +04:00
Xinchen Hui
43b03c74b3 Refacting smart_str 2014-02-18 17:42:46 +08:00
Dmitry Stogov
2b9b9afa7a Use better data structures (incomplete) 2014-02-17 17:59:18 +04:00
Xinchen Hui
ad1838d248 Use better data structures (incomplete) 2014-02-16 22:27:31 +08:00
Xinchen Hui
6cb316cf5d Use better data structures (incomplete) 2014-02-14 23:11:40 +08:00
Xinchen Hui
068ec75f8b Use better data structures (incomplete) 2014-02-14 17:05:04 +08:00
Dmitry Stogov
f4cfaf36e2 Use better data structures (incomplete) 2014-02-10 10:04:30 +04:00
Xinchen Hui
0f53e37494 Merge branch 'PHP-5.6' 2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772 Bump year 2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Kalle Sommer Nielsen
d14670ccdb Eliminate another TSRMLS_FETCH() in i_zend_is_true()
# Affected extensions have all been updated, ext/opcache and ext/zip
# both have macros for cross version compatibility
2013-12-18 07:25:05 +01:00
Christopher Jones
39612afc72 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings.

Conflicts:
	ext/dba/libinifile/inifile.c
2013-08-14 20:43:25 -07:00
Christopher Jones
9ad97cd489 Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings. 2013-08-14 20:36:50 -07:00
Xinchen Hui
9126909c08 Merge branch 'PHP-5.4' into PHP-5.5 2013-07-25 22:44:19 +08:00
Xinchen Hui
9909c4d4c4 Fixed bug #65328 (Segfault when getting SplStack object Value) 2013-07-25 22:43:41 +08:00
Felipe Pena
f5bf90ef34 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - Fixed bug #62672 (Error on serialize of ArrayObject) patch by: lior dot k at zend dot com
  - BFN
2013-06-25 21:18:34 -03:00
Felipe Pena
04db57066d - Fixed bug #62672 (Error on serialize of ArrayObject) patch by: lior dot k at zend dot com 2013-06-25 21:18:09 -03:00
Nikita Popov
28634bf603 Forgot to remove some now unused variables 2013-03-12 17:39:20 +01:00
Nikita Popov
fcc6611de9 Add support for non-scalar Iterator keys in foreach
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Stanislav Malyshev
207d0ee08a Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Bug #52861: unset fails with ArrayObject and deep arrays
2013-02-26 22:13:01 -08:00
Stanislav Malyshev
7c08232509 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Bug #52861: unset fails with ArrayObject and deep arrays
2013-02-26 22:12:36 -08:00
Mike Willbanks
61099f8585 Bug #52861: unset fails with ArrayObject and deep arrays
When checking to make into a reference write, readwrite are checked but not unset
2013-02-26 22:11:52 -08:00
Stanislav Malyshev
0c6d903ce7 fix bug #49348 - issue notice on get_property_ptr_ptr when used for read 2013-02-18 20:56:02 -08:00
Nikita Popov
f540e086e2 Fixed bug #64106: Segfault on SplFixedArray[][x] = y when extended 2013-01-30 20:40:02 +01:00
Nikita Popov
bb4d11b405 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-30 20:25:59 +01:00
Nikita Popov
321f4f18e5 Fixed bug #64106: Segfault on SplFixedArray[][x] = y when extended 2013-01-30 20:23:39 +01:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Xinchen Hui
a2045ff332 Happy New Year~ 2013-01-01 16:02:16 +08:00
Xinchen Hui
6284ef112e Fixed bug #63236 (Executable permission on various source files) 2012-10-09 13:28:31 +08:00
Xinchen Hui
e4a8fa6a15 Merge branch 'PHP-5.3' into PHP-5.4 2012-10-09 13:29:51 +08:00
Xinchen Hui
f3108b5f81 Remove extra blank in notice message, should act as same as vm 2012-09-01 14:37:45 +08:00
Xinchen Hui
863e7e0acb Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/spl/spl_array.c
2012-09-01 14:27:09 +08:00
Xinchen Hui
67d7d03f00 Fixed bug #62987 (Assigning to ArrayObject[null][something] overrides all undefined variables)
The get_zval_ptr_ptr of spl_array handler should act as same as the vm's
2012-09-01 14:21:34 +08:00
Xinchen Hui
8722173ad5 Implemented FR #62840 (Add sort flag to ArrayObject::ksort) 2012-08-21 13:32:15 +08:00
Stanislav Malyshev
a5d45bae85 Fixed bug #61527 (Recursive/ArrayIterator gives misleading notice when array empty or moved to the end) 2012-07-14 22:34:28 -07:00
Johannes Schlüter
b025b9d0cf Fix #62432 ReflectionMethod random corrupt memory on high concurrent
This fixes the same issue in multiple extensions. This isn't needed
in later branches as 5.4 introduced object_properties_init()
2012-06-27 23:26:33 +02:00
Nikita Popov
fed1f2d124 Fixed bug RecursiveArrayIterator does not implement Countable
ArrayIterator implemented Countable only after it was already inherited by
RecursiveArrayIterator. Thus the interface was missing in RAI.
2012-06-19 18:32:44 +02:00
Nikita Popov
cce4764f13 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug RecursiveArrayIterator does not implement Countable

Conflicts:
	ext/spl/spl_array.c
2012-06-19 18:08:22 +02:00
Nikita Popov
4cba4c6193 Fixed bug RecursiveArrayIterator does not implement Countable
ArrayIterator implemented Countable only after it was already inherited by
RecursiveArrayIterator. Thus the interface was missing in RAI.
2012-06-19 18:04:14 +02:00
Gustavo André dos Santos Lopes
593578c8c1 Merge branch '5.3' into 5.4 2012-03-28 13:06:05 +01:00
Gustavo André dos Santos Lopes
f07dd29fdc Fixed problem introduced in a763929 (fixing bug #61347).
The test added in 8c44c85 should now pass.
2012-03-28 13:04:41 +01:00
Xinchen Hui
430486f0bf Fixed bug #61347 (inconsist isset behavior of Arrayobject) 2012-03-11 08:27:55 +00:00
Xinchen Hui
a7639291b4 Fixed bug #61347 (inconsist isset behavior of Arrayobject) 2012-03-11 08:27:55 +00:00
Gustavo André dos Santos Lopes
88ba84fa7d - Fixed bug #61326 (ArrayObject comparison). 2012-03-10 17:19:39 +00:00
Gustavo André dos Santos Lopes
7bbf5fe650 - Fixed bug #61326 (ArrayObject comparison). 2012-03-10 17:19:39 +00:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Antony Dovgal
c3b83e833d fix bug #60082 (Crash in ArrayObject() when using recursive references)
--Tis line, and those below, will be ignored--

M    trunk/ext/spl/spl_array.c
M    branches/PHP_5_4/ext/spl/spl_array.c
M    branches/PHP_5_3/ext/spl/spl_array.c
M    branches/PHP_5_3/NEWS
2011-11-18 05:22:35 +00:00
Antony Dovgal
ea97932279 fix bug #60082 (Crash in ArrayObject() when using recursive references)
--Tis line, and those below, will be ignored--

M    trunk/ext/spl/spl_array.c
M    branches/PHP_5_4/ext/spl/spl_array.c
M    branches/PHP_5_3/ext/spl/spl_array.c
M    branches/PHP_5_3/NEWS
2011-11-18 05:22:35 +00:00
Etienne Kneuss
bb7a93081e Fix CID 538/539, explicitely check for something that should never occur 2011-08-12 22:05:10 +00:00
Felipe Pena
23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Felipe Pena
4b30846b50 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Dmitry Stogov
77ed819430 Fixed bug #54323 (Accessing unset()'ed ArrayObject's property causes crash) 2011-04-07 14:52:30 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Felipe Pena
9864040e35 - Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 values) 2010-12-10 23:58:33 +00:00
Felipe Pena
13c99651fc - Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 values) 2010-12-10 23:58:33 +00:00
Felipe Pena
6958cb4a14 - Added missing void arg checks 2010-11-14 18:40:08 +00:00
Felipe Pena
8192f0f771 - Added missing void arg checks 2010-11-14 18:40:08 +00:00
Michael Wallner
89e93723fb Added support for object references in recursive serialize() calls. FR #36424 2010-05-26 07:24:37 +00:00
Dmitry Stogov
c5237d82bf Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties 2010-05-24 14:11:39 +00:00
Dmitry Stogov
24704df3a8 Fixed a possible memory corruption in ArrayObject::uasort() Reported by Stefan Esser 2010-05-13 08:09:54 +00:00
Dmitry Stogov
f5ef32e7ab Fixed a possible memory corruption in ArrayObject::uasort() Reported by Stefan Esser 2010-05-13 08:09:54 +00:00
Dmitry Stogov
94dd83722b Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table 2010-04-20 10:57:45 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Dmitry Stogov
42b62e7ca6 Fixed ext/spl/tests/arrayObject_magicMethods2.phpt 2009-09-22 07:54:06 +00:00
Etienne Kneuss
6e164aa35a Fix several recursion problems when var_dump'ing self-referencing objects 2009-08-13 22:07:05 +00:00
Felipe Pena
fc4e43ec3c MFH:
- Added missing methods' arginfo (for void params)
- Fixed arginfos:
  - MultipleIterator::__construct
  - MultipleIterator::setFlags      (Thanks Philip!)
  - SplFixedArray::__construct
2009-07-04 20:31:27 +00:00
Arnaud Le Blanc
52cc098a90 MFH: Better fix for #45622 (patch by robinf at php do net) 2009-05-21 13:26:14 +00:00
Etienne Kneuss
8623e9db8b MFH: Fix #47231 (offsetGet error using incorrect offset) 2009-03-19 03:01:37 +00:00