Re: [xslt] Status of refactored code



On 03/12/09 00:28, Nick Wellnhofer wrote:
exslt/functions/function.8 fails with the following error message:

compilation error: file ./function.8.xsl line 22 element param
Redefinition of variable or parameter 'in'.
compilation error: file ./function.8.xsl line 30 element param
Redefinition of variable or parameter 'in'.

exslt/math/max.3 fails with a similar message

This seems to be a problem in the refactored code wrt params of exslt
functions. Parameters of a different functions with the same name are
rejected as duplicate.

With the attached patch all the exslt tests pass.
diff --git a/libxslt/xslt.c b/libxslt/xslt.c
index 55f505b..28c8c59 100644
--- a/libxslt/xslt.c
+++ b/libxslt/xslt.c
@@ -2432,13 +2432,13 @@ xsltCompilerNodePop(xsltCompilerCtxtPtr cctxt, xmlNodePtr node)
 	"xsltCompilerNodePop: Depth mismatch.\n");
 	goto mismatch;
     }
+    cctxt->depth--;
     /*
     * Pop information of variables.
     */
     if ((cctxt->ivar) && (cctxt->ivar->depth > cctxt->depth))
 	xsltCompilerVarInfoPop(cctxt);
 
-    cctxt->depth--;
     cctxt->inode = cctxt->inode->prev;
     if (cctxt->inode != NULL)
 	cctxt->inode->curChildType = 0;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]