=================================================================== RCS file: /cvs/mandoc/man_term.c,v retrieving revision 1.159 retrieving revision 1.161 diff -u -p -r1.159 -r1.161 --- mandoc/man_term.c 2014/12/04 02:05:42 1.159 +++ mandoc/man_term.c 2014/12/23 08:15:53 1.161 @@ -1,4 +1,4 @@ -/* $Id: man_term.c,v 1.159 2014/12/04 02:05:42 schwarze Exp $ */ +/* $Id: man_term.c,v 1.161 2014/12/23 08:15:53 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2014 Ingo Schwarze @@ -288,14 +288,16 @@ pre_literal(DECL_ARGS) static int pre_PD(DECL_ARGS) { + struct roffsu su; n = n->child; - if (0 == n) { + if (n == NULL) { mt->pardist = 1; return(0); } assert(MAN_TEXT == n->type); - mt->pardist = atoi(n->string); + if (a2roffsu(n->string, &su, SCALE_VS)) + mt->pardist = term_vspan(p, &su); return(0); } @@ -631,11 +633,10 @@ pre_IP(DECL_ARGS) p->offset = mt->offset; p->rmargin = mt->offset + len; - if (ival < 0) - break; /* Set the saved left-margin. */ - mt->lmargin[mt->lmargincur] = (size_t)ival; + if (ival >= 0) + mt->lmargin[mt->lmargincur] = (size_t)ival; savelit = MANT_LITERAL & mt->fl; mt->fl &= ~MANT_LITERAL;