[BACK]Return to term.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/term.c between version 1.91 and 1.92

version 1.91, 2009/07/21 13:34:13 version 1.92, 2009/07/23 08:35:22
Line 227  term_flushln(struct termp *p)
Line 227  term_flushln(struct termp *p)
          */           */
   
         assert(p->offset < p->rmargin);          assert(p->offset < p->rmargin);
         maxvis = p->rmargin - p->offset - overstep;          assert((int)(p->rmargin - p->offset) - overstep > 0);
         mmax = p->maxrmargin - p->offset - overstep;  
           maxvis = /* LINTED */
                   p->rmargin - p->offset - overstep;
           mmax = /* LINTED */
                   p->maxrmargin - p->offset - overstep;
   
         bp = TERMP_NOBREAK & p->flags ? mmax : maxvis;          bp = TERMP_NOBREAK & p->flags ? mmax : maxvis;
         vis = 0;          vis = 0;
         overstep = 0;          overstep = 0;
Line 309  term_flushln(struct termp *p)
Line 314  term_flushln(struct termp *p)
         }          }
   
         if (TERMP_HANG & p->flags) {          if (TERMP_HANG & p->flags) {
   
                 /* We need one blank after the tag. */                  /* We need one blank after the tag. */
                 overstep = vis - maxvis + 1;                  overstep = /* LINTED */
                           vis - maxvis + 1;
   
                 /*                  /*
                  * Behave exactly the same way as groff:                   * Behave exactly the same way as groff:
                  * If we have overstepped the margin, temporarily move it                   * If we have overstepped the margin, temporarily move
                  * to the right and flag the rest of the line to be shorter.                   * it to the right and flag the rest of the line to be
                    * shorter.
                  * If we landed right at the margin, be happy.                   * If we landed right at the margin, be happy.
                  * If we are one step before the margin, temporarily move it                   * If we are one step before the margin, temporarily
                  * one step LEFT and flag the rest of the line to be longer.                   * move it one step LEFT and flag the rest of the line
                    * to be longer.
                  */                   */
                 if (overstep >= -1)                  if (overstep >= -1) {
                           assert((int)maxvis + overstep >= 0);
                           /* LINTED */
                         maxvis += overstep;                          maxvis += overstep;
                 else                  } else
                         overstep = 0;                          overstep = 0;
   
         } else if (TERMP_DANGLE & p->flags)          } else if (TERMP_DANGLE & p->flags)
                 return;                  return;
   
         if (maxvis > vis + ((TERMP_TWOSPACE & p->flags) ? 1 : 0))  /* pad */          /* Right-pad. */
           if (maxvis > vis + /* LINTED */
                           ((TERMP_TWOSPACE & p->flags) ? 1 : 0))
                 for ( ; vis < maxvis; vis++)                  for ( ; vis < maxvis; vis++)
                         putchar(' ');                          putchar(' ');
         else {  /* break */          else {  /* ...or newline break. */
                 putchar('\n');                  putchar('\n');
                 for (i = 0; i < (int)p->rmargin; i++)                  for (i = 0; i < (int)p->rmargin; i++)
                         putchar(' ');                          putchar(' ');

Legend:
Removed from v.1.91  
changed lines
  Added in v.1.92

CVSweb