diff --git a/src/pages/directory/dns.rs b/src/pages/directory/dns.rs index 4a60b8a..53e64aa 100644 --- a/src/pages/directory/dns.rs +++ b/src/pages/directory/dns.rs @@ -34,46 +34,29 @@ struct DnsRecord { content: String, } -fn format_zonefile(records: &[DnsRecord], domain: &str) -> String { - let formatted_records: Vec<[&str; 3]> = records - .iter() - .filter_map(|record| { - record.name.strip_suffix(domain).map(|name| { - if name.is_empty() { - ["@", &record.typ, &record.content] - } else { - [ - name.strip_suffix('.').unwrap_or(name), - &record.typ, - &record.content, - ] - } - }) - }) - .collect(); - - let max_len = formatted_records.iter().fold([0, 0], |acc, x| { - [acc[0].max(x[0].len()), acc[1].max(x[1].len())] +fn format_zonefile(records: &Vec, domain: &str) -> String { + let max_len = records.iter().fold([0, 0], |[name, typ], x| { + [name.max(x.name.len()), typ.max(x.typ.len())] }); - formatted_records.iter().fold(String::new(), |acc, x| { + records.iter().fold(String::new(), |acc, x| { let key = format!( "{}{: