=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/term.c,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- src/usr.bin/mandoc/term.c 2014/03/21 22:17:01 1.79 +++ src/usr.bin/mandoc/term.c 2014/03/30 21:27:59 1.80 @@ -1,4 +1,4 @@ -/* $Id: term.c,v 1.79 2014/03/21 22:17:01 schwarze Exp $ */ +/* $Id: term.c,v 1.80 2014/03/30 21:27:59 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2014 Ingo Schwarze @@ -617,6 +617,36 @@ else p->buf[p->col++] = word[i]; } +} + +void +term_setwidth(struct termp *p, const char *wstr) +{ + struct roffsu su; + size_t width; + int iop; + + if (NULL != wstr) { + switch (*wstr) { + case ('+'): + iop = 1; + wstr++; + break; + case ('-'): + iop = -1; + wstr++; + break; + default: + iop = 0; + break; + } + if ( ! a2roffsu(wstr, &su, SCALE_MAX)) { + wstr = NULL; + iop = 0; + } + } + width = (NULL != wstr) ? term_hspan(p, &su) : 0; + (*p->setwidth)(p, iop, width); } size_t