From 1878bc88a9c2ead4e12e6ed9165a27e99ef9c6f9 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Wed, 17 Sep 2014 19:20:37 +0100 Subject: Improve comments and simplify code. --- desktop/textarea.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'desktop/textarea.c') diff --git a/desktop/textarea.c b/desktop/textarea.c index a1e46ddab..e37f06e53 100644 --- a/desktop/textarea.c +++ b/desktop/textarea.c @@ -972,14 +972,18 @@ static bool textarea_reflow_multiline(struct textarea *ta, avail_width = 0; h_extent = avail_width; - /* Set up initial length and text offset */ - if (line == 0) { - len = ta->text.len - 1; - text = ta->text.data; - } else { + /* Set up length of remaining text and offset to current point + * in text. Initially set it to start of textarea */ + len = ta->text.len - 1; + text = ta->text.data; + + if (line != 0) { + /* Not starting at the beginning of the textarea, so + * jump forward, and make sure the horizontal extents + * accommodate the width of the skipped lines. */ unsigned int i; - len = ta->text.len - 1 - ta->lines[line].b_start; - text = ta->text.data + ta->lines[line].b_start; + len -= ta->lines[line].b_start; + text += ta->lines[line].b_start; for (i = 0; i < line; i++) { if (ta->lines[i].width > h_extent) { -- cgit v1.2.3