=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mdoc_term.c,v retrieving revision 1.259 retrieving revision 1.260 diff -c -r1.259 -r1.260 *** src/usr.bin/mandoc/mdoc_term.c 2017/06/04 18:48:09 1.259 --- src/usr.bin/mandoc/mdoc_term.c 2017/06/04 22:43:50 1.260 *************** *** 1,4 **** ! /* $OpenBSD: mdoc_term.c,v 1.259 2017/06/04 18:48:09 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2012-2017 Ingo Schwarze --- 1,4 ---- ! /* $OpenBSD: mdoc_term.c,v 1.260 2017/06/04 22:43:50 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2012-2017 Ingo Schwarze *************** *** 1411,1417 **** static int termp_bd_pre(DECL_ARGS) { ! size_t lm, len, rm, rmax; struct roff_node *nn; int offset; --- 1411,1417 ---- static int termp_bd_pre(DECL_ARGS) { ! size_t lm, len; struct roff_node *nn; int offset; *************** *** 1458,1474 **** } lm = p->offset; ! rm = p->rmargin; ! rmax = p->maxrmargin; ! p->rmargin = p->maxrmargin = TERM_MAXMARGIN; ! for (nn = n->child; nn; nn = nn->next) { if (DISP_centered == n->norm->Bd.type) { if (nn->type == ROFFT_TEXT) { len = term_strlen(p, nn->string); ! p->offset = len >= rm ? 0 : ! lm + len >= rm ? rm - len : ! (lm + rm - len) / 2; } else p->offset = lm; } --- 1458,1471 ---- } lm = p->offset; ! p->flags |= TERMP_BRNEVER; for (nn = n->child; nn; nn = nn->next) { if (DISP_centered == n->norm->Bd.type) { if (nn->type == ROFFT_TEXT) { len = term_strlen(p, nn->string); ! p->offset = len >= p->rmargin ? 0 : ! lm + len >= p->rmargin ? p->rmargin - len : ! (lm + p->rmargin - len) / 2; } else p->offset = lm; } *************** *** 1498,1529 **** term_flushln(p); p->flags |= TERMP_NOSPACE; } ! ! p->rmargin = rm; ! p->maxrmargin = rmax; return 0; } static void termp_bd_post(DECL_ARGS) { - size_t rm, rmax; - if (n->type != ROFFT_BODY) return; - - rm = p->rmargin; - rmax = p->maxrmargin; - if (DISP_literal == n->norm->Bd.type || DISP_unfilled == n->norm->Bd.type) ! p->rmargin = p->maxrmargin = TERM_MAXMARGIN; ! p->flags |= TERMP_NOSPACE; term_newln(p); ! ! p->rmargin = rm; ! p->maxrmargin = rmax; } static int --- 1495,1515 ---- term_flushln(p); p->flags |= TERMP_NOSPACE; } ! p->flags &= ~TERMP_BRNEVER; return 0; } static void termp_bd_post(DECL_ARGS) { if (n->type != ROFFT_BODY) return; if (DISP_literal == n->norm->Bd.type || DISP_unfilled == n->norm->Bd.type) ! p->flags |= TERMP_BRNEVER; p->flags |= TERMP_NOSPACE; term_newln(p); ! p->flags &= ~TERMP_BRNEVER; } static int