aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/grid.rs2
-rw-r--r--tests/weird.rs3
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");
}