[BACK]Return to tbl_term.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mandoc

Diff for /src/usr.bin/mandoc/tbl_term.c between version 1.48 and 1.49

version 1.48, 2018/08/19 23:10:16 version 1.49, 2018/11/25 19:23:59
Line 75 
Line 75 
         const struct tbl_dat    *dp;          const struct tbl_dat    *dp;
         static size_t            offset;          static size_t            offset;
         size_t                   coloff, tsz;          size_t                   coloff, tsz;
         int                      ic, horiz, spans, vert, more;          int                      ic, horiz, hspans, vert, more;
         char                     fc;          char                     fc;
   
         /* Inhibit printing of spaces: we do padding ourselves. */          /* Inhibit printing of spaces: we do padding ourselves. */
Line 155 
Line 155 
                 /* Set up the data columns. */                  /* Set up the data columns. */
   
                 dp = sp->first;                  dp = sp->first;
                 spans = 0;                  hspans = 0;
                 for (ic = 0; ic < sp->opts->cols; ic++) {                  for (ic = 0; ic < sp->opts->cols; ic++) {
                         if (spans == 0) {                          if (hspans == 0) {
                                 tp->tcol++;                                  tp->tcol++;
                                 tp->tcol->offset = coloff;                                  tp->tcol->offset = coloff;
                         }                          }
Line 165 
Line 165 
                         tp->tcol->rmargin = coloff;                          tp->tcol->rmargin = coloff;
                         if (ic + 1 < sp->opts->cols)                          if (ic + 1 < sp->opts->cols)
                                 coloff += tp->tbl.cols[ic].spacing;                                  coloff += tp->tbl.cols[ic].spacing;
                         if (spans) {                          if (hspans) {
                                 spans--;                                  hspans--;
                                 continue;                                  continue;
                         }                          }
                         if (dp == NULL)                          if (dp == NULL)
                                 continue;                                  continue;
                         spans = dp->spans;                          hspans = dp->hspans;
                         if (ic || sp->layout->first->pos != TBL_CELL_SPAN)                          if (ic || sp->layout->first->pos != TBL_CELL_SPAN)
                                 dp = dp->next;                                  dp = dp->next;
                 }                  }
Line 191 
Line 191 
                 tp->tcol = tp->tcols;                  tp->tcol = tp->tcols;
                 cp = cpn = sp->layout->first;                  cp = cpn = sp->layout->first;
                 dp = sp->first;                  dp = sp->first;
                 spans = 0;                  hspans = 0;
                 for (ic = 0; ic < sp->opts->cols; ic++) {                  for (ic = 0; ic < sp->opts->cols; ic++) {
                         if (cpn != NULL) {                          if (cpn != NULL) {
                                 cp = cpn;                                  cp = cpn;
                                 cpn = cpn->next;                                  cpn = cpn->next;
                         }                          }
                         if (spans) {                          if (hspans) {
                                 spans--;                                  hspans--;
                                 continue;                                  continue;
                         }                          }
                         tp->tcol++;                          tp->tcol++;
Line 206 
Line 206 
                         tbl_data(tp, sp->opts, cp, dp, tp->tbl.cols + ic);                          tbl_data(tp, sp->opts, cp, dp, tp->tbl.cols + ic);
                         if (dp == NULL)                          if (dp == NULL)
                                 continue;                                  continue;
                         spans = dp->spans;                          hspans = dp->hspans;
                         if (cp->pos != TBL_CELL_SPAN)                          if (cp->pos != TBL_CELL_SPAN)
                                 dp = dp->next;                                  dp = dp->next;
                 }                  }
Line 247 
Line 247 
                         cpp = sp->prev == NULL ? NULL :                          cpp = sp->prev == NULL ? NULL :
                             sp->prev->layout->first;                              sp->prev->layout->first;
                         dp = sp->first;                          dp = sp->first;
                         spans = 0;                          hspans = 0;
                         for (ic = 0; ic < sp->opts->cols; ic++) {                          for (ic = 0; ic < sp->opts->cols; ic++) {
   
                                 /*                                  /*
Line 302 
Line 302 
                                  * and advance to next data cell.                                   * and advance to next data cell.
                                  */                                   */
   
                                 if (spans) {                                  if (hspans) {
                                         spans--;                                          hspans--;
                                         continue;                                          continue;
                                 }                                  }
                                 if (dp != NULL) {                                  if (dp != NULL) {
                                         spans = dp->spans;                                          hspans = dp->hspans;
                                         if (ic || sp->layout->first->pos                                          if (ic || sp->layout->first->pos
                                             != TBL_CELL_SPAN)                                              != TBL_CELL_SPAN)
                                                 dp = dp->next;                                                  dp = dp->next;
Line 590 
Line 590 
                 const struct roffcol *col)                  const struct roffcol *col)
 {  {
         size_t           len, padl, padr, width;          size_t           len, padl, padr, width;
         int              ic, spans;          int              ic, hspans;
   
         assert(dp->string);          assert(dp->string);
         len = term_strlen(tp, dp->string);          len = term_strlen(tp, dp->string);
         width = col->width;          width = col->width;
         ic = dp->layout->col;          ic = dp->layout->col;
         spans = dp->spans;          hspans = dp->hspans;
         while (spans--)          while (hspans--)
                 width += tp->tbl.cols[++ic].width + 3;                  width += tp->tbl.cols[++ic].width + 3;
   
         padr = width > len ? width - len : 0;          padr = width > len ? width - len : 0;

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