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]>

Reply via email to