From 008281757b007cfed3b1ebf22b7879d68820aaef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 3 Dec 2019 20:00:38 +0100 Subject: [PATCH] search: bug: re-initialize start-row when attempting a new match When we've already found a partial match (but *not* a complete match), and that match spanned multiple lines, then when we continued with the next start-column we re-used a know-wrong row pointer. --- search.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/search.c b/search.c index 47793823..3609f81c 100644 --- a/search.c +++ b/search.c @@ -194,14 +194,14 @@ search_find_next(struct terminal *term) r < term->grid->num_rows; backward ? ROW_DEC(start_row) : ROW_INC(start_row), r++) { - const struct row *row = term->grid->rows[start_row]; - if (row == NULL) - continue; - for (; backward ? start_col >= 0 : start_col < term->cols; backward ? start_col-- : start_col++) { + const struct row *row = term->grid->rows[start_row]; + if (row == NULL) + continue; + if (wcsncasecmp(&row->cells[start_col].wc, term->search.buf, 1) != 0) continue;