mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
sort: handle empty merge inputs
This commit is contained in:
parent
5bf4536bdd
commit
418f5b7692
3 changed files with 17 additions and 6 deletions
|
@ -194,12 +194,14 @@ fn merge_without_limit<M: MergeInput + 'static, F: Iterator<Item = M>>(
|
||||||
let mut mergeable_files = vec![];
|
let mut mergeable_files = vec![];
|
||||||
|
|
||||||
for (file_number, receiver) in loaded_receivers.into_iter().enumerate() {
|
for (file_number, receiver) in loaded_receivers.into_iter().enumerate() {
|
||||||
mergeable_files.push(MergeableFile {
|
if let Ok(chunk) = receiver.recv() {
|
||||||
current_chunk: Rc::new(receiver.recv().unwrap()),
|
mergeable_files.push(MergeableFile {
|
||||||
file_number,
|
current_chunk: Rc::new(chunk),
|
||||||
line_idx: 0,
|
file_number,
|
||||||
receiver,
|
line_idx: 0,
|
||||||
})
|
receiver,
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FileMerger {
|
FileMerger {
|
||||||
|
|
|
@ -1039,3 +1039,12 @@ fn test_output_device() {
|
||||||
.pipe_in("input")
|
.pipe_in("input")
|
||||||
.succeeds();
|
.succeeds();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_merge_empty_input() {
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["-m", "empty.txt"])
|
||||||
|
.succeeds()
|
||||||
|
.no_stderr()
|
||||||
|
.no_stdout();
|
||||||
|
}
|
||||||
|
|
0
tests/fixtures/sort/empty.txt
vendored
Normal file
0
tests/fixtures/sort/empty.txt
vendored
Normal file
Loading…
Add table
Add a link
Reference in a new issue