summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libroff.h2
-rw-r--r--tbl.c7
-rw-r--r--tbl_data.c34
3 files changed, 15 insertions, 28 deletions
diff --git a/libroff.h b/libroff.h
index 18dd23a6..a56de1bf 100644
--- a/libroff.h
+++ b/libroff.h
@@ -71,7 +71,7 @@ void tbl_reset(struct tbl_node *);
enum rofferr tbl_read(struct tbl_node *, int, const char *, int);
void tbl_option(struct tbl_node *, int, const char *);
void tbl_layout(struct tbl_node *, int, const char *);
-int tbl_data(struct tbl_node *, int, const char *);
+void tbl_data(struct tbl_node *, int, const char *);
int tbl_cdata(struct tbl_node *, int, const char *);
const struct tbl_span *tbl_span(struct tbl_node *);
void tbl_end(struct tbl_node **);
diff --git a/tbl.c b/tbl.c
index dc8752c9..ffccbb52 100644
--- a/tbl.c
+++ b/tbl.c
@@ -66,11 +66,8 @@ tbl_read(struct tbl_node *tbl, int ln, const char *p, int offs)
break;
}
- /*
- * This only returns zero if the line is empty, so we ignore it
- * and continue on.
- */
- return(tbl_data(tbl, ln, p) ? ROFF_TBL : ROFF_IGN);
+ tbl_data(tbl, ln, p);
+ return(ROFF_TBL);
}
struct tbl_node *
diff --git a/tbl_data.c b/tbl_data.c
index da4b11b7..33a91e86 100644
--- a/tbl_data.c
+++ b/tbl_data.c
@@ -30,13 +30,13 @@
#include "libmandoc.h"
#include "libroff.h"
-static int getdata(struct tbl_node *, struct tbl_span *,
+static void getdata(struct tbl_node *, struct tbl_span *,
int, const char *, int *);
static struct tbl_span *newspan(struct tbl_node *, int,
struct tbl_row *);
-static int
+static void
getdata(struct tbl_node *tbl, struct tbl_span *dp,
int ln, const char *p, int *pos)
{
@@ -69,7 +69,7 @@ getdata(struct tbl_node *tbl, struct tbl_span *dp,
/* Skip to the end... */
while (p[*pos])
(*pos)++;
- return(1);
+ return;
}
dat = mandoc_calloc(1, sizeof(struct tbl_dat));
@@ -104,7 +104,7 @@ getdata(struct tbl_node *tbl, struct tbl_span *dp,
if (*pos - sv == 2 && 'T' == p[sv] && '{' == p[sv + 1]) {
tbl->part = TBL_PART_CDATA;
- return(1);
+ return;
}
assert(*pos - sv >= 0);
@@ -134,7 +134,7 @@ getdata(struct tbl_node *tbl, struct tbl_span *dp,
mandoc_msg(MANDOCERR_TBLIGNDATA,
tbl->parse, ln, sv, NULL);
- return(1);
+ return;
}
int
@@ -153,7 +153,8 @@ tbl_cdata(struct tbl_node *tbl, int ln, const char *p)
if (p[pos] == tbl->opts.tab) {
tbl->part = TBL_PART_DATA;
pos++;
- return(getdata(tbl, tbl->last_span, ln, p, &pos));
+ getdata(tbl, tbl->last_span, ln, p, &pos);
+ return(1);
} else if ('\0' == p[pos]) {
tbl->part = TBL_PART_DATA;
return(1);
@@ -202,20 +203,13 @@ newspan(struct tbl_node *tbl, int line, struct tbl_row *rp)
return(dp);
}
-int
+void
tbl_data(struct tbl_node *tbl, int ln, const char *p)
{
struct tbl_span *dp;
struct tbl_row *rp;
int pos;
- pos = 0;
-
- if ('\0' == p[pos]) {
- mandoc_msg(MANDOCERR_TBL, tbl->parse, ln, pos, NULL);
- return(0);
- }
-
/*
* Choose a layout row: take the one following the last parsed
* span's. If that doesn't exist, use the last parsed span's.
@@ -257,19 +251,15 @@ tbl_data(struct tbl_node *tbl, int ln, const char *p)
if ( ! strcmp(p, "_")) {
dp->pos = TBL_SPAN_HORIZ;
- return(1);
+ return;
} else if ( ! strcmp(p, "=")) {
dp->pos = TBL_SPAN_DHORIZ;
- return(1);
+ return;
}
dp->pos = TBL_SPAN_DATA;
- /* This returns 0 when TBL_PART_CDATA is entered. */
-
+ pos = 0;
while ('\0' != p[pos])
- if ( ! getdata(tbl, dp, ln, p, &pos))
- return(0);
-
- return(1);
+ getdata(tbl, dp, ln, p, &pos);
}