platform/upstream/libxslt.git
12 years agoCleanups some of the test makefiles
Daniel Richard [Fri, 7 Sep 2012 08:11:07 +0000 (16:11 +0800)]
Cleanups some of the test makefiles

* Added missing $(srcdir)/ qualification to some "[ -s ... ]"
  stderr-output reference file checks

* When printing log output for failed tests, quote the log variable, so
  that diff output is formatted the way it should be (with newlines!)
and
  is not all collapsed into one line

* Updated tests/REC/test-7.1.1-3.out with current output to get rid of a
  spurious test failure

12 years agoReport errors on variable use in key
Daniel Veillard [Fri, 7 Sep 2012 06:27:16 +0000 (14:27 +0800)]
Report errors on variable use in key

For https://bugzilla.gnome.org/show_bug.cgi?id=680938

Variables are forbidden for match or use values of keys
* libxslt/xsltutils.c libxslt/xsltutils.h: allows to add flags
  to XPath expression compilation
* libxslt/keys.c: add the XML_XPATH_NOVAR if defined (recent libxml2)
* libxslt/pattern.c: add a missing xpath.h include to make sure the
  defintiion is found there too

12 years agoThe XSLT namespace string is a constant one
Daniel Veillard [Fri, 7 Sep 2012 04:23:14 +0000 (12:23 +0800)]
The XSLT namespace string is a constant one

Raised by Phil Shafer <phil@juniper.net>

12 years agoFix handling of names in xsl:attribute
Nick Wellnhofer [Thu, 16 Aug 2012 00:18:31 +0000 (02:18 +0200)]
Fix handling of names in xsl:attribute

A prefix of 'xmlns' is actually allowed. It should simply be ignored
if a namespace is given. Without a namespace the lookup by prefix will
fail anyway.

What the spec doesn't allow is an attribute name of 'xmlns' which will
now be rejected.

12 years agoReserved namespaces in xsl:element and xsl:attribute
Nick Wellnhofer [Wed, 15 Aug 2012 21:50:22 +0000 (23:50 +0200)]
Reserved namespaces in xsl:element and xsl:attribute

For https://bugzilla.gnome.org/show_bug.cgi?id=587360

Correct handling of 'xml' and 'xmlns' namespaces in xsl:element and
xsl:attribute.

12 years agoAdd new tests to EXTRA_DIST
Nick Wellnhofer [Wed, 15 Aug 2012 21:10:16 +0000 (23:10 +0200)]
Add new tests to EXTRA_DIST

12 years agoTest for bug #680920
Nick Wellnhofer [Tue, 31 Jul 2012 21:32:05 +0000 (23:32 +0200)]
Test for bug #680920

Add test cases for the EXSLT func bug

12 years agoNull-terminate result string of cry:rc4_decrypt
Nick Wellnhofer [Tue, 31 Jul 2012 19:27:51 +0000 (21:27 +0200)]
Null-terminate result string of cry:rc4_decrypt

For https://bugzilla.gnome.org/show_bug.cgi?id=675917

The string wasn't 0 terminated

12 years agofix regresson in Various "make distcheck" and other fixes
Roumen Petrov [Fri, 10 Aug 2012 22:07:02 +0000 (01:07 +0300)]
fix regresson in Various "make distcheck" and other fixes

The patch 'Various "make distcheck" and other fixes' removes a line
in configure EXTRA_LIBS=... LIBXML_LIBS...
  -EXTRA_LIBS="$EXTRA_LIBS $LIBXML_LIBS $M_LIBS"

This is not save as libxslt/Makefile.am define only
|EXTRA_LIBS|  as dependency:
|libxslt_la_LIBADD= $(EXTRA_LIBS)|

If platform does not support unresolved dependencies library cannot be linked.
Even with support regression tests fail in python test due unresolved "xml"-symbols .

12 years agoEXSLT date normalization fix
James Muscat [Tue, 4 Sep 2012 12:18:04 +0000 (20:18 +0800)]
EXSLT date normalization fix

https://bugzilla.gnome.org/show_bug.cgi?id=626855

Dates with timezones but no time components are not normalized correctly
Using xsltproc v1.1.26:

$ xsltproc --version
Using libxml 20706, libxslt 10126 and libexslt 815
xsltproc was compiled against libxml 20704, libxslt 10126 and libexslt
815
libxslt 10126 was compiled against libxml 20704
libexslt 815 was compiled against libxml 20704

Dates that have timezone offsets specified but no time components, for
example
"1970-01-01+01:00", are not normalized correctly; the timezone part is
truncated:

date:seconds("1970-01-01") = 0
date:seconds("1970-01-01+01:00") = 0 (not -3600 as expected)

Alters the conditions under which exsltDateNormalize() returns
without normalizing, and adds test cases demonstrating the new behaviour.

12 years agoExit after compilation of invalid func:result
Nick Wellnhofer [Wed, 15 Aug 2012 19:09:19 +0000 (21:09 +0200)]
Exit after compilation of invalid func:result

Second part of bug #680920.

12 years agoFix for EXSLT func:function
Nick Wellnhofer [Tue, 4 Sep 2012 06:53:14 +0000 (14:53 +0800)]
Fix for EXSLT func:function

For https://bugzilla.gnome.org/show_bug.cgi?id=680920

If the first child of a func:function template is xslt:text, it will be
removed by xsltParseTemplateContent. So xsltParseTemplateContent should
be called before setting func->content to the first child.

12 years agoRewrite EXSLT string:replace to be conformant
Nick Wellnhofer [Tue, 4 Sep 2012 06:38:06 +0000 (14:38 +0800)]
Rewrite EXSLT string:replace to be conformant

For https://bugzilla.gnome.org/show_bug.cgi?id=569703

The libexslt implementation of str:replace fails to conform to its
specification on several counts:

a) the current version returns a string; it's supposed to
   return a nodeset.

b) the current version treats the replacements as strings;
   it's supposed to treat them as nodes.

c) the current version can modify replacement text; it's
   supposed to only modify text from the original string.

d) the current version ignores the requirement to perform
   substitutions in descending order of search string length.

Steps to reproduce:
a) the returning of a string rather than a nodeset can be seen
   by simply inspecting the code.

b) the code explicity converts replacement nodes to strings;
   this can be seen by inspection.
d) the failure to perform substitutions in descending order
   of search string length can be seen in the lack of any
   sorting in the source code.

c) the problem of modifying text not belonging to the original
   string can be seen in the following stylesheet, which can
   be simply applied to itself to produce output.

<xsl:stylesheet version="1.0"
    extension-element-prefixes="str exsl"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:exsl="http://exslt.org/common"
    xmlns:str="http://exslt.org/strings"
    >
<xsl:variable name="Text">
    Price is $1.10
</xsl:variable>

<xsl:template match="/">
    <xsl:apply-templates select="exsl:node-set($Text)/text()"/>
</xsl:template>
<xsl:template match="text()">
   <xsl:variable name="Replace">
        <FromXml>
            <from>$</from>
            <from>\</from>
        </FromXml>
        <ToTex>
            <to>\$</to>
            <to>$\backslash$</to>
        </ToTex>
    </xsl:variable>
    <xsl:value-of

select="str:replace(.,exsl:node-set($Replace)/FromXml/from,exsl:node-set($Replace)/ToTex/to)"/>
</xsl:template>
</xsl:stylesheet>

Actual results:
The output is:

<?xml version="1.0"?>

    Price is $\backslash$$1.10

Expected results:
The output should be:
<?xml version="1.0"?>

    Price is \$1.10

Does this happen every time?
yes.

Other information:
str:replace specification is at:

http://www.exslt.org/str/functions/replace/str.replace.html

12 years agoRemove .cvsignore files which are not needed anymore
Daniel Veillard [Tue, 4 Sep 2012 06:28:28 +0000 (14:28 +0800)]
Remove .cvsignore files which are not needed anymore

12 years agoAvoid a heap use after free error
Chris Evans [Mon, 3 Sep 2012 10:16:44 +0000 (18:16 +0800)]
Avoid a heap use after free error

For https://code.google.com/p/chromium/issues/detail?id=140368

12 years agoFix a dictionary string usage
Chris Evans [Mon, 3 Sep 2012 07:50:22 +0000 (15:50 +0800)]
Fix a dictionary string usage

Raised in chromium, but also affecting xsltproc
Also updated AUTHORS to list Chris and other contributors

12 years agoOutput should not include extraneous newlines when indent is off
Laurence Rowe [Thu, 16 Jun 2011 17:44:06 +0000 (18:44 +0100)]
Output should not include extraneous newlines when indent is off

Hence matching behaviour of xmlSaveOption XML_SAVE_FORMAT off.
This affects only one of the regression tests

12 years agoxincludestyle wasn't protected with LIBXML_XINCLUDE_ENABLED
Michael Bonfils [Thu, 16 Aug 2012 09:46:29 +0000 (17:46 +0800)]
xincludestyle wasn't protected with LIBXML_XINCLUDE_ENABLED

Leading to possible compilation issue if this isn't in libxml2

12 years agodocument('') fails to return stylesheets parsed from memory
Jason Viers [Thu, 16 Aug 2012 09:41:00 +0000 (17:41 +0800)]
document('') fails to return stylesheets parsed from memory

If an XSL stylesheet is from memory (e.g. xmlParseMemory), then xpath
expressions referencing "document('')" will never return a match.

When getting down into it, I understand the logic "document() is resolved
relative to the XSL's location, reading from memory has no location, therefore
buzz off", but the XSL spec seems to address this:

http://www.w3.org/TR/xslt#document
"Note that a zero-length URI reference is a reference to the document relative
to which the URI reference is being resolved; thus document("") refers to the
root node of the stylesheet; the tree representation of the stylesheet is
exactly the same as if the XML document containing the stylesheet was the
initial source document."

The fact that the behavior differs in this case between fromFile & fromMemory
definitely caught me off guard, and IMHO fixing that scenario is worth the
one-off-ness of the fix.

12 years agoPortability fix for testThreads.c
IlyaS [Thu, 16 Aug 2012 09:27:15 +0000 (17:27 +0800)]
Portability fix for testThreads.c

Similar to the one in libxml2, don't assume threads id are scalars

12 years agoFreeBSD portability fixes
Pedro F. Giffuni [Thu, 16 Aug 2012 09:16:05 +0000 (17:16 +0800)]
FreeBSD portability fixes

Around behaviour and compile flags for localtime and EXSLT date support

12 years agoxsltproc should return an error code if xinclude fails
Malcolm Purvis [Thu, 16 Aug 2012 09:08:31 +0000 (17:08 +0800)]
xsltproc should return an error code if xinclude fails

When running xsltproc with the --xinclude option and if the included file
contains parse errors, then xsltproc exits with a success return code (0)
rather than an error code.  This is despite the fact that parser error
messages are printed out.
* xsltproc/xsltproc.c: check xinclude processing function return code,
  fail with error 6 if it went wrong.

12 years agocheck for gmtime - on mingw* hosts will enable date-time function
Roumen Petrov [Sun, 26 Feb 2012 16:36:27 +0000 (18:36 +0200)]
check for gmtime - on mingw* hosts will enable date-time function

12 years agouse only native crypto-API for mingw* hosts
Roumen Petrov [Sun, 27 May 2012 13:53:51 +0000 (16:53 +0300)]
use only native crypto-API for mingw* hosts

12 years agoForwards-compatible processing of unknown top level elements
Nick Wellnhofer [Wed, 15 Aug 2012 20:40:05 +0000 (22:40 +0200)]
Forwards-compatible processing of unknown top level elements

Bug #677901

12 years agoFix system-property with unknown namespace
Nick Wellnhofer [Wed, 15 Aug 2012 21:06:14 +0000 (23:06 +0200)]
Fix system-property with unknown namespace

The empty string should be returned, see bug #631803.

12 years agoHardening of code checking node types in EXSLT
Daniel Veillard [Thu, 16 Aug 2012 07:51:35 +0000 (15:51 +0800)]
Hardening of code checking node types in EXSLT

12 years agoVarious "make distcheck" and other fixes
Daniel Richard G [Thu, 9 Aug 2012 11:46:03 +0000 (19:46 +0800)]
Various "make distcheck" and other fixes

Makefile.am:

* Use $(VAR), not @VAR@, as the former is the correct form for AC_SUBST'ed
   variables in Makefile.am files

* Touch these *.xml/*.syms files in the "dist-hook" target to prevent them
   from being regenerated, because the "make dist" process in itself
   updates the timestamps of the source files when it copies them into
   $(distdir)

* Add EXTRA_LIBS (-lrt on my system) to xsltConf.sh, as this is a required
   dependency when client applications link against -lxslt

   (note that the definition of EXTRA_LIBS has been changed; see below)

* Removed MAKEFLAGS+=--silent bits, as this is not compatible with non-GNU
   Make programs

autogen.sh:

* Add --warnings=all options to automake and autoconf invocations, to
   better catch potential problems (most of which I've fixed in this patch)

configure.in:

* Replaced obsolete macros with their current equivalents; for reference,
   see

     http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html

   (I removed AC_ISC_POSIX outright because the doc states it is no longer
   useful)

* test(1) uses "=" as an operator, not "=="

* Fixed quoting on an AC_LINK_IFELSE() invocation to quell Autoconf errors

* Don't add redundant libraries to EXTRA_LIBS, because (1) this variable
   already contains LibXSLT's own additional system-library deps, and is
   useful in that form, and (2) the LibXML2 deps are already handled by
   Libtool

* Don't delete files in srcdir, and don't create the symlink to
   "Copyright" there either

   (I don't understand why this is being symlinked in the first place...)

doc/Makefile.am:

* Can't use wildcards in EXTRA_DIST, because this breaks dependencies
   (e.g. you can't "make EXSLT/\*.html"), and they only work properly when
   building inside the source tree; these have been replaced with their
   expansions. Other entries have been added here in lieu of the wildcards
   in the dist-hook target, as well as opportunistic use of the $(*PAGES)
   variables.

* Don't define an "all" target, because this steps on Automake's toes; use
   "all-local" instead

* Define and use an "xsltproc" variable to reference an in-tree-built
   version of xsltproc, instead of e.g. $(bindir)/xsltproc

   NOTE: The makefile also uses $(XSLTPROC), which names an external
   instance of the program found at configure time. Some instances of this
   could probably be changed to $(xsltproc) to remove the dependency on an
   existing installed program.

* Qualified various filenames as appropriate with $(srcdir)

* Use $(XMLLINT) consistently instead of $(bindir)/xmllint

* In the "libxslt-api.xml ..." rule, cd into $(srcdir) before invoking
   apibuild.py as this script has to run in srcdir anyway

* In the "clean-local" rule, clear out some additional files to allow
   "make distcheck" to pass

* Eliminated the redundant "maintainer-clean-local" rule

* Added a "distclean-local" rule to clear out the build directory in an
   out-of-source build to allow "make distcheck" to pass

* Added a "check-extra-dist" target to make it easier to check that
   EXTRA_DIST isn't missing anything

* Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete

* Use $(VAR) instead of @VAR@

* The "dist-hook" target didn't work (if any generated files were in
   builddir and not in srcdir), and is no longer needed thanks to the
   comprehensive EXTRA_DIST variable

* Added an "uninstall-local" rule to allow "make distcheck" to pass

* Updated the .PHONY target list, removed non-existent targets

doc/symbols.xml:

* Needed to add this bit to make the generation scripts shut up

libexslt/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS

   (Note that $(CFLAGS) need not be added to AM_CFLAGS, because Automake
   already references both in the build rules)

* Use $(VAR) instead of @VAR@

libxslt.pc.in:

* Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
   when client applications link against -lxslt

libxslt/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS

* Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)

* Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete

libxslt/xsltutils.c:

* Some systems don't know about CLOCK_MONOTONIC; older Solaris knows about
   CLOCK_HIGHRES. Some systems, alas, have no usable alternative to
   CLOCK_REALTIME.

python/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS

* Because libxslt-py.c is (presumably) supposed to be generated every time
   at build time, don't bundle it in the dist tarball

* Use $(VAR) instead of @VAR@

* libxsltclass.py is a generated file, so it doesn't get qualified with
   $(srcdir)

* Use $(MKDIR_P) instead of (mkinstalldirs)

* Added an uninstall-local rule so that "make distcheck" passes

* Removed the $(srcdir) qualifications in the GENERATED file list, as
   these files may exist in builddir

* In the gen_prog rule, qualify the script invocation with $(srcdir), and
   set the SRCDIR environment variable so that the script can find the
   files it needs when builddir != srcdir

* Don't define an "all" target, as this steps on Automake's toes

python/generator.py:

* Get the source directory from the SRCDIR environment variable, and use
   it appropriately

python/tests/Makefile.am:

* Set CLEANFILES instead of defining a "clean" rule

* Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)

tests/*/Makefile.am, tests/exslt/*/Makefile.am:

* Need to clean up .memdump files for "make distcheck" to pass

* Don't define an "all" target, as this steps on Automake's toes

tests/REC/Makefile.am:

* Added two missing *.stand.out files to EXTRA_DIST

tests/XSLTMark/Makefile.am:

* Replaced the GNU-Make-specific %.out bit with a more broadly compatible
   rule

   (the "dummy" bit shuts up Automake)

* Use "$(xsltproc)" instead of "$(top_builddir)/xsltproc/xsltproc"

* Use a less $(MAKE)-heavy invocation in the "tests" target

* Replaced a conflicting "clean" target with CLEANFILES

* Added a dependency on $(xsltproc) to all the test targets

* Added a .PHONY target list

tests/docbook/Makefile.am:

* Ditched the "echo -n" bit, because it wasn't working as advertised

* Create output directories for out-of-source builds

* "$(basename $$i)" is a typo in a makefile

* Don't embed $(srcdir) in $out/$html/$fo/$msg/$xhtml, so that we can
   refer to these files in builddir or srcdir

* Add a trailing "echo" to complete the "echo -n"

* Don't output files unconditionally to srcdir (it may be read-only, for
   starters)

tests/plugins/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

   (Note that the "$(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)" bit that was here
   can be dropped entirely, because these already appear in
   xmlsoft_org_xslt_testplugin_la_CFLAGS)

* Use noinst_LTLIBRARIES inside the WITH_MODULES conditional instead of
   EXTRA_LTLIBRARIES, as this is cleaner (and disallows building the plugin
   if module support is disabled)

* Need to clean up *.res files for "make distcheck" to pass

* Use the abs_builddir variable conveniently provided to us by Automake
   instead of a GNU Make $(shell ...) construct

xslt-config.in:

* Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
   when client applications link against -lxslt

xsltproc/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) into AM_CFLAGS

* Use $(VAR) instead of @VAR@

* Need to clean .memdump for "make distcheck" to pass

* Added rules to build lib[e]xslt.la if needed, which allows test
   makefiles to build xsltproc on the fly even if nothing else has been
   built already

* Create .memdump file in the "tests" target, as it's being grepped
   afterward

12 years agoHardening of code checking node types in various entry point
Daniel Veillard [Thu, 9 Aug 2012 08:18:51 +0000 (16:18 +0800)]
Hardening of code checking node types in various entry point

12 years agoCleanup of the pattern compilation code
Daniel Veillard [Thu, 9 Aug 2012 07:31:07 +0000 (15:31 +0800)]
Cleanup of the pattern compilation code

Avoid potential crashes and memory leaks

12 years agoTiny doc improvement
Daniel Veillard [Wed, 8 Aug 2012 08:14:21 +0000 (16:14 +0800)]
Tiny doc improvement

12 years agoFix default template processing on namespace nodes
Daniel Veillard [Wed, 8 Aug 2012 07:31:05 +0000 (15:31 +0800)]
Fix default template processing on namespace nodes

12 years agoFix portability to upcoming libxml2-2.9.0
Daniel Veillard [Wed, 8 Aug 2012 06:21:51 +0000 (14:21 +0800)]
Fix portability to upcoming libxml2-2.9.0

A few place where an output buffer was accessed directly or as
an xmlBuf

12 years agoAdding --system flag support to autogen.sh
Daniel Veillard [Wed, 8 Aug 2012 06:10:08 +0000 (14:10 +0800)]
Adding --system flag support to autogen.sh

12 years agoFix a bug in selecting XSLT elements
Daniel Veillard [Tue, 7 Aug 2012 03:26:43 +0000 (11:26 +0800)]
Fix a bug in selecting XSLT elements

12 years agoCleanup some misplaced spaces and tabs
Daniel Veillard [Thu, 22 Mar 2012 02:35:14 +0000 (10:35 +0800)]
Cleanup some misplaced spaces and tabs

12 years agoAllow per-context override of xsltMaxDepth, introduce xsltMaxVars
Jérôme Carretero [Mon, 19 Mar 2012 07:06:53 +0000 (15:06 +0800)]
Allow per-context override of xsltMaxDepth, introduce xsltMaxVars

We also add a maxTemplateVars parameter

12 years agoFixed bug #616839
Daniel Mustieles [Mon, 19 Mar 2012 20:46:45 +0000 (21:46 +0100)]
Fixed bug #616839

12 years agoautogen: Only check for libtoolize
Colin Walters [Fri, 27 Jan 2012 12:03:00 +0000 (07:03 -0500)]
autogen: Only check for libtoolize

/usr/bin/libtool may not be in all installations.

12 years agoFix some case of pattern parsing errors
Abhishek Arya [Sun, 22 Jan 2012 09:47:50 +0000 (17:47 +0800)]
Fix some case of pattern parsing errors

We could accidentally hit an off by one string array access
due to improper loop exit when parsing patterns

12 years agoAugment list of ignred files
Daniel Veillard [Sat, 21 Jan 2012 12:27:25 +0000 (20:27 +0800)]
Augment list of ignred files

12 years agoautogen.sh: Honor NOCONFIGURE environment variable
Colin Walters [Tue, 27 Dec 2011 17:19:50 +0000 (12:19 -0500)]
autogen.sh: Honor NOCONFIGURE environment variable

See http://people.gnome.org/~walters/docs/build-api.txt

12 years agominimal mingw support
Roumen Petrov [Sat, 23 Jan 2010 17:01:41 +0000 (19:01 +0200)]
minimal mingw support

13 years agoconfigure: remove checks for isinf and isnan as those are not used anyway
Stefan Kost [Wed, 25 May 2011 21:32:45 +0000 (00:32 +0300)]
configure: remove checks for isinf and isnan as those are not used anyway

As pointed out by Roumen Petrov those check were wrong (isinf and isnan are
macros) and they are not used in the code either. Thus remove the checks.

13 years agoconfigure: acconfig.h is deprecated since autoconf-2.50
Stefan Kost [Wed, 18 May 2011 06:50:50 +0000 (09:50 +0300)]
configure: acconfig.h is deprecated since autoconf-2.50

Remove deprecated file (leftover from autoconf-2.13). Change AC_DEFINE into
3-arg versions to provide the comments for config.h. Bump autoconf version to
2.59 (same as libxml).

13 years agoconfigure: support silent automake rules if possible
Stefan Kost [Tue, 10 May 2011 07:35:43 +0000 (10:35 +0300)]
configure: support silent automake rules if possible

This gives us a much less noisy build and makes error stand out a lot more.

13 years agopreproc: fix the build
Stefan Kost [Tue, 3 May 2011 12:16:47 +0000 (15:16 +0300)]
preproc: fix the build

Fixup commit 0d6713d715509da1fec27bec220d43aa4fc48d0f that forgot to create the
local variable of the required type.

13 years agoPoint to GIT for source code and a bit of cleanup
Daniel Veillard [Fri, 11 Mar 2011 02:00:16 +0000 (10:00 +0800)]
Point to GIT for source code and a bit of cleanup

13 years agoFix a memory leak with xsl:number
Daniel Veillard [Mon, 7 Mar 2011 04:21:26 +0000 (12:21 +0800)]
Fix a memory leak with xsl:number

Pointed out by Ralf Junker <ralfjunker@gmx.de>, and added his
reproducer to the regression tests

13 years agoFix a problem with ESXLT date:add() with January
money_seshu Dronamraju [Mon, 7 Mar 2011 04:12:11 +0000 (12:12 +0800)]
Fix a problem with ESXLT date:add() with January

Also adds a regression test provided by Michael Ludwig <milu71@gmx.de>

13 years agoFix a memory leak if compiled with Windows locale support
Daniel Veillard [Mon, 28 Feb 2011 01:54:15 +0000 (09:54 +0800)]
Fix a memory leak if compiled with Windows locale support

Ralf Junker <ralfjunker@gmx.de> pointed out a ouple of leaks in the
Windows locale support:
* libxslt/xslt.c: add cleanup code for the mutex in xsltUninit()
* libxslt/xsltlocale.c libxslt/xsltlocale.h: add a new cleanup function
  xsltFreeLocales
* libxslt/extensions.c: add a call to xsltFreeLocales in xsltCleanupGlobals

13 years agoFix generate-id() to not expose object addresses
Daniel Veillard [Tue, 22 Feb 2011 02:14:23 +0000 (10:14 +0800)]
Fix generate-id() to not expose object addresses

As pointed out by Chris Evans <scarybeasts@gmail.com> it's better
security wise to not expose object addresses directly, use a diff
w.r.t. the document root own address to avoid this
* libxslt/functions.c: fix IDs generation code

14 years agoFix curlies support in literals for non-compiled AVTs
Nick Wellnhofer [Mon, 8 Nov 2010 13:58:21 +0000 (14:58 +0100)]
Fix curlies support in literals for non-compiled AVTs

14 years agoPrecompile patterns in xsl:number
Nick Wellnhofer [Mon, 8 Nov 2010 13:50:17 +0000 (14:50 +0100)]
Precompile patterns in xsl:number

speedup optimization, it should not change semantic at all

14 years agoFix some warnings in the refactored code
Nick Wellnhofer [Mon, 8 Nov 2010 10:14:26 +0000 (11:14 +0100)]
Fix some warnings in the refactored code

14 years agoAllow whitespace in xsl:variable with select
Nick Wellnhofer [Mon, 8 Nov 2010 10:13:17 +0000 (11:13 +0100)]
Allow whitespace in xsl:variable with select

Comments are also allowed

14 years agoSmall fixes to locale code
Nick Wellnhofer [Mon, 8 Nov 2010 10:09:25 +0000 (11:09 +0100)]
Small fixes to locale code

14 years agoFix bug 602515
Nick Wellnhofer [Mon, 8 Nov 2010 09:59:24 +0000 (10:59 +0100)]
Fix bug 602515

Pattern matching with predicates

14 years agoAdding new generated files
Daniel Veillard [Mon, 8 Nov 2010 09:55:25 +0000 (10:55 +0100)]
Adding new generated files

14 years agoFix popping of vars in xsltCompilerNodePop
Nick Wellnhofer [Mon, 8 Nov 2010 09:49:32 +0000 (10:49 +0100)]
Fix popping of vars in xsltCompilerNodePop

Fix an off by one bug in Var pop-up in the compiler

14 years agoFix direct pattern matching bug
Nick Wellnhofer [Mon, 8 Nov 2010 09:42:33 +0000 (10:42 +0100)]
Fix direct pattern matching bug

and adds a test case for the problem,
also adding a .gitignore cleanup

14 years agoGet rid of specific build setup and STATIC_BINARIES
Daniel Veillard [Mon, 8 Nov 2010 09:32:32 +0000 (10:32 +0100)]
Get rid of specific build setup and STATIC_BINARIES

14 years agoFix a small out of tree compilation issue
Hao Hu [Tue, 12 Oct 2010 13:04:34 +0000 (15:04 +0200)]
Fix a small out of tree compilation issue

exsltconfig.h should be addressed differently

14 years agoprofiling: add callgraph report
Stefan Kost [Mon, 8 Mar 2010 12:58:00 +0000 (14:58 +0200)]
profiling: add callgraph report

This patch also tracks who called a template and how often. Based on that the
output of xsltproc --profile now also contains a gprof alike callgraph. If available
posix monotonic clocks are the preferred way to get timestamps.

14 years agoVarious documentation fixes for docs on internals
C. M. Sperberg-McQueen [Wed, 17 Mar 2010 09:52:36 +0000 (10:52 +0100)]
Various documentation fixes for docs on internals

Michael pointed out a number of errors, inaccuracies or
unclear points with new wording.

14 years agoFix python generator to not use deprecated xmllib
Daniel Veillard [Wed, 13 Jan 2010 14:41:06 +0000 (15:41 +0100)]
Fix python generator to not use deprecated xmllib

* python/generator.py: use xml.sax instead, patch based on similar
  fix for libvirt by Cole Robinson <crobinso@redhat.com>

15 years agolink python module with python library
Frederic Crozat [Thu, 24 Sep 2009 16:16:07 +0000 (18:16 +0200)]
link python module with python library

libxslt python module wasn't linked with python library
* configure.in python/Makefile.am: detect and add appropriate linking
  flags

15 years agoRelease of libxslt-1.1.26
Daniel Veillard [Thu, 24 Sep 2009 14:39:52 +0000 (16:39 +0200)]
Release of libxslt-1.1.26

* NEWS configure.in doc/xslt.html: update for 1.1.26
* doc//*: regenerate

15 years agoAdd xsltProcessOneNode to exported symbols for lxml
Daniel Veillard [Thu, 24 Sep 2009 14:21:53 +0000 (16:21 +0200)]
Add xsltProcessOneNode to exported symbols for lxml

* doc/symbols.xml libxslt/transform.c libxslt/transform.h:
  exports the entry point explicitely since lxml depends on it,
  also fixed some white spaces problems.

15 years agoFix an idness generation problem
Daniel Veillard [Thu, 24 Sep 2009 12:04:17 +0000 (14:04 +0200)]
Fix an idness generation problem

* libxslt/templates.c: when copying attributes coming from the
  stylesheet IDness was not asserted, though with xml:id this is now
  possible.

15 years ago595612 Try to fix some locking problems
Daniel Veillard [Sun, 20 Sep 2009 09:51:52 +0000 (11:51 +0200)]
595612 Try to fix some locking problems

* libxslt/extensions.c: there were still cases where the normal
  code path could led to trying to mtake again the extension lock
  go over all entry points of the module and clean things up

15 years agoFix a crash on misformed imported stylesheets
Daniel Veillard [Fri, 18 Sep 2009 09:43:35 +0000 (11:43 +0200)]
Fix a crash on misformed imported stylesheets

* libxslt/preproc.c: handle the case where xsl:template parent
  is not an element.

15 years agoRelease of libxslt-1.1.25
Daniel Veillard [Thu, 17 Sep 2009 15:19:59 +0000 (17:19 +0200)]
Release of libxslt-1.1.25

* NEWS configure.in doc/xslt.html doc/news.html: update of version
  and description
* doc/libxslt-api.xml doc/libxslt-refs.xml doc/libxslt.xsa
  libxslt/xsltwin32config.h doc/EXSLT/*: regenerated

15 years agoAllow use of EXSLT outside XSLT
Martin [Thu, 17 Sep 2009 14:54:18 +0000 (16:54 +0200)]
Allow use of EXSLT outside XSLT

* libexslt/exslt.h libexslt/date.c libexslt/math.c libexslt/sets.c
  libexslt/strings.c: provide registration function for an XPath
  context directly

15 years agoBig fixes of pattern compilations
Nick Wellnhofer [Thu, 17 Sep 2009 13:23:46 +0000 (15:23 +0200)]
Big fixes of pattern compilations

The problem is that "@node()", "attribute::node()", "child::node()" and
"node()" are all handled in different code paths and only the latter
works.

Then, I noticed that the handling of match="child::name" is wrong. It
matches the parents of <name> elements although it should be treated
exactly like match="name". So the whole XSLT_OP_CHILD stuff is
unneeded.

I also found that xsltScanName behaves a bit strange with regard to
':' characters. It doesn't parse an XML Name like the documentation
says. It's better to use xsltScanNCName instead.

Another minor issue is that the parser currently allows invalid
expressions like match="element*" because of lines 1745-1747 in
pattern.c in trunk.

* libxslt/pattern.c: fix all those problems
* tests/REC/Makefile.am tests/REC/test-5.2-19* tests/REC/test-5.2-20*
  tests/REC/test-5.2-21*: add test cases to the regression suite

15 years agoSupport Esperanto locale
Nick Wellnhofer [Thu, 17 Sep 2009 12:50:02 +0000 (14:50 +0200)]
Support Esperanto locale

* libxslt/xsltlocale.c: only affects the glibc locale code, adds
  the "eo" language code and also try locales without territory

15 years agoFix uses of xmlAddChild for error handling
Daniel Veillard [Thu, 17 Sep 2009 12:18:26 +0000 (14:18 +0200)]
Fix uses of xmlAddChild for error handling

* libxslt/transform.c: as Daniel Benson <danielbenson@google.com>
  pointed out the use of xmlAddChild could lead to troubles in
  case of error or merging. make a wrapped xsltAddChild() and
  fix the existing uses.

15 years agoChange how attributes are copied for id and speed
Daniel Veillard [Thu, 17 Sep 2009 11:25:46 +0000 (13:25 +0200)]
Change how attributes are copied for id and speed

* libxslt/transform.c: change the way we copy attributes, use a function
  allowing id detection, and avoid an unecessary string generation/free
  in most cases. Also cleanup a number of space and tabs issues.

15 years agoDetect deep recusion on function calls
Daniel Veillard [Thu, 17 Sep 2009 09:56:08 +0000 (11:56 +0200)]
Detect deep recusion on function calls

* libxslt/xsltInternals.h libexslt/functions.c: add a function call
  counting in the transformation context, and test/increment/decrement
  in exsltFuncFunctionFunction enter and exit

15 years agoAvoid an error in namespace generation
Martin [Thu, 17 Sep 2009 09:09:22 +0000 (11:09 +0200)]
Avoid an error in namespace generation

* libxslt/namespaces.c: fix xsltGetSpecialNamespace fallback with
  uninitialized prefix string

15 years agoFix importing of encoding from included stylesheets
Nick Wellnhofer [Thu, 17 Sep 2009 08:57:22 +0000 (10:57 +0200)]
Fix importing of encoding from included stylesheets

* libxslt/transform.c: process encoding like other imported output
  properties
* tests/docs/Makefile.am tests/docs/bug-169.xml tests/general/Makefile.am
  tests/general/bug-169.*: add a specific regression test

15 years agoAdd a few more files to ignore
Daniel Veillard [Thu, 17 Sep 2009 08:55:48 +0000 (10:55 +0200)]
Add a few more files to ignore

15 years agoFix problems with embedded stylesheets and namespaces
Martin [Thu, 17 Sep 2009 08:22:42 +0000 (10:22 +0200)]
Fix problems with embedded stylesheets and namespaces

* libxslt/xslt.c: copy the embedded stylesheet instead of cutting it
  out of the source tree and make sure to copy namespaces in scope too
* tests/REC/Makefile.am tests/REC/stand-2.7-[23]*: add the 2 tests
  case to the regression suite

15 years agoQName parsing fix for patterns
Martin [Thu, 17 Sep 2009 07:59:42 +0000 (09:59 +0200)]
QName parsing fix for patterns

* libxslt/pattern.c: fix a corner case and avoid a memory leak on
  error

15 years agoCrash compiling stylesheet with DTD
Martin [Wed, 16 Sep 2009 17:02:16 +0000 (19:02 +0200)]
Crash compiling stylesheet with DTD

* libxslt/xslt.c: when a stylesheet embbeds a DTD the compilation
  process could get seriously wrong

15 years agoFix xsl:strip-space with namespace and wildcard
Nick Wellnhofer [Wed, 16 Sep 2009 16:51:29 +0000 (18:51 +0200)]
Fix xsl:strip-space with namespace and wildcard

* libxslt/imports.c: xsl:strip-space didn't work if there is a NameTest
  with a namespace and a wildcard
* tests/REC/Makefile.am tests/REC/test-3.4-*: add some test to the
  regression suite

15 years agoFix a problem with previous change
Daniel Veillard [Wed, 16 Sep 2009 16:49:59 +0000 (18:49 +0200)]
Fix a problem with previous change

15 years agoLabel xsltProcessOneNode as static
Daniel Veillard [Wed, 16 Sep 2009 15:38:19 +0000 (17:38 +0200)]
Label xsltProcessOneNode as static

15 years agoAdd API versioning and various cleanups
Daniel Veillard [Wed, 16 Sep 2009 14:16:21 +0000 (16:16 +0200)]
Add API versioning and various cleanups

* doc/symbols.xml doc/syms.xsl doc/checkapisym.xsl libxslt/libxslt.syms:
  the new symbol files, checking and stylesheets, based on libxml2 ones
* configure.in doc/Makefile.am libxslt/Makefile.am: modifications needed
  to activate the symbol versioning
* doc/libxslt-api.xml doc/libxslt-refs.xml doc/EXSLT/libexslt-api.xml
  doc/EXSLT/libexslt-refs.xml: regenerated
* libexslt/crypto.c libxslt/Makefile.am libxslt/keys.c libxslt/variables.c
  libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltlocale.c
  libxslt/xsltlocale.h: various cleanups

15 years agoFix a mutex deadlock on unregistered extensions
Nix [Tue, 8 Sep 2009 08:22:13 +0000 (10:22 +0200)]
Fix a mutex deadlock on unregistered extensions

* libxslt/extensions.c: both xsltExtModuleFunctionLookup() and
  xsltExtModuleRegisterDynamic() take the xsltExtMutex, but the
  former calls the latter

15 years ago567192 xsltproc --output option ignore --xinclude
Joachim Breitner [Sun, 23 Aug 2009 12:58:13 +0000 (14:58 +0200)]
567192 xsltproc --output option ignore --xinclude

* xsltproc/xsltproc.c: the option was not activating XInclude nor
  passing parser flags

15 years agoFix redundant headers in list
Daniel Veillard [Fri, 21 Aug 2009 14:14:34 +0000 (16:14 +0200)]
Fix redundant headers in list

15 years ago134754 Configure's --with-html-dir related fixes
Julio M. Merino Vidal [Fri, 21 Aug 2009 14:10:26 +0000 (16:10 +0200)]
134754 Configure's --with-html-dir related fixes

* configure.in doc/Makefile.am: fixes --with-html-dir argument
  handling and adds --with-html-subdir.

15 years agoMake sure testThreads is linked with pthreads
Daniel Veillard [Thu, 20 Aug 2009 10:21:52 +0000 (12:21 +0200)]
Make sure testThreads is linked with pthreads

* configure.in: augment thread detection to pass THREADS_LIBS
* xsltproc/Makefile.am: add THREAD_LIBS to testThreads_LDADD

15 years agoFix potential crash on debug of extensions Solaris
Ben Walton [Mon, 17 Aug 2009 09:19:48 +0000 (11:19 +0200)]
Fix potential crash on debug of extensions Solaris

* libxslt/extensions.c: avoid a printf("%s", NULL) in special
  circumstances

15 years agoImprove testThreads a bit
Daniel Veillard [Fri, 14 Aug 2009 07:14:51 +0000 (09:14 +0200)]
Improve testThreads a bit

* xsltproc/testThreads.c: load exslt extensions, the test module and
  a bit of output

15 years ago305913 a serious problem in extensions reentrancy
Daniel Veillard [Fri, 14 Aug 2009 07:02:16 +0000 (09:02 +0200)]
305913 a serious problem in extensions reentrancy

* libexslt/exslt.c libxslt/extensions.c libxslt/extensions.h
  libxslt/security.c libxslt/transform.c libxslt/xslt.c: extension
  support use some global variables, make sure there is a Mutex to
  access and modify them

15 years agoAdding a test program to check thread reentrancy
Daniel Veillard [Fri, 14 Aug 2009 06:58:50 +0000 (08:58 +0200)]
Adding a test program to check thread reentrancy

* xsltproc/testThreads.c: based loosely on libxml2 one, checks
  concurrent use of the same stylesheet and extensions reentrancy
* config.h.in configure.in: we need to check for pthreads
* Makefile.am xsltproc/Makefile.am: add the new program and insert
  in make check

15 years agoAdding a .gitignore file
Daniel Veillard [Fri, 24 Jul 2009 08:51:31 +0000 (10:51 +0200)]
Adding a .gitignore file

15 years agoFix the download links for Solaris
Daniel Veillard [Fri, 24 Jul 2009 08:18:20 +0000 (10:18 +0200)]
Fix the download links for Solaris