aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/src/terminal/Tabstops.zig
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/libghostty-vt/src/terminal/Tabstops.zig')
-rw-r--r--vendor/libghostty-vt/src/terminal/Tabstops.zig17
1 files changed, 12 insertions, 5 deletions
diff --git a/vendor/libghostty-vt/src/terminal/Tabstops.zig b/vendor/libghostty-vt/src/terminal/Tabstops.zig
index 68138cbf..8dbe6789 100644
--- a/vendor/libghostty-vt/src/terminal/Tabstops.zig
+++ b/vendor/libghostty-vt/src/terminal/Tabstops.zig
@@ -170,11 +170,11 @@ pub fn reset(self: *Tabstops, interval: usize) void {
@memset(&self.prealloc_stops, 0);
@memset(self.dynamic_stops, 0);
- if (interval > 0) {
- var i: usize = interval;
- while (i < self.cols - 1) : (i += interval) {
- self.set(i);
- }
+ if (interval == 0 or self.cols <= 1) return;
+
+ var i: usize = interval;
+ while (i < self.cols - 1) : (i += interval) {
+ self.set(i);
}
}
@@ -230,6 +230,13 @@ test "Tabstops: interval" {
try testing.expect(t.get(8));
}
+test "Tabstops: interval with zero columns" {
+ var t: Tabstops = try init(testing.allocator, 0, 8);
+ defer t.deinit(testing.allocator);
+
+ try testing.expectEqual(@as(usize, 0), t.cols);
+}
+
test "Tabstops: count on 80" {
// https://superuser.com/questions/710019/why-there-are-11-tabstops-on-a-80-column-console