diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-05-16 10:59:36 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-05-16 10:59:36 +0000 |
commit | 110e3743cb6c70af4d1a25c2527e9d923e1f163b (patch) | |
tree | aad4e38ad6261d3903a43823cbfc9c9ee51dc014 /roff.h | |
parent | 110ec8e74f50c3c583a7b5930b26eede65e6f8e7 (diff) | |
download | mandoc-110e3743cb6c70af4d1a25c2527e9d923e1f163b.tar.gz |
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.h | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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 |