You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2012/08/10 01:13:06 UTC

svn commit: r1371527 - in /incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings: FnSubstringEvaluatorFactory.java SubstringCharacterIterator.java

Author: prestonc
Date: Thu Aug  9 23:13:06 2012
New Revision: 1371527

URL: http://svn.apache.org/viewvc?rev=1371527&view=rev
Log:
Fixed the initial offset for the substring function and an error with the ending length.

Modified:
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnSubstringEvaluatorFactory.java
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringCharacterIterator.java

Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnSubstringEvaluatorFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnSubstringEvaluatorFactory.java?rev=1371527&r1=1371526&r2=1371527&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnSubstringEvaluatorFactory.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/FnSubstringEvaluatorFactory.java Thu Aug  9 23:13:06 2012
@@ -49,7 +49,7 @@ public class FnSubstringEvaluatorFactory
         return new AbstractCharacterIteratorCopyingEvaluator(args, charIterator) {
             @Override
             protected void preEvaluate(TaggedValuePointable[] args) throws SystemException {
-                int startingLocation = 0;
+                int startingLocation = 1;
                 int length = Integer.MAX_VALUE;
                 abvs.reset();
                 charIterator.reset();

Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringCharacterIterator.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringCharacterIterator.java?rev=1371527&r1=1371526&r2=1371527&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringCharacterIterator.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringCharacterIterator.java Thu Aug  9 23:13:06 2012
@@ -24,7 +24,7 @@ public class SubstringCharacterIterator 
         } else if (charOffset < start) {
             ++charOffset;
             return next();
-        } else if (charOffset < start + length) {
+        } else if (charOffset < start + length || length == Integer.MAX_VALUE) {
             ++charOffset;
             return c;
         }
@@ -34,7 +34,7 @@ public class SubstringCharacterIterator 
     @Override
     public void reset() {
         in.reset();
-        charOffset = 0;
+        charOffset = 1;
     }
 
 }