let generic_dirname rindex_dir_sep current_dir_name dir_sep name = try match rindex_dir_sep name with 0 -> dir_sep | n -> String.sub name 0 n with Not_found -> current_dir_name