From a77b914513017ef5e7287526d4da17581b6f0f27 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 3 Dec 2021 19:02:20 -0500 Subject: another parameter parsing bug --- src/grid.rs | 2 +- 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"); } -- cgit v1.2.3-54-g00ecf