From 50d29bf6574505b50aa9e8520471ac37a8de0bad Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Sat, 1 Jan 2011 22:27:08 +0000 Subject: Add a warning if a data cell has no layout. Also make -Ttree show this with a little star next to the entry (yeah, this is mostly for testing). --- main.c | 6 +++++- mandoc.h | 7 ++++++- tbl_data.c | 5 ++++- tree.c | 4 ++-- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index d028a810..5b9fe27f 100644 --- a/main.c +++ b/main.c @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.130 2011/01/01 16:18:39 kristaps Exp $ */ +/* $Id: main.c,v 1.131 2011/01/01 22:27:08 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons * Copyright (c) 2010 Ingo Schwarze @@ -176,9 +176,13 @@ static const char * const mandocerrs[MANDOCERR_MAX] = { "bad comment style", "unknown escape sequence", "unterminated quoted string", + + /* related to tables */ + "extra data cells", "generic error", + /* related to tables */ "bad table syntax", "bad table option", "bad table layout", diff --git a/mandoc.h b/mandoc.h index d5b9169b..66c3afb1 100644 --- a/mandoc.h +++ b/mandoc.h @@ -1,4 +1,4 @@ -/* $Id: mandoc.h,v 1.41 2011/01/01 22:19:15 kristaps Exp $ */ +/* $Id: mandoc.h,v 1.42 2011/01/01 22:27:08 kristaps Exp $ */ /* * Copyright (c) 2010 Kristaps Dzonsons * @@ -99,13 +99,18 @@ enum mandocerr { MANDOCERR_BADESCAPE, /* unknown escape sequence */ MANDOCERR_BADQUOTE, /* unterminated quoted string */ + /* related to tables */ + MANDOCERR_TBLEXTRADAT, /* extra data cells */ + MANDOCERR_ERROR, /* ===== start of errors ===== */ + /* related to tables */ MANDOCERR_TBL, /* bad table syntax */ MANDOCERR_TBLOPT, /* bad table option */ MANDOCERR_TBLLAYOUT, /* bad table layout */ MANDOCERR_TBLNOLAYOUT, /* no table layout cells specified */ MANDOCERR_TBLNODATA, /* no table data cells specified */ + MANDOCERR_ROFFLOOP, /* input stack limit exceeded, infinite loop? */ MANDOCERR_BADCHAR, /* skipping bad character */ MANDOCERR_NOTEXT, /* skipping text before the first section header */ diff --git a/tbl_data.c b/tbl_data.c index 2e2ec564..cc264eb4 100644 --- a/tbl_data.c +++ b/tbl_data.c @@ -1,4 +1,4 @@ -/* $Id: tbl_data.c,v 1.6 2011/01/01 21:23:01 kristaps Exp $ */ +/* $Id: tbl_data.c,v 1.7 2011/01/01 22:27:08 kristaps Exp $ */ /* * Copyright (c) 2009, 2010 Kristaps Dzonsons * @@ -52,6 +52,9 @@ data(struct tbl *tbl, struct tbl_span *dp, dat = mandoc_calloc(1, sizeof(struct tbl_dat)); dat->layout = cp; + if (NULL == dat->layout) + TBL_MSG(tbl, MANDOCERR_TBLEXTRADAT, ln, *pos); + if (dp->last) { dp->last->next = dat; dp->last = dat; diff --git a/tree.c b/tree.c index d56eeaf6..d488c155 100644 --- a/tree.c +++ b/tree.c @@ -1,4 +1,4 @@ -/* $Id: tree.c,v 1.28 2011/01/01 17:10:20 kristaps Exp $ */ +/* $Id: tree.c,v 1.29 2011/01/01 22:27:08 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -278,7 +278,7 @@ print_span(const struct tbl_span *sp) default: break; } - printf("[%s]", dp->string); + printf("[%s%s]", dp->string, dp->layout ? "" : "*"); if (dp->next) putchar(' '); } -- cgit v1.2.3