Page MenuHomePhabricator

collar-ng.rs
No OneTemporary

collar-ng.rs

use std::env::args;
use env_logger::Env;
use log::error;
use libcollar::ng;
fn main() {
let env = Env::default()
.filter_or("LOG_LEVEL", "trace")
.write_style_or("LOG_STYLE", "always");
env_logger::init_from_env(env);
let mut argv = args();
let prog = argv.next().unwrap();
match argv.next() {
None => println!("Usage: {} <command> (args)", prog),
Some(str) => match str.as_str() {
"new-eiface" => {
match argv.next() {
None => println!("Usage: {} new-eiface <name>", prog),
Some(name) => match ng::new_eiface(&name) {
Ok(s) => println!("ok: {:#?}", s),
Err(e) => error!("error: {:?}", e),
}
}
},
"new-eiface-bridge" => {
match argv.next() {
None => println!("Usage: {} new-bridge <bridge> <name>", prog),
Some(bridge) => match argv.next() {
None => println!("Usage: {} new-bridge <bridge> <name>", prog),
Some(name) => match ng::new_bridge(&bridge, &name) {
Ok(s) => println!("ok: {}", s),
Err(e) => error!("error: {:?}", e)
}
}
}
}
"join-eiface-bridge" => {
match argv.next() {
None => println!("Usage: {} bridge-eiface <bridge> <name>", prog),
Some(bridge) => match argv.next() {
None => println!("Usage: {} bridge-eiface <bridge> <name>", prog),
Some(name) => match ng::bridge_eiface(&bridge, &name) {
Ok(s) => println!("ok: {}", s),
Err(e) => error!("error: {:?}", e)
}
}
}
}
"bridge" => {
match argv.next() {
None => println!("Usage: {} <path>", prog),
Some(path) => match ng::go(&path) {
Ok(s) => println!("{}", s),
Err(e) => error!("error: {:?}", e)
}
}
}
_ => println!("Unknown action: {}", str)
}
}
}

File Metadata

Mime Type
text/x-c
Expires
Sun, Jun 8, 7:17 AM (19 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
47567
Default Alt Text
collar-ng.rs (2 KB)

Event Timeline