mirror of
https://github.com/nushell/nushell.git
synced 2025-07-14 21:35:58 +02:00
Fixed last command crash
When the last command has an input value larger than the data its operating on it would crash. Added a check to ensure there are enough elements to take.
This commit is contained in:
@ -38,11 +38,14 @@ fn last(
|
|||||||
) -> Result<OutputStream, ShellError> {
|
) -> Result<OutputStream, ShellError> {
|
||||||
let stream = async_stream! {
|
let stream = async_stream! {
|
||||||
let v: Vec<_> = context.input.into_vec().await;
|
let v: Vec<_> = context.input.into_vec().await;
|
||||||
let k = v.len() - (*amount as usize);
|
let count = (*amount as usize);
|
||||||
|
if count < v.len() {
|
||||||
|
let k = v.len() - count;
|
||||||
for x in v[k..].iter() {
|
for x in v[k..].iter() {
|
||||||
let y: Tagged<Value> = x.clone();
|
let y: Tagged<Value> = x.clone();
|
||||||
yield ReturnSuccess::value(y)
|
yield ReturnSuccess::value(y)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
Ok(stream.to_output_stream())
|
Ok(stream.to_output_stream())
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user