[xslt] libxslt bugfix.



Hi there.

>   - http://bugzilla.gnome.org/show_bug.cgi?id=62459
>     Running xsltproc --version or -v causes an access violation.
>     No idea where this comes from, maybe it's a libxml version
>     variable unproperly exported

The following diff fixes the bug.


Index: libxslt/libxslt/xslt.h
===================================================================
RCS file: /cvs/gnome/libxslt/libxslt/xslt.h,v
retrieving revision 1.10
diff -r1.10 xslt.h
12a13,15
> #ifdef _WIN32
> #include "xsltwin32config.h"
> #endif
51c54
< extern int xsltMaxDepth;
---
> LIBXSLT_PUBLIC extern int xsltMaxDepth;
58c61
< extern const char *xsltEngineVersion;
---
> LIBXSLT_PUBLIC extern const char *xsltEngineVersion;
65c68
< extern const int xsltLibxsltVersion;
---
> LIBXSLT_PUBLIC extern const int xsltLibxsltVersion;
72c75
< extern const int xsltLibxmlVersion;
---
> LIBXSLT_PUBLIC extern const int xsltLibxmlVersion;

---- end of diff ----


It was a libxslt variable not being marked as exportable and thus
exported improperly.

The project file must be modified in order to include saxon.c, but I
shall post the new file separately, for it must be treated as a binary
file by the CVS.

The bigger problem are the .def files. The files win32/dsp/*.def have
rather evil line delimiters. It seems that they have an additional
solitary carriage return at the end of each line. These get removed by
the editor each time I modify the file. Producing a diff for such file
is hopeless, for cvs diff thinks the whole file has been changed.

Usually cvs handles line end conversion automagically. It converts all
text files from the internal format (CR, I think) to the format of the
client platform (CRLF, in my case). It also handles these issues when
you make diffs. For some reason, it fails with these .def files and gets
garbage during the checkout. The file win32/dsp/libxslt.def must have
one line chaged, namely the line which reads

	xsltEngineVersion

must be changed to read

	xsltEngineVersion DATA

but when I make the diff, the whole file is affected. I have attached
the diff to this post. It should work, because noone else is changing
these files in the meantime, but I must see what is wrong here. Should
ever two persons modify such file at the same time, we certainly have a
cumbersome manual merge to deal with and that over otherwise identical
lines.

Ciao
Igor

libxslt.diff



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