- begin
- bscanf iscan " %s@: " ignore;
- bscanf iscan " %s " ignore;
- try
- while true do
- try
- let s = bscanf iscan " %s " (fun s -> s) in
- if s = "" then raise End_of_file;
- if s <> "\\" then includes =::s
- with
- Scan_failure _ -> ()
- done
- with
- End_of_file -> close_in ichan
- end;
- !includes
-
-let uniq l =
- let rec loop l acc =
- match l with
- | [] -> acc
- | [ e ] -> e::acc
- | e1 :: ((e2 :: _) as ll) ->
- loop ll (if e1 = e2 then acc else e1 :: acc)
- in
- loop (List.sort compare l) []
+ bscanf iscan " %_s@: %s " ignore;
+ try
+ while true do
+ bscanf iscan " %s " (
+ function "" -> raise End_of_file
+ | "\\" -> ()
+ | s -> includes =::s)
+ done; []
+ with
+ _ -> close_in ichan;!includes