[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.24 and 1.25

version 1.24, 2012/05/27 18:02:49 version 1.25, 2013/05/31 21:37:17
Line 31 
Line 31 
 static  size_t  term_tbl_len(size_t, void *);  static  size_t  term_tbl_len(size_t, void *);
 static  size_t  term_tbl_strlen(const char *, void *);  static  size_t  term_tbl_strlen(const char *, void *);
 static  void    tbl_char(struct termp *, char, size_t);  static  void    tbl_char(struct termp *, char, size_t);
 static  void    tbl_data(struct termp *, const struct tbl *,  static  void    tbl_data(struct termp *, const struct tbl_opts *,
                         const struct tbl_dat *,                          const struct tbl_dat *,
                         const struct roffcol *);                          const struct roffcol *);
 static  size_t  tbl_rulewidth(struct termp *, const struct tbl_head *);  static  size_t  tbl_rulewidth(struct termp *, const struct tbl_head *);
 static  void    tbl_hframe(struct termp *, const struct tbl_span *, int);  static  void    tbl_hframe(struct termp *, const struct tbl_span *, int);
 static  void    tbl_literal(struct termp *, const struct tbl_dat *,  static  void    tbl_literal(struct termp *, const struct tbl_dat *,
                         const struct roffcol *);                          const struct roffcol *);
 static  void    tbl_number(struct termp *, const struct tbl *,  static  void    tbl_number(struct termp *, const struct tbl_opts *,
                         const struct tbl_dat *,                          const struct tbl_dat *,
                         const struct roffcol *);                          const struct roffcol *);
 static  void    tbl_hrule(struct termp *, const struct tbl_span *);  static  void    tbl_hrule(struct termp *, const struct tbl_span *);
Line 96  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 96  term_tbl(struct termp *tp, const struct tbl_span *sp)
         /* Horizontal frame at the start of boxed tables. */          /* Horizontal frame at the start of boxed tables. */
   
         if (TBL_SPAN_FIRST & sp->flags) {          if (TBL_SPAN_FIRST & sp->flags) {
                 if (TBL_OPT_DBOX & sp->tbl->opts)                  if (TBL_OPT_DBOX & sp->opts->opts)
                         tbl_hframe(tp, sp, 1);                          tbl_hframe(tp, sp, 1);
                 if (TBL_OPT_DBOX & sp->tbl->opts ||                  if (TBL_OPT_DBOX & sp->opts->opts ||
                     TBL_OPT_BOX  & sp->tbl->opts)                      TBL_OPT_BOX  & sp->opts->opts)
                         tbl_hframe(tp, sp, 0);                          tbl_hframe(tp, sp, 0);
         }          }
   
         /* Vertical frame at the start of each row. */          /* Vertical frame at the start of each row. */
   
         if (TBL_OPT_BOX & sp->tbl->opts || TBL_OPT_DBOX & sp->tbl->opts)          if (TBL_OPT_BOX & sp->opts->opts || TBL_OPT_DBOX & sp->opts->opts)
                 term_word(tp, TBL_SPAN_HORIZ == sp->pos ||                  term_word(tp, TBL_SPAN_HORIZ == sp->pos ||
                         TBL_SPAN_DHORIZ == sp->pos ? "+" : "|");                          TBL_SPAN_DHORIZ == sp->pos ? "+" : "|");
   
Line 142  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 142  term_tbl(struct termp *tp, const struct tbl_span *sp)
                                 tbl_vrule(tp, hp);                                  tbl_vrule(tp, hp);
   
                         col = &tp->tbl.cols[hp->ident];                          col = &tp->tbl.cols[hp->ident];
                         tbl_data(tp, sp->tbl, dp, col);                          tbl_data(tp, sp->opts, dp, col);
   
                         /*                          /*
                          * Go to the next data cell and assign the                           * Go to the next data cell and assign the
Line 159  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 159  term_tbl(struct termp *tp, const struct tbl_span *sp)
   
         /* Vertical frame at the end of each row. */          /* Vertical frame at the end of each row. */
   
         if (TBL_OPT_BOX & sp->tbl->opts || TBL_OPT_DBOX & sp->tbl->opts)          if (TBL_OPT_BOX & sp->opts->opts || TBL_OPT_DBOX & sp->opts->opts)
                 term_word(tp, TBL_SPAN_HORIZ == sp->pos ||                  term_word(tp, TBL_SPAN_HORIZ == sp->pos ||
                         TBL_SPAN_DHORIZ == sp->pos ? "+" : " |");                          TBL_SPAN_DHORIZ == sp->pos ? "+" : " |");
         term_flushln(tp);          term_flushln(tp);
Line 170  term_tbl(struct termp *tp, const struct tbl_span *sp)
Line 170  term_tbl(struct termp *tp, const struct tbl_span *sp)
          */           */
   
         if (TBL_SPAN_LAST & sp->flags) {          if (TBL_SPAN_LAST & sp->flags) {
                 if (TBL_OPT_DBOX & sp->tbl->opts ||                  if (TBL_OPT_DBOX & sp->opts->opts ||
                     TBL_OPT_BOX  & sp->tbl->opts) {                      TBL_OPT_BOX  & sp->opts->opts) {
                         tbl_hframe(tp, sp, 0);                          tbl_hframe(tp, sp, 0);
                         tp->skipvsp = 1;                          tp->skipvsp = 1;
                 }                  }
                 if (TBL_OPT_DBOX & sp->tbl->opts) {                  if (TBL_OPT_DBOX & sp->opts->opts) {
                         tbl_hframe(tp, sp, 1);                          tbl_hframe(tp, sp, 1);
                         tp->skipvsp = 2;                          tp->skipvsp = 2;
                 }                  }
Line 254  tbl_hframe(struct termp *tp, const struct tbl_span *sp
Line 254  tbl_hframe(struct termp *tp, const struct tbl_span *sp
 }  }
   
 static void  static void
 tbl_data(struct termp *tp, const struct tbl *tbl,  tbl_data(struct termp *tp, const struct tbl_opts *opts,
                 const struct tbl_dat *dp,                  const struct tbl_dat *dp,
                 const struct roffcol *col)                  const struct roffcol *col)
 {  {
Line 300  tbl_data(struct termp *tp, const struct tbl *tbl,
Line 300  tbl_data(struct termp *tp, const struct tbl *tbl,
                 tbl_literal(tp, dp, col);                  tbl_literal(tp, dp, col);
                 break;                  break;
         case (TBL_CELL_NUMBER):          case (TBL_CELL_NUMBER):
                 tbl_number(tp, tbl, dp, col);                  tbl_number(tp, opts, dp, col);
                 break;                  break;
         case (TBL_CELL_DOWN):          case (TBL_CELL_DOWN):
                 tbl_char(tp, ASCII_NBRSP, col->width);                  tbl_char(tp, ASCII_NBRSP, col->width);
Line 381  tbl_literal(struct termp *tp, const struct tbl_dat *dp
Line 381  tbl_literal(struct termp *tp, const struct tbl_dat *dp
 }  }
   
 static void  static void
 tbl_number(struct termp *tp, const struct tbl *tbl,  tbl_number(struct termp *tp, const struct tbl_opts *opts,
                 const struct tbl_dat *dp,                  const struct tbl_dat *dp,
                 const struct roffcol *col)                  const struct roffcol *col)
 {  {
Line 399  tbl_number(struct termp *tp, const struct tbl *tbl,
Line 399  tbl_number(struct termp *tp, const struct tbl *tbl,
   
         sz = term_strlen(tp, dp->string);          sz = term_strlen(tp, dp->string);
   
         buf[0] = tbl->decimal;          buf[0] = opts->decimal;
         buf[1] = '\0';          buf[1] = '\0';
   
         psz = term_strlen(tp, buf);          psz = term_strlen(tp, buf);
   
         if (NULL != (cp = strrchr(dp->string, tbl->decimal))) {          if (NULL != (cp = strrchr(dp->string, opts->decimal))) {
                 buf[1] = '\0';                  buf[1] = '\0';
                 for (ssz = 0, i = 0; cp != &dp->string[i]; i++) {                  for (ssz = 0, i = 0; cp != &dp->string[i]; i++) {
                         buf[0] = dp->string[i];                          buf[0] = dp->string[i];

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

CVSweb