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

Diff for /mandoc/tbl_term.c between version 1.48 and 1.51

version 1.48, 2017/06/12 20:14:18 version 1.51, 2017/06/13 14:39:13
Line 219  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 219  term_tbl(struct termp *tp, const struct tbl_span *sp)
                         dp = sp->first;                          dp = sp->first;
                         spans = 0;                          spans = 0;
                         for (ic = 0; ic < sp->opts->cols; ic++) {                          for (ic = 0; ic < sp->opts->cols; ic++) {
                                 if (spans == 0) {  
                                         tp->tcol++;  
                                         if (dp != NULL) {  
                                                 spans = dp->spans;  
                                                 dp = dp->next;  
                                         }  
                                         if (tp->tcol->col < tp->tcol->lastcol)  
                                                 term_flushln(tp);  
                                         if (tp->tcol->col < tp->tcol->lastcol)  
                                                 more = 1;  
                                         if (tp->tcol + 1 ==  
                                             tp->tcols + tp->lasttcol)  
                                                 continue;  
                                 } else  
                                         spans--;  
   
                                 /* Vertical frames between data cells. */                                  /* Advance to next layout cell. */
   
                                 if (cp != NULL) {                                  if (cp != NULL) {
                                         vert = cp->vert;                                          vert = cp->vert;
                                         cp = cp->next;                                          cp = cp->next;
                                 } else                                  } else
                                         vert = 0;                                          vert = 0;
   
                                   /* Skip later cells in a span. */
   
                                   if (spans) {
                                           spans--;
                                           continue;
                                   }
   
                                   /* Advance to next data cell. */
   
                                   if (dp != NULL) {
                                           spans = dp->spans;
                                           dp = dp->next;
                                   }
   
                                   /* Print one line of text in the cell. */
   
                                   tp->tcol++;
                                   if (tp->tcol->col < tp->tcol->lastcol)
                                           term_flushln(tp);
                                   if (tp->tcol->col < tp->tcol->lastcol)
                                           more = 1;
   
                                   /*
                                    * Vertical frames between data cells,
                                    * but not after the last column.
                                    */
   
                                   if (tp->tcol + 1 == tp->tcols + tp->lasttcol)
                                           continue;
                                   if (vert == 0 &&
                                       sp->opts->opts & TBL_OPT_ALLBOX)
                                           vert = 1;
                                 if (vert == 0)                                  if (vert == 0)
                                         continue;                                          continue;
   
Line 300  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 318  term_tbl(struct termp *tp, const struct tbl_span *sp)
                 free(tp->tbl.cols);                  free(tp->tbl.cols);
                 tp->tbl.cols = NULL;                  tp->tbl.cols = NULL;
                 tp->tcol->offset = offset;                  tp->tcol->offset = offset;
         }          } else if (horiz == 0 && sp->opts->opts & TBL_OPT_ALLBOX &&
               (sp->next == NULL || sp->next->pos == TBL_SPAN_DATA ||
                sp->next->next != NULL))
                   tbl_hrule(tp, sp, 1);
   
         tp->flags &= ~TERMP_NONOSPACE;          tp->flags &= ~TERMP_NONOSPACE;
 }  }
   
Line 336  tbl_hrule(struct termp *tp, const struct tbl_span *sp,
Line 358  tbl_hrule(struct termp *tp, const struct tbl_span *sp,
                                 vert = c2->vert;                                  vert = c2->vert;
                         c2 = c2->next;                          c2 = c2->next;
                 }                  }
                   if (sp->opts->opts & TBL_OPT_ALLBOX && !vert)
                           vert = 1;
                 if (vert)                  if (vert)
                         tbl_char(tp, cross, vert);                          tbl_char(tp, cross, vert);
                 if (vert < 2)                  if (vert < 2)

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.51

CVSweb