Index: XmlTextWriter.cs =================================================================== RCS file: /cvs/public/mcs/class/System.XML/System.Xml/XmlTextWriter.cs,v retrieving revision 1.85 diff -u -r1.85 XmlTextWriter.cs --- XmlTextWriter.cs 28 Jul 2004 09:10:34 -0000 1.85 +++ XmlTextWriter.cs 26 Aug 2004 14:06:14 -0000 @@ -277,13 +277,9 @@ } if ((documentStarted == true) && (formatting == Formatting.Indented) && (!IndentingOverriden)) { indentFormatting = w.NewLine; - if (indentLevel > 0) { - for (int i = 0; i < indentLevel; i++) - indentFormatting += indentChars; - } } else - indentFormatting = ""; + indentFormatting = null; documentStarted = true; } @@ -341,9 +337,12 @@ private void UpdateIndentChars () { + /* indentChars = ""; for (int i = 0; i < indentation; i++) indentChars += indentChar; + */ + indentChars = new string (indentChar, indentation); } public override void WriteBase64 (byte[] buffer, int index, int count) @@ -516,6 +515,15 @@ WriteEndElementInternal (false); } + private void WriteIndent () + { + if (indentFormatting == null) + return; + w.Write (w.NewLine); + for (int i = 0; i < indentLevel; i++) + w.Write (indentChars); + } + private void WriteEndElementInternal (bool fullEndElement) { if (openElementCount == 0) @@ -534,7 +542,7 @@ if (fullEndElement) { w.Write ('>'); if (!ParentIndentingOverriden) - w.Write (indentFormatting); + WriteIndent (); w.Write ("