[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.33 and 1.34

version 1.33, 2015/01/27 05:21:45 version 1.34, 2015/01/28 04:19:35
Line 63  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 63  term_tbl(struct termp *tp, const struct tbl_span *sp)
         const struct tbl_head   *hp;          const struct tbl_head   *hp;
         const struct tbl_cell   *cp;          const struct tbl_cell   *cp;
         const struct tbl_dat    *dp;          const struct tbl_dat    *dp;
           static size_t            offset;
           size_t                   rmargin, maxrmargin, tsz;
         int                      horiz, spans, vert;          int                      horiz, spans, vert;
         size_t                   rmargin, maxrmargin;  
   
         rmargin = tp->rmargin;          rmargin = tp->rmargin;
         maxrmargin = tp->maxrmargin;          maxrmargin = tp->maxrmargin;
Line 90  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 91  term_tbl(struct termp *tp, const struct tbl_span *sp)
   
                 tblcalc(&tp->tbl, sp, rmargin - tp->offset);                  tblcalc(&tp->tbl, sp, rmargin - tp->offset);
   
                   /* Center the table as a whole. */
   
                   offset = tp->offset;
                   if (sp->opts->opts & TBL_OPT_CENTRE) {
                           tsz = sp->opts->opts & (TBL_OPT_BOX | TBL_OPT_DBOX)
                               ? 2 : !!sp->opts->lvert + !!sp->opts->rvert;
                           for (hp = sp->head; hp != NULL; hp = hp->next)
                                   tsz += tp->tbl.cols[hp->ident].width + 3;
                           tsz -= 3;
                           if (offset + tsz > rmargin)
                                   tsz -= 1;
                           tp->offset = (offset + rmargin > tsz) ?
                               (offset + rmargin - tsz) / 2 : 0;
                   }
   
                 /* Horizontal frame at the start of boxed tables. */                  /* Horizontal frame at the start of boxed tables. */
   
                 if (sp->opts->opts & TBL_OPT_DBOX)                  if (sp->opts->opts & TBL_OPT_DBOX)
Line 189  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 205  term_tbl(struct termp *tp, const struct tbl_span *sp)
                 assert(tp->tbl.cols);                  assert(tp->tbl.cols);
                 free(tp->tbl.cols);                  free(tp->tbl.cols);
                 tp->tbl.cols = NULL;                  tp->tbl.cols = NULL;
                   tp->offset = offset;
         }          }
   
         tp->flags &= ~TERMP_NONOSPACE;          tp->flags &= ~TERMP_NONOSPACE;
         tp->rmargin = rmargin;          tp->rmargin = rmargin;
         tp->maxrmargin = maxrmargin;          tp->maxrmargin = maxrmargin;
   
 }  }
   
 /*  /*

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34

CVSweb