=================================================================== RCS file: /cvs/mandoc/tbl_opts.c,v retrieving revision 1.18 retrieving revision 1.22 diff -u -p -r1.18 -r1.22 --- mandoc/tbl_opts.c 2015/01/26 13:03:48 1.18 +++ mandoc/tbl_opts.c 2018/12/12 21:54:35 1.22 @@ -1,4 +1,4 @@ -/* $Id: tbl_opts.c,v 1.18 2015/01/26 13:03:48 schwarze Exp $ */ +/* $Id: tbl_opts.c,v 1.22 2018/12/12 21:54:35 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2015 Ingo Schwarze @@ -25,6 +25,7 @@ #include #include "mandoc.h" +#include "tbl.h" #include "libmandoc.h" #include "libroff.h" @@ -80,7 +81,8 @@ arg(struct tbl_node *tbl, int ln, const char *p, int * switch (key) { case KEY_DELIM: - mandoc_msg(MANDOCERR_TBLEQN, tbl->parse, ln, *pos, NULL); + mandoc_vmsg(MANDOCERR_TBLOPT_EQN, tbl->parse, + ln, *pos, "%.*s", len, p + *pos); want = 2; break; case KEY_TAB: @@ -98,7 +100,6 @@ arg(struct tbl_node *tbl, int ln, const char *p, int * break; default: abort(); - /* NOTREACHED */ } if (len == 0) @@ -120,17 +121,19 @@ arg(struct tbl_node *tbl, int ln, const char *p, int * * and some options are followed by arguments. */ void -tbl_option(struct tbl_node *tbl, int ln, const char *p) +tbl_option(struct tbl_node *tbl, int ln, const char *p, int *offs) { int i, pos, len; - pos = 0; + pos = *offs; for (;;) { while (p[pos] == ' ' || p[pos] == '\t' || p[pos] == ',') pos++; - if (p[pos] == ';') + if (p[pos] == ';') { + *offs = pos + 1; return; + } /* Parse one option name. */