private static Section[] read_cfg(string filename) { if (!File.Exists(filename)) { Utils.file_error(filename); } int nu = 0; List <Section> sections = new List <Section>(); var lines = File.ReadAllLines(filename); Section current = null; foreach (var line in lines) { ++nu; Utils.Strip(line); switch (line[0]) { case '[': current = new Section(line); sections.Add(current); break; case '\0': case '#': case ';': break; default: if (!OptionList.read_option(line, current?.Options.ToList())) { Console.Error.Write("Config file Utils.Error line %d, could parse: %s\n", nu, line); } break; } } return(sections.ToArray()); }