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:[EMAIL PROTECTED]">Greg Coladonato</a> * @author <a href="mailto:[EMAIL PROTECTED]">Bayard</a> * @author <a href="mailto:[EMAIL PROTECTED]">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: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>