let rec print print_info f =
let rec print_contents f =
function
| [] -> ()
| x :: xs -> Format.fprintf f "@ %a%a" (print print_info) x print_contents xs in
function
| Arch_dir(name, info, contents) ->
Format.fprintf f "@[<v2>dir %S%a%a@]" name print_info info print_contents contents
| Arch_dir_pack(name, info, contents) ->
Format.fprintf f "@[<v2>dir_pack %S%a%a@]" name print_info info print_contents contents
| Arch_file(name, info) ->
Format.fprintf f "@[<2>file %S%a@]" name print_info info