[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]