bayard 2002/11/22 16:54:24 Modified: lang/src/java/org/apache/commons/lang StringUtils.java Log: Added the second fix from Mark McDowell [[EMAIL PROTECTED]] for bug #14062 Revision Changes Path 1.26 +8 -9 jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java Index: StringUtils.java =================================================================== RCS file: /home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- StringUtils.java 16 Nov 2002 10:41:03 -0000 1.25 +++ StringUtils.java 23 Nov 2002 00:54:24 -0000 1.26 @@ -487,22 +487,21 @@ String[] list = new String[listSize]; int i = 0; + int lastTokenBegin = 0; + int lastTokenEnd = 0; while (tok.hasMoreTokens()) { if (max > 0 && i == listSize - 1) { // In the situation where we hit the max yet have // tokens left over in our input, the last list // element gets all remaining text. - StringBuffer buf = new StringBuffer((int) 1.2 * str.length() * (listSize - i) / listSize); - while (tok.hasMoreTokens()) { - buf.append(tok.nextToken()); - if (tok.hasMoreTokens()) { - buf.append(separator); - } - } - list[i] = buf.toString(); + String endToken = tok.nextToken(); + lastTokenBegin = str.indexOf(endToken, lastTokenEnd); + list[i] = str.substring(lastTokenBegin); break; } else { list[i] = tok.nextToken(); + lastTokenBegin = str.indexOf(list[i], lastTokenEnd); + lastTokenEnd = lastTokenBegin + list[i].length(); } i++; }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>