mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-29 12:07:46 +00:00
sum: handle multiple file args
This commit is contained in:
parent
ee92573584
commit
156577ec40
1 changed files with 15 additions and 13 deletions
28
sum/sum.rs
28
sum/sum.rs
|
@ -111,23 +111,25 @@ pub fn uumain(args: Vec<String>) -> int {
|
||||||
|
|
||||||
let sysv = matches.opt_present("sysv");
|
let sysv = matches.opt_present("sysv");
|
||||||
|
|
||||||
let file = if matches.free.is_empty() {
|
let files = if matches.free.is_empty() {
|
||||||
"-"
|
Vec::from_elem(1, "-".to_string())
|
||||||
} else {
|
} else {
|
||||||
matches.free.get(0).as_slice()
|
matches.free
|
||||||
};
|
};
|
||||||
|
|
||||||
let reader = match open(file) {
|
for file in files.iter() {
|
||||||
Ok(f) => f,
|
let reader = match open(file.as_slice()) {
|
||||||
_ => crash!(1, "unable to open file")
|
Ok(f) => f,
|
||||||
};
|
_ => crash!(1, "unable to open file")
|
||||||
let (blocks, sum) = if sysv {
|
};
|
||||||
sysv_sum(reader)
|
let (blocks, sum) = if sysv {
|
||||||
} else {
|
sysv_sum(reader)
|
||||||
bsd_sum(reader)
|
} else {
|
||||||
};
|
bsd_sum(reader)
|
||||||
|
};
|
||||||
|
|
||||||
println!("{} {}", sum, blocks);
|
println!("{} {}", sum, blocks);
|
||||||
|
}
|
||||||
|
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue