From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from localhost (fantadrom.bsd.lv [local]); by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 722de589; for ; Tue, 20 Jan 2015 19:47:34 -0500 (EST) Date: Tue, 20 Jan 2015 19:47:34 -0500 (EST) Message-Id: <18227417717954122670.enqueue@fantadrom.bsd.lv> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: schwarze@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: blank lines in tables do not need special handling; simplifies X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 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