From 6ec4c35f3761dfb5212dbe59ef2f17f4bb44d3f6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Sun, 23 Sep 2012 10:57:01 +0200 Subject: [PATCH] - rel 22; fix build against libxml2 2.9.0 --- php-libxml.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ php.spec | 4 +++- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 php-libxml.patch diff --git a/php-libxml.patch b/php-libxml.patch new file mode 100644 index 0000000..9126282 --- /dev/null +++ b/php-libxml.patch @@ -0,0 +1,60 @@ +commit c4b26cc1b0b0521c75e653fffec2a9e3b4bf8cbb +Author: Daniel Veillard +Date: Thu Aug 9 14:02:33 2012 -0400 + + Update to work with libxml 2.9.0 + +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 +@@ -1387,7 +1387,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 { diff --git a/php.spec b/php.spec index 205eea3..fb3f408 100644 --- a/php.spec +++ b/php.spec @@ -120,7 +120,7 @@ Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирова Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} Version: 5.2.17 -Release: 21 +Release: 22 Epoch: 4 License: PHP Group: Libraries @@ -205,6 +205,7 @@ Patch60: bug-60986.patch Patch65: system-libzip.patch Patch66: bug-47930.patch Patch67: php-db.patch +Patch68: php-libxml.patch # CENTALT patches # CVE Patch201: php-5.2.17-CVE-2011-2202.patch @@ -1987,6 +1988,7 @@ done %{?with_system_libzip:%patch65 -p1} %patch66 -p2 %patch67 -p1 +%patch68 -p1 %patch201 -p1 -b .CVE-2011-2202 %patch202 -p1 -b .CVE-2011-1938 -- 2.44.0