...
diff --git a/release-notes/CREDITS b/release-notes/CREDITS
index 855e030..a595d7a 100644
--- a/release-notes/CREDITS
+++ b/release-notes/CREDITS
@@ -780,6 +780,11 @@
using 'convertValue()' for list of byte[] values.
[1.8.9]
+Matt Schemmel:
+ * Reported [JACKSON-820] WriterBasedGenerator with CharacterEscapes produces
+ unescaped output for strings > 2k in length
+ [1.8.9]
+
"Programmer Bruce":
* Suggested these for 1.8.x:
- [JACKSON-597] Make ClassDeserializer support primitive types [1.8.3]
diff --git a/release-notes/VERSION b/release-notes/VERSION
index 6e76a9a..4654170 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -22,6 +22,9 @@
* [JACKSON-806]: REQUIRE_SETTERS_FOR_GETTERS ignores explicitly annotated getters
(reported by Harold M)
* [JACKSON-812]: BigIntegerNode.equals(...) using '==' for equality
+ * [JACKSON-820]: WriterBasedGenerator with CharacterEscapes produces unescaped output
+ for strings > 2k in length
+ (reported by Matt S)
------------------------------------------------------------------------
=== History: ===
diff --git a/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java b/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java
index 1ef7e40..1535c08 100644
--- a/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java
+++ b/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java
@@ -1191,7 +1191,7 @@
// And then we'll need to verify need for escaping etc:
int end = _outputTail + len;
final int[] escCodes = _outputEscapes;
- final int escLimit = Math.min(escCodes.length, _maximumNonEscapedChar+1);
+ final int escLimit = Math.min(escCodes.length, maxNonEscaped+1);
int escCode = 0;
output_loop:
@@ -1227,7 +1227,7 @@
throws IOException, JsonGenerationException
{
final int[] escCodes = _outputEscapes;
- final int escLimit = Math.min(escCodes.length, _maximumNonEscapedChar+1);
+ final int escLimit = Math.min(escCodes.length, maxNonEscaped+1);
int ptr = 0;
int escCode = 0;
@@ -1380,7 +1380,7 @@
{
final int[] escCodes = _outputEscapes;
final int maxNonEscaped = (_maximumNonEscapedChar < 1) ? 0xFFFF : _maximumNonEscapedChar;
- final int escLimit = Math.min(escCodes.length, _maximumNonEscapedChar+1);
+ final int escLimit = Math.min(escCodes.length, maxNonEscaped+1);
final CharacterEscapes customEscapes = _characterEscapes;
int ptr = 0;