You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ba...@apache.org on 2002/02/04 18:13:07 UTC

cvs commit: jakarta-commons-sandbox/util/src/java/org/apache/commons/util StringUtils.java

bayard      02/02/04 09:13:07

  Modified:    util/src/java/org/apache/commons/util StringUtils.java
  Log:
  wordWrap method bug fixed. A new line on its own was failing to pass through
  and being blocked due to newlines being whitespace.
  Bug submitted by John R York
  
  Revision  Changes    Path
  1.24      +20 -19    jakarta-commons-sandbox/util/src/java/org/apache/commons/util/StringUtils.java
  
  Index: StringUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/util/src/java/org/apache/commons/util/StringUtils.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- StringUtils.java	13 Jan 2002 22:14:15 -0000	1.23
  +++ StringUtils.java	4 Feb 2002 17:13:07 -0000	1.24
  @@ -85,7 +85,7 @@
    * @author <a href="mailto:gcoladonato@yahoo.com">Greg Coladonato</a>
    * @author <a href="mailto:bayard@generationjava.com">Bayard</a>
    * @author <a href="mailto:ed@apache.org">Ed Korthof</a>
  - * @version $Id: StringUtils.java,v 1.23 2002/01/13 22:14:15 bayard Exp $
  + * @version $Id: StringUtils.java,v 1.24 2002/02/04 17:13:07 bayard Exp $
    */
   public class StringUtils
   {
  @@ -521,10 +521,10 @@
           int start = 0, end = 0;
           while ( (end = text.indexOf(repl, start)) != -1 )
           {
  -            //System.out.println("end=" + end);
  +            //System.err.println("end=" + end);
               buf.append(text.substring(start, end)).append(with);
               start = end + repl.length();
  -            //System.out.println("new start=" + start);
  +            //System.err.println("new start=" + start);
   
               if (--max == 0)
               {
  @@ -1370,11 +1370,11 @@
               // on the last line
               if(i > sz - width) {
                   buffer.append(str.substring(i));
  -//                System.out.print(str.substring(i));
  +//                System.err.print("LAST-LINE: "+str.substring(i));
                   break;
               }
   
  -//            System.err.println("I is: "+i);
  +//            System.err.println("loop[i] is: "+i);
               // the current line
               substr = str.substring(i, i+width);
   
  @@ -1382,16 +1382,17 @@
               idx = substr.indexOf(delim);
               if(idx != -1) {
                   buffer.append(substr.substring(0,idx));
  -//                System.out.println(substr.substring(0,idx));
  +//                System.err.println("Substr: '"+substr.substring(0,idx)+"'");
                   buffer.append(delim);
  -//                System.out.print(delim);
                   i -= width-idx-delim.length();
                   
  -//                System.out.println("I is indeed: "+i);
  -//                System.out.println("WHITESPCE: "+substr.charAt(idx+1)+".");
  +//                System.err.println("loop[i] is now: "+i);
  +//                System.err.println("found-whitespace: '"+substr.charAt(idx+1)+"'.");
                   // Erase a space after a delim. Is this too obscure?
  -                if(Character.isWhitespace(substr.charAt(idx+1))) {
  -                    i++;
  +                if(substr.charAt(idx+1) != '\n') {
  +                    if(Character.isWhitespace(substr.charAt(idx+1))) {
  +                        i++;
  +                    }
                   }
   //                System.err.println("i -= "+width+"-"+idx);
                   continue;
  @@ -1422,16 +1423,16 @@
                   if(idx == -1) {
                       buffer.append(substr);
                       buffer.append(delim);
  -//                    System.out.print(substr);
  -//                    System.out.print(delim);
  +//                    System.err.print(substr);
  +//                    System.err.print(delim);
                   } else {
                       if(idx != width) {
                           idx++;
                       }
                       buffer.append(substr.substring(0,idx));
                       buffer.append(delim);
  -//                    System.out.print(substr.substring(0,idx));
  -//                    System.out.print(delim);
  +//                    System.err.print(substr.substring(0,idx));
  +//                    System.err.print(delim);
                       i -= width-idx;
                   }
               } else {
  @@ -1453,16 +1454,16 @@
                       // insert spaces
                       buffer.append(substr.substring(0,idx));
                       buffer.append(repeat(" ",width-idx));
  -//                    System.out.print(substr.substring(0,idx));
  -//                    System.out.print(repeat(" ",width-idx));
  +//                    System.err.print(substr.substring(0,idx));
  +//                    System.err.print(repeat(" ",width-idx));
                       buffer.append(delim);
  -//                    System.out.print(delim);
  +//                    System.err.print(delim);
   //                    System.err.println("i -= "+width+"-"+idx);
                       i -= width-idx;
   //                }
               }
           }
  -//        System.out.println("\n*************");
  +//        System.err.println("\n*************");
           return buffer.toString();
       }
   
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>