Hi! Few days ago I downloaded RegExp 1.2. According to the JavaDoc the prototype of CharacterIterator.substring(int, int) is substring(int offest, int length). Because of an unexpected error in my test application, I downloaded the CVS source. After some inspection, it turned out that the length parameter is, in fact, the end of the substring. I submit patches that correct the name from length to end which I think is more informative. Moreover, I have changed the subtring implementation of StreamCharacterIterator and ReaderCharacterIterator from ensure(offeset+length) to ensure(end). Although the former also "does the job", I think the latter is more correct. cheers, Chavdar P.S. If anybody doesn't mind I may try to write a bit more informing JavaDoc comments.
Index: CharacterIterator.java =================================================================== RCS file: /home/cvspublic/jakarta-regexp/src/java/org/apache/regexp/CharacterIterator.java,v retrieving revision 1.1 diff -r1.1 CharacterIterator.java 68c68 < String substring(int offset, int length); --- > String substring(int offset, int end);
Index: CharacterArrayCharacterIterator.java =================================================================== RCS file: /home/cvspublic/jakarta-regexp/src/java/org/apache/regexp/CharacterArrayCharacterIterator.java,v retrieving revision 1.1 diff -r1.1 CharacterArrayCharacterIterator.java 82c82 < public String substring(int offset, int length) --- > public String substring(int offset, int end) 84c84 < return new String(src, off + offset, length); --- > return new String(src, off + offset, end);
Index: ReaderCharacterIterator.java =================================================================== RCS file: /home/cvspublic/jakarta-regexp/src/java/org/apache/regexp/ReaderCharacterIterator.java,v retrieving revision 1.1 diff -r1.1 ReaderCharacterIterator.java 87c87 < public String substring(int offset, int length) --- > public String substring(int offset, int end) 91,92c91,92 < ensure(offset + length); < return buff.toString().substring(offset, length); --- > ensure(end); > return buff.toString().substring(offset, end);
Index: StreamCharacterIterator.java =================================================================== RCS file: /home/cvspublic/jakarta-regexp/src/java/org/apache/regexp/StreamCharacterIterator.java,v retrieving revision 1.1 diff -r1.1 StreamCharacterIterator.java 87c87 < public String substring(int offset, int length) --- > public String substring(int offset, int end) 91,92c91,92 < ensure(offset + length); < return buff.toString().substring(offset, length); --- > ensure(end); > return buff.toString().substring(offset, end);
Index: StringCharacterIterator.java =================================================================== RCS file: /home/cvspublic/jakarta-regexp/src/java/org/apache/regexp/StringCharacterIterator.java,v retrieving revision 1.1 diff -r1.1 StringCharacterIterator.java 76c76 < public String substring(int offset, int length) --- > public String substring(int offset, int end) 78c78 < return src.substring(offset, length); --- > return src.substring(offset, end);