aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roff.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-05-16 10:59:36 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-05-16 10:59:36 +0000
commitc634aab3c360afcb672fded79932550136913232 (patch)
tree8817ee774cf6be29b3ab34ebd37331c99412c77e /roff.h
parent4d405feb6f8c720cd004dbba9d9a857bd1a4d95f (diff)
downloadmandoc-c634aab3c360afcb672fded79932550136913232.tar.gz
mandoc-c634aab3c360afcb672fded79932550136913232.tar.zst
mandoc-c634aab3c360afcb672fded79932550136913232.zip
Allow roff_parseln() to be re-run.
Allow roff_parseln() to manipulate the line buffer offset. This is used in situations like `.ie n .TH FOO 1' or `.ie n .ie n', where the line buffer offset is recalculated then the roff parser re-run. Fix mdoc_parseln() and man_parseln() to accept the initial line offset. WARNING: backed-out ALL roff macros whilst accomodating for how roff handles multi-line conditionals (in short, re-running the parser).
Diffstat (limited to 'roff.h')
-rw-r--r--roff.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/roff.h b/roff.h
index 2e18011d..c28c05eb 100644
--- a/roff.h
+++ b/roff.h
@@ -1,4 +1,4 @@
-/* $Id: roff.h,v 1.13 2010/05/15 18:35:14 kristaps Exp $ */
+/* $Id: roff.h,v 1.14 2010/05/16 10:59:36 kristaps Exp $ */
/*
* Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -18,9 +18,10 @@
#define ROFF_H
enum rofferr {
- ROFF_CONT, /* re-process line with libmdoc or libman */
- ROFF_IGN, /* ignore line */
- ROFF_ERR, /* badness */
+ ROFF_CONT, /* continue processing line */
+ ROFF_RERUN, /* re-run roff interpreter with offset */
+ ROFF_IGN, /* ignore current line */
+ ROFF_ERR, /* badness: puke and stop */
};
__BEGIN_DECLS
@@ -30,7 +31,8 @@ struct roff;
void roff_free(struct roff *);
struct roff *roff_alloc(mandocmsg, void *);
void roff_reset(struct roff *);
-enum rofferr roff_parseln(struct roff *, int, char **, size_t *);
+enum rofferr roff_parseln(struct roff *, int,
+ char **, size_t *, int, int *);
int roff_endparse(struct roff *);
__END_DECLS