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

Diff for /mandoc/term.c between version 1.167 and 1.169

version 1.167, 2010/08/20 01:02:07 version 1.169, 2010/08/20 23:34:02
Line 169  term_flushln(struct termp *p)
Line 169  term_flushln(struct termp *p)
                  * Handle literal tab characters: collapse all                   * Handle literal tab characters: collapse all
                  * subsequent tabs into a single huge set of spaces.                   * subsequent tabs into a single huge set of spaces.
                  */                   */
                 for (j = i; j < (int)p->col; j++) {                  while (i < (int)p->col && '\t' == p->buf[i]) {
                         if ('\t' != p->buf[j])  
                                 break;  
                         vend = (vis / p->tabwidth + 1) * p->tabwidth;                          vend = (vis / p->tabwidth + 1) * p->tabwidth;
                         vbl += vend - vis;                          vbl += vend - vis;
                         vis = vend;                          vis = vend;
                           i++;
                 }                  }
   
                 /*                  /*
Line 185  term_flushln(struct termp *p)
Line 184  term_flushln(struct termp *p)
                  */                   */
   
                 /* LINTED */                  /* LINTED */
                 for (jhy = 0; j < (int)p->col; j++) {                  for (j = i, jhy = 0; j < (int)p->col; j++) {
                         if ((j && ' ' == p->buf[j]) || '\t' == p->buf[j])                          if ((j && ' ' == p->buf[j]) || '\t' == p->buf[j])
                                 break;                                  break;
   
Line 228  term_flushln(struct termp *p)
Line 227  term_flushln(struct termp *p)
                         p->overstep = 0;                          p->overstep = 0;
                 }                  }
   
                 /*  
                  * Skip leading tabs, they were handled above.  
                  */  
                 while (i < (int)p->col && '\t' == p->buf[i])  
                         i++;  
   
                 /* Write out the [remaining] word. */                  /* Write out the [remaining] word. */
                 for ( ; i < (int)p->col; i++) {                  for ( ; i < (int)p->col; i++) {
                         if (vend > bp && jhy > 0 && i > jhy)                          if (vend > bp && jhy > 0 && i > jhy)
Line 274  term_flushln(struct termp *p)
Line 267  term_flushln(struct termp *p)
                 vend += vbl;                  vend += vbl;
                 vis = vend;                  vis = vend;
         }          }
   
           /*
            * If there was trailing white space, it was not printed;
            * so reset the cursor position accordingly.
            */
           vis -= vbl;
   
         p->col = 0;          p->col = 0;
         p->overstep = 0;          p->overstep = 0;

Legend:
Removed from v.1.167  
changed lines
  Added in v.1.169

CVSweb