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

Reply via email to