Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/System.XML/System.Xml/XmlTextWriter.cs')
-rw-r--r--mcs/class/System.XML/System.Xml/XmlTextWriter.cs27
1 files changed, 12 insertions, 15 deletions
diff --git a/mcs/class/System.XML/System.Xml/XmlTextWriter.cs b/mcs/class/System.XML/System.Xml/XmlTextWriter.cs
index 8e10329bf68..af19e18dc6b 100644
--- a/mcs/class/System.XML/System.Xml/XmlTextWriter.cs
+++ b/mcs/class/System.XML/System.Xml/XmlTextWriter.cs
@@ -277,9 +277,13 @@ openElements [openElementCount - 1]).IndentingOverriden;
}
if ((documentStarted == true) && (formatting == Formatting.Indented) && (!IndentingOverriden)) {
indentFormatting = w.NewLine;
+ if (indentLevel > 0) {
+ for (int i = 0; i < indentLevel; i++)
+ indentFormatting += indentChars;
+ }
}
else
- indentFormatting = null;
+ indentFormatting = "";
documentStarted = true;
}
@@ -337,7 +341,9 @@ openElements [openElementCount - 1]).IndentingOverriden;
private void UpdateIndentChars ()
{
- indentChars = new string (indentChar, indentation);
+ indentChars = "";
+ for (int i = 0; i < indentation; i++)
+ indentChars += indentChar;
}
public override void WriteBase64 (byte[] buffer, int index, int count)
@@ -529,15 +535,6 @@ openElements [openElementCount - 1]).IndentingOverriden;
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)
@@ -556,7 +553,7 @@ openElements [openElementCount - 1]).IndentingOverriden;
if (fullEndElement) {
w.Write ('>');
if (!ParentIndentingOverriden)
- WriteIndent ();
+ w.Write (indentFormatting);
w.Write ("</");
XmlTextWriterOpenElement el = (XmlTextWriterOpenElement) openElements [openElementCount - 1];
if (el.Prefix != String.Empty) {
@@ -571,7 +568,7 @@ openElements [openElementCount - 1]).IndentingOverriden;
openElementCount--;
openStartElement = false;
} else {
- WriteIndent ();
+ w.Write (indentFormatting);
w.Write ("</");
XmlTextWriterOpenElement el = (XmlTextWriterOpenElement) openElements [openElementCount - 1];
openElementCount--;
@@ -629,7 +626,7 @@ openElements [openElementCount - 1]).IndentingOverriden;
CheckState ();
CloseStartElement ();
- WriteIndent ();
+ w.Write (indentFormatting);
w.Write ("<?");
w.Write (name);
w.Write (' ');
@@ -837,7 +834,7 @@ openElements [openElementCount - 1]).IndentingOverriden;
if (prefix == null)
prefix = String.Empty;
- WriteIndent ();
+ w.Write (indentFormatting);
w.Write ('<');
if (prefix != String.Empty) {
w.Write (prefix);