summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-05-07 16:15:29 +0400
committerDmitry Stogov <dmitry@zend.com>2014-05-07 16:15:29 +0400
commite75f2d1f763ad84d4450c646466066960720fc91 (patch)
tree4417c2d8760725857775fcf1e80f44bc2856464f /ext/xml/xml.c
parentb54dcab37768bc8c5902c99d0e2ea9012149907a (diff)
downloadphp-git-e75f2d1f763ad84d4450c646466066960720fc91.tar.gz
Fixed bug introduced during conversion to "phpng"
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index d8eed905f3..6bc6acbb1e 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -897,7 +897,7 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len)
zval tag;
zval *curtag, *mytype, *myval;
- ZEND_HASH_FOREACH_VAL(Z_ARRVAL(parser->data), curtag) {
+ ZEND_HASH_REVERSE_FOREACH_VAL(Z_ARRVAL(parser->data), curtag) {
if ((mytype = zend_hash_str_find(Z_ARRVAL_P(curtag),"type", sizeof("type") - 1))) {
if (!strcmp(Z_STRVAL_P(mytype), "cdata")) {
if ((myval = zend_hash_str_find(Z_ARRVAL_P(curtag), "value", sizeof("value") - 1))) {
@@ -910,6 +910,7 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len)
}
}
}
+ break;
} ZEND_HASH_FOREACH_END();
if (parser->level <= XML_MAXLEVEL) {