2008-12-06 Ivan N. Zlatev <contact@i-nz.net>
[mono.git] / mcs / class / System.Configuration / System.Configuration / SectionGroupInfo.cs
index 33bd4f9313b3dfcf8d617d410f7842f5418d6fd3..5332ef9bc9bb7a51dcfbf215d2dfb755bf2a1e88 100644 (file)
@@ -136,7 +136,7 @@ namespace System.Configuration
                        return false;
                }
                
-               public override void ReadConfig (Configuration cfg, string streamName, XmlTextReader reader)
+               public override void ReadConfig (Configuration cfg, string streamName, XmlReader reader)
                {
                        StreamName = streamName;
                        ConfigHost = cfg.ConfigHost;
@@ -245,13 +245,13 @@ namespace System.Configuration
                        writer.WriteEndElement ();
                }
 
-               private void ReadRemoveSection (XmlTextReader reader)
+               private void ReadRemoveSection (XmlReader reader)
                {
                        if (!reader.MoveToNextAttribute () || reader.Name != "name")
                                ThrowException ("Unrecognized attribute.", reader);
 
                        string removeValue = reader.Value;
-                       if (removeValue == null || removeValue.Length == 0)
+                       if (String.IsNullOrEmpty (removeValue))
                                ThrowException ("Empty name to remove", reader);
 
                        reader.MoveToElement ();
@@ -263,13 +263,13 @@ namespace System.Configuration
                        reader.Skip ();
                }
 
-               public void ReadRootData (XmlTextReader reader, Configuration config, bool overrideAllowed)
+               public void ReadRootData (XmlReader reader, Configuration config, bool overrideAllowed)
                {
                        reader.MoveToContent ();
                        ReadContent (reader, config, overrideAllowed, true);
                }
                
-               public override void ReadData (Configuration config, XmlTextReader reader, bool overrideAllowed)
+               public override void ReadData (Configuration config, XmlReader reader, bool overrideAllowed)
                {
                        reader.MoveToContent ();
                        if (!reader.IsEmptyElement) {
@@ -281,13 +281,10 @@ namespace System.Configuration
                                reader.Read ();
                }
                
-               void ReadContent (XmlTextReader reader, Configuration config, bool overrideAllowed, bool root)
+               void ReadContent (XmlReader reader, Configuration config, bool overrideAllowed, bool root)
                {
-                       StringBuilder spacing = new StringBuilder ();
                        while (reader.NodeType != XmlNodeType.EndElement && reader.NodeType != XmlNodeType.None) {
                                if (reader.NodeType != XmlNodeType.Element) {
-                                       if (reader.NodeType == XmlNodeType.Whitespace)
-                                               spacing.Append (reader.Value);
                                        reader.Skip ();
                                        continue;
                                }
@@ -368,7 +365,7 @@ namespace System.Configuration
                                        sections.Add (key, data.sections[key]);
                                }
                        
-                       if (data.groups != null && data.sections.Count > 0)
+                       if (data.groups != null && data.sections != null && data.sections.Count > 0)
                                foreach (string key in data.groups.AllKeys) {
                                        actInfo = groups[key];
                                        if (actInfo != null)