|
25 | 25 |
|
26 | 26 | import org.apache.commons.logging.Log; |
27 | 27 | import org.apache.commons.logging.LogFactory; |
| 28 | +import org.codehaus.groovy.grails.support.encoding.CharSequences; |
28 | 29 | import org.codehaus.groovy.grails.support.encoding.EncodedAppender; |
29 | 30 | import org.codehaus.groovy.grails.support.encoding.EncodedAppenderFactory; |
30 | 31 | import org.codehaus.groovy.grails.support.encoding.EncodedAppenderWriter; |
@@ -122,7 +123,7 @@ else if (obj instanceof Writable) { |
122 | 123 | else if (obj instanceof CharSequence) { |
123 | 124 | try { |
124 | 125 | usageFlag = true; |
125 | | - getOut().append((CharSequence)obj); |
| 126 | + CharSequences.writeCharSequence(getOut(), (CharSequence)obj); |
126 | 127 | } |
127 | 128 | catch (IOException e) { |
128 | 129 | handleIOException(e); |
@@ -224,7 +225,7 @@ else if (obj instanceof Writable) { |
224 | 225 | else if (obj instanceof CharSequence) { |
225 | 226 | try { |
226 | 227 | usageFlag = true; |
227 | | - getOut().append((CharSequence)obj); |
| 228 | + CharSequences.writeCharSequence(getOut(), (CharSequence)obj); |
228 | 229 | } |
229 | 230 | catch (IOException e) { |
230 | 231 | handleIOException(e); |
@@ -439,19 +440,29 @@ public GrailsPrintWriter append(final char c) { |
439 | 440 | public GrailsPrintWriter append(final CharSequence csq, final int start, final int end) { |
440 | 441 | try { |
441 | 442 | usageFlag = true; |
442 | | - getOut().append(csq, start, end); |
| 443 | + if (csq == null) |
| 444 | + appendNullCharSequence(); |
| 445 | + else |
| 446 | + CharSequences.writeCharSequence(getOut(), csq, start, end); |
443 | 447 | } |
444 | 448 | catch (IOException e) { |
445 | 449 | handleIOException(e); |
446 | 450 | } |
447 | 451 | return this; |
448 | 452 | } |
449 | 453 |
|
| 454 | + protected void appendNullCharSequence() throws IOException { |
| 455 | + getOut().append(null); |
| 456 | + } |
| 457 | + |
450 | 458 | @Override |
451 | 459 | public GrailsPrintWriter append(final CharSequence csq) { |
452 | 460 | try { |
453 | 461 | usageFlag = true; |
454 | | - getOut().append(csq); |
| 462 | + if (csq == null) |
| 463 | + appendNullCharSequence(); |
| 464 | + else |
| 465 | + CharSequences.writeCharSequence(getOut(), csq); |
455 | 466 | } |
456 | 467 | catch (IOException e) { |
457 | 468 | handleIOException(e); |
|
0 commit comments