summaryrefslogtreecommitdiff
path: root/ext/dom/php_dom.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix memory leak introduced by fixing bug #78221Christoph M. Becker2020-04-081-2/+9
| | | | | | | | | | We have to free the retrieved text content; to keep the code readable, we extract a helper function to check for empty nodes. Unfortunately, we cannot use xmlIsBlankNode(), because that also recognizes whitespace only text content. We also make sure to properly handle NULL returns from xmlNodeGetContent().
* Fix #78221: DOMNode::normalize() doesn't remove empty text nodesChristoph M. Becker2020-04-071-0/+8
| | | | | If a text node is not followed by another text node, we remove it, if its textContent is empty.
* Remove unused Git attributes identPeter Kokot2018-07-251-2/+0
| | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* Use zval_ptr_dtor() imstead of zval_dtor()Dmitry Stogov2018-07-051-2/+2
|
* Export standard object handlers, to avoid indirect accessDmitry Stogov2018-05-311-9/+5
|
* Use zend_string_release_ex() instread of zend_string_release() in places, ↵Dmitry Stogov2018-05-281-6/+6
| | | | where we sure about string persistence.
* Keep initialized object_handlers structures in read-only memory.Dmitry Stogov2018-03-141-4/+4
|
* Merge branch 'PHP-7.2'Anatol Belski2018-02-171-1/+0
|\ | | | | | | | | * PHP-7.2: Remove duplicated assignment
| * Merge branch 'PHP-7.1' into PHP-7.2Anatol Belski2018-02-171-1/+0
| |\ | | | | | | | | | | | | * PHP-7.1: Remove duplicated assignment
| | * Remove duplicated assignmentAnatol Belski2018-02-171-1/+0
| | |
| | * year++Xinchen Hui2018-01-021-1/+1
| | |
| | * Update copyright headers to 2017Sammy Kaye Powers2017-01-041-1/+1
| | |
| * | year++Xinchen Hui2018-01-021-1/+1
| | |
* | | year++Xinchen Hui2018-01-021-1/+1
| | |
* | | Make sure properties are initialized before cloningNikita Popov2017-11-251-8/+6
| | | | | | | | | | | | | | | | | | Now that they are not memset, they need to be explicitly intialized, as zend_objects_clone_members() destroys the old property values first.
* | | Add zend_object_alloc() APINikita Popov2017-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Use interned strings for "magic" property of internal classes. (not copyied ↵Dmitry Stogov2017-11-011-1/+4
| | | | | | | | | | | | into SHM)
* | | Encapsulate reference-counting primitives.Dmitry Stogov2017-10-271-1/+1
| | | | | | | | | | | | | | | | | | Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead. Added mactros to validate reference-counting (disabled for now). These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.
* | | Refactored array creation API. array_init() and array_init_size() are ↵Dmitry Stogov2017-09-201-2/+1
|/ / | | | | | | converted into macros calling zend_new_array(). They are not functions anymore and don't return any values.
* | Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837)Andreas Treichel2017-07-101-2/+2
| |
* | Update copyright headers to 2017Sammy Kaye Powers2017-01-021-1/+1
| |
* | Merge branch 'PHP-7.1'Joe Watkins2017-01-021-1/+1
|\ \ | |/ | | | | | | | | | | * PHP-7.1: news entry for PR #2267 Fixed #67474 (getElementsByTagNameNS and default namespace) Add (failing) testcase for bug #67474
| * Merge branch 'PHP-7.0' into PHP-7.1Joe Watkins2017-01-021-1/+1
| |\ | | | | | | | | | | | | | | | | | | * PHP-7.0: news entry for PR #2267 Fixed #67474 (getElementsByTagNameNS and default namespace) Add (failing) testcase for bug #67474
| | * Fixed #67474 (getElementsByTagNameNS and default namespace)Arnout Boks2017-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | This bug was caused by the fact that dom_get_elements_by_tag_name_ns_raw uses an empty string to filter on the default namespace (as NULL means 'no filter'), whereas in the node itself the default namespace is signalled by nodep->ns being null.
* | | Merge branch 'PHP-7.1'Nikita Popov2017-01-011-1/+1
|\ \ \ | |/ /
| * | Merge branch 'PHP-7.0' into PHP-7.1Nikita Popov2017-01-011-1/+1
| |\ \ | | |/
| | * Fix dom class can't be inherited by the internal classdreamszhu2017-01-011-1/+1
| | |
| * | Revert "Fix dom class can't be inherited by the internal class"Joe Watkins2017-01-011-1/+1
| | | | | | | | | | | | This reverts commit 705f60e481b891d009ec9bb4c88390545ff95880.
* | | Revert "Merge branch 'PHP-7.1'"Joe Watkins2017-01-011-1/+1
| | | | | | | | | | | | | | | This reverts commit 7eac2fdf53cda5f3bd34ae64eecbb8b21a6f484b, reversing changes made to 15b80f105cdb9a9210edd9dff7109f0951c843f4.
* | | Merge branch 'PHP-7.1'Joe Watkins2017-01-011-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-7.1: Fix dom class can't be inherited by the internal class
| * | Fix dom class can't be inherited by the internal classdreamszhu2017-01-011-1/+1
| | |
* | | Save a call to strlen(), since we can figure out the length of this constant ↵Kalle Sommer Nielsen2016-10-201-90/+90
|/ / | | | | | | value with sizeof() at compile time
* | Merge branch 'throw-error-in-extensions'Aaron Piotrowski2016-07-051-5/+4
|\ \
| * | Replace zend_ce_error with NULL and replace more E_ERROR with thrown ErrorAaron Piotrowski2016-06-131-2/+2
| | |
| * | Merge branch 'master' into throw-error-in-extensionsAaron Piotrowski2016-06-101-4/+6
| |\ \ | | |/
| * | Update memory freeing and other issues, revert some changesAaron Piotrowski2015-07-051-3/+2
| | |
| * | Convert E_ERROR to thrown Error in extensionsAaron Piotrowski2015-07-051-2/+2
| | |
* | | Fixed compilation warningsDmitry Stogov2016-06-281-4/+5
| |/ |/|
* | Merge branch 'PHP-5.6' into PHP-7.0Lior Kaplan2016-01-011-1/+1
|\ \ | | | | | | | | | | | | * PHP-5.6: Happy new year (Update copyright to 2016)
| * | Happy new year (Update copyright to 2016)Lior Kaplan2016-01-011-1/+1
| | |
| * | bump yearXinchen Hui2015-01-151-1/+1
| | |
* | | These function docs are referencing zend_object_value but this should be ↵Tom Van Looy2015-12-241-1/+1
| | | | | | | | | | | | zend_object
* | | Cleanup: replace removed condition with ZEND_ASSERT()Dmitry Stogov2015-09-241-1/+2
| | |
* | | Fixed Bug #70558 ("Couldn't fetch" error in DOMDocument::registerNodeClass())Xinchen Hui2015-09-231-1/+2
| |/ |/|
* | Switch position of ce in exception ce variable namesAaron Piotrowski2015-07-031-1/+1
| |
* | Change zend_exception_get_default() to zend_exception_ceAaron Piotrowski2015-07-031-1/+1
| |
* | Use ZSTR_ API to access zend_string elements (this is just renaming without ↵Dmitry Stogov2015-06-301-1/+1
| | | | | | | | semantick changes).
* | fix exports and shared compilationAnatol Belski2015-03-231-31/+31
| |
* | Merged zend_array and HashTable into the single data structure.Dmitry Stogov2015-02-131-3/+1
| | | | | | | | | | Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
* | Use new ZEND_HASH_FOREACH_... API.Dmitry Stogov2015-02-101-13/+4
| |