summaryrefslogtreecommitdiffstatshomepage
path: root/libmdocml.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2008-11-24 14:24:55 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2008-11-24 14:24:55 +0000
commit040f584be50a6f906307197da43630f7293245c8 (patch)
tree6972622ccd86eb1cdd93eb97ba1bb0aa43122f14 /libmdocml.c
parent36357815a1c201ab63ccb1bfafe72be231d6aac4 (diff)
downloadmandoc-040f584be50a6f906307197da43630f7293245c8.tar.gz
mandoc-040f584be50a6f906307197da43630f7293245c8.tar.zst
mandoc-040f584be50a6f906307197da43630f7293245c8.zip
Split roff engine into roff.c.
Re-worked calling convention for md_*.
Diffstat (limited to 'libmdocml.c')
-rw-r--r--libmdocml.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/libmdocml.c b/libmdocml.c
index 02c85ace..42e79584 100644
--- a/libmdocml.c
+++ b/libmdocml.c
@@ -1,4 +1,4 @@
-/* $Id: libmdocml.c,v 1.8 2008/11/24 08:50:33 kristaps Exp $ */
+/* $Id: libmdocml.c,v 1.9 2008/11/24 14:24:55 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -136,13 +136,13 @@ md_run_leave(const struct md_args *args, struct md_mbuf *mbuf,
/* Run exiters. */
switch (args->type) {
case (MD_HTML4_STRICT):
- if ( ! md_exit_html4_strict(args, mbuf, rbuf, c, data))
- return(-1);
- break;
- case (MD_DUMMY):
+ if ( ! md_exit_html4_strict(data, -1 == c ? 0 : 1))
+ c = -1;
break;
default:
- abort();
+ if ( ! md_exit_dummy(data, -1 == c ? 0 : 1))
+ c = -1;
+ break;
}
/* Make final flush of buffer. */
@@ -200,7 +200,7 @@ again:
}
line[pos] = 0;
- if ( ! (*fp)(args, mbuf, rbuf, line, pos, p))
+ if ( ! (*fp)(p, line, pos))
return(md_run_leave(args, mbuf, rbuf, -1, p));
rbuf->line++;
pos = 0;
@@ -228,18 +228,17 @@ md_run(const struct md_args *args,
mbuf.pos = 0;
rbuf.line = 1;
- data = NULL;
/* Run initialisers. */
switch (args->type) {
case (MD_HTML4_STRICT):
- if ( ! md_init_html4_strict(args, &mbuf, &rbuf, &data))
- return(-1);
- break;
- case (MD_DUMMY):
+ data = md_init_html4_strict
+ (args, &mbuf, &rbuf);
break;
default:
- abort();
+ data = md_init_dummy
+ (args, &mbuf, &rbuf);
+ break;
}
/* Go into mainline. */