* mdocml: blank lines in tables do not need special handling; simplifies
@ 2015-01-21 0:47 schwarze
0 siblings, 0 replies; only message in thread
From: schwarze @ 2015-01-21 0:47 UTC (permalink / raw)
To: source
Log Message:
-----------
blank lines in tables do not need special handling; simplifies code
and reduces groff/mandoc differences in OpenBSD base by about 1%
Modified Files:
--------------
mdocml:
libroff.h
tbl.c
tbl_data.c
Revision Data
-------------
Index: libroff.h
===================================================================
RCS file: /home/cvs/mdocml/mdocml/libroff.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -Llibroff.h -Llibroff.h -u -p -r1.34 -r1.35
--- libroff.h
+++ 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 **);
Index: tbl.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/tbl.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -Ltbl.c -Ltbl.c -u -p -r1.31 -r1.32
--- tbl.c
+++ tbl.c
@@ -66,11 +66,8 @@ tbl_read(struct tbl_node *tbl, int ln, c
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 *
Index: tbl_data.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/tbl_data.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -Ltbl_data.c -Ltbl_data.c -u -p -r1.32 -r1.33
--- tbl_data.c
+++ 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
/* 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
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
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,
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,
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, c
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);
}
--
To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-01-21 0:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-21 0:47 mdocml: blank lines in tables do not need special handling; simplifies schwarze
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).