extern crate nss_certdata_parser;
use std::fs::File;
use std::env::args;
use std::io::BufReader;
use nss_certdata_parser::reader::AttrIter;
use nss_certdata_parser::syntax::Value;
fn main() {
for path in args().skip(1) {
println!("BEGINDATA");
for res_attr in AttrIter::new(BufReader::new(File::open(path).unwrap())) {
match res_attr.unwrap() {
(k, Value::Token(t, v)) => println!("{} {} {}", k, t, v),
(k, Value::String(v)) => println!("{} UTF8 {:?}", k, v),
(k, Value::Binary(v)) => {
print!("{} MULTILINE_OCTAL", k);
for (i, b) in v.into_iter().enumerate() {
if i % 16 == 0 {
println!("");
}
print!("\\{:03o}", b);
}
println!("");
println!("END");
}
}
}
}
}