summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/screen.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/screen.c b/src/screen.c
index 73c00e2..2505f8f 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -915,7 +915,7 @@ void vt100_screen_set_icon_name(VT100Screen *vt, char *buf, size_t len)
int vt100_screen_row_max_col(VT100Screen *vt, int row)
{
struct vt100_cell *cells = vt->grid->rows[row].cells;
- int i, max = 0;
+ int i, max = -1;
for (i = 0; i < vt->grid->max.col; ++i) {
if (cells[i].len) {
@@ -923,6 +923,10 @@ int vt100_screen_row_max_col(VT100Screen *vt, int row)
}
}
+ if (max == -1) {
+ return 0;
+ }
+
return max + ((max < vt->grid->max.col - 1 && cells[max].is_wide) ? 2 : 1);
}