From 81051ae2da0ff0a297897af7405ee201b2619e73 Mon Sep 17 00:00:00 2001 From: siddhadev Date: Mon, 25 Nov 2013 13:42:48 +0100 Subject: [PATCH 1/2] fix for merging CDATAs producing an ending tag ]]> in the resulting CDATA --- core/src/java/org/jdom/input/SAXHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/java/org/jdom/input/SAXHandler.java b/core/src/java/org/jdom/input/SAXHandler.java index ef57ba84a..f9fd7eb59 100644 --- a/core/src/java/org/jdom/input/SAXHandler.java +++ b/core/src/java/org/jdom/input/SAXHandler.java @@ -731,7 +731,7 @@ public void characters(char[] ch, int start, int length) if (suppress || (length == 0)) return; - if (previousCDATA != inCDATA) { + if (previousCDATA != inCDATA || (ch[start] == '>' || (ch[start] == ']' && ch[start] == '>') )) { flushCharacters(); } From 8190cf3211c070495b2867507bdcabdcb182da57 Mon Sep 17 00:00:00 2001 From: siddhadev Date: Mon, 25 Nov 2013 15:01:21 +0100 Subject: [PATCH 2/2] fix for merging CDATAs producing an ending tag ]]> in the resulting CDATA --- core/src/java/org/jdom/input/SAXHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/java/org/jdom/input/SAXHandler.java b/core/src/java/org/jdom/input/SAXHandler.java index f9fd7eb59..c55f75506 100644 --- a/core/src/java/org/jdom/input/SAXHandler.java +++ b/core/src/java/org/jdom/input/SAXHandler.java @@ -731,7 +731,7 @@ public void characters(char[] ch, int start, int length) if (suppress || (length == 0)) return; - if (previousCDATA != inCDATA || (ch[start] == '>' || (ch[start] == ']' && ch[start] == '>') )) { + if (previousCDATA != inCDATA || (ch[start] == '>' || (ch[start] == ']' && length > 1 && ch[start+1] == '>') )) { flushCharacters(); }