static void tblcalc_data(struct rofftbl *tbl, struct roffcol *col, const struct tbl_opts *opts, const struct tbl_dat *dp) { size_t sz; /* Branch down into data sub-types. */ switch (dp->layout->pos) { case TBL_CELL_HORIZ: case TBL_CELL_DHORIZ: sz = (*tbl->len)(1, tbl->arg); if (col->width < sz) col->width = sz; break; case TBL_CELL_LONG: case TBL_CELL_CENTRE: case TBL_CELL_LEFT: case TBL_CELL_RIGHT: tblcalc_literal(tbl, col, dp); break; case TBL_CELL_NUMBER: tblcalc_number(tbl, col, opts, dp); break; case TBL_CELL_DOWN: break; default: abort(); } }
static void tblcalc_data(struct rofftbl *tbl, struct roffcol *col, const struct tbl *tp, const struct tbl_dat *dp) { size_t sz; /* Branch down into data sub-types. */ switch (dp->layout->pos) { case (TBL_CELL_HORIZ): /* FALLTHROUGH */ case (TBL_CELL_DHORIZ): sz = (*tbl->len)(1, tbl->arg); if (col->width < sz) col->width = sz; break; case (TBL_CELL_LONG): /* FALLTHROUGH */ case (TBL_CELL_CENTRE): /* FALLTHROUGH */ case (TBL_CELL_LEFT): /* FALLTHROUGH */ case (TBL_CELL_RIGHT): tblcalc_literal(tbl, col, dp); break; case (TBL_CELL_NUMBER): tblcalc_number(tbl, col, tp, dp); break; default: abort(); /* NOTREACHED */ } }