From 7793230177d864fb80c0c572a2b896f3ecb7df10 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 28 Jan 2015 15:03:45 +0000 Subject: For now, it can't be helped that mandoc tbl(7) ignores high-level macros, but stop throwing away their arguments. This fixes information loss in a handful of Xenocara manuals, at the price of a small amount of formatting noise creeping through. --- tbl_opts.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'tbl_opts.c') diff --git a/tbl_opts.c b/tbl_opts.c index ae1df965..222c6e86 100644 --- a/tbl_opts.c +++ b/tbl_opts.c @@ -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.19 2015/01/28 15:03:45 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2015 Ingo Schwarze @@ -120,17 +120,19 @@ arg(struct tbl_node *tbl, int ln, const char *p, int *pos, int key) * 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. */ -- cgit v1.2.3