jail 0.0.4

FreeBSD jail library
extern crate jail;

#[macro_use]
extern crate prettytable;

use jail::RunningJail;
use prettytable::cell::Cell;
use prettytable::row::Row;
use prettytable::Table;

fn main() {
    let mut table = Table::new();
    table.add_row(row!["JID", "IP Address", "Hostname", "Path"]);

    for j in RunningJail::all() {
        let ips: Vec<String> = j
            .ips()
            .unwrap()
            .iter()
            .map(|ip| format!("{}", ip))
            .collect();

        table.add_row(Row::new(vec![
            Cell::new(&format!("{}", j.jid)),
            Cell::new(&ips.join("\n")),
            Cell::new(&format!("{}", j.hostname().unwrap())),
            Cell::new(j.path().unwrap().to_str().unwrap()),
        ]));
    }

    table.printstd();
}