garyp       01/07/24 23:22:41

  Modified:    java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
  Log:
  Fix bug 2727 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2727).  
Attributes which contain a namespace prefix are indicated by placing a negative 
number in the appropriate entry in the m_dataOrQName array.  The absolute value 
of this number is an entry in m_data.  However, in this example, there were no 
text nodes before the first namespaced attribute so the entry in m_data had an 
array index of 0.  This resulted in an entry of zero, not a negative number, in 
m_dataOrQName.  This situation got several routines which tested for < 0 
confused.  I looked at several ways of fixing this but decided to just always 
allocate m_data.elementAt(0) entry to a dummy entry.  The other solutions 
involved runtime checking which could slow down this piece of code and I felt 
that wasting one entry was worth it to not slow down the run time.
  
  Revision  Changes    Path
  1.13      +1 -0      
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/SAX2DTM.java
  
  Index: SAX2DTM.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/SAX2DTM.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- SAX2DTM.java      2001/07/20 18:48:11     1.12
  +++ SAX2DTM.java      2001/07/25 06:22:40     1.13
  @@ -229,6 +229,7 @@
             xstringfactory, doIndexing);
             
       m_data = new SuballocatedIntVector(doIndexing ? (1024*2) : 512, 1024);
  +    m_data.addElement(0);   // Need placeholder in case index into here must 
be <0.
   
       m_dataOrQName = new SuballocatedIntVector(m_initialblocksize);
     }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to