-
- if (NULL == tbl->first_span || NULL == tbl->first_span->first)
- TBL_MSG(tbl, MANDOCERR_TBLNODATA, tbl->line, tbl->pos);
-
- if (tbl->last_span)
- tbl->last_span->flags |= TBL_SPAN_LAST;
+ struct tbl_span *sp;
+
+ if (still_open)
+ mandoc_msg(MANDOCERR_BLK_NOEND, tbl->line, tbl->pos, "TS");
+ else if (tbl->part == TBL_PART_CDATA)
+ mandoc_msg(MANDOCERR_TBLDATA_BLK, tbl->line, tbl->pos, "TE");
+
+ sp = tbl->first_span;
+ while (sp != NULL && sp->first == NULL)
+ sp = sp->next;
+ if (sp == NULL) {
+ mandoc_msg(MANDOCERR_TBLDATA_NONE, tbl->line, tbl->pos, NULL);
+ return 0;
+ }
+ return 1;