From 7860ef275c0da758adb93848207aac808c7f1d07 Mon Sep 17 00:00:00 2001 From: Michael Gehring Date: Sat, 10 Jan 2015 13:49:18 +0100 Subject: [PATCH] sort, sum tac: fix build --- src/sort/sort.rs | 27 ++++++++++++++------------- src/sum/sum.rs | 10 +++++----- src/tac/tac.rs | 6 +++--- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/sort/sort.rs b/src/sort/sort.rs index 596a59fe0..68be324c8 100644 --- a/src/sort/sort.rs +++ b/src/sort/sort.rs @@ -13,6 +13,7 @@ extern crate getopts; +use std::cmp::Ordering; use std::fmt::Show; use std::io::{print, File, BufferedReader}; use std::io::stdio::stdin_raw; @@ -28,7 +29,7 @@ static VERSION: &'static str = "0.0.1"; static DECIMAL_PT: char = '.'; static THOUSANDS_SEP: char = ','; -pub fn uumain(args: Vec) -> int { +pub fn uumain(args: Vec) -> isize { let program = args[0].as_slice(); let opts = [ getopts::optflag("n", "numeric-sort", "compare according to string numerical value"), @@ -107,9 +108,9 @@ fn exec(files: Vec, numeric: bool, reverse: bool) { fn skip_zeros(mut char_a: char, char_iter: &mut Chars, ret: Ordering) -> Ordering { char_a = match char_iter.next() { None => 0 as char, Some(t) => t }; while char_a == '0' { - char_a = match char_iter.next() { None => return Equal, Some(t) => t }; + char_a = match char_iter.next() { None => return Ordering::Equal, Some(t) => t }; } - if char_a.is_digit(10) { ret } else { Equal } + if char_a.is_digit(10) { ret } else { Ordering::Equal } } /// Compares two decimal fractions as strings (n < 1) @@ -127,25 +128,25 @@ fn frac_compare(a: &String, b: &String) -> Ordering { char_b = match b_chars.next() { None => 0 as char, Some(t) => t }; // hit the end at the same time, they are equal if !char_a.is_digit(10) { - return Equal; + return Ordering::Equal; } } if char_a.is_digit(10) && char_b.is_digit(10) { (char_a as int).cmp(&(char_b as int)) } else if char_a.is_digit(10) { - skip_zeros(char_a, a_chars, Greater) + skip_zeros(char_a, a_chars, Ordering::Greater) } else if char_b.is_digit(10) { - skip_zeros(char_b, b_chars, Less) - } else { Equal } + skip_zeros(char_b, b_chars, Ordering::Less) + } else { Ordering::Equal } } else if char_a == DECIMAL_PT { - skip_zeros(char_a, a_chars, Greater) + skip_zeros(char_a, a_chars, Ordering::Greater) } else if char_b == DECIMAL_PT { - skip_zeros(char_b, b_chars, Less) - } else { Equal } + skip_zeros(char_b, b_chars, Ordering::Less) + } else { Ordering::Equal } } #[inline(always)] -fn print_sorted, S: Show>(mut iter: T) { +fn print_sorted>(mut iter: T) where S: std::fmt::String { for line in iter { print!("{}", line); } @@ -156,11 +157,11 @@ fn open<'a>(path: &str) -> Option<(Box, bool)> { if path == "-" { let stdin = stdin_raw(); let interactive = stdin.isatty(); - return Some((box stdin as Box, interactive)); + return Some((Box::new(stdin) as Box, interactive)); } match File::open(&std::path::Path::new(path)) { - Ok(f) => Some((box f as Box, false)), + Ok(f) => Some((Box::new(f) as Box, false)), Err(e) => { show_error!("sort: {0}: {1}", path, e.to_string()); None diff --git a/src/sum/sum.rs b/src/sum/sum.rs index c92bc8a18..4706498fe 100644 --- a/src/sum/sum.rs +++ b/src/sum/sum.rs @@ -22,7 +22,7 @@ mod util; static VERSION: &'static str = "1.0.0"; static NAME: &'static str = "sum"; -fn bsd_sum(mut reader: Box) -> (uint, u16) { +fn bsd_sum(mut reader: Box) -> (usize, u16) { let mut buf = [0; 1024]; let mut blocks_read = 0; let mut checksum: u16 = 0; @@ -42,7 +42,7 @@ fn bsd_sum(mut reader: Box) -> (uint, u16) { (blocks_read, checksum) } -fn sysv_sum(mut reader: Box) -> (uint, u16) { +fn sysv_sum(mut reader: Box) -> (usize, u16) { let mut buf = [0; 512]; let mut blocks_read = 0; let mut ret = 0; @@ -67,15 +67,15 @@ fn sysv_sum(mut reader: Box) -> (uint, u16) { fn open(name: &str) -> IoResult> { match name { - "-" => Ok(box stdin_raw() as Box), + "-" => Ok(Box::new(stdin_raw()) as Box), _ => { let f = try!(File::open(&Path::new(name))); - Ok(box f as Box) + Ok(Box::new(f) as Box) } } } -pub fn uumain(args: Vec) -> int { +pub fn uumain(args: Vec) -> isize { let program = args[0].as_slice(); let opts = [ getopts::optflag("r", "", "use the BSD compatible algorithm (default)"), diff --git a/src/tac/tac.rs b/src/tac/tac.rs index 7211f3df5..bea2790ac 100644 --- a/src/tac/tac.rs +++ b/src/tac/tac.rs @@ -21,7 +21,7 @@ mod util; static NAME: &'static str = "tac"; static VERSION: &'static str = "1.0.0"; -pub fn uumain(args: Vec) -> int { +pub fn uumain(args: Vec) -> isize { let program = args[0].clone(); let opts = [ @@ -72,10 +72,10 @@ fn tac(filenames: Vec, before: bool, _: bool, separator: &str) { for filename in filenames.into_iter() { let mut file = io::BufferedReader::new( if filename.as_slice() == "-" { - box io::stdio::stdin_raw() as Box + Box::new(io::stdio::stdin_raw()) as Box } else { let r = crash_if_err!(1, io::File::open(&Path::new(filename))); - box r as Box + Box::new(r) as Box } ); let mut data = crash_if_err!(1, file.read_to_string());