use pkgsrc::distinfo::Distinfo;
use std::env;
use std::fs;
fn main() {
for arg in env::args().skip(1) {
let input = match fs::read(&arg) {
Ok(s) => s,
Err(e) => {
eprintln!("WARNING: Could not open {}: {}", arg, e);
continue;
}
};
let distinfo = Distinfo::from_bytes(&input);
let output = distinfo.as_bytes();
if input != output {
eprintln!("ERROR: {}: contents differ!", arg);
for (bi, bo) in input
.split(|c| *c == b'\n')
.zip(output.split(|c| *c == b'\n'))
{
if bi != bo {
eprintln!(">>>");
eprintln!("{}", String::from_utf8_lossy(bi));
eprintln!("===");
eprintln!("{}", String::from_utf8_lossy(bo));
eprintln!("<<<");
}
}
eprintln!();
}
}
}