Fix xinclude so that it works with the latest libxslt API.

PR:		ports/81802
Submitted by:	skv
Approved by:	maintainer
This commit is contained in:
Jean-Yves Lefort 2005-06-06 18:08:02 +00:00
parent 0981f00597
commit 35a505c2e0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=136922
2 changed files with 34 additions and 0 deletions

View file

@ -7,6 +7,7 @@
PORTNAME= XML-LibXSLT
PORTVERSION= 1.57
PORTREVISION= 1
CATEGORIES= textproc perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= XML

View file

@ -0,0 +1,33 @@
--- LibXSLT.xs.orig Mon Mar 1 18:42:43 2004
+++ LibXSLT.xs Mon Apr 11 08:07:33 2005
@@ -772,6 +772,7 @@
xmlDocPtr real_dom;
xmlDocPtr doc;
STRLEN len;
+ xsltTransformContextPtr ctxt;
CODE:
if (sv_doc == NULL) {
XSRETURN_UNDEF;
@@ -806,10 +807,21 @@
(xmlInputOpenCallback) LibXSLT_input_open,
(xmlInputReadCallback) LibXSLT_input_read,
(xmlInputCloseCallback) LibXSLT_input_close);
- real_dom = xsltApplyStylesheet(self, doc, xslt_params);
+
+ ctxt = xsltNewTransformContext(self, doc);
+ if (ctxt == NULL)
+ return;
+
+ xsltSetCtxtParseOptions(ctxt, 0);
+
+ if (xsltGetXIncludeDefault())
+ ctxt->xinclude = 1;
+
+ real_dom = xsltApplyStylesheetUser(self, doc, xslt_params, NULL, NULL, ctxt);
xmlCleanupInputCallbacks();
xmlRegisterDefaultInputCallbacks();
+ xsltFreeTransformContext(ctxt);
if (real_dom == NULL) {
if (SvTRUE(ERRSV)) {