rrichards Tue Jan 20 06:35:33 2004 EDT
Modified files:
/php-src/ext/dom document.c dom_iterators.c xpath.c
Log:
Warn when empty string supplied to load methods (by Pierre-Alain)
Fix refcount on xpath iterators
xpath_query should return nodelist even when empty
http://cvs.php.net/diff.php/php-src/ext/dom/document.c?r1=1.45&r2=1.46&ty=u
Index: php-src/ext/dom/document.c
diff -u php-src/ext/dom/document.c:1.45 php-src/ext/dom/document.c:1.46
--- php-src/ext/dom/document.c:1.45 Mon Jan 19 15:54:40 2004
+++ php-src/ext/dom/document.c Tue Jan 20 06:35:32 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: document.c,v 1.45 2004/01/19 20:54:40 chregu Exp $ */
+/* $Id: document.c,v 1.46 2004/01/20 11:35:32 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1288,6 +1288,11 @@
return;
}
+ if (!source_len) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty string supplied as
input");
+ RETURN_FALSE;
+ }
+
newdoc = dom_document_parser(id, mode, source TSRMLS_CC);
if (!newdoc)
@@ -1721,6 +1726,7 @@
}
if (!source_len) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty string supplied as
input");
RETURN_FALSE;
}
http://cvs.php.net/diff.php/php-src/ext/dom/dom_iterators.c?r1=1.5&r2=1.6&ty=u
Index: php-src/ext/dom/dom_iterators.c
diff -u php-src/ext/dom/dom_iterators.c:1.5 php-src/ext/dom/dom_iterators.c:1.6
--- php-src/ext/dom/dom_iterators.c:1.5 Sat Jan 10 06:50:25 2004
+++ php-src/ext/dom/dom_iterators.c Tue Jan 20 06:35:32 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dom_iterators.c,v 1.5 2004/01/10 11:50:25 rrichards Exp $ */
+/* $Id: dom_iterators.c,v 1.6 2004/01/20 11:35:32 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -206,6 +206,7 @@
zend_hash_move_forward(nodeht);
if (zend_hash_get_current_data(nodeht, (void **)
&entry)==SUCCESS) {
curattr = *entry;
+ curattr->refcount++;
}
} else {
curnode = (xmlNodePtr)((php_libxml_node_ptr
*)intern->ptr)->node;
@@ -273,6 +274,7 @@
zend_hash_internal_pointer_reset(nodeht);
if (zend_hash_get_current_data(nodeht, (void **)
&entry)==SUCCESS) {
curattr = *entry;
+ curattr->refcount++;
}
} else {
nodep = (xmlNode *)dom_object_get_node(objmap->baseobj);
http://cvs.php.net/diff.php/php-src/ext/dom/xpath.c?r1=1.13&r2=1.14&ty=u
Index: php-src/ext/dom/xpath.c
diff -u php-src/ext/dom/xpath.c:1.13 php-src/ext/dom/xpath.c:1.14
--- php-src/ext/dom/xpath.c:1.13 Tue Jan 20 02:27:47 2004
+++ php-src/ext/dom/xpath.c Tue Jan 20 06:35:32 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: xpath.c,v 1.13 2004/01/20 07:27:47 helly Exp $ */
+/* $Id: xpath.c,v 1.14 2004/01/20 11:35:32 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -252,7 +252,7 @@
add_next_index_zval(retval, child);
}
} else {
- RETURN_FALSE;
+ retval = NULL;
}
php_dom_create_interator(return_value, DOM_NODELIST TSRMLS_CC);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php