From 71e1452424a16607e6c6f34c9e2ade17e73775a9 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Tue, 27 Oct 2009 08:05:39 +0000 Subject: Merged Ingo's comments on term_flushln() variable names. Fixed assertion (this needs more consideration) when an overstep line is exactly as long as the rmargin. --- term.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'term.c') diff --git a/term.c b/term.c index 61fce753..0bc46310 100644 --- a/term.c +++ b/term.c @@ -1,4 +1,4 @@ -/* $Id: term.c,v 1.113 2009/10/26 17:05:44 kristaps Exp $ */ +/* $Id: term.c,v 1.114 2009/10/27 08:05:39 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -120,18 +120,19 @@ term_alloc(enum termenc enc) * If TERMP_NOBREAK is specified and the line overruns the right * margin, it will break and pad-right to the right margin after * writing. If maxrmargin is violated, it will break and continue - * writing from the right-margin, which will lead to the above - * scenario upon exit. - * - * Otherwise, the line will break at the right margin. Extremely long - * lines will cause the system to emit a warning (TODO: hyphenate, if - * possible). + * writing from the right-margin, which will lead to the above scenario + * upon exit. Otherwise, the line will break at the right margin. */ void term_flushln(struct termp *p) { - int i, j; - size_t vbl, vsz, vis, maxvis, mmax, bp; + int i; /* current input position in p->buf */ + size_t vis; /* current visual position on output */ + size_t vbl; /* number of blanks to prepend to output */ + size_t vsz; /* visual characters to write to output */ + size_t bp; /* visual right border position */ + int j; /* temporary loop index */ + size_t maxvis, mmax; static int overstep = 0; /* @@ -142,12 +143,11 @@ term_flushln(struct termp *p) */ assert(p->offset < p->rmargin); - assert((int)(p->rmargin - p->offset) - overstep > 0); - maxvis = /* LINTED */ - p->rmargin - p->offset - overstep; - mmax = /* LINTED */ - p->maxrmargin - p->offset - overstep; + maxvis = (int)(p->rmargin - p->offset) - overstep < 0 ? + 0 : p->rmargin - p->offset - overstep; + mmax = (int)(p->maxrmargin - p->offset) - overstep < 0 ? + 0 : p->maxrmargin - p->offset - overstep; bp = TERMP_NOBREAK & p->flags ? mmax : maxvis; vis = 0; -- cgit v1.2.3-56-ge451