Exemple #1
0
        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());
        }