let get_data is_affected =
let file = Benl_clflags.get_cache_file () in
if !Benl_clflags.use_cache && Sys.file_exists file then
filter_affected (Marshal.load file) is_affected
else
let origin =
if !use_projectb then Projectb.mk_origin () else file_origin
in
let src_raw = origin.get_sources M.empty in
let bin_raw = List.fold_left
origin.get_binaries PAMap.empty !Benl_clflags.architectures
in
let bin_raw = if !run_debcheck
then inject_debcheck_data bin_raw !Benl_clflags.architectures
else bin_raw
in
let data = { src_map = src_raw; bin_map = bin_raw; } in
Marshal.dump file data;
filter_affected data is_affected