diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-03 16:21:20 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-03 16:26:20 -0500 |
commit | 1b659eb6ae2e5b6e53eaecaf7e1324ef92fc541d (patch) | |
tree | 5ab8f7d34ef5f930d32bc52fdd9a9db4c4bbd427 /src | |
parent | d648b8f074965110938bbca4dd502309d1fa75ca (diff) | |
download | vt100-rust-1b659eb6ae2e5b6e53eaecaf7e1324ef92fc541d.tar.gz vt100-rust-1b659eb6ae2e5b6e53eaecaf7e1324ef92fc541d.zip |
fix receiving empty params
Diffstat (limited to 'src')
-rw-r--r-- | src/screen.rs | 10 |
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) |