You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2010/07/19 01:25:54 UTC

svn commit: r965320 - in /xerces/java/trunk/src/org/apache/xerces: dom/DeferredDocumentImpl.java impl/dtd/BalancedDTDGrammar.java

Author: mrglavas
Date: Sun Jul 18 23:25:54 2010
New Revision: 965320

URL: http://svn.apache.org/viewvc?rev=965320&view=rev
Log:
Fixing a couple averaging computations in binary search and divide and conquer methods which could overflow for large values.

Modified:
    xerces/java/trunk/src/org/apache/xerces/dom/DeferredDocumentImpl.java
    xerces/java/trunk/src/org/apache/xerces/impl/dtd/BalancedDTDGrammar.java

Modified: xerces/java/trunk/src/org/apache/xerces/dom/DeferredDocumentImpl.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/dom/DeferredDocumentImpl.java?rev=965320&r1=965319&r2=965320&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/dom/DeferredDocumentImpl.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/dom/DeferredDocumentImpl.java Sun Jul 18 23:25:54 2010
@@ -1884,7 +1884,7 @@ public class DeferredDocumentImpl
         while (start <= end) {
 
             // is this the one we're looking for?
-            int middle = (start + end) / 2;
+            int middle = (start + end) >>> 1;
             int value  = values[middle];
             if (DEBUG_IDS) {
                 System.out.print("  value: "+value+", target: "+target+" // ");

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dtd/BalancedDTDGrammar.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dtd/BalancedDTDGrammar.java?rev=965320&r1=965319&r2=965320&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dtd/BalancedDTDGrammar.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dtd/BalancedDTDGrammar.java Sun Jul 18 23:25:54 2010
@@ -230,7 +230,7 @@ final class BalancedDTDGrammar extends D
         if (begin == end) {
             return fGroupIndexStack[fDepth][begin];
         }
-        int middle = (begin + end) / 2;
+        final int middle = (begin + end) >>> 1;
         return addContentSpecNode(fOpStack[fDepth], 
                 addContentSpecNodes(begin, middle), 
                 addContentSpecNodes(middle + 1, end));



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org