cvs: php-src /ext/dom characterdata.c node.c /ext/dom/tests bug38850.phpt

From: Date: Sat, 16 Sep 2006 13:56:25 +0000
Subject: cvs: php-src /ext/dom characterdata.c node.c /ext/dom/tests bug38850.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-40544@lists.php.net to get a copy of this message
rrichards Sat Sep 16 13:56:25 2006 UTC Modified files: /php-src/ext/dom characterdata.c node.c /php-src/ext/dom/tests bug38850.phpt Log: MFB: implement workaround for bug #38823 (DOMComment->appendData does nothing) fix bug #38850 (lookupNamespaceURI doesn't return default namespace) add test http://cvs.php.net/viewvc.cgi/php-src/ext/dom/characterdata.c?r1=1.19&r2=1.20&diff_format=u Index: php-src/ext/dom/characterdata.c diff -u php-src/ext/dom/characterdata.c:1.19 php-src/ext/dom/characterdata.c:1.20 --- php-src/ext/dom/characterdata.c:1.19 Fri Aug 4 18:11:27 2006 +++ php-src/ext/dom/characterdata.c Sat Sep 16 13:56:25 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: characterdata.c,v 1.19 2006/08/04 18:11:27 rrichards Exp $ */ +/* $Id: characterdata.c,v 1.20 2006/09/16 13:56:25 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -207,9 +207,19 @@ } DOM_GET_OBJ(nodep, id, xmlNodePtr, intern); - +#if LIBXML_VERSION < 20627 +/* Implement logic from libxml xmlTextConcat to add suport for comments and PI */ + if ((nodep->content == (xmlChar *) &(nodep->properties)) || + ((nodep->doc != NULL) && (nodep->doc->dict != NULL) && + xmlDictOwns(nodep->doc->dict, nodep->content))) { + nodep->content = xmlStrncatNew(nodep->content, arg, arg_len); + } else { + nodep->content = xmlStrncat(nodep->content, arg, arg_len); + } + nodep->properties = NULL; +#else xmlTextConcat(nodep, arg, arg_len); - +#endif RETURN_TRUE; } /* }}} end dom_characterdata_append_data */ http://cvs.php.net/viewvc.cgi/php-src/ext/dom/node.c?r1=1.49&r2=1.50&diff_format=u Index: php-src/ext/dom/node.c diff -u php-src/ext/dom/node.c:1.49 php-src/ext/dom/node.c:1.50 --- php-src/ext/dom/node.c:1.49 Tue Aug 8 16:59:10 2006 +++ php-src/ext/dom/node.c Sat Sep 16 13:56:25 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: node.c,v 1.49 2006/08/08 16:59:10 tony2001 Exp $ */ +/* $Id: node.c,v 1.50 2006/09/16 13:56:25 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1611,20 +1611,18 @@ dom_object *intern; xmlNsPtr nsptr; int prefix_len = 0; - char *prefix; + char *prefix=NULL; - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os&", &id, dom_node_class_entry, &prefix, &prefix_len, UG(utf8_conv)) == FAILURE) { + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os!&", &id, dom_node_class_entry, &prefix, &prefix_len, UG(utf8_conv)) == FAILURE) { return; } DOM_GET_OBJ(nodep, id, xmlNodePtr, intern); - if (prefix_len > 0) { - nsptr = xmlSearchNs(nodep->doc, nodep, prefix); - if (nsptr && nsptr->href != NULL) { - RETVAL_XML_STRING((char *) nsptr->href, ZSTR_DUPLICATE); - return; - } + nsptr = xmlSearchNs(nodep->doc, nodep, prefix); + if (nsptr && nsptr->href != NULL) { + RETVAL_XML_STRING((char *) nsptr->href, ZSTR_DUPLICATE); + return; } RETURN_NULL(); http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/bug38850.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/dom/tests/bug38850.phpt diff -u /dev/null php-src/ext/dom/tests/bug38850.phpt:1.2 --- /dev/null Sat Sep 16 13:56:25 2006 +++ php-src/ext/dom/tests/bug38850.phpt Sat Sep 16 13:56:25 2006 @@ -0,0 +1,22 @@ +--TEST-- +Bug # 38850 (lookupNamespaceURI does not return default namespace) +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +$xml = b<<<HERE +<?xml version="1.0" ?> +<foo xmlns="http://www.example.com/ns/foo" /> +HERE; + +$doc = new DOMDocument(); +$doc->loadXML($xml); + +$root = $doc->documentElement; + +print $root->lookupNamespaceURI(NULL); + + +?> +--EXPECT-- +http://www.example.com/ns/foo

« previous php.cvs (#40544) next »