[Home] [By Thread] [By Date] [Recent Entries]

  • From: Miles Sabin <msabin@c...>
  • To: Sebastien Sahuc <ssahuc@i...>,David Megginson <david@m...>, xml-dev@l...
  • Date: Wed, 18 Oct 2000 22:51:32 +0100

Sebastien Sahuc wrote,
> When creating a new AttributesImpl instance and calling on it 
> the method setAttributes(atts) with an attributes object that 
> has NO attributes values, then the method addAttributes() go 
> into an infinite loop.

Well spotted.

I'm not so sure about your proposed fix tho'. I hadn't actually
looked at the implementation of AttributesImpl all that
closely, and it looks to me as tho' it needs a bit of work
(cue all you volunteer maintainers ;-)

I'd suggest at the very least a rewrite of ensure capacity
along these lines,

  private void ensureCapacity(int n)
  {
    n *= 5;

    int oldCapacity = (data != null ? data.length : 0);
    if(n > oldCapacity)
    {
      int newCapacity = (oldCapacity*2)+5;
      if(newCapacity < n)
        newCapactiy = n;

	String newData[] = new String[newCapacity];
	System.arraycopy(data, 0, newData, 0, length*5);
	data = newData;      
    }
  }

Cheers,


Miles

-- 
Miles Sabin                       Cromwell Media
Internet Systems Architect        5/6 Glenthorne Mews
+44 (0)20 8817 4030               London, W6 0LJ, England
msabin@c...          http://www.cromwellmedia.com/


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member