diff options
author | Zachary Dremann <dremann@gmail.com> | 2014-06-25 15:50:16 -0400 |
---|---|---|
committer | Zachary Dremann <dremann@gmail.com> | 2014-06-25 16:06:44 -0400 |
commit | ae22f22a931b207301681f2fc948e8e9cfd1daf7 (patch) | |
tree | 3e1b8d6ef91f010fe048bf5d205b90d6f16b68d2 /examples/rusti.rs | |
parent | 4beb868e0ca2aa5ad9c29e4ba934c0fd8fc2501e (diff) | |
download | rusty-irc-ae22f22a931b207301681f2fc948e8e9cfd1daf7.tar.gz rusty-irc-ae22f22a931b207301681f2fc948e8e9cfd1daf7.zip |
Updated for Cargo
Diffstat (limited to 'examples/rusti.rs')
-rw-r--r-- | examples/rusti.rs | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/examples/rusti.rs b/examples/rusti.rs deleted file mode 100644 index 91d50dd..0000000 --- a/examples/rusti.rs +++ /dev/null @@ -1,54 +0,0 @@ -extern crate irc; -extern crate getopts; -extern crate libc; - -use std::os; -use std::io; - -use getopts::{getopts, opt, optflag, optflagmulti, optmulti, optopt, reqopt, short_usage, usage}; - -struct ShowableTraitObject<'a>(&'a std::fmt::Show); - -impl<'a> std::fmt::Show for ShowableTraitObject<'a> { - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - let &ShowableTraitObject(inner) = self; - inner.fmt(f) - } -} - -fn main() { - - let opts = [ - optflag("h", "help", "Print help information"), - optmulti("c", "channel", "What channel should be joined", "CHANNEL"), - optopt("p", "port", "What port should be used to connect to server", "PORT"), - optflag("", "ignore-privmsg", "Ignore messages sent directly, only respond to those in a joinned channel"), - ]; - let args = os::args(); - let program = args.get(0); - - let err: |i32, &std::fmt::Show| -> ! = |code: i32, err_msg: &std::fmt::Show| { - let mut stderr = io::stderr(); - let _ = writeln!(stderr, "{}", ShowableTraitObject(err_msg)); - let short = short_usage(program.as_slice(), opts); - let _ = writeln!(stderr, "{}", usage(short.as_slice(), opts)); - unsafe{ libc::exit(code) } - }; - - let matches = match getopts(args.tail(), opts) { - Ok(m) => { m } - Err(e) => { err(1, &e); } - }; - - if matches.opt_present("help") { - let short = short_usage(program.as_slice(), opts); - println!("{}", usage(short.as_slice(), opts)); - return; - } - - let channels = matches.opt_strs("channel"); - let port: u16 = from_str(matches.opt_str("port").unwrap_or("6667".to_string()).as_slice()).expect("Please pass a port number to -p or --port"); - let ignore_privmsg = matches.opt_present("ignore-privmsg"); - let server = if matches.free.len() != 1 { err(2, &"No server passed") } else { matches.free.move_iter().next().unwrap() }; - println!("server:{}, channels:{}, port:{}, ignore?:{}", server, channels, port, ignore_privmsg); -} |