--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/php-5_2/php-sapi/patches/13_php_libxml_2_9_0.patch Wed Jan 29 18:57:31 2014 -0800
@@ -0,0 +1,58 @@
+Update to work with libxml 2.9.0
+
+https://github.com/php/php-src/commit/c4b26cc1b0b0521c75e653fffec2a9e3b4bf8cbb
+
+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 @@ static int sxe_objects_compare(zval *object1, zval *object2 TSRMLS_DC) /* {{{ */
+
+ 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 {