dir: consolidate similar code in treat_directory()