Changeset View
Changeset View
Standalone View
Standalone View
files/docbook-style-xsl-ns-non-recursive-string-subst.patch
- This file was added.
| Description: use EXSLT "replace" function when available | |||||
| A recursive implementation of string.subst is problematic, | |||||
| long strings with many matches will cause stack overflows. | |||||
| Author: Peter De Wachter <pdewacht@gmail.com> | |||||
| Bug-Debian: https://bugs.debian.org/750593 | |||||
| --- docbook-xsl-1.78.1+dfsg.orig/docbook-xsl/lib/lib.xsl | |||||
| +++ docbook-xsl-1.78.1+dfsg/docbook-xsl/lib/lib.xsl | |||||
| @@ -6,7 +6,11 @@ | |||||
| This module implements DTD-independent functions | |||||
| - ******************************************************************** --><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | |||||
| + ******************************************************************** --> | |||||
| +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | |||||
| + xmlns:str="http://exslt.org/strings" | |||||
| + exclude-result-prefixes="str" | |||||
| + version="1.0"> | |||||
| <xsl:template name="dot.count"> | |||||
| <!-- Returns the number of "." characters in a string --> | |||||
| @@ -56,6 +59,9 @@ | |||||
| <xsl:param name="replacement"/> | |||||
| <xsl:choose> | |||||
| + <xsl:when test="function-available('str:replace')"> | |||||
| + <xsl:value-of select="str:replace($string, string($target), string($replacement))"/> | |||||
| + </xsl:when> | |||||
| <xsl:when test="contains($string, $target)"> | |||||
| <xsl:variable name="rest"> | |||||
| <xsl:call-template name="string.subst"> | |||||
Copyright © 2015-2021 Solus Project. The Solus logo is Copyright © 2016-2021 Solus Project. All Rights Reserved.