DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22212>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22212 removeElement, Coding Error, does not delete properly Summary: removeElement, Coding Error, does not delete properly Product: XalanJ2 Version: 2.5 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Major Priority: Other Component: org.apache.xpath AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] NodeSet filled with three Elements e1,e2,e3, when deleting in the same order only removes the first two elements. Erronous Code with proposed fix below public boolean removeElement(Node s) { if (!m_mutable) throw new RuntimeException(XSLMessages.createXPATHMessage (XPATHErrorResources.ER_NODESET_NOT_MUTABLE, null)); //"This NodeSet is not mutable!"); if (null == m_map) return false; for (int i = 0; i < m_firstFree; i++) { Node node = m_map[i]; if ((null != node) && node.equals(s)) { if (i > m_firstFree) <<<<<<< BUG can never be true, <<<<<<< must be "<" instead of ">" System.arraycopy(m_map, i + 1, m_map, i - 1, m_firstFree - i); else m_map[i] = null; m_firstFree--; return true; } } return false; }
