source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* 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).