diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-03 19:02:20 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-03 19:02:20 -0500 |
commit | a77b914513017ef5e7287526d4da17581b6f0f27 (patch) | |
tree | 5e623ec69a217986b2f71e1eb06071b1e447386d | |
parent | de07e30df9e5bcac114ff7a088da079a1782c41b (diff) | |
download | vt100-rust-a77b914513017ef5e7287526d4da17581b6f0f27.tar.gz vt100-rust-a77b914513017ef5e7287526d4da17581b6f0f27.zip |
another parameter parsing bug
-rw-r--r-- | src/grid.rs | 2 | ||||
-rw-r--r-- | tests/weird.rs | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/grid.rs b/src/grid.rs index 839ac2f..246e9e6 100644 --- a/src/grid.rs +++ b/src/grid.rs @@ -472,7 +472,7 @@ impl Grid { let size = self.size; let pos = self.pos; let row = self.current_row_mut(); - for col in pos.col..((pos.col + count).min(size.cols)) { + for col in pos.col..((pos.col.saturating_add(count)).min(size.cols)) { row.erase(col as usize, attrs); } } diff --git a/tests/weird.rs b/tests/weird.rs index 46ecd20..7e19ebd 100644 --- a/tests/weird.rs +++ b/tests/weird.rs @@ -6,9 +6,10 @@ fn intermediate_control() { } #[test] -fn many_empty_params() { +fn params() { let mut parser = vt100::Parser::default(); parser.process(b"\x1b[::::::::::::::::::::::::::::::::@"); parser.process(b"\x1b[::::::::::::::::::::::::::::::::H"); parser.process(b"\x1b[::::::::::::::::::::::::::::::::r"); + parser.process(b"a\x1b[8888888X"); } |