[php] backport fix for new libxml

Remi Collet remi at fedoraproject.org
Fri Aug 17 05:48:35 UTC 2012


commit 8a7f0643a62b561f4785906d2e95268e515b56e1
Author: remi <fedora at famillecollet.com>
Date:   Fri Aug 17 07:48:29 2012 +0200

    backport fix for new libxml

 php-5.4.6-libxml.patch |   68 ++++++++++++++++++++++++++++++++++++++++++++++++
 php.spec               |    5 +++
 2 files changed, 73 insertions(+), 0 deletions(-)
---
diff --git a/php-5.4.6-libxml.patch b/php-5.4.6-libxml.patch
new file mode 100644
index 0000000..c745c63
--- /dev/null
+++ b/php-5.4.6-libxml.patch
@@ -0,0 +1,68 @@
+From c4b26cc1b0b0521c75e653fffec2a9e3b4bf8cbb Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard at redhat.com>
+Date: Thu, 9 Aug 2012 14:02:33 -0400
+Subject: [PATCH] Update to work with libxml 2.9.0
+
+---
+ ext/dom/documenttype.c    |    4 ++++
+ ext/dom/node.c            |    8 ++++++++
+ ext/simplexml/simplexml.c |    4 ++++
+ 3 files changed, 16 insertions(+), 0 deletions(-)
+
+diff --git a/ext/dom/documenttype.c b/ext/dom/documenttype.c
+index d61ba79..eee3b5f 100644
+--- a/ext/dom/documenttype.c
++++ b/ext/dom/documenttype.c
+@@ -205,7 +205,11 @@ int dom_documenttype_internal_subset_read(dom_object *obj, zval **retval TSRMLS_
+ 		if (buff != NULL) {
+ 			xmlNodeDumpOutput (buff, NULL, (xmlNodePtr) intsubset, 0, 0, NULL);
+ 			xmlOutputBufferFlush(buff);
++#ifdef LIBXML2_NEW_BUFFER
++			ZVAL_STRINGL(*retval, xmlOutputBufferGetContent(buff), xmlOutputBufferGetSize(buff), 1);
++#else
+ 			ZVAL_STRINGL(*retval, buff->buffer->content, buff->buffer->use, 1);
++#endif
+ 			(void)xmlOutputBufferClose(buff);
+ 			return SUCCESS;
+ 		}
+diff --git a/ext/dom/node.c b/ext/dom/node.c
+index 5bcb234..727d1bc 100644
+--- a/ext/dom/node.c
++++ b/ext/dom/node.c
+@@ -1895,9 +1895,17 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{
+         RETVAL_FALSE;
+     } else {
+ 		if (mode == 0) {
++#ifdef LIBXML2_NEW_BUFFER
++			ret = xmlOutputBufferGetSize(buf);
++#else
+ 			ret = buf->buffer->use;
++#endif
+ 			if (ret > 0) {
++#ifdef LIBXML2_NEW_BUFFER
++				RETVAL_STRINGL((char *) xmlOutputBufferGetContent(buf), ret, 1);
++#else
+ 				RETVAL_STRINGL((char *) buf->buffer->content, ret, 1);
++#endif
+ 			} else {
+ 				RETVAL_EMPTY_STRING();
+ 			}
+diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
+index a379111..2368596 100644
+--- a/ext/simplexml/simplexml.c
++++ b/ext/simplexml/simplexml.c
+@@ -1417,7 +1417,11 @@ SXE_METHOD(asXML)
+ 
+ 			xmlNodeDumpOutput(outbuf, (xmlDocPtr) sxe->document->ptr, node, 0, 0, ((xmlDocPtr) sxe->document->ptr)->encoding);
+ 			xmlOutputBufferFlush(outbuf);
++#ifdef LIBXML2_NEW_BUFFER
++			RETVAL_STRINGL((char *)xmlOutputBufferGetContent(outbuf), xmlOutputBufferGetSize(outbuf), 1);
++#else
+ 			RETVAL_STRINGL((char *)outbuf->buffer->content, outbuf->buffer->use, 1);
++#endif
+ 			xmlOutputBufferClose(outbuf);
+ 		}
+ 	} else {
+-- 
+1.7.8
+
diff --git a/php.spec b/php.spec
index e16594d..b34c6bf 100644
--- a/php.spec
+++ b/php.spec
@@ -87,6 +87,9 @@ Patch42: php-5.3.1-systzdata-v9.patch
 Patch43: php-5.4.0-phpize.patch
 # Use system libzip instead of bundled one
 Patch44: php-5.4.5-system-libzip.patch
+# Fix for libxml 2.9.0
+# http://git.php.net/?p=php-src.git;a=commitdiff;h=c4b26cc1b0b0521c75e653fffec2a9e3b4bf8cbb
+Patch45: php-5.4.6-libxml.patch
 
 # Fixes for tests
 
@@ -587,6 +590,7 @@ support for using the enchant library to PHP.
 %if %{with_libzip}
 %patch44 -p1 -b .systzip
 %endif
+%patch45 -p1 -b .libxml290
 
 # Prevent %%doc confusion over LICENSE files
 cp Zend/LICENSE Zend/ZEND_LICENSE
@@ -1286,6 +1290,7 @@ fi
 * Fri Aug 17 2012 Remi Collet <remi at fedoraproject.org> 5.4.6-1
 - update to 5.4.6
 - update to v9 of systzdata patch
+- backport fix for new libxml
 
 * Fri Jul 20 2012 Remi Collet <remi at fedoraproject.org> 5.4.5-1
 - update to 5.4.5


More information about the scm-commits mailing list