Dmitry Stogov
0f7f1498be
Use ZEND_THIS macro to hide implementation details in extensions code.
2018-11-15 19:54:19 +03:00
Dmitry Stogov
c6ad0b92b7
Replace getThis() by EX(This), when additional check is not necessary.
2018-11-14 02:44:25 +03:00
Dmitry Stogov
8939c4d96b
Get rid of ZEND_ACC_CTOR, ZEND_ACC_DTOR and ZEND_ACC_IMPLEMENTED_ABSTRACT
2018-09-05 13:16:10 +03:00
Dmitry Stogov
b6cc4d2009
Use zval_ptr_dtor() instead of zval_dtor() in internal functions that destroy new created object (This is safer and produces less code)
2018-07-05 11:54:26 +03:00
Gabriel Caruso
701437a948
Remove return types from some magic method in protos
...
__construct, __destruct, __wakeup does not have return types defined.
2018-03-09 12:04:46 +01:00
Gabriel Caruso
8034fdc9d9
Use int instead of integer in proto
2018-02-02 22:32:15 +01:00
Nikita Popov
3538cbe6c0
Use free_obj for intl ResourceBundle
...
Partial fix for bug #67911 , the part about __destruct() not being
called.
2017-12-28 12:25:01 +01:00
Dmitry Stogov
9e709e2fa0
Move constants into read-only data segment
2017-12-14 18:43:44 +03:00
Dmitry Stogov
1db8402208
Move zend_object_iterator_funcs structures into read-only data segment
2017-12-14 14:21:22 +03:00
Peter Kokot
2783b1c823
Remove outdated TODO files
...
Some extensions included TODO files that has been present for several
years in the repository tree without changes. This included:
- ext/phar
- ext/intl
- ext/zip
- ext/soap
- ext/pdo
- ext/spl
- ext/dom
- ext/gmp
- ext/xmlwriter
- ext/xmlreader
ext/phar feature request has been created instead, and for others it
would be better to use wiki and RFC workflow instead based on current
feature requests and further PHP development requirements.
[ci skip]
2017-12-09 19:18:58 +01:00
Nikita Popov
b72b1a4e4d
Add zend_object_alloc() API
...
Using ecalloc() to create objects is expensive, because the
dynamic-size memset() is unreasonably slow. Make sure we only
zero the main object structure with known size, as the properties
are intialized separately anyway.
Technically we do not need to zero the embedded zend_object
structure either, but as long as the memset argument is constant,
a couple more bytes don't really matter.
2017-11-25 17:12:37 +01:00
Nikita Popov
fc7cfe1c0e
Remove superfluous checks of register_internal_class retval
2017-08-25 22:08:59 +02:00
Stanislav Malyshev
b26b02b2df
Bug #73218 : add mitigation for ICU int overflow
...
(cherry picked from commit d946d10293
)
2016-10-12 13:22:51 +02:00
Dmitry Stogov
95ac055fd3
Cleanup: zend_object_std_dtor() is called through free_obj handler
2015-09-23 00:12:31 +03:00
Nikita Popov
e74b84a9fe
Fix Intl constructor leaks
...
Drop the Z_OBJ(return_value) = NULL hack and return status code
from ctor function instead.
2015-04-17 10:33:59 +02:00
Nikita Popov
122d759618
Always throw TypeException on throwing zpp failures
...
Introduces a ZEND_PARSE_PARAMS_THROW flag for zpp, which forces to
report FAILURE errors using a TypeException instead of a Warning,
like it would happen in strict mode.
Adds a zend_parse_parameters_throw() convenience function, which
invokes zpp with this flag.
Converts all cases I could identify, where we currently have
throwing zpp usage in constructors and replaces them with this API.
Error handling is still replaced to EH_THROW in some cases to handle
other, domain-specific errors in constructors.
2015-04-06 11:27:34 +02:00
Dmitry Stogov
1018f462d8
Patch improvement:
...
Removed the corresponding core code.
Fixed ext/com_dotnet and ext/date.
Refactored ext/intl changes.
Improved ext/fileinfo and ext/pdo changes.
Fixed tests.
2015-03-30 18:53:38 +03:00
Danack
99dae96dc0
Converted intl extension to use IntlException in constructors.
2015-03-15 13:59:48 +00:00
Dmitry Stogov
9e70d7672d
Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.
2015-02-04 15:24:13 +03:00
Dmitry Stogov
8aa146b810
Fixed use after free
2015-01-26 12:24:33 +03:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08:00
Stanislav Malyshev
82f3d36583
cleanup intl types
2014-12-29 14:06:12 -08:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Johannes Schlüter
d0cb715373
s/PHP 5/PHP 7/
2014-09-19 18:33:14 +02:00
Anatol Belski
6db8d4f829
's' works with size_t round 3
2014-08-27 20:49:36 +02:00
Anatol Belski
3234480827
first show to make 's' work with size_t
2014-08-27 20:49:31 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Anatol Belski
063079b62e
ported ext/intl, bugfixes to go
2014-08-19 22:57:17 +02:00
Anatol Belski
63d3f0b844
basic macro replacements, all at once
2014-08-19 08:07:31 +02:00
Dmitry Stogov
1dd07d6bf4
Partial fix that allows internal constructors to set $this to null.
...
The address of $this passed to drectly called internal constructor in execute_data->return_value.
Internal constructors should use ZEND_CTOR_MAKE_NULL() macro (insted of previous ZEND_NULL(EG(This))) to do the work.
This patch doesn't fix the problem for indirectly called constructors. e.g. parant::__construct().
2014-07-09 11:57:42 +04:00
Xinchen Hui
f096bc4d86
Fixed segfault in resourcebundle
2014-06-29 22:30:32 +08:00
Xinchen Hui
e1437022e1
Fixed segfault, segfault and segfault
2014-06-29 00:29:07 +08:00
Xinchen Hui
b53bc5c762
Fixed segfaults
2014-06-28 20:52:41 +08:00
Xinchen Hui
b6e9c76d67
Refactoring ext/intl (only compilerable now, far to finish :<)
2014-06-28 12:20:35 +08:00
Xinchen Hui
4fbaddb4f8
Refactoring ext/intl (incompleted)
2014-06-28 00:02:50 +08:00
Dmitry Stogov
050d7e38ad
Cleanup (1-st round)
2014-04-15 15:40:40 +04:00
Christopher Jones
c1ecdfbf6e
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type"
Revert "Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type""
2013-08-22 09:06:43 -07:00
Christopher Jones
7109f369e8
Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type"
2013-08-22 09:05:52 -07:00
Christopher Jones
279b4fe614
Remove compile warning "variable ‘mekeylen’ set but not used"
2013-08-19 17:40:15 -07: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
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
Gustavo Lopes
fcd4420dbf
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Fix handling of several uinitialized intl objects
Fix handling of several uinitialized intl objects
- Fix NEWS
- BFN
Conflicts:
ext/intl/dateformat/dateformat.c
2012-08-22 22:53:07 +02:00
Gustavo Lopes
87803ace94
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
Fix handling of several uinitialized intl objects
2012-08-22 22:37:52 +02:00
Gustavo Lopes
a5d0c1e21b
Fix handling of several uinitialized intl objects
2012-08-22 22:32:51 +02:00
Gustavo André dos Santos Lopes
06e06f026d
Merge branch '5.4'
...
* 5.4:
Fix test title and limit it to ICU >= 4.8
Remove executable bit from files
Limit test to ICU 49
Remove executable bit from files
2012-07-30 11:04:48 +02:00
Gustavo André dos Santos Lopes
dec7bad635
Merge branch '5.3' into 5.4
...
* 5.3:
Limit test to ICU 49
Remove executable bit from files
2012-07-30 10:31:10 +02:00
Gustavo André dos Santos Lopes
9762609cec
Remove executable bit from files
2012-07-30 10:25:17 +02:00
Felipe Pena
f94051ea11
- Fix conflict
2012-07-14 12:23:24 -03:00
Felipe Pena
0bff7cfadd
- Fixed bug #62565 (Crashes due non-initialized internal properties_table)
2012-07-14 12:16:16 -03:00