diff --git a/src/fop.rs b/src/fop.rs index b829602..1cc8152 100644 --- a/src/fop.rs +++ b/src/fop.rs @@ -32,18 +32,12 @@ use sysexits::{ EX_DATAERR, EX_IOERR, EX_UNAVAILABLE, EX_USAGE }; fn main() { let argv = args().collect::>(); - let mut d = '␞'; + let mut d = 0x1E.to_string(); let mut arg_parser = Parser::new(&argv, "d:"); while let Some(opt) = arg_parser.next() { match opt { - Ok(Opt('d', Some(arg))) => { - let arg_char = arg.chars().collect::>(); - if arg_char.len() > 1 { - eprintln!("{}: {}: Not a character.", argv[0], arg); - exit(EX_USAGE); - } else { d = arg_char[0]; } - }, + Ok(Opt('d', Some(arg))) => d = arg, _ => {}, }; } @@ -63,7 +57,7 @@ fn main() { let mut buf = String::new(); let _ = stdin().read_to_string(&mut buf); - let mut fields = buf.split(d).collect::>(); + let mut fields = buf.split(&d).collect::>(); let opts = argv .iter()