summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-10-27 08:05:39 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-10-27 08:05:39 +0000
commit71e1452424a16607e6c6f34c9e2ade17e73775a9 (patch)
tree8f7373d1f5d9ce13cc65479f03942bd92aa45590
parent9983872ebac8cb96fc8b75c6ba548d8417e5d5d3 (diff)
downloadmandoc-71e1452424a16607e6c6f34c9e2ade17e73775a9.tar.gz
mandoc-71e1452424a16607e6c6f34c9e2ade17e73775a9.tar.zst
mandoc-71e1452424a16607e6c6f34c9e2ade17e73775a9.zip
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.
-rw-r--r--term.c28
1 files changed, 14 insertions, 14 deletions
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 <kristaps@kth.se>
*
@@ -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;