aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-12-03 16:21:20 -0500
committerJesse Luehrs <doy@tozt.net>2021-12-03 16:26:20 -0500
commit1b659eb6ae2e5b6e53eaecaf7e1324ef92fc541d (patch)
tree5ab8f7d34ef5f930d32bc52fdd9a9db4c4bbd427 /src
parentd648b8f074965110938bbca4dd502309d1fa75ca (diff)
downloadvt100-rust-1b659eb6ae2e5b6e53eaecaf7e1324ef92fc541d.tar.gz
vt100-rust-1b659eb6ae2e5b6e53eaecaf7e1324ef92fc541d.zip
fix receiving empty params
Diffstat (limited to 'src')
-rw-r--r--src/screen.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/screen.rs b/src/screen.rs
index 2dba4b5..74e0559 100644
--- a/src/screen.rs
+++ b/src/screen.rs
@@ -1571,7 +1571,7 @@ impl vte::Perform for Screen {
}
fn canonicalize_params_1(params: &vte::Params, default: u16) -> u16 {
- let first = params.iter().next().map_or(0, |x| x[0]);
+ let first = params.iter().next().map_or(0, |x| *x.get(0).unwrap_or(&0));
if first == 0 {
default
} else {
@@ -1585,10 +1585,10 @@ fn canonicalize_params_2(
default2: u16,
) -> (u16, u16) {
let mut iter = params.iter();
- let first = iter.next().map_or(0, |x| x[0]);
+ let first = iter.next().map_or(0, |x| *x.get(0).unwrap_or(&0));
let first = if first == 0 { default1 } else { first };
- let second = iter.next().map_or(0, |x| x[0]);
+ let second = iter.next().map_or(0, |x| *x.get(0).unwrap_or(&0));
let second = if second == 0 { default2 } else { second };
(first, second)
@@ -1599,10 +1599,10 @@ fn canonicalize_params_decstbm(
size: crate::grid::Size,
) -> (u16, u16) {
let mut iter = params.iter();
- let top = iter.next().map_or(0, |x| x[0]);
+ let top = iter.next().map_or(0, |x| *x.get(0).unwrap_or(&0));
let top = if top == 0 { 1 } else { top };
- let bottom = iter.next().map_or(0, |x| x[0]);
+ let bottom = iter.next().map_or(0, |x| *x.get(0).unwrap_or(&0));
let bottom = if bottom == 0 { size.rows } else { bottom };
(top, bottom)