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

Diff for /mandoc/out.c between version 1.47 and 1.48

version 1.47, 2014/03/23 11:25:26 version 1.48, 2014/04/20 16:46:05
Line 39  static void tblcalc_literal(struct rofftbl *, struct r
Line 39  static void tblcalc_literal(struct rofftbl *, struct r
 static  void    tblcalc_number(struct rofftbl *, struct roffcol *,  static  void    tblcalc_number(struct rofftbl *, struct roffcol *,
                         const struct tbl_opts *, const struct tbl_dat *);                          const struct tbl_opts *, const struct tbl_dat *);
   
 /*  
   /*
  * Convert a `scaling unit' to a consistent form, or fail.  Scaling   * Convert a `scaling unit' to a consistent form, or fail.  Scaling
  * units are documented in groff.7, mdoc.7, man.7.   * units are documented in groff.7, mdoc.7, man.7.
  */   */
Line 56  a2roffsu(const char *src, struct roffsu *dst, enum rof
Line 57  a2roffsu(const char *src, struct roffsu *dst, enum rof
         i = hasd = 0;          i = hasd = 0;
   
         switch (*src) {          switch (*src) {
         case ('+'):          case '+':
                 src++;                  src++;
                 break;                  break;
         case ('-'):          case '-':
                 buf[i++] = *src++;                  buf[i++] = *src++;
                 break;                  break;
         default:          default:
Line 87  a2roffsu(const char *src, struct roffsu *dst, enum rof
Line 88  a2roffsu(const char *src, struct roffsu *dst, enum rof
         buf[i] = '\0';          buf[i] = '\0';
   
         switch (*src) {          switch (*src) {
         case ('c'):          case 'c':
                 unit = SCALE_CM;                  unit = SCALE_CM;
                 break;                  break;
         case ('i'):          case 'i':
                 unit = SCALE_IN;                  unit = SCALE_IN;
                 break;                  break;
         case ('P'):          case 'P':
                 unit = SCALE_PC;                  unit = SCALE_PC;
                 break;                  break;
         case ('p'):          case 'p':
                 unit = SCALE_PT;                  unit = SCALE_PT;
                 break;                  break;
         case ('f'):          case 'f':
                 unit = SCALE_FS;                  unit = SCALE_FS;
                 break;                  break;
         case ('v'):          case 'v':
                 unit = SCALE_VS;                  unit = SCALE_VS;
                 break;                  break;
         case ('m'):          case 'm':
                 unit = SCALE_EM;                  unit = SCALE_EM;
                 break;                  break;
         case ('\0'):          case '\0':
                 if (SCALE_MAX == def)                  if (SCALE_MAX == def)
                         return(0);                          return(0);
                 unit = SCALE_BU;                  unit = SCALE_BU;
                 break;                  break;
         case ('u'):          case 'u':
                 unit = SCALE_BU;                  unit = SCALE_BU;
                 break;                  break;
         case ('M'):          case 'M':
                 unit = SCALE_MM;                  unit = SCALE_MM;
                 break;                  break;
         case ('n'):          case 'n':
                 unit = SCALE_EN;                  unit = SCALE_EN;
                 break;                  break;
         default:          default:
Line 153  tblcalc(struct rofftbl *tbl, const struct tbl_span *sp
Line 154  tblcalc(struct rofftbl *tbl, const struct tbl_span *sp
          */           */
   
         assert(NULL == tbl->cols);          assert(NULL == tbl->cols);
         tbl->cols = mandoc_calloc          tbl->cols = mandoc_calloc((size_t)sp->opts->cols,
                 ((size_t)sp->opts->cols, sizeof(struct roffcol));              sizeof(struct roffcol));
   
         for ( ; sp; sp = sp->next) {          for ( ; sp; sp = sp->next) {
                 if (TBL_SPAN_DATA != sp->pos)                  if (TBL_SPAN_DATA != sp->pos)
Line 187  tblcalc_data(struct rofftbl *tbl, struct roffcol *col,
Line 188  tblcalc_data(struct rofftbl *tbl, struct roffcol *col,
         /* Branch down into data sub-types. */          /* Branch down into data sub-types. */
   
         switch (dp->layout->pos) {          switch (dp->layout->pos) {
         case (TBL_CELL_HORIZ):          case TBL_CELL_HORIZ:
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (TBL_CELL_DHORIZ):          case TBL_CELL_DHORIZ:
                 sz = (*tbl->len)(1, tbl->arg);                  sz = (*tbl->len)(1, tbl->arg);
                 if (col->width < sz)                  if (col->width < sz)
                         col->width = sz;                          col->width = sz;
                 break;                  break;
         case (TBL_CELL_LONG):          case TBL_CELL_LONG:
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (TBL_CELL_CENTRE):          case TBL_CELL_CENTRE:
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (TBL_CELL_LEFT):          case TBL_CELL_LEFT:
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (TBL_CELL_RIGHT):          case TBL_CELL_RIGHT:
                 tblcalc_literal(tbl, col, dp);                  tblcalc_literal(tbl, col, dp);
                 break;                  break;
         case (TBL_CELL_NUMBER):          case TBL_CELL_NUMBER:
                 tblcalc_number(tbl, col, opts, dp);                  tblcalc_number(tbl, col, opts, dp);
                 break;                  break;
         case (TBL_CELL_DOWN):          case TBL_CELL_DOWN:
                 break;                  break;
         default:          default:
                 abort();                  abort();
Line 232  static void
Line 233  static void
 tblcalc_number(struct rofftbl *tbl, struct roffcol *col,  tblcalc_number(struct rofftbl *tbl, struct roffcol *col,
                 const struct tbl_opts *opts, const struct tbl_dat *dp)                  const struct tbl_opts *opts, const struct tbl_dat *dp)
 {  {
         int              i;          int              i;
         size_t           sz, psz, ssz, d;          size_t           sz, psz, ssz, d;
         const char      *str;          const char      *str;
         char            *cp;          char            *cp;

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

CVSweb