-/* $Id: tbl_term.c,v 1.36 2015/01/30 04:11:50 schwarze Exp $ */
+/* $Id: tbl_term.c,v 1.43 2015/10/12 00:08:16 schwarze Exp $ */
/*
* Copyright (c) 2009, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011, 2012, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
term_tbl_strlen(const char *p, void *arg)
{
- return(term_strlen((const struct termp *)arg, p));
+ return term_strlen((const struct termp *)arg, p);
}
static size_t
term_tbl_len(size_t sz, void *arg)
{
- return(term_len((const struct termp *)arg, sz));
+ return term_len((const struct termp *)arg, sz);
}
void
* calculate the table widths and decimal positions.
*/
- if (sp->flags & TBL_SPAN_FIRST) {
- term_flushln(tp);
-
+ if (tp->tbl.cols == NULL) {
tp->tbl.len = term_tbl_len;
tp->tbl.slen = term_tbl_strlen;
tp->tbl.arg = tp;
* existing table configuration and set it to NULL.
*/
- if (sp->flags & TBL_SPAN_LAST) {
+ if (sp->next == NULL) {
if (sp->opts->opts & (TBL_OPT_DBOX | TBL_OPT_BOX)) {
tbl_hrule(tp, sp, 1);
tp->skipvsp = 1;
tbl_char(tp, ASCII_NBRSP, col->width);
return;
case TBL_DATA_HORIZ:
- /* FALLTHROUGH */
case TBL_DATA_NHORIZ:
tbl_char(tp, '-', col->width);
return;
case TBL_DATA_NDHORIZ:
- /* FALLTHROUGH */
case TBL_DATA_DHORIZ:
tbl_char(tp, '=', col->width);
return;
tbl_char(tp, '=', col->width);
break;
case TBL_CELL_LONG:
- /* FALLTHROUGH */
case TBL_CELL_CENTRE:
- /* FALLTHROUGH */
case TBL_CELL_LEFT:
- /* FALLTHROUGH */
case TBL_CELL_RIGHT:
tbl_literal(tp, dp, col);
break;
break;
default:
abort();
- /* NOTREACHED */
}
}
static void
tbl_word(struct termp *tp, const struct tbl_dat *dp)
{
- const void *prev_font;
+ int prev_font;
- prev_font = term_fontq(tp);
+ prev_font = tp->fonti;
if (dp->layout->flags & TBL_CELL_BOLD)
term_fontpush(tp, TERMFONT_BOLD);
else if (dp->layout->flags & TBL_CELL_ITALIC)