Bug squashes
[vsys.git] / conffile.ml
1 open Printf
2 open Globals
3 open Scanf
4
5 let split_conf_line s =
6   sscanf s "%s %s" (fun s1 s2->(s1,s2))
7
8 let rec in_list elt lst =
9   match lst with 
10     | car::cdr ->
11         if (elt = car) then true else in_list elt cdr
12     | [] -> false
13
14 let read_frontends f =
15   let f_file = try open_in f with e -> fprintf logfd "Could not open config file\n";flush logfd;raise e
16   in
17   let rec read_conf_file cur_list =
18     let next_line = try Some(input_line f_file) with _ -> None in
19       match next_line with
20         | Some(inp_line) -> 
21             let fe = split_conf_line inp_line in
22             let new_list = if (not (in_list fe cur_list)) then (fe::cur_list) else cur_list
23             in
24             read_conf_file new_list
25         | None -> cur_list
26   in
27     read_conf_file []