From 6877fd68997eef7de9025c7f97da3bac6ae29398 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Mon, 20 Apr 2015 11:20:27 -0400 Subject: [PATCH] 'Fixed' bug by allowing XML data format to parse non-well-formed XML documents containing stray > characters --- .../DataFormats/Markup/XML/XMLDataFormat.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs b/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs index 0e6c7971..f1491864 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs +++ b/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs @@ -328,6 +328,8 @@ namespace UniversalEditor.DataFormats.Markup.XML } tr.Accessor.Seek(-1, IO.SeekOrigin.Current); + bool seenBeginChar = false; + while (!tr.EndOfStream) { c = tr.ReadChar(); @@ -339,6 +341,17 @@ namespace UniversalEditor.DataFormats.Markup.XML { loaded = true; } + + if (c == this.Settings.TagEndChar && !seenBeginChar) + { + currentString += c; + continue; + } + else if (c == this.Settings.TagEndChar && seenBeginChar) + { + seenBeginChar = false; + } + if (c == this.Settings.TagBeginChar) { if (insideString == 0 && !insidePreprocessor) @@ -357,6 +370,7 @@ namespace UniversalEditor.DataFormats.Markup.XML { currentString += c; } + seenBeginChar = true; } else {