aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2010-09-23 20:26:00 +0000
committerIngo Schwarze <schwarze@openbsd.org>2010-09-23 20:26:00 +0000
commitf6afdd36c98a68434281551607b2563bc979f54c (patch)
tree8a5640e5b5fa9f7caec854557609ac38191d8ee2 /term.c
parentb463a4303970dddae777871d1306b7f625dd12b8 (diff)
downloadmandoc-f6afdd36c98a68434281551607b2563bc979f54c.tar.gz
mandoc-f6afdd36c98a68434281551607b2563bc979f54c.tar.zst
mandoc-f6afdd36c98a68434281551607b2563bc979f54c.zip
Count trailing escaped blanks correctly;
those ruined the alignment of columns. Tested by jmc@, and kristaps@ agrees with the direction.
Diffstat (limited to 'term.c')
-rw-r--r--term.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/term.c b/term.c
index 71ab3a35..b609b0e8 100644
--- a/term.c
+++ b/term.c
@@ -1,4 +1,4 @@
-/* $Id: term.c,v 1.171 2010/09/15 14:36:16 kristaps Exp $ */
+/* $Id: term.c,v 1.172 2010/09/23 20:26:00 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
@@ -134,6 +134,7 @@ term_flushln(struct termp *p)
size_t vbl; /* number of blanks to prepend to output */
size_t vend; /* end of word visual position on output */
size_t bp; /* visual right border position */
+ size_t dv; /* temporary for visual pos calculations */
int j; /* temporary loop index for p->buf */
int jhy; /* last hyph before overflow w/r/t j */
size_t maxvis; /* output position of visible boundary */
@@ -237,7 +238,9 @@ term_flushln(struct termp *p)
j = i;
while (' ' == p->buf[i])
i++;
- vbl += (i - j) * (*p->width)(p, ' ');
+ dv = (i - j) * (*p->width)(p, ' ');
+ vbl += dv;
+ vend += dv;
break;
}
if (ASCII_NBRSP == p->buf[i]) {
@@ -264,7 +267,6 @@ term_flushln(struct termp *p)
p->viscol += (*p->width)(p, p->buf[i]);
}
}
- vend += vbl;
vis = vend;
}