let strings_diffs s1 s2 =
let (f1, f2) =
try
let f1 = Filename.temp_file "odiff" ".txt" in
file_of_string ~file: f1 s1;
let f2 = Filename.temp_file "odiff" ".txt" in
file_of_string ~file: f2 s2;
(f1,f2)
with Sys_error s -> failwith s
in
let final () =
(try Sys.remove f1 with _ -> ());
(try Sys.remove f2 with _ -> ())
in
try_finalize (files_diffs f1) f2 final ()