summaryrefslogtreecommitdiffstats
path: root/libmdoc.h
diff options
context:
space:
mode:
Diffstat (limited to 'libmdoc.h')
-rw-r--r--libmdoc.h21
1 files changed, 7 insertions, 14 deletions
diff --git a/libmdoc.h b/libmdoc.h
index 442eca64..d12240c4 100644
--- a/libmdoc.h
+++ b/libmdoc.h
@@ -26,7 +26,7 @@ enum mdoc_next {
struct mdoc {
void *data;
- struct mdoc_cb cb;
+ mandocmsg msg;
int flags;
#define MDOC_HALT (1 << 0) /* error in parse: halt */
#define MDOC_LITERAL (1 << 1) /* in a literal scope */
@@ -142,19 +142,12 @@ extern const struct mdoc_macro *const mdoc_macros;
__BEGIN_DECLS
-#define mdoc_perr(m, l, p, t) \
- mdoc_err((m), (l), (p), 1, (t))
-#define mdoc_pwarn(m, l, p, t) \
- mdoc_err((m), (l), (p), 0, (t))
-#define mdoc_nerr(m, n, t) \
- mdoc_err((m), (n)->line, (n)->pos, 1, (t))
-#define mdoc_nwarn(m, n, t) \
- mdoc_err((m), (n)->line, (n)->pos, 0, (t))
-
-int mdoc_err(struct mdoc *, int, int, int, enum merr);
-int mdoc_verr(struct mdoc *, int, int, const char *, ...);
-int mdoc_vwarn(struct mdoc *, int, int, const char *, ...);
-
+#define mdoc_pmsg(m, l, p, t) \
+ (*(m)->msg)((t), (m)->data, (l), (p), NULL)
+#define mdoc_nmsg(m, n, t) \
+ (*(m)->msg)((t), (m)->data, (n)->line, (n)->pos, NULL)
+int mdoc_vmsg(struct mdoc *, enum mandocerr,
+ int, int, const char *, ...);
int mdoc_macro(MACRO_PROT_ARGS);
int mdoc_word_alloc(struct mdoc *,
int, int, const char *);