void ParseGlobal (StreamReader reader, List<string> lines, ListDictionary dict)
{
//Process GlobalSection-s
while (reader.Peek () >= 0) {
string s = GetNextLine (reader, lines).Trim ();
if (s.Length == 0)
//Skip blank lines
continue;
Match m = GlobalSectionRegex.Match (s);
if (!m.Success) {
if (String.Compare (s, "EndGlobal", true) == 0)
return;
continue;
}
Section sec = new Section (m.Groups [1].Value, m.Groups [2].Value, lines.Count - 1, 1);
dict [sec.Key] = sec;
sec.Count = ReadUntil ("EndGlobalSection", reader, lines) - sec.Start + 1;
//FIXME: sec.Count == -1 : No EndGlobalSection found, ignore entry?
}
}