Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
hi, i have a recursive method.. it works fine (it's when using wordWrap=true) when the StringBuffer input contains 2KB file. When parsing larger file (600KB) i got this exception:
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at xtext.breakLines(xtext.java:308)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:318)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:315)
at xtext.breakLines(xtext.java:318)
then it just repeats from line 318 to another ...
method source:
305public String breakLines (StringBuffer input,int pos,int lineLength) {
306
307if (wordWrap) {
308if (input.length()>lineLength && pos <= input.length()) {
309if (pos > 1) {
310 boolean currSpace = Character.isSpaceChar(input.charAt(pos));
311if (currSpace) {
312input.setCharAt(pos,eol);
313breakLines (input,pos+lineLength,lineLength);
314} else {
315breakLines (input,pos-1,lineLength);
316}
317} else {
318breakLines (input,pos+lineLength,lineLength);
319}
320} else {
321 log.append(input.toString());
322
323}
324}
325else {
326while (pos<input.length()) {
327input.insert(pos,"-");
328pos += lineLength;
329}
330}
331
332return input.toString();
333}
what should i do? where's my fault. or is there another simplier way to parse the input wrapping words after x chars (lineLength) ? thanx for supp. starenka>

