[xml] relax.c changing xmlNode's _private slot
- From: Petr Pajas <pajas ufal ms mff cuni cz>
- To: xml gnome org
- Cc: Alexei Agafonov <lucir ok ru>, perl-xml <perl-xml listserv ActiveState com>
- Subject: [xml] relax.c changing xmlNode's _private slot
- Date: Sat, 07 Feb 2004 12:37:42 +0100
Hi Daniel, All,
while investigating why RelaxNG validation via Perl bindings for libxml2
occasionally result in sigsegv (as reported by Alexei Agafonov on
perl-xml mail list),
I found the cause to be at relax.c (CVS) around line 9755, where a value
is assigned to node->_private, while _private is used by Perl bindings
to store some critical
binding-specific structures (reference counting etc.). It seems this is
the only place where
RelaxNG uses _private slot of a xmlNode of the document being validated,
and it
seems it's only used for some kind of an optimalization. Do you think
this part could
possibly be rewritten, so that xmlNode's _private slot is preserved
within RelaxNG validation?
The problematic lines are:
relaxng.c:9755
if (ret == 0) {
node->_private = define;
}
Thanks,
-- Petr
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]